[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r9134 - in libmicrohttpd: . src/daemon
From: |
gnunet |
Subject: |
[GNUnet-SVN] r9134 - in libmicrohttpd: . src/daemon |
Date: |
Thu, 8 Oct 2009 02:43:53 -0600 |
Author: grothoff
Date: 2009-10-08 02:43:52 -0600 (Thu, 08 Oct 2009)
New Revision: 9134
Modified:
libmicrohttpd/ChangeLog
libmicrohttpd/src/daemon/daemon.c
Log:
limit sockets to < FD_SETSIZE
Modified: libmicrohttpd/ChangeLog
===================================================================
--- libmicrohttpd/ChangeLog 2009-10-07 23:03:39 UTC (rev 9133)
+++ libmicrohttpd/ChangeLog 2009-10-08 08:43:52 UTC (rev 9134)
@@ -1,3 +1,6 @@
+Thu Oct 8 10:43:02 CEST 2009
+ Added check for sockets being '< FD_SETSIZE' (just to be safe). -CG
+
Mon Oct 5 21:17:26 CEST 2009
Adding "COOKIE" header string #defines. -CG
@@ -36,7 +39,7 @@
the next request was successfully transmitted). This could
confuse applications not expecting to see a connection "complete"
that they were never aware of in the first place. -CG
-
+
Mon May 11 13:01:16 MDT 2009
Fixed issue where error code on timeout was "TERMINATED_WITH_ERROR"
instead of "TERMINATED_TIMEOUT_REACHED". -CG
Modified: libmicrohttpd/src/daemon/daemon.c
===================================================================
--- libmicrohttpd/src/daemon/daemon.c 2009-10-07 23:03:39 UTC (rev 9133)
+++ libmicrohttpd/src/daemon/daemon.c 2009-10-08 08:43:52 UTC (rev 9134)
@@ -577,7 +577,6 @@
memset (addr, 0, sizeof (addrstorage));
s = ACCEPT (daemon->socket_fd, addr, &addrlen);
-
if ((s < 0) || (addrlen <= 0))
{
#if HAVE_MESSAGES
@@ -593,7 +592,21 @@
}
return MHD_NO;
}
+ if (s >= FD_SETSIZE)
+ {
#if HAVE_MESSAGES
+ if ((options & MHD_USE_DEBUG) != 0)
+ FPRINTF (stderr,
+ "Socket descriptor larger than FD_SETSIZE: %d > %d\n",
+ s,
+ FD_SETSIZE);
+#endif
+ CLOSE (s);
+ return MHD_NO;
+ }
+
+
+#if HAVE_MESSAGES
#if DEBUG_CONNECT
MHD_DLOG (daemon, "Accepted connection on socket %d\n", s);
#endif
@@ -1163,7 +1176,7 @@
}
#endif
else
- socket_fd = SOCKET (PF_INET, SOCK_STREAM, 0);
+ socket_fd = SOCKET (PF_INET, SOCK_STREAM, 0);
if (socket_fd < 0)
{
#if HAVE_MESSAGES
@@ -1173,6 +1186,18 @@
free (retVal);
return NULL;
}
+ if (socket_fd >= FD_SETSIZE)
+ {
+#if HAVE_MESSAGES
+ if ((options & MHD_USE_DEBUG) != 0)
+ FPRINTF (stderr,
+ "Socket descriptor larger than FD_SETSIZE: %d > %d\n",
+ socket_fd,
+ FD_SETSIZE);
+#endif
+ CLOSE (socket_fd);
+ return NULL;
+ }
if ((SETSOCKOPT (socket_fd,
SOL_SOCKET,
SO_REUSEADDR,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r9134 - in libmicrohttpd: . src/daemon,
gnunet <=