From: André Malo Date: Mon, 12 Jan 2004 22:36:32 +0000 (+0000) Subject: make REMOTE_PORT available X-Git-Tag: pre_ajp_proxy~814 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cf8a422ba66272e4d997f253965f421f7cb93507;p=apache make REMOTE_PORT available PR: 25772 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102304 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index b7394cfc6c..421b500021 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev [Remove entries to the current 2.0 section below, when backported] + *) Make REMOTE_PORT variable available in mod_rewrite. + PR 25772. [André Malo] + *) Allow unescaped error logs via compile time switch "-DAP_ERROR_LOG_UNESCAPED". [Geoffrey Young , André Malo] diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index cc888383fc..2823418bce 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -1829,12 +1829,15 @@ static char *lookup_variable(char *var, rewrite_ctx *ctx) break; case 'O': - if (*var == 'R' && !strcmp(var, "REMOTE_HOST")) { + if (*var == 'S' && !strcmp(var, "SERVER_PORT")) { + return apr_psprintf(r->pool, "%u", ap_get_server_port(r)); + } + else if (var[7] == 'H' && !strcmp(var, "REMOTE_HOST")) { result = ap_get_remote_host(r->connection,r->per_dir_config, REMOTE_NAME, NULL); } - else if (!strcmp(var, "SERVER_PORT")) { - return apr_psprintf(r->pool, "%u", ap_get_server_port(r)); + else if (!strcmp(var, "REMOTE_PORT")) { + return apr_itoa(r->pool, r->connection->remote_addr->port); } break;