From 2c78ccfbf84bb8f61dfd659f0c097358d4f0fad4 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Sun, 5 Jan 2014 15:50:52 +0800 Subject: [PATCH] fix a timeout issue --- src/encrypt.c | 6 +++--- src/jconf.c | 17 ----------------- src/udprelay.c | 7 ++----- 3 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/encrypt.c b/src/encrypt.c index 23e30007..899cdf7e 100644 --- a/src/encrypt.c +++ b/src/encrypt.c @@ -519,13 +519,13 @@ void cipher_context_release(cipher_ctx_t *evp) { #endif } -int cipher_context_update(cipher_ctx_t *evp, uint8_t *output, int *olen, \ +int cipher_context_update(cipher_ctx_t *evp, uint8_t *output, int *olen, const uint8_t *input, int ilen) { #if defined(USE_CRYPTO_OPENSSL) - return EVP_CipherUpdate(evp, (uint8_t *) output, (size_t *) olen, \ + return EVP_CipherUpdate(evp, (uint8_t *) output, olen, (const uint8_t *) input, (size_t) ilen); #elif defined(USE_CRYPTO_POLARSSL) - return !cipher_update(evp, (const uint8_t *) input, (size_t) ilen, \ + return !cipher_update(evp, (const uint8_t *) input, (size_t) ilen, (uint8_t *) output, (size_t *) olen); #endif } diff --git a/src/jconf.c b/src/jconf.c index 72c915af..470bc8cf 100644 --- a/src/jconf.c +++ b/src/jconf.c @@ -35,23 +35,6 @@ static char *to_string(const json_value *value) return 0; } -static int to_int(const json_value *value) -{ - if (value->type == json_string) - { - return atoi(value->u.string.ptr); - } - else if (value->type == json_integer) - { - return value->u.integer; - } - else - { - FATAL("Invalid config format."); - } - return 0; -} - static void parse_addr(const char *str, remote_addr_t *addr) { int ret = -1; char *pch; diff --git a/src/udprelay.c b/src/udprelay.c index 0d5783ee..72f5015e 100644 --- a/src/udprelay.c +++ b/src/udprelay.c @@ -302,12 +302,9 @@ void close_and_free_remote(EV_P_ struct remote_ctx *ctx) { if (ctx != NULL) { - close(ctx->fd); ev_timer_stop(EV_A_ &ctx->watcher); - if (ctx->addr_header != NULL) - { - free(ctx->addr_header); - } + ev_io_stop(EV_A_ &ctx->io); + close(ctx->fd); free(ctx); } }