From b7524252230734d6c21529db17866516ece7da26 Mon Sep 17 00:00:00 2001 From: "roberto@lupo" Date: Wed, 23 Feb 2011 21:18:33 +0100 Subject: [PATCH] fixed REMOTE_ADDR in http router --- plugins/http/http.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/http/http.c b/plugins/http/http.c index 586d7609..2097a585 100644 --- a/plugins/http/http.c +++ b/plugins/http/http.c @@ -138,6 +138,7 @@ struct http_session { struct uwsgi_subscriber_name *un; in_addr_t ip_addr; + char ip[INET_ADDRSTRLEN]; struct uwsgi_rb_timer *timeout; }; @@ -307,7 +308,6 @@ int http_parse(struct http_session *h_session) { // leave a slot for uwsgi header int c = 1; char *query_string = NULL; - char ip[INET_ADDRSTRLEN]; // REQUEST_METHOD while(ptr < watermark) { @@ -371,8 +371,8 @@ int http_parse(struct http_session *h_session) { h_session->uh.pktsize += http_add_uwsgi_var(h_session->iov, h_session->uss+c, h_session->uss+c+2, "UWSGI_ROUTER", 12, "http", 4, &c); // REMOTE_ADDR - if (inet_ntop(AF_INET, &h_session->ip_addr, ip, INET_ADDRSTRLEN)) { - h_session->uh.pktsize += http_add_uwsgi_var(h_session->iov, h_session->uss+c, h_session->uss+c+2, "REMOTE_ADDR", 11, ip, strlen(ip), &c); + if (inet_ntop(AF_INET, &h_session->ip_addr, h_session->ip, INET_ADDRSTRLEN)) { + h_session->uh.pktsize += http_add_uwsgi_var(h_session->iov, h_session->uss+c, h_session->uss+c+2, "REMOTE_ADDR", 11, h_session->ip, strlen(h_session->ip), &c); } else { uwsgi_error("inet_ntop()");