/*
- * $Id: ICAPConfig.cc,v 1.10 2006/04/28 05:05:47 wessels Exp $
+ * $Id: ICAPConfig.cc,v 1.11 2006/05/11 23:53:13 wessels Exp $
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
* ----------------------------------------------------------
callback = aCallback;
- callback_data = aCallbackData;
+ callback_data = cbdataReference(aCallbackData);
candidateClasses.clean();
matchedClass.clean();
+ void *validated_cbdata;
+
+ if (!cbdataReferenceValidDone(callback_data, &validated_cbdata)) {
+ debugs(93,3,HERE << "do_callback: callback_data became invalid, skipping");
+ return;
+ }
+
Vector<ICAPServiceRep::Pointer>::iterator i;
for (i = theClass->services.begin(); i != theClass->services.end(); ++i) {
if (point != theService->point)
continue;
- callback(*i, callback_data);
+ callback(*i, validated_cbdata);
return;
}
/*
- * $Id: client_side_request.cc,v 1.65 2006/05/08 23:38:33 robertc Exp $
+ * $Id: client_side_request.cc,v 1.66 2006/05/11 23:53:13 wessels Exp $
*
* DEBUG: section 85 Client-side Request Routines
* AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
delete acl_checklist;
}
}
+
+ debugs(85,3, HERE << this << " ClientHttpRequest destructed");
}
ClientRequestContext::ClientRequestContext(ClientHttpRequest *anHttp) : http(anHttp), acl_checklist (NULL), redirect_state (REDIRECT_NONE)
redirect_done = false;
no_cache_done = false;
interpreted_req_hdrs = false;
+ debugs(85,3, HERE << this << " ClientHttpRequest constructed");
}
CBDATA_CLASS_INIT(ClientHttpRequest);
void
ClientRequestContext::icapAclCheckDone(ICAPServiceRep::Pointer service)
{
+ debugs(93,3,HERE << this << " icapAclCheckDone called");
/*
* No matching ICAP service in the config file
*/
* Setup ICAP state and such. If successful, just return.
* We'll get back to doCallouts() after REQMOD is done.
*/
+ assert(http);
+
if (0 == http->doIcap(service))
return;
int
ClientHttpRequest::doIcap(ICAPServiceRep::Pointer service)
{
- debug(85,3)("ClientHttpRequest::doIcap() called\n");
+ debugs(85,3, HERE << this << " ClientHttpRequest::doIcap() called");
assert(NULL == icap);
icap = new ICAPClientReqmodPrecache(service);
(void) cbdataReference(icap);