41 #define MSG_NOSIGNAL 0
47 void sig_int(
int sig_num);
48 void do_nothing(
int sig_num);
51 unsigned _stdcall thread_fn(
void *inp_arg);
52 unsigned _stdcall ssl_thread_fn(
void *inp_arg);
53 BOOL CtrlHandler( DWORD fdwCtrlType );
55 void *thread_fn(
void *inp_arg);
56 void *ssl_thread_fn(
void *inp_arg);
58 #define PR_SET_NAME 15
60 unsigned int get_data_size(
unsigned char *recvbuf);
61 int add_size(
unsigned char *recvbuf,
unsigned int size);
62 string get_input_plugin_name(
char *buffer);
118 int thread_no,
unsigned char *senduf);
132 int thread_no,
unsigned char *senduf);
133 static int print_source_hostname(
int clnt_sock,
int req_type,
generic_server *framework,
int thread_no,
137 static unsigned int init_sock_fds(fd_set *,SOCKET);
138 static int chk_command_sock(fd_set *,SOCKET);
148 static int chk_all_clients(fd_set *socks);
149 static int read_socket(
unsigned char *buffer,SOCKET sock,
int size);
static int terminate_ssl_client_session(SSL *ssl, generic_server *framework, GENERIC_PLUGIN *plugin_p, int thread_no, unsigned char *senduf)
static int terminate_client_session(SOCKET clnt_sock, generic_server *framework, GENERIC_PLUGIN *plugin_p, int thread_no, unsigned char *senduf)
This is a singleton class and provides framework functionality.
This component provides functionality that are common across plug-ins. Framework would instantiate an...
static int process_client_req(SOCKET clnt_sock, int plugin_init_state, GENERIC_PLUGIN *plugin_p, int thread_no, generic_server *framework)
static int process_data(void)
Main loop to 'select()' sockets from multiple clients.
static int launch_thread(GENERIC_PLUGIN *generic_plugin, unsigned int new_slot)
static int process_ssl_client_req(SOCKET clnt_sock, SSL *ssl, int plugin_init_state, GENERIC_PLUGIN *plugin_p, int thread_no, generic_server *framework)
Utility class for TLS. Please refer excellent documentation at: http://www.openssl.org/docs/ssl/ssl.html.