fix auth issue of tunnel and redir

This commit is contained in:
Max Lv
2015-09-03 12:38:20 +08:00
parent 656c97e64e
commit 20bc7fa227
2 changed files with 13 additions and 12 deletions
+7 -6
View File
@@ -368,6 +368,13 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents)
2);
}
addr_len += 2;
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 = ss_encrypt(BUF_SIZE, ss_addr_to_send, &addr_len,
server->e_ctx);
if (ss_addr_to_send == NULL) {
@@ -377,12 +384,6 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents)
return;
}
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;
}
int s = send(remote->fd, ss_addr_to_send, addr_len, 0);
free(ss_addr_to_send);
+6 -6
View File
@@ -410,6 +410,12 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents)
memcpy(ss_addr_to_send + addr_len, &port, 2);
addr_len += 2;
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 = ss_encrypt(BUF_SIZE, ss_addr_to_send, &addr_len,
server->e_ctx);
if (ss_addr_to_send == NULL) {
@@ -419,12 +425,6 @@ static void remote_send_cb(EV_P_ ev_io *w, int revents)
return;
}
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;
}
int s = send(remote->fd, ss_addr_to_send, addr_len, 0);
free(ss_addr_to_send);