From e883a58cf6018c55a2465ec392e7b92a1b5dd1e0 Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Thu, 11 Oct 2007 12:37:09 +0000 Subject: [PATCH] Semi-revert 583466; just remove the ap_proxy_isvalidenc() function until we canonically set the "allowed" list. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@583802 13f79535-47bb-0310-9956-ffa450edef68 --- include/ap_mmn.h | 1 - modules/proxy/mod_proxy.h | 1 - modules/proxy/proxy_util.c | 27 --------------------------- 3 files changed, 29 deletions(-) diff --git a/include/ap_mmn.h b/include/ap_mmn.h index e4797e0cdf..79ffc7a7e3 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -133,7 +133,6 @@ * 20070823.0 (2.3.0-dev) Removed ap_all_available_mutexes_string, * ap_available_mutexes_string for macros * 20070823.1 (2.3.0-dev) add ap_send_interim_response() - * 20070823.2 (2.3.0-dev) add ap_proxy_isvalidenc() * */ diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index f3ae1f1b5a..de73723a1b 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -460,7 +460,6 @@ APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, request_status, PROXY_DECLARE(request_rec *)ap_proxy_make_fake_req(conn_rec *c, request_rec *r); PROXY_DECLARE(int) ap_proxy_hex2c(const char *x); PROXY_DECLARE(void) ap_proxy_c2hex(int ch, char *x); -PROXY_DECLARE(apr_status_t)ap_proxy_isvalidenc(const char *url, const char *allowed); PROXY_DECLARE(char *)ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, enum enctype t, int forcedec, int proxyreq); PROXY_DECLARE(char *)ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char **userp, diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 1ce1b38866..0b1d1f300c 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -134,33 +134,6 @@ PROXY_DECLARE(void) ap_proxy_c2hex(int ch, char *x) #endif /*APR_CHARSET_EBCDIC*/ } -/* - * Confirm that a URL-encoded string only contains - * valid encoding, valid chars are passed in allowed. - * If allowed is NULL, we use useful default. - */ -PROXY_DECLARE(apr_status_t)ap_proxy_isvalidenc(const char *url, - const char *allowed) - -{ - if (!allowed) { - allowed = "~$-_.+!*'(),;:@&=/"; /* allowed+reserved from - ap_proxy_canonenc */ - } - - for ( ; *url; ++url) { - if (!apr_isalnum(*url) && !ap_strchr_c(allowed, *url)) { - if (*url == '%' && apr_isxdigit(url[1]) && apr_isxdigit(url[2])) { - url += 2; /* an encoded char */ - } - else { - return APR_EGENERAL; /* reject bad char in URL */ - } - } - } - return APR_SUCCESS; -} - /* * canonicalise a URL-encoded string */ -- 2.40.0