When an http request adapted using ICAP then the client and server addresses and the authentication information does not copied to adapted request. This is will cause problems in any following access control lists proccessing.
Looks that the following patch solves the problem. (But I am to tired now for a good testing, tomorrow .....) Regards, Christos diff -u -r1.34.4.24 client_side_request.cc --- client_side_request.cc 14 Feb 2007 07:19:43 -0000 1.34.4.24 +++ client_side_request.cc 7 Mar 2007 21:45:17 -0000 @@ -1112,6 +1112,15 @@ assert(msg); if (HttpRequest *new_req = dynamic_cast<HttpRequest*>(msg)) { + new_req->client_addr = request->client_addr; + new_req->client_port = request->client_port; + new_req->my_addr = request->my_addr; + new_req->my_port = request->my_port; + new_req->flags = request->flags; + if (request->auth_user_request) { + new_req->auth_user_request = request->auth_user_request; + new_req->auth_user_request->lock(); + } /* * Replace the old request with the new request. */