Just spotted this hack killing persistence after every Unsupported Request error.
Original was added in Squid-2.3 prior to Oct 1999 for bugs in Netscape.

Anyone aware of this still needed?

Amos

=== modified file 'src/forward.cc'
--- src/forward.cc      2012-02-03 04:07:36 +0000
+++ src/forward.cc      2012-02-07 10:21:13 +0000
@@ -981,52 +981,46 @@
 
         case AnyP::PROTO_FTP:
             ftpStart(this);
             break;
 
         case AnyP::PROTO_CACHE_OBJECT:
 
         case AnyP::PROTO_INTERNAL:
 
         case AnyP::PROTO_URN:
             fatal_dump("Should never get here");
             break;
 
         case AnyP::PROTO_WHOIS:
             whoisStart(this);
             break;
 
         case AnyP::PROTO_WAIS: /* Not implemented */
 
         default:
-            debugs(17, 1, "fwdDispatch: Cannot retrieve '" << entry->url() << 
"'" );
+            debugs(17, DBG_IMPORTANT, "fwdDispatch: Cannot retrieve '" << 
entry->url() << "'" );
             ErrorState *anErr = new ErrorState(ERR_UNSUP_REQ, 
HTTP_BAD_REQUEST, request);
             fail(anErr);
             /*
-             * Force a persistent connection to be closed because
-             * some Netscape browsers have a bug that sends CONNECT
-             * requests as GET's over persistent connections.
-             */
-            request->flags.proxy_keepalive = 0;
-            /*
              * Set the dont_retry flag because this is not a
-             * transient (network) error; its a bug.
+             * transient (network) error.
              */
             flags.dont_retry = 1;
             if (Comm::IsConnOpen(serverConn)) {
                 serverConn->close();
             }
             break;
         }
     }
 }
 
 /*
  * FwdState::reforward
  *
  * returns TRUE if the transaction SHOULD be re-forwarded to the
  * next choice in the serverDestinations list.  This method is called when
  * server-side communication completes normally, or experiences
  * some error after receiving the end of HTTP headers.
  */
 int
 FwdState::reforward()

Reply via email to