Blame SOURCES/httpd-2.4.6-r1624349.patch
|
|
0943f8 |
diff --git a/server/scoreboard.c b/server/scoreboard.c
|
|
|
0943f8 |
index bef2b90..c8ef6a3 100644
|
|
|
0943f8 |
--- a/server/scoreboard.c
|
|
|
0943f8 |
+++ b/server/scoreboard.c
|
|
|
0943f8 |
@@ -484,8 +484,14 @@ static int update_child_status_internal(int child_num,
|
|
|
0943f8 |
ws->conn_bytes = 0;
|
|
|
0943f8 |
}
|
|
|
0943f8 |
if (r) {
|
|
|
0943f8 |
- apr_cpystrn(ws->client, ap_get_remote_host(c, r->per_dir_config,
|
|
|
0943f8 |
- REMOTE_NOLOOKUP, NULL), sizeof(ws->client));
|
|
|
0943f8 |
+ const char *client = ap_get_remote_host(c, r->per_dir_config,
|
|
|
0943f8 |
+ REMOTE_NOLOOKUP, NULL);
|
|
|
0943f8 |
+ if (!client || !strcmp(client, c->client_ip)) {
|
|
|
0943f8 |
+ apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
|
|
|
0943f8 |
+ }
|
|
|
0943f8 |
+ else {
|
|
|
0943f8 |
+ apr_cpystrn(ws->client, client, sizeof(ws->client));
|
|
|
0943f8 |
+ }
|
|
|
0943f8 |
copy_request(ws->request, sizeof(ws->request), r);
|
|
|
0943f8 |
if (r->server) {
|
|
|
0943f8 |
apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",
|