Add official fix for RewriteMap bug.

Submitted by:	Marcin Cieslak <saper@system.pl>
This commit is contained in:
Munechika SUMIKAWA 2001-02-13 09:38:48 +00:00
parent db375cb582
commit bfe4a84724
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=38296
2 changed files with 26 additions and 0 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= apache+ipv6
PORTVERSION= 1.3.17
PORTREVISION= 1
CATEGORIES= www ipv6
MASTER_SITES= http://www.apache.org/dist/ \
ftp://ftp.ccs.neu.edu/net/mirrors/ftp.apache.org/apache/dist/ \

View File

@ -0,0 +1,25 @@
There's another bug in RewriteMap handling in Apache 1.3.17, which
causes ${} expansions to be completely ignored. This patch fixes it.
Index: src/modules/standard/mod_rewrite.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -r1.169 -r1.170
--- src/modules/standard/mod_rewrite.c 2001/01/18 22:28:34 1.169
+++ src/modules/standard/mod_rewrite.c 2001/02/01 04:12:26 1.170
@@ -2287,11 +2287,11 @@
char *map, *key, *dflt, *result;
char xkey[MAX_STRING_LEN];
char xdflt[MAX_STRING_LEN];
- key = find_char_in_brackets(inp, ':', '{', '}');
+ key = find_char_in_brackets(inp+2, ':', '{', '}');
if (key == NULL)
goto skip;
map = ap_pstrndup(r->pool, inp+2, key-inp-2);
- dflt = find_char_in_brackets(inp, '|', '{', '}');
+ dflt = find_char_in_brackets(key+1, '|', '{', '}');
if (dflt == NULL) {
key = ap_pstrndup(r->pool, key+1, endp-key-1);
dflt = "";