Hi Beeri, Maybe you do not need to modify the squid-icap code to support your model. I think that the correct implementation of your problem using squid-icap is:
1) An http request come into the squid. Squid sends the reqmod request to the icap server and server clasifies the request: a) In the case of the BLOCK icap server creates a http responce saying to the web client that the request blocked b) In the case of UNKNOWN icap server does nothing c) In the case of ALLOW icap server adds a proprietary http header to the http request for example "X-MY-SCANNER: Allow" 2) When squid has the http responce then sends a respmod request to the icap server. The respmod request contains the http responce headers AND the http request headers. a) When icap server founds the "X-MY-SCANNER: Allow" header in http request headers it responds with an allow204 responce to squid b)The "X-MY-SCANNER: Allow" is not in the http request headers so the icap server takes the http body from squid and check it or modify it or what else. An other solutions is to use only the respmod request becouse here you have both the http request headers and the http responce. > The Question: > > I would like to pass the information that, no call to response mode > (call the ICAP Server for the response) is needed. > ................... I am not sure that I fully understand your question, but I think that this functionality can not included in a general ICAP client of squid. But maybe I am loosing something here..... Regards, Christos > Background information: > > I am implementing an extension to squid ICAP client based upon ICAP > Patch and squid 2.5 STABLE 10. > The squid ICAP client does not support Content Filtering the way we at > PureSight.com using it. > The ICAP protocol is defined to support also Content Filtering and > defines a return value at the request mod stage. > I receive the value that can be one of the following: > ALLOW, > BLOCK, > UNKNOWN > > > .............................. >