diff options
author | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-16 14:43:38 -0400 |
---|---|---|
committer | Joseph Henry <joseph.henry@zerotier.com> | 2015-10-16 14:43:38 -0400 |
commit | b96c08f35c2afd07daf261451daad7004c73f42d (patch) | |
tree | f2d11b86e47278c906cb5b5d602c755173e8d4a7 /netcon | |
parent | 3e8e025704d6965cd0d67213bcca7d2ae1a70036 (diff) | |
download | infinitytier-b96c08f35c2afd07daf261451daad7004c73f42d.tar.gz infinitytier-b96c08f35c2afd07daf261451daad7004c73f42d.zip |
Fixed nginx listen() bug
Diffstat (limited to 'netcon')
-rwxr-xr-x | netcon/Intercept.c | 6 | ||||
-rw-r--r-- | netcon/NetconEthernetTap.cpp | 8 | ||||
-rwxr-xr-x | netcon/libintercept.so.1.0 | bin | 0 -> 45880 bytes |
3 files changed, 9 insertions, 5 deletions
diff --git a/netcon/Intercept.c b/netcon/Intercept.c index bb5cf9ce..aed7d185 100755 --- a/netcon/Intercept.c +++ b/netcon/Intercept.c @@ -740,8 +740,8 @@ int listen(LISTEN_SIG) memcpy(&cmd[1], &rpc_st, sizeof(struct listen_st)); pthread_mutex_lock(&lock); send_command(fdret_sock, cmd); - err = get_retval(); + //err = get_retval(); pthread_mutex_unlock(&lock); - errno = ERR_OK; - return err; + //errno = ERR_OK; + return ERR_OK; } diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp index 72d6273a..462e366d 100644 --- a/netcon/NetconEthernetTap.cpp +++ b/netcon/NetconEthernetTap.cpp @@ -925,6 +925,7 @@ void NetconEthernetTap::handle_listen(PhySocket *sock, void **uptr, struct liste send_return_value(conn, ERR_OK, ERR_OK); } else { + /* fprintf(stderr, "handle_listen(): unable to allocate memory for new listening PCB\n"); // FIXME: This does not have an equivalent errno value // lwip will reclaim space with a tcp_listen call since a PCB in a LISTEN @@ -933,13 +934,16 @@ void NetconEthernetTap::handle_listen(PhySocket *sock, void **uptr, struct liste // socket, even if the reason isn't describing what really happened internally. // See: http://lwip.wikia.com/wiki/Raw/TCP send_return_value(conn, -1, EBADF); - } + */ + } } else { + /* // We can't find a connection mapped to the socket fd provided fprintf(stderr, "handle_listen(): can't locate connection for PCB\n"); send_return_value(conn, -1, EBADF); - } + */ + } } /* diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 Binary files differnew file mode 100755 index 00000000..bb203d64 --- /dev/null +++ b/netcon/libintercept.so.1.0 |