summaryrefslogtreecommitdiff
path: root/source/n/inetd/inetd.loopingdos.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/inetd/inetd.loopingdos.diff')
-rw-r--r--source/n/inetd/inetd.loopingdos.diff54
1 files changed, 54 insertions, 0 deletions
diff --git a/source/n/inetd/inetd.loopingdos.diff b/source/n/inetd/inetd.loopingdos.diff
new file mode 100644
index 00000000..5bfcc53f
--- /dev/null
+++ b/source/n/inetd/inetd.loopingdos.diff
@@ -0,0 +1,54 @@
+--- ./inetd.c.orig 2003-09-06 15:08:41.000000000 -0700
++++ ./inetd.c 2003-09-06 16:26:24.000000000 -0700
+@@ -171,7 +171,8 @@
+ #include <rpcsvc/nfs_prot.h>
+ #include "pathnames.h"
+
+-#define TOOMANY 256 /* don't start more than TOOMANY */
++#define TOOMANY 0 /* don't start more than TOOMANY */
++ /* zero disables this stupid "feature" */
+ #define CNT_INTVL 60 /* servers in CNT_INTVL sec. */
+ #define RETRYTIME (60*10) /* retry after bind or server fail */
+
+@@ -365,7 +366,7 @@
+ int val;
+
+ val = strtoul(optarg, &p, 0);
+- if (val >= 1 && *p == (char) NULL) {
++ if (val >= 0 && *p == (char) NULL) {
+ toomany = val;
+ break;
+ }
+@@ -546,7 +547,7 @@
+ if (dofork) {
+ if (sep->se_count++ == 0)
+ (void)gettimeofday(&sep->se_time, NULL);
+- else if (sep->se_count >= sep->se_max) {
++ else if (toomany > 0 && sep->se_count >= sep->se_max) {
+ struct timeval now;
+
+ (void)gettimeofday(&now, NULL);
+--- ./inetd.8.orig 2003-09-06 16:26:50.000000000 -0700
++++ ./inetd.8 2003-09-06 16:30:27.000000000 -0700
+@@ -68,7 +68,8 @@
+ Turns on debugging.
+ .It Fl R Ar rate
+ Specify the maximum number of times a service can be invoked
+-in one minute; the default is 256.
++in one minute; the default is unlimited. A rate of 0 allows an
++unlimited number of invocations.
+ .El
+ .Pp
+ Upon execution,
+@@ -249,9 +250,8 @@
+ spawned from
+ .Nm inetd
+ within an interval of 60 seconds.
+-When omitted,
+-.Dq max
+-defaults to 256.
++The default is unlimited (setting a limit may actually make it easier for
++an attacker to create a denial-of-service, and is not recommended).
+ .Pp
+ Stream servers are usually marked as
+ .Dq nowait