Index: CHANGES =================================================================== --- CHANGES (revision 1656034) +++ CHANGES (working copy) @@ -1,6 +1,11 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) core: Define and UnDefine are no longer permitted in + directory context. Previously they would always be evaulated + as the configuration was read without regard for the directory + context. [Eric Covener] + *) config: For directives that do not expect any arguments, enforce that none are specified in the configuration file. [Joachim Zobel , Eric Covener] Index: server/core.c =================================================================== --- server/core.c (revision 1656034) +++ server/core.c (working copy) @@ -1332,9 +1332,6 @@ static const char *set_define(cmd_parms *cmd, void *dummy, const char *name, const char *value) { - const char *err = ap_check_cmd_context(cmd, NOT_IN_HTACCESS); - if (err) - return err; if (ap_strchr_c(name, ':') != NULL) return "Variable name must not contain ':'"; @@ -1358,9 +1355,7 @@ { int i; char **defines; - const char *err = ap_check_cmd_context(cmd, NOT_IN_HTACCESS); - if (err) - return err; + if (ap_strchr_c(name, ':') != NULL) return "Variable name must not contain ':'"; @@ -4181,9 +4176,9 @@ "The name of the default charset to add to any Content-Type without one or 'Off' to disable"), AP_INIT_TAKE1("AcceptPathInfo", set_accept_path_info, NULL, OR_FILEINFO, "Set to on or off for PATH_INFO to be accepted by handlers, or default for the per-handler preference"), -AP_INIT_TAKE12("Define", set_define, NULL, EXEC_ON_READ|ACCESS_CONF|RSRC_CONF, +AP_INIT_TAKE12("Define", set_define, NULL, EXEC_ON_READ|RSRC_CONF, "Define a variable, optionally to a value. Same as passing -D to the command line."), -AP_INIT_TAKE1("UnDefine", unset_define, NULL, EXEC_ON_READ|ACCESS_CONF|RSRC_CONF, +AP_INIT_TAKE1("UnDefine", unset_define, NULL, EXEC_ON_READ|RSRC_CONF, "Undefine the existence of a variable. Undo a Define."), AP_INIT_RAW_ARGS("Error", generate_message, (void*) APLOG_ERR, OR_ALL, "Generate error message from within configuration."), Index: docs/manual/mod/core.xml =================================================================== --- docs/manual/mod/core.xml (revision 1656034) +++ docs/manual/mod/core.xml (working copy) @@ -717,7 +717,7 @@ Define a variable Define parameter-name [parameter-value] server configvirtual host -directory +

In its one parameter form, Define is equivalent @@ -746,6 +746,10 @@

Variable names may not contain colon ":" characters, to avoid clashes with RewriteMap's syntax.

+ +

While this directive is supported in virtual host context, + the changes it makes are visible to any further configuration + directives, beyond any enclosing virtual host

@@ -4291,7 +4295,8 @@ UnDefine Undefine the existence of a variable UnDefine parameter-name -server config +server config +virtual host

Undoes the effect of a Define or @@ -4299,6 +4304,9 @@

This directive can be used to toggle the use of IfDefine sections without needing to alter -D arguments in any startup scripts.

+

While this directive is supported in virtual host context, + the changes it makes are visible to any further configuration + directives, beyond any enclosing virtual host