martin 98/08/31 06:33:52
Modified: src CHANGES
src/main http_core.c
Log:
Some time ago I noticed that
<IfModule ! modname.c> -> TRUE, no matter what 'modname' is.
<IfModule !modname.c> -> works as documented
So, to avoid problems when people add a space by mistake, I
changed the RAW_ARGS to a TAKE1 because the trailing "modname.c>" or
"!modname.c>" is always one arg, and we do not intend to allow
anything after the '>' character anyway.
Reviewed by: Ken Coar, Brian Behlendorf
Revision Changes Path
1.1041 +8 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1040
retrieving revision 1.1041
diff -u -r1.1040 -r1.1041
--- CHANGES 1998/08/31 01:18:51 1.1040
+++ CHANGES 1998/08/31 13:33:50 1.1041
@@ -1,5 +1,13 @@
Changes with Apache 1.3.2
+ *) The <IfModule and <IfDefine block starting directives now only
+ allow exactly one argument. Previously, the optional negation
+ character '!' could be separated by whitespace without a syntax
+ error being reported, albeit defeating the IfModule functionality
+ (enclosed directives would ALWAYS be executed). By using the
+ stricter syntax, these hard-to-track errors can be avoided.
+ [Martin Kraemer]
+
*) Simplify handling of IndexOptions in mod_autoindex -- and BTW
cause the standalone FancyIndexing directive to logically OR
into any existing IndexOptions settings rather than wiping
1.226 +2 -2 apache-1.3/src/main/http_core.c
Index: http_core.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v
retrieving revision 1.225
retrieving revision 1.226
diff -u -r1.225 -r1.226
--- http_core.c 1998/08/26 20:01:22 1.225
+++ http_core.c 1998/08/31 13:33:51 1.226
@@ -2447,11 +2447,11 @@
"authentication directives when accessed using specified HTTP methods" },
{ "</Limit>", endlimit_section, NULL, OR_ALL, NO_ARGS,
"Marks end of <Limit>" },
-{ "<IfModule", start_ifmod, NULL, OR_ALL, RAW_ARGS,
+{ "<IfModule", start_ifmod, NULL, OR_ALL, TAKE1,
"Container for directives based on existance of specified modules" },
{ end_ifmodule_section, end_ifmod, NULL, OR_ALL, NO_ARGS,
"Marks end of <IfModule>" },
-{ "<IfDefine", start_ifdefine, NULL, OR_ALL, RAW_ARGS,
+{ "<IfDefine", start_ifdefine, NULL, OR_ALL, TAKE1,
"Container for directives based on existance of command line defines" },
{ end_ifdefine_section, end_ifdefine, NULL, OR_ALL, NO_ARGS,
"Marks end of <IfDefine>" },