Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 12633 invoked by uid 6000); 1 Mar 1998 00:36:52 -0000 Received: (qmail 12627 invoked from network); 1 Mar 1998 00:36:51 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 1 Mar 1998 00:36:51 -0000 Received: (qmail 6900 invoked by uid 500); 1 Mar 1998 00:36:55 -0000 Date: Sat, 28 Feb 1998 16:36:55 -0800 (PST) From: Dean Gaudet To: new-httpd@apache.org Subject: cvs commit: apache-1.3/src/main util.c (fwd) Message-ID: X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information regarding copyright and disclaimer. MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org This is one of those things we can either fix or we can leave it alone. I'm willing to back out this change if folks want it left alone. The issue is that directives like: BrowserMatch "abc\\def" asdf Just happen to work because of the bug in substring_conf this patch fixes. With the bug in there, regcomp will be passed the 8 character string "abc\\def" (all characters literal, no escaping). With the bugfix below regcomp will be passed the 7 character string "abc\def" (all literal, no escaping). So the above would have to be rewritten: BrowserMatch "abc\\\\def" asdf This is just one of those cases where our present config stuff is just too weak. If we had more primitive types like I proposed last summer this wouldn't be an issue. Right now we only have the primitive type "string". Dean ---------- Forwarded message ---------- Date: 1 Mar 1998 00:19:36 -0000 From: dgaudet@hyperreal.org To: apache-1.3-cvs@hyperreal.org Subject: cvs commit: apache-1.3/src/main util.c Reply-To: new-httpd@apache.org dgaudet 98/02/28 16:19:36 Modified: src CHANGES src/main util.c Log: Wow this is an ancient bug... \\ didn't do what it was supposed to do. Fixing this means that regexes using \\ will break suddenly because they need to become \\\\ ... I dunno what to do about that. Submitted by: Ronald.Tschalaer@psi.ch Revision Changes Path 1.674 +2 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.673 retrieving revision 1.674 diff -u -r1.673 -r1.674 --- CHANGES 1998/02/28 15:39:25 1.673 +++ CHANGES 1998/03/01 00:19:33 1.674 @@ -1,5 +1,7 @@ Changes with Apache 1.3b6 + *) Make \\ behave as expected. [Ronald.Tschalaer@psi.ch] + *) Add `Rule HIDE' to Configuration to hide the Apache symbol namespace from conflicting with third-party libraries some modules force to be linked with Apache. [Ralf S. Engelschall] 1.94 +1 -1 apache-1.3/src/main/util.c Index: util.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v retrieving revision 1.93 retrieving revision 1.94 diff -u -r1.93 -r1.94 --- util.c 1998/02/02 22:33:34 1.93 +++ util.c 1998/03/01 00:19:35 1.94 @@ -585,7 +585,7 @@ int i; for (i = 0; i < len; ++i) { - if (start[i] == '\\' && (start[i + 1] == '/' + if (start[i] == '\\' && (start[i + 1] == '\\' || (quote && start[i + 1] == quote))) *resp++ = start[++i]; else