Hi!

We came across a strange "bug" in squid in regards to icap and request_header 
access.

Thing is that  we found out that squid is not "removing" a header as expected 
(via "request_header_access headername deny all")
If the ICAP server modifies the "case" of the header in the REQMOD response:

Looks like this:

ICAP - RequestMOD - Request:
        GET http://<host>/utility/headers HTTP/1.1
        User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 
NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
        Host: <host>
        Accept: */*
        MS-test: AABBCCDD

ICAP - RequestMOD - Response:
        ICAP/1.0 200 OK
        Date: Wed, 15 May 2013 10:57:49 GMT
        Connection: keep-alive
        ISTag: "ReqModService"
        Encapsulated: req-hdr=0,null-body=432

        GET http://<host>/utility/headers http/1.1
        MS-TEST: AABBCCDD
        host: <host>
        accept: */*
        user-agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 
NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2

and the squid.conf contains:
        request_header_access ms-test deny all

so this should strip the ms-test header.

But it does NOT work - the header is added to the proxy request!

ONLY if the icap  RequestMod response sends the header in the SAME case as it 
has been received ("MS-test" vs. "MS-TEST"), the header gets deleted!

At least for our case we have found a workaround by modifying our ICAP server 
to send the "correct" response header...

Ciao,
        Martin

This message and the information contained herein is proprietary and 
confidential and subject to the Amdocs policy statement,
you may review at http://www.amdocs.com/email_disclaimer.asp

Reply via email to