From 3ab3e5ed3ede75850a221237e5ff0d377f45c2fe Mon Sep 17 00:00:00 2001 From: Graham Leggett Date: Sat, 3 Dec 2011 01:03:08 +0000 Subject: [PATCH] mod_proxy: Remove ap_proxy_date_canon() from the public API. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209812 13f79535-47bb-0310-9956-ffa450edef68 --- modules/proxy/mod_proxy.h | 1 - modules/proxy/mod_proxy_http.c | 25 ++++++++++++++++++++++++- modules/proxy/proxy_util.c | 24 ------------------------ 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index e406b3aaf8..d025769e0d 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -537,7 +537,6 @@ PROXY_DECLARE(char *)ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, en int forcedec, int proxyreq); PROXY_DECLARE(char *)ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char **userp, char **passwordp, char **hostp, apr_port_t *port); -PROXY_DECLARE(const char *)ap_proxy_date_canon(apr_pool_t *p, const char *x); PROXY_DECLARE(int) ap_proxy_hex2sec(const char *x); PROXY_DECLARE(void) ap_proxy_sec2hex(int t, char *y); PROXY_DECLARE(int) ap_proxyerror(request_rec *r, int statuscode, const char *message); diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index b828a604d8..e55a398df2 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -1245,6 +1245,29 @@ skip_body: return OK; } +/* + * If the date is a valid RFC 850 date or asctime() date, then it + * is converted to the RFC 1123 format. + */ +static const char *date_canon(apr_pool_t *p, const char *date) +{ + apr_status_t rv; + char* ndate; + + apr_time_t time = apr_date_parse_http(date); + if (!time) { + return date; + } + + ndate = apr_palloc(p, APR_RFC822_DATE_LEN); + rv = apr_rfc822_date(ndate, time); + if (rv != APR_SUCCESS) { + return date; + } + + return ndate; +} + static void process_proxy_header(request_rec *r, proxy_dir_conf *c, const char *key, const char *value) { @@ -1265,7 +1288,7 @@ static void process_proxy_header(request_rec *r, proxy_dir_conf *c, for (i = 0; date_hdrs[i]; ++i) { if (!strcasecmp(date_hdrs[i], key)) { apr_table_add(r->headers_out, key, - ap_proxy_date_canon(r->pool, value)); + date_canon(r->pool, value)); return; } } diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index c4b29d47dd..bd25aa79b5 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -355,30 +355,6 @@ PROXY_DECLARE(char *) return NULL; } -/* - * If the date is a valid RFC 850 date or asctime() date, then it - * is converted to the RFC 1123 format. - */ -PROXY_DECLARE(const char *) - ap_proxy_date_canon(apr_pool_t *p, const char *date) -{ - apr_status_t rv; - char* ndate; - - apr_time_t time = apr_date_parse_http(date); - if (!time) { - return date; - } - - ndate = apr_palloc(p, APR_RFC822_DATE_LEN); - rv = apr_rfc822_date(ndate, time); - if (rv != APR_SUCCESS) { - return date; - } - - return ndate; -} - PROXY_DECLARE(request_rec *)ap_proxy_make_fake_req(conn_rec *c, request_rec *r) { apr_pool_t *pool; -- 2.40.0