httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <ma...@znep.com>
Subject Re: Apache DoS attack? (fwd)
Date Tue, 30 Dec 1997 20:32:50 GMT
My posts are showing up on bugtraq within 10 minutes and making it back to
me within 30... since people are mailing me asking for the patch since
they haven't seen it, I reposted just the 1.2 one.

Sigh.

---------- Forwarded message ----------
Date: Tue, 30 Dec 1997 13:30:56 -0700 (MST)
From: Marc Slemko <marcs@znep.com>
To: BUGTRAQ@NETSPACE.ORG
Subject: Re: Apache DoS attack?

On Tue, 30 Dec 1997, Marc Slemko wrote:

[...]

> Please see the patch Dean Gaudet has posted to bugtraq for the solution.

Since people are telling me that Dean's post has not made it yet and
asking for the patch, and I don't see it here yet, I am reposting his
patch for 1.2.  A similar thing applies to 1.3. 

This patch has been applied to the Apache CVS tree and will be available
in a new release at some point in the reasonably near future. 

Index: src/util.c
===================================================================
RCS file: /export/home/cvs/apache/src/util.c,v
retrieving revision 1.52.2.2
diff -u -r1.52.2.2 util.c
--- util.c	1997/06/27 01:47:47	1.52.2.2
+++ util.c	1997/12/30 18:09:15
@@ -328,14 +328,22 @@
     }
 } 
 
-void no2slash(char *name) {
-    register int x,y;
+void no2slash(char *name)
+{
+    char *d, *s;
 
-    for(x=0; name[x];)
-        if(x && (name[x-1] == '/') && (name[x] == '/'))
-            for(y=x+1;name[y-1];y++)
-                name[y-1] = name[y];
-	else x++;
+    s = d = name;
+    while (*s) {
+        if ((*d++ = *s) == '/') {
+            do {
+                ++s;
+            } while (*s == '/');
+        }
+        else {
+            ++s;
+        }
+    }
+    *d = '\0';
 }
 
 char *make_dirstr(pool *p, const char *s, int n) {





Mime
View raw message