9294991
diff -up dhcp-4.3.2/includes/site.h.CVE-2016-2774 dhcp-4.3.2/includes/site.h
9294991
--- dhcp-4.3.2/includes/site.h.CVE-2016-2774	2016-05-02 15:46:39.603504261 +0200
9294991
+++ dhcp-4.3.2/includes/site.h	2016-05-02 15:47:02.296484178 +0200
9294991
@@ -289,6 +289,12 @@
9294991
    this option will be removed at some time. */
9294991
 /* #define INCLUDE_OLD_DHCP_ISC_ERROR_CODES */
9294991
 
9294991
+/* Limit the value of a file descriptor the serve will use
9294991
+   when accepting a connecting request.  This can be used to
9294991
+   limit the number of TCP connections that the server will
9294991
+   allow at one time.  A value of 0 means there is no limit.*/
9294991
+#define MAX_FD_VALUE 200
9294991
+
9294991
 /* Include definitions for various options.  In general these
9294991
    should be left as is, but if you have already defined one
9294991
    of these and prefer your definition you can comment the 
9294991
diff -up dhcp-4.3.2/omapip/listener.c.CVE-2016-2774 dhcp-4.3.2/omapip/listener.c
9294991
--- dhcp-4.3.2/omapip/listener.c.CVE-2016-2774	2015-02-26 20:35:43.000000000 +0100
9294991
+++ dhcp-4.3.2/omapip/listener.c	2016-05-02 15:46:39.603504261 +0200
9294991
@@ -233,7 +233,12 @@ isc_result_t omapi_accept (omapi_object_
9294991
 			return ISC_R_NORESOURCES;
9294991
 		return ISC_R_UNEXPECTED;
9294991
 	}
9294991
-	
9294991
+
9294991
+	if ((MAX_FD_VALUE != 0) && (socket > MAX_FD_VALUE)) {
9294991
+		close(socket);
9294991
+		return (ISC_R_NORESOURCES);
9294991
+	}
9294991
+
9294991
 #if defined (TRACING)
9294991
 	/* If we're recording a trace, remember the connection. */
9294991
 	if (trace_record ()) {