From 59b6fd992f67b76942b5117c696af21ac1863c6f Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 9 Sep 2015 22:38:10 +0800 Subject: [PATCH] Revert "apply onetime auth to the first packet" This reverts commit 889e4b96a1e02cbc093a459ed81d0479c05d0a34. --- src/local.c | 8 ++------ src/server.c | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/local.c b/src/local.c index 7fa4bca4..127d3cd5 100644 --- a/src/local.c +++ b/src/local.c @@ -473,6 +473,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) if (!remote->direct) { if (auth) { ss_addr_to_send[0] |= ONETIMEAUTH_FLAG; + ss_onetimeauth(ss_addr_to_send + addr_len, ss_addr_to_send, addr_len); + addr_len += ONETIMEAUTH_BYTES; } memcpy(remote->buf, ss_addr_to_send, addr_len); @@ -480,12 +482,6 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) memcpy(remote->buf + addr_len, buf, r); } r += addr_len; - - if (auth) { - ss_onetimeauth(remote->buf + r, remote->buf, r); - r += ONETIMEAUTH_BYTES; - } - } else { if (r > 0) { memcpy(remote->buf, buf, r); diff --git a/src/server.c b/src/server.c index 6c5276ec..900bf655 100644 --- a/src/server.c +++ b/src/server.c @@ -641,13 +641,13 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) offset += 2; if (auth || (atyp & ONETIMEAUTH_MASK)) { - r -= ONETIMEAUTH_BYTES; - if (ss_onetimeauth_verify(server->buf + r, server->buf, r)) { + if (ss_onetimeauth_verify(server->buf + offset, server->buf, offset)) { LOGE("authentication error %d", atyp); report_addr(server->fd); close_and_free_server(EV_A_ server); return; }; + offset += ONETIMEAUTH_BYTES; } if (verbose) {