Commit c60055e9 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

PR47766


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1069424 13f79535-47bb-0310-9956-ffa450edef68
parent e5da1a61
Loading
Loading
Loading
Loading
+3 −0
Changes for CHANGES: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
                                                         -*- coding: utf-8 -*-
Changes with Apache 2.2.18

  *) mod_autoindex: Merge IndexOptions from server to directory context when
     the directory has no mod_autoindex directives. PR 47766. [Eric Covener]

  *) mod_cache: Make sure that we never allow a 304 Not Modified response
     that we asked for to leak to the client should the 304 response be
     uncacheable. PR45341 [Graham Leggett]
+0 −6
Changes for STATUS: 0 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -90,12 +90,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]

   * autoindex: fix merge of IndexOptions into per-dir configs 
     without any autoindex options.  PR47766
     Trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1031430
     2.2.x patch: http://people.apache.org/~covener/patches/2.2.x-autoindex_merge.diff
     +1 covener, rpluem, jim

  * mod_ssl: Correctly read full lines in input filter when the line is
    incomplete during first read. PR 50481.
      Trunk version of patch:
+5 −4
Changes for modules/generators/mod_autoindex.c: 5 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ module AP_MODULE_DECLARE_DATA autoindex_module;
#define IGNORE_CASE         (1 << 16)
#define EMIT_XHTML          (1 << 17)
#define SHOW_FORBIDDEN      (1 << 18)
#define OPTION_UNSET        (1 << 19)

#define K_NOADJUST 0
#define K_ADJUST 1
@@ -621,7 +622,7 @@ static void *create_autoindex_config(apr_pool_t *p, char *dummy)
    new->ign_list = apr_array_make(p, 4, sizeof(struct item));
    new->hdr_list = apr_array_make(p, 4, sizeof(struct item));
    new->rdme_list = apr_array_make(p, 4, sizeof(struct item));
    new->opts = 0;
    new->opts = OPTION_UNSET;
    new->incremented_opts = 0;
    new->decremented_opts = 0;
    new->default_keyid = '\0';
@@ -655,9 +656,9 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
    new->desc_list = apr_array_append(p, add->desc_list, base->desc_list);
    new->icon_list = apr_array_append(p, add->icon_list, base->icon_list);
    new->rdme_list = apr_array_append(p, add->rdme_list, base->rdme_list);
    if (add->opts & NO_OPTIONS) {
    if (add->opts == NO_OPTIONS) {
        /*
         * If the current directory says 'no options' then we also
         * If the current directory explicitly says 'no options' then we also
         * clear any incremental mods from being inheritable further down.
         */
        new->opts = NO_OPTIONS;
@@ -671,7 +672,7 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
         * Contrariwise, we *do* inherit if the only settings here are
         * incremental ones.
         */
        if (add->opts == 0) {
        if (add->opts == OPTION_UNSET) {
            new->incremented_opts = (base->incremented_opts
                                     | add->incremented_opts)
                                    & ~add->decremented_opts;