Browse Source

fix auth issue of tunnel and redir

pull/390/head
Max Lv 9 years ago
parent
commit
20bc7fa227
2 changed files with 13 additions and 12 deletions
  1. 13
      src/redir.c
  2. 12
      src/tunnel.c

13
src/redir.c

@ -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);

12
src/tunnel.c

@ -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);

Loading…
Cancel
Save