mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-22 23:56:01 +00:00
Fix #626
This commit is contained in:
+2
-1
@@ -919,7 +919,8 @@ static remote_t *create_remote(listen_ctx_t *listener,
|
||||
setnonblocking(remotefd);
|
||||
#ifdef SET_INTERFACE
|
||||
if (listener->iface) {
|
||||
setinterface(remotefd, listener->iface);
|
||||
if (setinterface(remotefd, listener->iface) == -1)
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+2
-1
@@ -431,7 +431,8 @@ static remote_t *connect_to_remote(struct addrinfo *res,
|
||||
setnonblocking(sockfd);
|
||||
#ifdef SET_INTERFACE
|
||||
if (iface) {
|
||||
setinterface(sockfd, iface);
|
||||
if (setinterface(sockfd, iface) == -1)
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+2
-1
@@ -660,7 +660,8 @@ static void accept_cb(EV_P_ ev_io *w, int revents)
|
||||
setnonblocking(remotefd);
|
||||
#ifdef SET_INTERFACE
|
||||
if (listener->iface) {
|
||||
setinterface(remotefd, listener->iface);
|
||||
if (setinterface(remotefd, listener->iface) == -1)
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+6
-3
@@ -589,7 +589,8 @@ static void query_resolve_cb(struct sockaddr *addr, void *data)
|
||||
#endif
|
||||
#ifdef SET_INTERFACE
|
||||
if (query_ctx->server_ctx->iface) {
|
||||
setinterface(remotefd, query_ctx->server_ctx->iface);
|
||||
if (setinterface(remotefd, query_ctx->server_ctx->iface) == -1)
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
remote_ctx = new_remote(remotefd, query_ctx->server_ctx);
|
||||
@@ -1089,7 +1090,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
#endif
|
||||
#ifdef SET_INTERFACE
|
||||
if (server_ctx->iface) {
|
||||
setinterface(remotefd, server_ctx->iface);
|
||||
if (setinterface(remotefd, server_ctx->iface) == -1)
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1169,7 +1171,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
#endif
|
||||
#ifdef SET_INTERFACE
|
||||
if (server_ctx->iface) {
|
||||
setinterface(remotefd, server_ctx->iface);
|
||||
if (setinterface(remotefd, server_ctx->iface) == -1);
|
||||
ERROR("setinterface");
|
||||
}
|
||||
#endif
|
||||
remote_ctx = new_remote(remotefd, server_ctx);
|
||||
|
||||
Reference in New Issue
Block a user