From 25c575cb78e4f2fe7e12fc678ea71d48b6ca111a Mon Sep 17 00:00:00 2001 From: Max Lv Date: Thu, 29 Oct 2015 15:41:36 +0800 Subject: [PATCH] clean up --- src/android.c | 9 ++--- src/encrypt.c | 8 +++-- src/hmac-sha1.c | 91 ++++++++++++++++++++++++------------------------- src/jconf.c | 2 +- src/local.c | 13 +++---- src/manager.c | 79 +++++++++++++++++++++++++----------------- src/server.c | 25 +++++++------- src/udprelay.c | 25 ++++++++------ 8 files changed, 135 insertions(+), 117 deletions(-) diff --git a/src/android.c b/src/android.c index 33a76eea..6883bd88 100644 --- a/src/android.c +++ b/src/android.c @@ -45,7 +45,8 @@ #include "netutils.h" #include "utils.h" -int protect_socket(int fd) { +int protect_socket(int fd) +{ int sock; struct sockaddr_un addr; @@ -57,7 +58,7 @@ int protect_socket(int fd) { // Set timeout to 100us struct timeval tv; tv.tv_sec = 1; /* 0 Secs Timeout */ - tv.tv_usec = 0; // Not init'ing this can cause strange errors + tv.tv_usec = 0; // Not init'ing this can cause strange errors setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(struct timeval)); setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(struct timeval)); @@ -65,9 +66,9 @@ int protect_socket(int fd) { memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, path, sizeof(addr.sun_path)-1); + strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1); - if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == -1) { + if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) { LOGE("[android] connect() failed: %s (socket fd = %d)\n", strerror(errno), sock); close(sock); return -1; diff --git a/src/encrypt.c b/src/encrypt.c index 2c862332..669b3b16 100644 --- a/src/encrypt.c +++ b/src/encrypt.c @@ -1268,7 +1268,9 @@ char * ss_decrypt_all(int buf_size, char *ciphertext, ssize_t *len, int method, char hash[ONETIMEAUTH_BYTES]; memcpy(hash, plaintext + p_len - ONETIMEAUTH_BYTES, ONETIMEAUTH_BYTES); ret = !ss_onetimeauth_verify(hash, plaintext, p_len - ONETIMEAUTH_BYTES, iv); - if (ret) p_len -= ONETIMEAUTH_BYTES; + if (ret) { + p_len -= ONETIMEAUTH_BYTES; + } } if (!ret) { @@ -1554,10 +1556,10 @@ int ss_check_hash(char **buf_ptr, ssize_t *buf_len, struct chunk *chunk, struct memcpy(key + enc_iv_len, &c, sizeof(uint32_t)); #if defined(USE_CRYPTO_OPENSSL) HMAC(EVP_sha1(), key, enc_iv_len + sizeof(uint32_t), - (uint8_t *)chunk->buf + AUTH_BYTES, chunk->len, hash, NULL); + (uint8_t *)chunk->buf + AUTH_BYTES, chunk->len, hash, NULL); #else ss_sha1_hmac(key, enc_iv_len + sizeof(uint32_t), - (uint8_t *)chunk->buf + AUTH_BYTES, chunk->len, hash); + (uint8_t *)chunk->buf + AUTH_BYTES, chunk->len, hash); #endif if (memcmp(hash, chunk->buf + CLEN_BYTES, ONETIMEAUTH_BYTES) != 0) { diff --git a/src/hmac-sha1.c b/src/hmac-sha1.c index b321396b..153b2e63 100644 --- a/src/hmac-sha1.c +++ b/src/hmac-sha1.c @@ -49,9 +49,9 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) { uint32_t temp, W[16], A, B, C, D, E; - GET_UINT32_BE( W[ 0], data, 0 ); - GET_UINT32_BE( W[ 1], data, 4 ); - GET_UINT32_BE( W[ 2], data, 8 ); + GET_UINT32_BE( W[ 0], data, 0 ); + GET_UINT32_BE( W[ 1], data, 4 ); + GET_UINT32_BE( W[ 2], data, 8 ); GET_UINT32_BE( W[ 3], data, 12 ); GET_UINT32_BE( W[ 4], data, 16 ); GET_UINT32_BE( W[ 5], data, 20 ); @@ -66,19 +66,19 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) GET_UINT32_BE( W[14], data, 56 ); GET_UINT32_BE( W[15], data, 60 ); -#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n))) +#define S(x, n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n))) -#define R(t) \ -( \ - temp = W[(t - 3) & 0x0F] ^ W[(t - 8) & 0x0F] ^ \ - W[(t - 14) & 0x0F] ^ W[ t & 0x0F], \ - ( W[t & 0x0F] = S(temp,1) ) \ -) +#define R(t) \ + ( \ + temp = W[(t - 3) & 0x0F] ^ W[(t - 8) & 0x0F] ^ \ + W[(t - 14) & 0x0F] ^ W[ t & 0x0F], \ + ( W[t & 0x0F] = S(temp, 1) ) \ + ) -#define P(a,b,c,d,e,x) \ -{ \ - e += S(a,5) + F(b,c,d) + K + x; b = S(b,30); \ -} +#define P(a, b, c, d, e, x) \ + { \ + e += S(a, 5) + F(b, c, d) + K + x; b = S(b, 30); \ + } A = ctx->state[0]; B = ctx->state[1]; @@ -86,7 +86,7 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) D = ctx->state[3]; E = ctx->state[4]; -#define F(x,y,z) (z ^ (x & (y ^ z))) +#define F(x, y, z) (z ^ (x & (y ^ z))) #define K 0x5A827999 P( A, B, C, D, E, W[0] ); @@ -113,7 +113,7 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) #undef K #undef F -#define F(x,y,z) (x ^ y ^ z) +#define F(x, y, z) (x ^ y ^ z) #define K 0x6ED9EBA1 P( A, B, C, D, E, R(20) ); @@ -140,7 +140,7 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) #undef K #undef F -#define F(x,y,z) ((x & y) | (z & (x | y))) +#define F(x, y, z) ((x & y) | (z & (x | y))) #define K 0x8F1BBCDC P( A, B, C, D, E, R(40) ); @@ -167,7 +167,7 @@ void ss_sha1_process( ss_sha1_context *ctx, const unsigned char data[64] ) #undef K #undef F -#define F(x,y,z) (x ^ y ^ z) +#define F(x, y, z) (x ^ y ^ z) #define K 0xCA62C1D6 P( A, B, C, D, E, R(60) ); @@ -209,44 +209,45 @@ void ss_sha1_update( ss_sha1_context *ctx, const unsigned char *input, size_t il size_t fill; uint32_t left; - if( ilen <= 0 ) + if (ilen <= 0) { return; + } left = ctx->total[0] & 0x3F; fill = 64 - left; - ctx->total[0] += (uint32_t) ilen; + ctx->total[0] += (uint32_t)ilen; ctx->total[0] &= 0xFFFFFFFF; - if( ctx->total[0] < (uint32_t) ilen ) + if (ctx->total[0] < (uint32_t)ilen) { ctx->total[1]++; + } - if( left && ilen >= fill ) - { - memcpy( (void *) (ctx->buffer + left), input, fill ); + if (left && ilen >= fill) { + memcpy( (void *)(ctx->buffer + left), input, fill ); ss_sha1_process( ctx, ctx->buffer ); input += fill; - ilen -= fill; + ilen -= fill; left = 0; } - while( ilen >= 64 ) - { + while (ilen >= 64) { ss_sha1_process( ctx, input ); input += 64; - ilen -= 64; + ilen -= 64; } - if( ilen > 0 ) - memcpy( (void *) (ctx->buffer + left), input, ilen ); + if (ilen > 0) { + memcpy( (void *)(ctx->buffer + left), input, ilen ); + } } static const unsigned char ss_sha1_padding[64] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* @@ -259,11 +260,11 @@ void ss_sha1_finish( ss_sha1_context *ctx, unsigned char output[20] ) unsigned char msglen[8]; high = ( ctx->total[0] >> 29 ) - | ( ctx->total[1] << 3 ); - low = ( ctx->total[0] << 3 ); + | ( ctx->total[1] << 3 ); + low = ( ctx->total[0] << 3 ); PUT_UINT32_BE( high, msglen, 0 ); - PUT_UINT32_BE( low, msglen, 4 ); + PUT_UINT32_BE( low, msglen, 4 ); last = ctx->total[0] & 0x3F; padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last ); @@ -271,9 +272,9 @@ void ss_sha1_finish( ss_sha1_context *ctx, unsigned char output[20] ) ss_sha1_update( ctx, ss_sha1_padding, padn ); ss_sha1_update( ctx, msglen, 8 ); - PUT_UINT32_BE( ctx->state[0], output, 0 ); - PUT_UINT32_BE( ctx->state[1], output, 4 ); - PUT_UINT32_BE( ctx->state[2], output, 8 ); + PUT_UINT32_BE( ctx->state[0], output, 0 ); + PUT_UINT32_BE( ctx->state[1], output, 4 ); + PUT_UINT32_BE( ctx->state[2], output, 8 ); PUT_UINT32_BE( ctx->state[3], output, 12 ); PUT_UINT32_BE( ctx->state[4], output, 16 ); } @@ -299,8 +300,7 @@ void ss_sha1_hmac_starts( ss_sha1_context *ctx, const unsigned char *key, size_t size_t i; unsigned char sum[20]; - if( keylen > 64 ) - { + if (keylen > 64) { ss_sha1( key, keylen, sum ); keylen = 20; key = sum; @@ -309,8 +309,7 @@ void ss_sha1_hmac_starts( ss_sha1_context *ctx, const unsigned char *key, size_t memset( ctx->ipad, 0x36, 64 ); memset( ctx->opad, 0x5C, 64 ); - for( i = 0; i < keylen; i++ ) - { + for (i = 0; i < keylen; i++) { ctx->ipad[i] = (unsigned char)( ctx->ipad[i] ^ key[i] ); ctx->opad[i] = (unsigned char)( ctx->opad[i] ^ key[i] ); } @@ -358,8 +357,8 @@ void ss_sha1_hmac_reset( ss_sha1_context *ctx ) * output = HMAC-SHA-1( hmac key, input buffer ) */ void ss_sha1_hmac( const unsigned char *key, size_t keylen, - const unsigned char *input, size_t ilen, - unsigned char output[20] ) + const unsigned char *input, size_t ilen, + unsigned char output[20] ) { ss_sha1_context ctx; diff --git a/src/jconf.c b/src/jconf.c index f51195bd..ec937568 100644 --- a/src/jconf.c +++ b/src/jconf.c @@ -168,7 +168,7 @@ jconf_t *read_jconf(const char * file) json_value *v = value->u.object.values[j].value; if (v->type == json_string) { conf.port_password[j].port = ss_strndup(value->u.object.values[j].name, - value->u.object.values[j].name_length); + value->u.object.values[j].name_length); conf.port_password[j].password = to_string(v); conf.port_password_num = j + 1; } diff --git a/src/local.c b/src/local.c index 1b0f55a6..bf617e60 100644 --- a/src/local.c +++ b/src/local.c @@ -398,8 +398,7 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) if (request->atyp == 1) { // IP V4 size_t in_addr_len = sizeof(struct in_addr); - memcpy(ss_addr_to_send + addr_len, buf + 4, in_addr_len + - 2); + memcpy(ss_addr_to_send + addr_len, buf + 4, in_addr_len + 2); addr_len += in_addr_len + 2; if (acl || verbose) { @@ -413,8 +412,7 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) // Domain name uint8_t name_len = *(uint8_t *)(buf + 4); ss_addr_to_send[addr_len++] = name_len; - memcpy(ss_addr_to_send + addr_len, buf + 4 + 1, name_len + - 2); + memcpy(ss_addr_to_send + addr_len, buf + 4 + 1, name_len + 2); addr_len += name_len + 2; if (acl || verbose) { @@ -427,8 +425,7 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) } else if (request->atyp == 4) { // IP V6 size_t in6_addr_len = sizeof(struct in6_addr); - memcpy(ss_addr_to_send + addr_len, buf + 4, in6_addr_len + - 2); + memcpy(ss_addr_to_send + addr_len, buf + 4, in6_addr_len + 2); addr_len += in6_addr_len + 2; if (acl || verbose) { @@ -831,7 +828,7 @@ static void close_and_free_server(EV_P_ struct server *server) } static struct remote * create_remote(struct listen_ctx *listener, - struct sockaddr *addr) + struct sockaddr *addr) { struct sockaddr *remote_addr; @@ -1122,7 +1119,7 @@ int main(int argc, char **argv) for (i = 0; i < remote_num; i++) { char *host = remote_addr[i].host; char *port = remote_addr[i].port == NULL ? remote_port : - remote_addr[i].port; + remote_addr[i].port; struct sockaddr_storage *storage = malloc(sizeof(struct sockaddr_storage)); memset(storage, 0, sizeof(struct sockaddr_storage)); if (get_sockaddr(host, port, storage, 1) == -1) { diff --git a/src/manager.c b/src/manager.c index cc1da277..28b53e26 100644 --- a/src/manager.c +++ b/src/manager.c @@ -87,15 +87,16 @@ int setnonblocking(int fd) } #endif -static char *construct_command_line(struct manager_ctx *manager, struct server *server) { +static char *construct_command_line(struct manager_ctx *manager, struct server *server) +{ static char cmd[BUF_SIZE]; int i; memset(cmd, 0, BUF_SIZE); snprintf(cmd, BUF_SIZE, - "%s -p %s -m %s -k %s --manager-address %s -f %s/.shadowsocks_%s.pid", executable, - server->port, manager->method, server->password, manager->manager_address, - working_dir, server->port); + "%s -p %s -m %s -k %s --manager-address %s -f %s/.shadowsocks_%s.pid", executable, + server->port, manager->method, server->password, manager->manager_address, + working_dir, server->port); if (manager->acl != NULL) { int len = strlen(cmd); snprintf(cmd + len, BUF_SIZE - len, " --acl %s", manager->acl); @@ -145,32 +146,45 @@ static char *construct_command_line(struct manager_ctx *manager, struct server * } -static char *get_data(char *buf, int len) { +static char *get_data(char *buf, int len) +{ char *data; int pos = 0; - while(buf[pos] != '{' && pos < len) pos++; - if (pos == len) return NULL; + while (buf[pos] != '{' && pos < len) { + pos++; + } + if (pos == len) { + return NULL; + } data = buf + pos - 1; return data; } -static char *get_action(char *buf, int len) { +static char *get_action(char *buf, int len) +{ char *action; int pos = 0; - while(isspace((unsigned char)buf[pos]) && pos < len) pos++; - if (pos == len) return NULL; + while (isspace((unsigned char)buf[pos]) && pos < len) { + pos++; + } + if (pos == len) { + return NULL; + } action = buf + pos; - while((!isspace((unsigned char)buf[pos]) && buf[pos] != ':') && pos < len) pos++; + while ((!isspace((unsigned char)buf[pos]) && buf[pos] != ':') && pos < len) { + pos++; + } buf[pos] = '\0'; return action; } -static struct server *get_server(char *buf, int len) { +static struct server *get_server(char *buf, int len) +{ char *data = get_data(buf, len); char error_buf[512]; struct server *server = (struct server *)malloc(sizeof(struct server)); @@ -198,7 +212,7 @@ static struct server *get_server(char *buf, int len) { if (value->type == json_string) { strncpy(server->port, value->u.string.ptr, 8); } else if (value->type == json_integer) { - snprintf(server->port, 8, "%"PRIu64"", value->u.integer); + snprintf(server->port, 8, "%" PRIu64 "", value->u.integer); } } else if (strcmp(name, "password") == 0) { if (value->type == json_string) { @@ -216,7 +230,8 @@ static struct server *get_server(char *buf, int len) { return server; } -static int parse_traffic(char *buf, int len, char *port, uint64_t *traffic) { +static int parse_traffic(char *buf, int len, char *port, uint64_t *traffic) +{ char *data = get_data(buf, len); char error_buf[512]; json_settings settings = { 0 }; @@ -294,7 +309,7 @@ static void remove_server(char *prefix, char *port) static void update_stat(char *port, uint64_t traffic) { - void *ret = cork_hash_table_get(server_table, (void*)port); + void *ret = cork_hash_table_get(server_table, (void *)port); if (ret != NULL) { struct server *server = (struct server *)ret; server->traffic = traffic; @@ -312,7 +327,7 @@ static void manager_recv_cb(EV_P_ ev_io *w, int revents) memset(buf, 0, BUF_SIZE); len = sizeof(struct sockaddr_un); - r = recvfrom(manager->fd, buf, BUF_SIZE, 0, (struct sockaddr *) &claddr, &len); + r = recvfrom(manager->fd, buf, BUF_SIZE, 0, (struct sockaddr *)&claddr, &len); if (r == -1) { ERROR("manager_recvfrom"); return; @@ -376,7 +391,7 @@ static void manager_recv_cb(EV_P_ ev_io *w, int revents) } else if (strcmp(action, "ping") == 0) { - struct cork_hash_table_entry *entry; + struct cork_hash_table_entry *entry; struct cork_hash_table_iterator server_iter; char buf[BUF_SIZE]; @@ -386,18 +401,18 @@ static void manager_recv_cb(EV_P_ ev_io *w, int revents) cork_hash_table_iterator_init(server_table, &server_iter); - while((entry = cork_hash_table_iterator_next(&server_iter)) != NULL) { - struct server *server = (struct server*)entry->value; + while ((entry = cork_hash_table_iterator_next(&server_iter)) != NULL) { + struct server *server = (struct server *)entry->value; size_t pos = strlen(buf); if (pos > BUF_SIZE / 2) { buf[pos - 1] = '}'; if (sendto(manager->fd, buf, pos + 1, 0, (struct sockaddr *)&claddr, len) - != pos + 1) { + != pos + 1) { ERROR("ping_sendto"); } memset(buf, 0, BUF_SIZE); } else { - sprintf(buf + pos, "\"%s\":%"PRIu64",", server->port, server->traffic); + sprintf(buf + pos, "\"%s\":%" PRIu64 ",", server->port, server->traffic); } } @@ -409,14 +424,14 @@ static void manager_recv_cb(EV_P_ ev_io *w, int revents) } if (sendto(manager->fd, buf, pos + 1, 0, (struct sockaddr *)&claddr, len) - != pos + 1) { + != pos + 1) { ERROR("ping_sendto"); } } return; -ERROR_MSG: + ERROR_MSG: strcpy(buf, "err"); if (sendto(manager->fd, buf, 4, 0, (struct sockaddr *)&claddr, len) != 4) { ERROR("error_sendto"); @@ -538,11 +553,11 @@ int main(int argc, char **argv) int option_index = 0; static struct option long_options[] = { - { "fast-open", no_argument, 0, 0 }, - { "acl", required_argument, 0, 0 }, - { "manager-address", required_argument, 0, 0 }, - { "executable", required_argument, 0, 0 }, - { 0, 0, 0, 0 } + { "fast-open", no_argument, 0, 0 }, + { "acl", required_argument, 0, 0 }, + { "manager-address", required_argument, 0, 0 }, + { "executable", required_argument, 0, 0 }, + { 0, 0, 0, 0 } }; opterr = 0; @@ -754,7 +769,7 @@ int main(int argc, char **argv) svaddr.sun_family = AF_UNIX; strncpy(svaddr.sun_path, manager_address, sizeof(svaddr.sun_path) - 1); - if (bind(sfd, (struct sockaddr *) &svaddr, sizeof(struct sockaddr_un)) == -1) { + if (bind(sfd, (struct sockaddr *)&svaddr, sizeof(struct sockaddr_un)) == -1) { ERROR("bind"); exit(EXIT_FAILURE); } @@ -777,13 +792,13 @@ int main(int argc, char **argv) } // Clean up - struct cork_hash_table_entry *entry; + struct cork_hash_table_entry *entry; struct cork_hash_table_iterator server_iter; cork_hash_table_iterator_init(server_table, &server_iter); - while((entry = cork_hash_table_iterator_next(&server_iter)) != NULL) { - struct server *server = (struct server*)entry->value; + while ((entry = cork_hash_table_iterator_next(&server_iter)) != NULL) { + struct server *server = (struct server *)entry->value; stop_server(working_dir, server->port); } diff --git a/src/server.c b/src/server.c index f1a2291a..507edd37 100644 --- a/src/server.c +++ b/src/server.c @@ -134,10 +134,10 @@ static void stat_update_cb(EV_P_ ev_timer *watcher, int revents) char resp[BUF_SIZE]; if (verbose) { - LOGI("update traffic stat: tx: %"PRIu64" rx: %"PRIu64"", tx, rx); + LOGI("update traffic stat: tx: %" PRIu64 " rx: %" PRIu64 "", tx, rx); } - snprintf(resp, BUF_SIZE, "stat: {\"%s\":%"PRIu64"}", server_port, tx + rx); + snprintf(resp, BUF_SIZE, "stat: {\"%s\":%" PRIu64 "}", server_port, tx + rx); msgLen = strlen(resp) + 1; ss_addr_t ip_addr = { .host = NULL, .port = NULL }; @@ -156,7 +156,7 @@ static void stat_update_cb(EV_P_ ev_timer *watcher, int revents) unlink(claddr.sun_path); - if (bind(sfd, (struct sockaddr *) &claddr, sizeof(struct sockaddr_un)) == -1) { + if (bind(sfd, (struct sockaddr *)&claddr, sizeof(struct sockaddr_un)) == -1) { ERROR("stat_bind"); close(sfd); return; @@ -166,8 +166,8 @@ static void stat_update_cb(EV_P_ ev_timer *watcher, int revents) svaddr.sun_family = AF_UNIX; strncpy(svaddr.sun_path, manager_address, sizeof(svaddr.sun_path) - 1); - if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *) &svaddr, - sizeof(struct sockaddr_un)) != msgLen) { + if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *)&svaddr, + sizeof(struct sockaddr_un)) != msgLen) { ERROR("stat_sendto"); close(sfd); return; @@ -192,7 +192,7 @@ static void stat_update_cb(EV_P_ ev_timer *watcher, int revents) size_t addr_len = get_sockaddr_len((struct sockaddr *)&storage); if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *)&storage, - addr_len) != msgLen) { + addr_len) != msgLen) { ERROR("stat_sendto"); close(sfd); return; @@ -671,7 +671,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) report_addr(server->fd); close_and_free_server(EV_A_ server); return; - }; + } + ; offset += ONETIMEAUTH_BYTES; server->auth = 1; } @@ -1103,7 +1104,7 @@ static struct server * new_server(int fd, struct listen_ctx *listener) ev_io_init(&server->recv_ctx->io, server_recv_cb, fd, EV_READ); ev_io_init(&server->send_ctx->io, server_send_cb, fd, EV_WRITE); ev_timer_init(&server->recv_ctx->watcher, server_timeout_cb, - min(MAX_CONNECT_TIMEOUT, listener->timeout), listener->timeout); + min(MAX_CONNECT_TIMEOUT, listener->timeout), listener->timeout); server->recv_ctx->server = server; server->recv_ctx->connected = 0; server->send_ctx->server = server; @@ -1239,10 +1240,10 @@ int main(int argc, char **argv) int option_index = 0; static struct option long_options[] = { - { "fast-open", no_argument, 0, 0 }, - { "acl", required_argument, 0, 0 }, - { "manager-address", required_argument, 0, 0 }, - { 0, 0, 0, 0 } + { "fast-open", no_argument, 0, 0 }, + { "acl", required_argument, 0, 0 }, + { "manager-address", required_argument, 0, 0 }, + { 0, 0, 0, 0 } }; opterr = 0; diff --git a/src/udprelay.c b/src/udprelay.c index cb78132d..c6d54a38 100644 --- a/src/udprelay.c +++ b/src/udprelay.c @@ -189,7 +189,8 @@ static char *hash_key(const int af, const struct sockaddr_storage *addr) #if defined(UDPRELAY_REDIR) || defined(UDPRELAY_REMOTE) static int construct_udprealy_header(const struct sockaddr_storage *in_addr, - char *addr_header) { + char *addr_header) +{ int addr_header_len = 0; if (in_addr->ss_family == AF_INET) { @@ -223,7 +224,9 @@ static int parse_udprealy_header(const char * buf, const int buf_len, const uint8_t atyp = *(uint8_t *)buf; int offset = 1; - if (auth != NULL) *auth |= (atyp & ONETIMEAUTH_FLAG); + if (auth != NULL) { + *auth |= (atyp & ONETIMEAUTH_FLAG); + } // get remote addr and port if ((atyp & ADDRTYPE_MASK) == 1) { @@ -247,7 +250,7 @@ static int parse_udprealy_header(const char * buf, const int buf_len, uint8_t name_len = *(uint8_t *)(buf + offset); if (name_len + 4 < buf_len) { if (storage != NULL) { - char tmp[256] = {0}; + char tmp[256] = { 0 }; struct cork_ip ip; memcpy(tmp, buf + offset + 1, name_len); if (cork_ip_init(&ip, tmp) != -1) { @@ -580,7 +583,7 @@ static void query_resolve_cb(struct sockaddr *addr, void *data) remote_ctx->server_ctx = query_ctx->server_ctx; remote_ctx->addr_header_len = query_ctx->addr_header_len; memcpy(remote_ctx->addr_header, query_ctx->addr_header, - query_ctx->addr_header_len); + query_ctx->addr_header_len); } else { ERROR("[udp] bind() error"); } @@ -748,7 +751,7 @@ static void remote_recv_cb(EV_P_ ev_io *w, int revents) } int s = sendto(src_fd, buf, buf_len, 0, - (struct sockaddr *)&remote_ctx->src_addr, remote_src_addr_len); + (struct sockaddr *)&remote_ctx->src_addr, remote_src_addr_len); if (s == -1) { ERROR("[udp] remote_recv_sendto"); close(src_fd); @@ -1120,7 +1123,7 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) cache_hit = 1; // detect destination mismatch if (remote_ctx->addr_header_len != addr_header_len - || memcmp(addr_header, remote_ctx->addr_header, addr_header_len) != 0) { + || memcmp(addr_header, remote_ctx->addr_header, addr_header_len) != 0) { if (dst_addr.ss_family != AF_INET && dst_addr.ss_family != AF_INET6) { need_query = 1; } @@ -1156,8 +1159,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) if (remote_ctx != NULL && !need_query) { size_t addr_len = get_sockaddr_len((struct sockaddr *)&dst_addr); int s = sendto(remote_ctx->fd, buf + addr_header_len, - buf_len - addr_header_len, 0, - (struct sockaddr *)&dst_addr, addr_len); + buf_len - addr_header_len, 0, + (struct sockaddr *)&dst_addr, addr_len); if (s == -1) { ERROR("[udp] sendto_remote"); @@ -1183,8 +1186,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) hints.ai_protocol = IPPROTO_UDP; struct query_ctx *query_ctx = new_query_ctx(buf + addr_header_len, - buf_len - - addr_header_len); + buf_len - + addr_header_len); query_ctx->server_ctx = server_ctx; query_ctx->addr_header_len = addr_header_len; query_ctx->src_addr = src_addr; @@ -1195,7 +1198,7 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) } struct ResolvQuery *query = resolv_query(host, query_resolve_cb, - NULL, query_ctx, htons(atoi(port))); + NULL, query_ctx, htons(atoi(port))); if (query == NULL) { ERROR("[udp] unable to create DNS query"); close_and_free_query(EV_A_ query_ctx);