36 #include <sys/socket.h>
37 #include <arpa/inet.h>
40 #include <netinet/in.h>
41 #include <sys/socket.h>
45 #include <openssl/ssl.h>
46 #include <openssl/err.h>
47 #include <openssl/rand.h>
65 pthread_mutex_t mutex;
70 static HANDLE *mutex_buf;
72 static pthread_mutex_t *mutex_buf;
76 #define SOCKET_ERROR -1
78 #define PLUGIN_SIGNATURE 0xDEDDAECF
79 #define MSG_HDR_SIZE 8
84 void locking_function(
int mode,
int n,
const char *file,
int line);
85 unsigned long id_function(
void);
86 int ssl_read_socket(
unsigned char *line,SOCKET &sock,SSL **ssl_client);
87 int read_socket(
unsigned char *buffer,SOCKET sock);
88 int ssl_connect(
unsigned char *ip_address,
unsigned int port_number,SOCKET &sock,SSL **ssl_client,SSL_CTX **ctx);
89 int sock_connect(
unsigned char *ip_address,
unsigned int port_number,SOCKET &sock);
93 int ssl_init(SSL_CTX **ctx);
94 int ssl_read(SSL *ssl,
char *buf,
int size);
95 int setnonblocking(
int sock);
96 int setblocking(
int sock);
105 int create_message(
string plugin_name,
string message,
char *buff);
Struct to store OS agnostic mutex. Required for Openssl locking functions.