You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Dean Gaudet <dg...@arctic.org> on 1998/03/01 01:36:55 UTC

cvs commit: apache-1.3/src/main util.c (fwd)

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