brian 98/05/20 15:54:02
Modified: src/modules/standard mod_log_referer.c
Log:
Much better - have a separate variable specificly for testing the
refererignore
patterns, and only tolower that one.
Revision Changes Path
1.29 +4 -3 apache-1.3/src/modules/standard/mod_log_referer.c
Index: mod_log_referer.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_referer.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- mod_log_referer.c 1998/05/20 04:22:11 1.28
+++ mod_log_referer.c 1998/05/20 22:54:01 1.29
@@ -162,7 +162,7 @@
&referer_log_module);
char *str;
- char *referer;
+ char *referer, *referertest;
request_rec *r;
if (cls->referer_fd < 0)
@@ -176,7 +176,8 @@
referer = ap_table_get(orig->headers_in, "Referer");
if (referer != NULL) {
- ap_str_tolower(referer);
+ referertest = ap_pstrdup(orig->pool, referer);
+ ap_str_tolower(referertest);
/* The following is an upsetting mess of pointers, I'm sorry
Anyone with the motiviation and/or the time should feel free
to make this cleaner... */
@@ -191,7 +192,7 @@
for (ptrptr = (char **) cls->referer_ignore_list->elts;
ptrptr < ptrptr2;
ptrptr = (char **) ((char *) ptrptr +
cls->referer_ignore_list->elt_size)) {
- if (strstr(referer, *ptrptr))
+ if (strstr(referertest, *ptrptr))
return OK;
}