From: Adam Dickmeiss Date: Wed, 15 Aug 2012 14:15:00 +0000 (+0200) Subject: frontend_net: handle X-Forwarded-For X-Git-Tag: v1.3.42~4 X-Git-Url: http://jsfdemo.indexdata.com/cgi-bin?a=commitdiff_plain;h=a65b7be116265cf331eb823acc9e48738f30e33a;p=metaproxy-moved-to-github.git frontend_net: handle X-Forwarded-For This is stored in package.origin() and may be used in filters as usual. --- diff --git a/src/filter_frontend_net.cpp b/src/filter_frontend_net.cpp index 3246eec..7f448a2 100644 --- a/src/filter_frontend_net.cpp +++ b/src/filter_frontend_net.cpp @@ -362,6 +362,10 @@ void yf::FrontendNet::ZAssocChild::recv_GDU(Z_GDU *z_pdu, int len) { Z_HTTP_Request *hreq = z_pdu->u.HTTP_Request; + const char *f = z_HTTP_header_lookup(hreq->headers, "X-Forwarded-For"); + if (f) + p->origin().set_tcpip_address(std::string(f), m_session.id()); + if (m_p->m_stat_req.length() && !strcmp(hreq->path, m_p->m_stat_req.c_str())) {