diff options
Diffstat (limited to 'common.c')
| -rw-r--r-- | common.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -6,6 +6,8 @@ #include <stdio.h> #include <string.h> #include <time.h> +// +#include "omen.c" #define likely(A) __builtin_expect(A, 1) #define unlikely(A) __builtin_expect(A, 0) @@ -421,4 +423,26 @@ static inline uint16_t read_u16_le(const byte *b) { static inline void write_u16_le(byte *b, uint16_t v) { b[ 0 ] = v & 0xFF; b[ 1 ] = (v >> 8) & 0xFF; -}
\ No newline at end of file +} + +struct relay_info run_server_audit(const char* ip, int port) { + byte data[] = { audit_server, 0, 0, 0, 0, 0, 0, 0 }; + byte* response = NULL; + size_t resp_len = 0; + bool success; + + int ret = study(ip, port, data, sizeof(data), &response, &resp_len); + if (ret != 0) { + printf("error: study returned %i\n", ret); + if (response) free(response); + return (struct relay_info) { 0 }; + } + + struct relay_info info = s2relay_info(resp_len - 1, response + 1, &success); + if (!success) { printf("error: failed to deserialize relay_info\n"); } + + free(response); + return info; +} + +pthread_mutex_t packet_storage_mutex = PTHREAD_MUTEX_INITIALIZER;
\ No newline at end of file |
