From: Stefan Fritsch Date: Sun, 17 Jul 2011 13:56:28 +0000 (+0000) Subject: Make the SERVER_NAME variable include [ ] for literal IPv6 addresses, as X-Git-Tag: 2.3.14^2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=481fac5ce2f395fb029eb1c92e92835733e3f648;p=thirdparty%2Fapache%2Fhttpd.git Make the SERVER_NAME variable include [ ] for literal IPv6 addresses, as mandated by RFC 3875 PR: 26005 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1147614 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index eab33cecbf6..00ea760bdbe 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Changes with Apache 2.3.14 + *) core, mod_rewrite, mod_ssl, mod_nw_ssl: Make the SERVER_NAME variable + include [ ] for literal IPv6 addresses, as mandated by RFC 3875. + PR 26005. [Stefan Fritsch] + *) mod_negotiation: Fix parsing of Content-Length in type maps. PR 42203. [Nagae Hidetake ] diff --git a/modules/arch/netware/mod_nw_ssl.c b/modules/arch/netware/mod_nw_ssl.c index bc7665617a9..7b64ebfa2fc 100644 --- a/modules/arch/netware/mod_nw_ssl.c +++ b/modules/arch/netware/mod_nw_ssl.c @@ -1016,7 +1016,7 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, if (strcEQ(var, "SERVER_ADMIN")) result = r->server->server_admin; else if (strcEQ(var, "SERVER_NAME")) - result = ap_get_server_name(r); + result = ap_get_server_name_for_url(r); else if (strcEQ(var, "SERVER_PORT")) result = apr_psprintf(p, "%u", ap_get_server_port(r)); else if (strcEQ(var, "SERVER_PROTOCOL")) diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index b6fda3250a3..87855dd7ae5 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -1963,7 +1963,7 @@ static char *lookup_variable(char *var, rewrite_ctx *ctx) switch (var[8]) { case 'A': if (!strcmp(var, "SERVER_NAME")) { - result = ap_get_server_name(r); + result = ap_get_server_name_for_url(r); } break; diff --git a/modules/ssl/ssl_engine_vars.c b/modules/ssl/ssl_engine_vars.c index 99d38325604..34f33cf2a88 100644 --- a/modules/ssl/ssl_engine_vars.c +++ b/modules/ssl/ssl_engine_vars.c @@ -203,7 +203,7 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, if (strcEQ(var, "SERVER_ADMIN")) result = r->server->server_admin; else if (strcEQ(var, "SERVER_NAME")) - result = ap_get_server_name(r); + result = ap_get_server_name_for_url(r); else if (strcEQ(var, "SERVER_PORT")) result = apr_psprintf(p, "%u", ap_get_server_port(r)); else if (strcEQ(var, "SERVER_PROTOCOL")) diff --git a/server/util_expr_eval.c b/server/util_expr_eval.c index 53bd1cc1127..7f5fee38053 100644 --- a/server/util_expr_eval.c +++ b/server/util_expr_eval.c @@ -1193,7 +1193,7 @@ static const char *request_var_fn(ap_expr_eval_ctx_t *ctx, const void *data) case 7: return r->server->server_admin; case 8: - return ap_get_server_name(r); + return ap_get_server_name_for_url(r); case 9: return apr_psprintf(ctx->p, "%u", ap_get_server_port(r)); case 10: diff --git a/server/util_script.c b/server/util_script.c index 648e0bff974..fd80255360a 100644 --- a/server/util_script.c +++ b/server/util_script.c @@ -229,7 +229,7 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r) apr_table_addn(e, "SERVER_SIGNATURE", ap_psignature("", r)); apr_table_addn(e, "SERVER_SOFTWARE", ap_get_server_banner()); apr_table_addn(e, "SERVER_NAME", - ap_escape_html(r->pool, ap_get_server_name(r))); + ap_escape_html(r->pool, ap_get_server_name_for_url(r))); apr_table_addn(e, "SERVER_ADDR", r->connection->local_ip); /* Apache */ apr_table_addn(e, "SERVER_PORT", apr_psprintf(r->pool, "%u", ap_get_server_port(r)));