Re: problems with the squid-2.5 connection pinning

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 13 Apr 2006 16:42:23 +0800

On Thu, Apr 13, 2006, Adrian Chadd wrote:
> I've found a problem with the connection pinning:
>
> 2006/04/13 11:50:25| fwdConnectStart: Pinned connection to mail.aiondiagnostics.com:80 gone, aborting request
> 2006/04/13 11:50:25| assertion failed: forward.c:114: "!EBIT_TEST(e->flags, ENTRY_FWD_HDR_WAIT)"

Here's the patch, which doesn't crash. I am not convinced its the "right"
thing to do as I don't quite understand what the semantics of connection
pinning should be.

--- src/forward.c e2fc1a6c5fd200cd0174d0c5c2743c0e2c4942be
+++ src/forward.c 9f95615544cf9a25014da9175125f91f684b9fce
@@ -406,7 +406,10 @@
                fd = getPinnedFD(fwdState->request->pinned_connection, fwdState->request);
        if (fd < 0) {
            debug(17, 1) ("fwdConnectStart: Pinned connection to %s:%d gone, aborting request\n", fwdState->request->host, fwdState->request->port);
- storeAbort(fwdState->entry);
+ //storeAbort(fwdState->entry);
+ err = errorCon(ERR_CONNECT_FAIL, HTTP_SERVICE_UNAVAILABLE);
+ err->xerrno = errno;
+ fwdFail(fwdState, err);
            return;
        }
        fwdState->server_fd = fd;

This should make squid retry the connection to the server. Is this what
it should do? Are there any documents outlining what the behaviour
"should" be?

Adrian
Received on Thu Apr 13 2006 - 02:43:40 MDT

This archive was generated by hypermail pre-2.1.9 : Mon May 01 2006 - 12:00:03 MDT