Commit c009b70e authored by Yann Ylavic's avatar Yann Ylavic
Browse files

Merge r1746207 from trunk:

mod_dav: Add support for childtags to dav_error.

Submitted by: minfrin
Reviewed by: minfrin, jim, ylavic


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1756560 13f79535-47bb-0310-9956-ffa450edef68
parent 10fe38f5
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5,6 +5,9 @@ Changes with Apache 2.4.24
  *) core: CVE-2016-5387: Mitigate [f]cgi "httpoxy" issues.
     [Dominic Scheirlinck <dominic vendhq.com>, Yann Ylavic]

  *) mod_dav: Add support for childtags to dav_error.
     [Jari Urpalainen <jari.urpalainen nokia.com>]

  *) mod_proxy_fcgi: Fix 2.4.23 breakage for mod_rewrite per-dir and query 
     string showing up in SCRIPT_FILENAME. PR59815

+0 −5
Original line number Diff line number Diff line
@@ -117,11 +117,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]

  *) mod_dav: Add support for childtags to dav_error.
     trunk patch: http://svn.apache.org/r1746207
     2.4.x: trunk works modulo CHANGES/MMN
     +1: minfrin, jim, ylavic

  *) mod_dav: Add dav_begin_multistatus, dav_send_one_response,
     dav_finish_multistatus, dav_send_multistatus, dav_handle_err, 
     dav_failed_proppatch, dav_success_proppatch to mod_dav.h.
+2 −1
Original line number Diff line number Diff line
@@ -477,6 +477,7 @@
 *                          extended proxy_worker_shared.
 * 20120211.60 (2.4.21-dev) Add dav_get_provider_name.
 * 20120211.61 (2.4.21-dev) Add ap_cstr_casecmp[n]() - placeholder of apr_ fns
 * 20120211.62 (2.4.24-dev) Add childtags to dav_error.
 */

#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
@@ -484,7 +485,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20120211
#endif
#define MODULE_MAGIC_NUMBER_MINOR 61                   /* 0...n */
#define MODULE_MAGIC_NUMBER_MINOR 62                   /* 0...n */

/**
 * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
+25 −8
Original line number Diff line number Diff line
@@ -364,6 +364,22 @@ static int dav_error_response_tag(request_rec *r,
        ap_rputs(" xmlns:m=\"http://apache.org/dav/xmlns\"", r);
    }

    if (err->childtags) {
        if (err->namespace != NULL) {
            ap_rprintf(r,
                    " xmlns:C=\"%s\">" DEBUG_CR
                    "<C:%s>%s</C:%s>" DEBUG_CR,
                    err->namespace,
                    err->tagname, err->childtags, err->tagname);
        }
        else {
            ap_rprintf(r,
                    ">" DEBUG_CR
                    "<D:%s>%s<D:%s>" DEBUG_CR,
                    err->tagname, err->childtags, err->tagname);
        }
    }
    else {
        if (err->namespace != NULL) {
            ap_rprintf(r,
                    " xmlns:C=\"%s\">" DEBUG_CR
@@ -375,6 +391,7 @@ static int dav_error_response_tag(request_rec *r,
                    ">" DEBUG_CR
                    "<D:%s/>" DEBUG_CR, err->tagname);
        }
    }

    /* here's our mod_dav specific tag: */
    if (err->desc != NULL) {
+2 −0
Original line number Diff line number Diff line
@@ -130,6 +130,8 @@ typedef struct dav_error {

    struct dav_error *prev;     /* previous error (in stack) */

    const char *childtags;      /* error-tag may have children */

} dav_error;

/*