Squid - obsługa X-Forwarded-For

Od wersji 3.1 nie trzeba już modyfikować źródeł Squida (src/http.cc) do poprawnej obsługi X-Forwarded-For. Nareszcie!
W źródłach 2.7 też nastąpiła zmiana:

Stary /src/http.cc
   /* append X-Forwarded-For */                                                                 
    strFwd = hdr_in->getList(HDR_X_FORWARDED_FOR);                                               
    if (opt_forwarded_for && orig_request->client_addr.s_addr != no_addr.s_addr)                 
        strListAdd(&strFwd, inet_ntoa(orig_request->client_addr), ',');                          
    else                                                                                         
        strListAdd(&strFwd, "unknown", ',');                                                     
    strListAdd(&strFwd, "", ' ');                                                                
    hdr_out->putStr(HDR_X_FORWARDED_FOR, strFwd.buf());                                          
    strFwd.clean();  

Obecny /src/http.cc
   /* append X-Forwarded-For */
    if (opt_forwarded_for) {
        strFwd = httpHeaderGetList(hdr_in, HDR_X_FORWARDED_FOR);
        strListAdd(&strFwd,
            (((orig_request->client_addr.s_addr != no_addr.s_addr) && opt_forwarded_for) ?
                inet_ntoa(orig_request->client_addr) : "unknown"), ',');
        httpHeaderPutStr(hdr_out, HDR_X_FORWARDED_FOR, strBuf(strFwd));
        stringClean(&strFwd);




********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:


Update: 2014.04.18

Create: 2014.04.18

Brak komentarzy:

Prześlij komentarz