36 #include <openssl/ssl.h>
37 #include <openssl/err.h>
39 #define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
76 using namespace CryptoPP;
82 #define sprintf_s snprintf
84 #define SOCKET_ERROR -1
85 #define INVALID_SOCKET -1
88 #define CONTINUE_SESSION 0xFF
89 #define TERMINATE_SESSION 0x00
90 #define PLUGIN_SIGNATURE 0xDEDDAECF
95 #pragma warning(disable:4251)
96 #define GEN_PLUGIN_MUTEX HANDLE
97 #define INIT_MUTEX CreateMutex( NULL, FALSE, NULL );
99 #define GEN_PLUGIN_MUTEX pthread_mutex_t
100 #define INIT_MUTEX PTHREAD_MUTEX_INITIALIZER;
106 friend LIBTYPE ostream& operator<<(ostream& output,
generic_plugin& p);
119 int port,tls_enabled,thread_id;
120 char *local_ip_address;
123 string plugin_number;
124 string plugin_lib_path;
125 unsigned int networking,verbose_level;
134 int log(
unsigned int,
char *);
135 int log(
unsigned int,
string );
140 string plugin_conf_file;
141 string generic_plugin_version();
147 GEN_PLUGIN_MUTEX create_mutex(
void);
150 int lock_mutex(GEN_PLUGIN_MUTEX *);
153 int rel_mutex(GEN_PLUGIN_MUTEX *);
154 bool get_validate_plugin(
void);
155 virtual unsigned short get_session(
void) {
return(0);};
172 virtual int get_plugin_params(
string line);
183 virtual int process_request(
void *buffer,
void *out_buff,
unsigned int &size) {
return(0);};
204 virtual string get_plugin_version(
void) {
return(
"UNKNOWN");};
224 virtual string bootstrap_name(
void);
237 virtual bool bootstrap_init(
string);
248 string get_plugin_name();
249 string get_plugin_number();
250 string get_plugin_path();
251 int set_plugin(
string);
252 int set_plugin_name(
string);
253 int set_plugin_number(
string);
255 int set_tls_flag(
int);
256 int set_thread_id(
int);
257 int set_socket(SOCKET);
258 int set_plugin_path(
string);
259 int add_plugin_alias(
string);
263 bool find_plugin_alias(
string);
265 SOCKET initialize_socket(
string port);
266 int set_client_socket(SOCKET);
267 int set_conf_file(
string);
268 string get_conf_file();
269 SOCKET get_client_socket(
void);
273 return this->get_port() < a.get_port();
277 return this->get_port() == a.get_port();
vector< string > v_plugin_aliases
virtual int shutdown_plugin(void)
This component provides functionality that are common across plug-ins. Framework would instantiate an...
virtual int server_shutdown(void)
virtual int plugin_init(int thread_no)
virtual int process_request(void *buffer, void *out_buff, unsigned int &size)
virtual bool bootstrap_terminate(string)
unsigned long pinstance
Pointer to 'framework' object.
virtual int server_init(void)