From: William A. Rowe Jr Date: Fri, 12 Feb 2016 01:19:49 +0000 (+0000) Subject: A rather ugly patch since the code was refactored recently to exclude X-Git-Tag: 2.5.0-alpha~2105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0ebed1b38e5a620c2f9c0884bb7d5734944b79a0;p=thirdparty%2Fapache%2Fhttpd.git A rather ugly patch since the code was refactored recently to exclude the simple patch for 2.4.x, illustrated below. Completes the changeset r1729930 and resolves all 2.4.19-dev corrections, but other 2.5.0-dev specific changes may still be needed on trunk. --- server/scoreboard.c (revision 1729907) +++ server/scoreboard.c (working copy) @@ -491,9 +491,8 @@ ws->conn_bytes = 0; } if (r) { - const char *client = ap_get_remote_host(c, r->per_dir_config, - REMOTE_NOLOOKUP, NULL); - if (!client || !strcmp(client, c->client_ip)) { + const char *client; + if (!(client = ap_get_useragent_host(r, REMOTE_NOLOOKUP, NULL))) { apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client)); } else { git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729931 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/scoreboard.c b/server/scoreboard.c index b7f3500502e..23e572b47b9 100644 --- a/server/scoreboard.c +++ b/server/scoreboard.c @@ -510,15 +510,18 @@ static int update_child_status_internal(int child_num, else if (r) { copy_request(ws->request, sizeof(ws->request), r); } - if (r || c) { - val = ap_get_remote_host(c, r? r->per_dir_config : NULL, - REMOTE_NOLOOKUP, NULL); - if (r && (!val || !strcmp(val, c->client_ip))) { + if (r) { + if (!(val = ap_get_useragent_host(r, REMOTE_NOLOOKUP, NULL))) apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client)); - } - else { + else + apr_cpystrn(ws->client, val, sizeof(ws->client)); + } + else if (c) { + if (!(val = ap_get_remote_host(c, c->base_server->lookup_defaults, + REMOTE_NOLOOKUP, NULL))) + apr_cpystrn(ws->client, c->client_ip, sizeof(ws->client)); + else apr_cpystrn(ws->client, val, sizeof(ws->client)); - } } if (s) { if (c) {