httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Covener <cove...@gmail.com>
Subject Re: svn commit: r772997 - in /httpd/httpd/trunk: include/http_core.h modules/filters/mod_include.c server/config.c server/core.c
Date Sat, 09 May 2009 18:16:58 GMT
On Fri, May 8, 2009 at 10:13 AM,  <jorton@apache.org> wrote:

> +
> +        /* if Includes was enabled without exec in the new config, but
> +         * was enabled with exec in the base, then disable exec in the
> +         * resulting options. */
> +        if ((base->opts & OPT_INC_WITH_EXEC)
> +            && (new->opts & OPT_INC_WITH_EXEC) == 0) {
> +            conf->opts &= ~OPT_INC_WITH_EXEC;


The above is wrapped in
    if (new->opts & OPT_UNSET) {

Which means checking new->opts against anything is probably not needed
and harmful in the case illustrated below. new->opts can be
initialized with OPT_UNSET only when no htaccess is involved (if I
understand the 2nd parm to foo_create_config()):

  create_core_dir_config:
      conf->opts = dir ? OPT_UNSET : OPT_UNSET|OPT_ALL;

This zaps OPT_INC_WITH_EXEC for a config w/o the htaccess issue (the
real focus of the change):

# only two containers in the config

<Directory />
Options Includes
AllowOverride None
</Directory>

<Directory /home/covener>
# with this container, mod_cgi/mod_cgid complains about exec being off
# without it, exec cmd= works as expected
SetEnv foo bar
</Directory>


Is it safe to drop the entire quoted stanza since new->opts is UNSET anyway?

-- 
Eric Covener
covener@gmail.com

Mime
View raw message