aboutsummaryrefslogtreecommitdiffstats
path: root/www/apache13+ipv6
diff options
context:
space:
mode:
authorsumikawa <sumikawa@FreeBSD.org>2001-02-13 17:38:48 +0800
committersumikawa <sumikawa@FreeBSD.org>2001-02-13 17:38:48 +0800
commitd05635395ea68d4932d2fdd81e98a99a5d68860a (patch)
tree09dfa4a4ee3bfb58e9acc0a753189acf9fa27c88 /www/apache13+ipv6
parentd84ffa07267e44e2a9aa240b3c4518983701a6a1 (diff)
downloadfreebsd-ports-gnome-d05635395ea68d4932d2fdd81e98a99a5d68860a.tar.gz
freebsd-ports-gnome-d05635395ea68d4932d2fdd81e98a99a5d68860a.tar.zst
freebsd-ports-gnome-d05635395ea68d4932d2fdd81e98a99a5d68860a.zip
Add official fix for RewriteMap bug.
Submitted by: Marcin Cieslak <saper@system.pl>
Diffstat (limited to 'www/apache13+ipv6')
-rw-r--r--www/apache13+ipv6/Makefile1
-rw-r--r--www/apache13+ipv6/files/patch-rewrite25
2 files changed, 26 insertions, 0 deletions
diff --git a/www/apache13+ipv6/Makefile b/www/apache13+ipv6/Makefile
index 8505ed5ea73a..58d0e84fb0ed 100644
--- a/www/apache13+ipv6/Makefile
+++ b/www/apache13+ipv6/Makefile
@@ -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/ \
diff --git a/www/apache13+ipv6/files/patch-rewrite b/www/apache13+ipv6/files/patch-rewrite
new file mode 100644
index 000000000000..b80dae773567
--- /dev/null
+++ b/www/apache13+ipv6/files/patch-rewrite
@@ -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 = "";