diff --git a/src/redir.c b/src/redir.c index f0e042fc..607c890d 100644 --- a/src/redir.c +++ b/src/redir.c @@ -378,9 +378,9 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents) } 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; - ss_addr_to_send[0] |= ONETIMEAUTH_FLAG; } int s = send(remote->fd, ss_addr_to_send, addr_len, 0); diff --git a/src/tunnel.c b/src/tunnel.c index b66f591d..b9c56135 100644 --- a/src/tunnel.c +++ b/src/tunnel.c @@ -420,9 +420,9 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents) } 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; - ss_addr_to_send[0] |= ONETIMEAUTH_FLAG; } int s = send(remote->fd, ss_addr_to_send, addr_len, 0);