httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Havard" <bri...@kheldar.apana.org.au>
Subject [PATCH] Improve OS/2 ap_os_canonical_filename()'s behaviour handing invalid file names
Date Sun, 14 Feb 1999 04:22:37 GMT
This patch removes the ap_assert() triggered by an invalid file name and 
instead returns the file name unchanged.

This allows <Directory proxy:*> directives to work and prevents invalid 
requests from killing the process.



Index: util_os2.c
===================================================================
RCS file: /cvs/apache-1.3/src/os/os2/util_os2.c,v
retrieving revision 1.1
diff -u -r1.1 util_os2.c
--- util_os2.c	1998/07/20 16:40:40	1.1
+++ util_os2.c	1999/02/14 02:52:52
@@ -1,4 +1,5 @@
 #define INCL_DOSFILEMGR
+#define INCL_DOSERRORS
 #include <os2.h>
 #include "httpd.h"
 #include "http_log.h"
@@ -19,7 +20,16 @@
         buf[--len] = 0;
       
     rc = DosQueryPathInfo(buf, FIL_QUERYFULLNAME, buf2, HUGE_STRING_LEN);
-    ap_assert(rc == 0);
+
+    if (rc) {
+        if ( rc != ERROR_INVALID_NAME ) {
+            ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, NULL, "OS/2 error %d for file
%s", rc, szFile);
+            return ap_pstrdup(pPool, "");
+        } else {
+            return ap_pstrdup(pPool, szFile);
+        }
+    }
+
     strlwr(buf2);
     
 /* Switch backslashes to forward */

--
 ______________________________________________________________________________
 |  Brian Havard                 |  "He is not the messiah!                   |
 |  brianh@kheldar.apana.org.au  |  He's a very naughty boy!" - Life of Brian |
 ------------------------------------------------------------------------------


Mime
View raw message