[squid-dev] I need a small help with an ICAP issue.

Eliezer Croitoru eliezer at ngtech.co.il
Thu Mar 12 17:49:00 UTC 2015


OK so after testing and comparing working products ICAP sessions and 
golang ICAP library I have found the main issues.

The example code for some filtering idea based on host\domain 
blacklisting is at:
http://www1.ngtech.co.il/paste/1286/

It seems that the creator of the golang ICAP library decided he will 
leave it in a specific state and will not develop it any more.
The result is that the ICAP library can work with simple GET requests 
and small POST requests while I didn't found documents that can give me 
enough information on how to use the library.

There are other things which I tried to do in order to make this ICAP 
service work but for now it works for simple GET requests better then an 
external_acl helper so I will not look into it more then I need.

I did not tested yet squid+ICAP with 10MB POST request but I will later 
try to do it.

Eliezer Croitoru

On 08/03/2015 18:42, Eliezer Croitoru wrote:
> Hey Dev-list,
>
> I need your help.
>
> I wrote an ICAP service in golang for testing purposes and I am
> encountering an issue.
> After trying couple ICAP libs on different languages I found the the
> golang ICAP server implementation seems very good to me.
> I have tested the ICAP service in different situations to make sure the
> service is stable enough but encountered an issue which I am unsure about.
>
> The first issue I have seen is a premature answer of the ICAP service
> while the ICAP request is still being sent(POST with body) which I kind
> of understood why it happens and for now I just skipped on it.
> The second issue is with a full body being retrieved by the ICAP server
> and a corresponding 204 response.
>
> Before I am trying to understand the internals of the golang ICAP
> service implementation and fix what might not be broken I have two
> wireshark captures at:
> http://ngtech.co.il/icap/attachments/
>
> With every short POST request the service works fine but long ones such
> as in the example captures squid returns to the request a 500 internal
> server error and with the header X-Squid-Error:  "ERR_ICAP_FAILURE 0".
>
> I can try to reproduce it using some script but I want to understand
> what might squid see wrong in the ICAP on the wire handling.
>
> Eliezer Croitoru
>
> _______________________________________________
> squid-dev mailing list
> squid-dev at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/squid-dev



More information about the squid-dev mailing list