00001 #ifndef CROMP_SECURITY_CLASS 00002 #define CROMP_SECURITY_CLASS 00003 00004 /*****************************************************************************\ 00005 * * 00006 * Name : cromp_security * 00007 * Author : Chris Koeritz * 00008 * * 00009 * Purpose: * 00010 * * 00011 * Implements the client registry in a cromp-appropriate manner. The * 00012 * identity issue request is vetted against the known connection endpoint * 00013 * for a client. * 00014 * * 00015 ******************************************************************************* 00016 * Copyright (c) 2002-$now By Author. This program is free software; you can * 00017 * redistribute it and/or modify it under the terms of the GNU General Public * 00018 * License as published by the Free Software Foundation; either version 2 of * 00019 * the License or (at your option) any later version. This is online at: * 00020 * http://www.fsf.org/copyleft/gpl.html * 00021 * Please send any updates to: fred@gruntose.com * 00022 \*****************************************************************************/ 00023 00024 #include "dll_cromp.h" 00025 00026 #include <basis/object_base.h> 00027 #include <tentacles/simple_entity_registry.h> 00028 00029 // forward. 00030 class tcpip_stack; 00031 00032 class CROMP_CLASS_STYLE cromp_security : public simple_entity_registry 00033 { 00034 public: 00035 cromp_security(); 00036 virtual ~cromp_security(); 00037 00038 IMPLEMENT_CLASS_NAME("cromp_security"); 00039 00040 virtual bool add_entity(const octopus_entity &client, 00041 const byte_array &verification); 00042 00043 // stronger security models can be implemented by overriding add_entity(). 00044 // this object merely verifies that we have seen the entity get issued by 00045 // the current server. 00046 00047 private: 00048 tcpip_stack *_stack; // enables access to tcpip functionality. 00049 }; 00050 00051 #endif 00052
1.5.1