|
@ -667,9 +667,13 @@ server_recv_cb(EV_P_ ev_io *w, int revents) |
|
|
else if (atyp == 4) |
|
|
else if (atyp == 4) |
|
|
LOGI("bypass [%s]:%s", ip, port); |
|
|
LOGI("bypass [%s]:%s", ip, port); |
|
|
} |
|
|
} |
|
|
|
|
|
int err; |
|
|
struct sockaddr_storage storage; |
|
|
struct sockaddr_storage storage; |
|
|
memset(&storage, 0, sizeof(struct sockaddr_storage)); |
|
|
memset(&storage, 0, sizeof(struct sockaddr_storage)); |
|
|
int err = get_sockaddr(ip, port, &storage, 0, ipv6first); |
|
|
|
|
|
|
|
|
if (sni_detected || atyp == 3) |
|
|
|
|
|
err = get_sockaddr(host, port, &storage, 0, ipv6first); |
|
|
|
|
|
else |
|
|
|
|
|
err = get_sockaddr(ip, port, &storage, 0, ipv6first); |
|
|
if (err != -1) { |
|
|
if (err != -1) { |
|
|
remote = create_remote(server->listener, (struct sockaddr *)&storage); |
|
|
remote = create_remote(server->listener, (struct sockaddr *)&storage); |
|
|
if (remote != NULL) |
|
|
if (remote != NULL) |
|
|