Commit 7025d8c4 authored by Eric Covener's avatar Eric Covener
Browse files

restore ABI break in r1082630, changed signature of ap_unescape_url_keep2f().

parent b23b8751
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -141,7 +141,11 @@
 * 20051115.24 (2.2.15) Add forward member to proxy_conn_rec
 * 20051115.25 (2.2.17) Add errstatuses member to proxy_balancer
 * 20051115.26 (2.2.18) Add ap_cache_check_allowed()
 * 20051115.27 (2.2.18) Add core_dir_config.decode_encoded_slashes.
 * 20051115.27 (2.2.18) BROKEN ABI fixed in 2.2.19: 
                        ap_unescape_url_keep2f() signature change
                        Add core_dir_config.decode_encoded_slashes.
 * 20051115.28 (2.2.19) Restore ap_unescape_url_keep2f(char *url) signature 
                        altered in 2.2.18.
 */

#define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */
@@ -149,7 +153,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20051115
#endif
#define MODULE_MAGIC_NUMBER_MINOR 27                    /* 0...n */
#define MODULE_MAGIC_NUMBER_MINOR 28                    /* 0...n */

/**
 * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
+10 −2
Original line number Diff line number Diff line
@@ -1450,11 +1450,19 @@ AP_DECLARE(int) ap_is_url(const char *u);
AP_DECLARE(int) ap_unescape_url(char *url);

/**
 * Unescape a URL, but leaving %2f (slashes) escaped
 * Unescape a URL, including encoded slashes.
 * @param url The url to unescape
 * @return 0 on success, non-zero otherwise
 */
AP_DECLARE(int) ap_unescape_url_keep2f(char *url, int decode_slashes);
AP_DECLARE(int) ap_unescape_url_keep2f(char *url);

/**
 * Unescape a URL, including encoded slashes.
 * @param url The url to unescape
 * @param decode_slashes Whether or not slashes should be decoded or not
 * @return 0 on success, non-zero otherwise
 */
AP_DECLARE(int) ap_unescape_url_keep2f_ex(char *url, int decode_slashes);

/**
 * Convert all double slashes to single slashes
+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r)
        core_dir_config *d;
        d = ap_get_module_config(r->per_dir_config, &core_module);
        if (d->allow_encoded_slashes) {
            access_status = ap_unescape_url_keep2f(r->parsed_uri.path, d->decode_encoded_slashes);
            access_status = ap_unescape_url_keep2f_ex(r->parsed_uri.path, d->decode_encoded_slashes);
        }
        else {
            access_status = ap_unescape_url(r->parsed_uri.path);
+6 −1
Original line number Diff line number Diff line
@@ -1589,7 +1589,7 @@ AP_DECLARE(int) ap_unescape_url(char *url)
        return OK;
}

AP_DECLARE(int) ap_unescape_url_keep2f(char *url, int decode_2f)
AP_DECLARE(int) ap_unescape_url_keep2f_ex(char *url, int decode_2f)
{
    register int badesc, badpath;
    char *x, *y;
@@ -1640,6 +1640,11 @@ AP_DECLARE(int) ap_unescape_url_keep2f(char *url, int decode_2f)
    }
}

AP_DECLARE(int) ap_unescape_url_keep2f(char *url)
{
    return ap_unescape_url_keep2f_ex(url, 1);
}

AP_DECLARE(char *) ap_construct_server(apr_pool_t *p, const char *hostname,
                                       apr_port_t port, const request_rec *r)
{