int put_xixlog_log ( byte **_buffer, char *ip_client, /* IP address of client */ char *ip_server, /* IP address of server */ char *user_name, /* User name, if known */ char *service, /* HTTP or FTP */ char *request, /* Request line (HTTP) */ char *query, /* Query string (HTTP) */ char *method, /* HTTP method or FTP operation */ char *response, /* Response code, 3 digits */ qbyte size_recd, /* Request size in bytes */ qbyte size_sent, /* Response size in bytes */ qbyte time_ms, /* Processing time, in msecs */ char *referer, /* HTTP Referer field */ char *agent, /* HTTP User-Agent field */ char *from, /* HTTP From field */ char *file_name, /* Filename used for request */ char *vhost_name) /* Virtual host used for request */ { int _size; _size = exdr_write (NULL, XIXLOG_LOG, ip_client, ip_server, user_name, service, request, query, method, response, size_recd, size_sent, time_ms, referer, agent, from, file_name, vhost_name); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, XIXLOG_LOG, ip_client, ip_server, user_name, service, request, query, method, response, size_recd, size_sent, time_ms, referer, agent, from, file_name, vhost_name); else _size = 0; return (_size); }
int put_xixlog_open ( byte **_buffer, char *log_path, /* Path for logfiles, or empty */ char *log_file, /* Name of logfile */ char *log_format, /* Desired logging format */ char *cycle_when, /* When to cycle logfile */ char *cycle_how, /* How to cycle logfile */ char *cycle_time, /* For time-based cycling */ char *cycle_date, /* For date-based cycling */ char *cycle_size, /* For size-based cycling */ char *cycle_lines, /* For size-based cycling */ char *cycle_argument, /* For other cycle methods */ Bool translate) /* Do reverse-DNS translation? */ { int _size; _size = exdr_write (NULL, XIXLOG_OPEN, log_path, log_file, log_format, cycle_when, cycle_how, cycle_time, cycle_date, cycle_size, cycle_lines, cycle_argument, translate); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, XIXLOG_OPEN, log_path, log_file, log_format, cycle_when, cycle_how, cycle_time, cycle_date, cycle_size, cycle_lines, cycle_argument, translate); else _size = 0; return (_size); }
int put_ssl_put_slice_ok ( byte **_buffer, qbyte size) /* Amount of transmitted data */ { int _size; _size = exdr_write (NULL, SSL_PUT_SLICE_OK, size); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_PUT_SLICE_OK, size); else _size = 0; return (_size); }
int put_ssl_error ( byte **_buffer, qbyte code) /* Error code */ { int _size; _size = exdr_write (NULL, SSL_ERROR, code); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_ERROR, code); else _size = 0; return (_size); }
int put_ssl_read_request ( byte **_buffer, qbyte size) /* Maximum size to read */ { int _size; _size = exdr_write (NULL, SSL_READ_REQUEST, size); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_READ_REQUEST, size); else _size = 0; return (_size); }
int put_ssl_open ( byte **_buffer, char *config) /* Configuration file to use */ { int _size; _size = exdr_write (NULL, SSL_OPEN, config); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_OPEN, config); else _size = 0; return (_size); }
int put_ssl_open_ok ( byte **_buffer, dbyte port) /* SSL port opened */ { int _size; _size = exdr_write (NULL, SSL_OPEN_OK, port); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_OPEN_OK, port); else _size = 0; return (_size); }
int put_xixlog_put ( byte **_buffer, char *message) /* Line of text to log */ { int _size; _size = exdr_write (NULL, XIXLOG_PUT, message); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, XIXLOG_PUT, message); else _size = 0; return (_size); }
int put_ssl_read_ok ( byte **_buffer, word size, /* Size of result */ byte *data) /* Read data */ { int _size; _size = exdr_write (NULL, SSL_READ_OK, size, data); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_READ_OK, size, data); else _size = 0; return (_size); }
int put_ssl_write_ok ( byte **_buffer, qbyte socket, /* Socket used for i/o, or new socket */ qbyte tag) /* User-defined request tag */ { int _size; _size = exdr_write (NULL, SSL_WRITE_OK, socket, tag); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_WRITE_OK, socket, tag); else _size = 0; return (_size); }
int put_ssl_put_slice ( byte **_buffer, qbyte socket, /* Socket for output */ char *filename, /* Name of file to send */ qbyte start, /* Starting offset; 0 = start */ qbyte end) /* Ending offset; 0 = end */ { int _size; _size = exdr_write (NULL, SSL_PUT_SLICE, socket, filename, start, end); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_PUT_SLICE, socket, filename, start, end); else _size = 0; return (_size); }
int put_ssl_accepted ( byte **_buffer, qbyte socket, /* Socket handle for SSL connection */ char *user, /* User name */ char *cipher, /* Cipher used */ dbyte verify) /* Level of user verification */ { int _size; _size = exdr_write (NULL, SSL_ACCEPTED, socket, user, cipher, verify); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_ACCEPTED, socket, user, cipher, verify); else _size = 0; return (_size); }
int put_xixlog_set_rdns ( byte **_buffer, char *primary, /* Primary DNS server */ char *secondary, /* Secondary DNS server */ Bool recursive, /* Do recursive lookups? */ Bool debug) /* Debug DNS queries? */ { int _size; _size = exdr_write (NULL, XIXLOG_SET_RDNS, primary, secondary, recursive, debug); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, XIXLOG_SET_RDNS, primary, secondary, recursive, debug); else _size = 0; return (_size); }
int put_ssl_write_request ( byte **_buffer, dbyte timeout, /* Timeout in seconds, zero = none */ qbyte socket, /* Socket to write to */ word size, /* Amount of data to write */ byte *data, /* Block of data to write */ qbyte tag) /* User-defined request tag */ { int _size; _size = exdr_write (NULL, SSL_WRITE_REQUEST, timeout, socket, size, data, tag); *_buffer = mem_alloc (_size); if (*_buffer) exdr_write (*_buffer, SSL_WRITE_REQUEST, timeout, socket, size, data, tag); else _size = 0; return (_size); }
int main (int argc, char *argv []) { static byte buffer [1024]; static char string_value [1024]; char *string = string_value; int buffer_size; Bool Bool_value; byte byte_value; dbyte dbyte_value, size_value; qbyte qbyte_value; puts ("--- bwq ---"); buffer_size = exdr_write (buffer, "bwq", (byte) 0x12, (dbyte) 0x12, (qbyte) 0x12L); dump (buffer, buffer_size); exdr_read (buffer, "bwq", &byte_value, &dbyte_value, &qbyte_value); printf ("%02x %04x %08lx\n", byte_value, dbyte_value, (long) qbyte_value); puts ("--- cdl ---"); buffer_size = exdr_write (buffer, "cdl", (byte) 0x12, (dbyte) 0x1234, (qbyte) 0x1234L); dump (buffer, buffer_size); exdr_read (buffer, "cdl", &byte_value, &dbyte_value, &qbyte_value); printf ("%02x %04x %08lx\n", byte_value, dbyte_value, (long) qbyte_value); puts ("--- bwq ---"); buffer_size = exdr_write (buffer, "bwq", (byte) 0x12, (dbyte) 0x1234, (qbyte) 0x123456L); dump (buffer, buffer_size); exdr_read (buffer, "bwq", &byte_value, &dbyte_value, &qbyte_value); printf ("%02x %04x %08lx\n", byte_value, dbyte_value, (long) qbyte_value); puts ("--- cdl ---"); buffer_size = exdr_write (buffer, "cdl", (byte) 0x12, (dbyte) 0x1234, (qbyte) 0x12345678L); dump (buffer, buffer_size); exdr_read (buffer, "cdl", &byte_value, &dbyte_value, &qbyte_value); printf ("%02x %04x %08lx\n", byte_value, dbyte_value, (long) qbyte_value); puts ("--- Bs ---"); buffer_size = exdr_write (buffer, "Bs", TRUE, "AZaz"); dump (buffer, buffer_size); exdr_read (buffer, "Bs", &Bool_value, &string); printf ("%d %s\n", Bool_value, string_value); puts ("--- mMc ---"); buffer_size = exdr_write (buffer, "mMc", (dbyte) 4, "AZaz", (byte) 0xff); dump (buffer, buffer_size); exdr_read (buffer, "mMc", &dbyte_value, &string, &byte_value); printf ("%d %c%c%c%c %x\n", dbyte_value, string_value [0], string_value [1], string_value [2], string_value [3], byte_value); puts ("--- dmMq ---"); dbyte_value = 0x1234; qbyte_value = 0x12345678L; buffer_size = exdr_write (buffer, "dmMq", dbyte_value, (dbyte) strlen ("AZaz"), "AZaz", qbyte_value); dump (buffer, buffer_size); exdr_read (buffer, "dmMq", &dbyte_value, &size_value, &string, &qbyte_value); printf ("%04x %d %c%c%c%c %08lx\n", dbyte_value, size_value, string_value [0], string_value [1], string_value [2], string_value [3], (long) qbyte_value); return (EXIT_SUCCESS); }