summaryrefslogtreecommitdiff
path: root/netcon
diff options
context:
space:
mode:
authorJoseph Henry <joseph.henry@zerotier.com>2015-10-16 14:43:38 -0400
committerJoseph Henry <joseph.henry@zerotier.com>2015-10-16 14:43:38 -0400
commitb96c08f35c2afd07daf261451daad7004c73f42d (patch)
treef2d11b86e47278c906cb5b5d602c755173e8d4a7 /netcon
parent3e8e025704d6965cd0d67213bcca7d2ae1a70036 (diff)
downloadinfinitytier-b96c08f35c2afd07daf261451daad7004c73f42d.tar.gz
infinitytier-b96c08f35c2afd07daf261451daad7004c73f42d.zip
Fixed nginx listen() bug
Diffstat (limited to 'netcon')
-rwxr-xr-xnetcon/Intercept.c6
-rw-r--r--netcon/NetconEthernetTap.cpp8
-rwxr-xr-xnetcon/libintercept.so.1.0bin0 -> 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
new file mode 100755
index 00000000..bb203d64
--- /dev/null
+++ b/netcon/libintercept.so.1.0
Binary files differ