From a65b7be116265cf331eb823acc9e48738f30e33a Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 15 Aug 2012 16:15:00 +0200 Subject: [PATCH] frontend_net: handle X-Forwarded-For This is stored in package.origin() and may be used in filters as usual. --- src/filter_frontend_net.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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())) { -- 1.7.10.4