Re: NTLM and pop-up windows. PATCH?

From: <michele.de-martin@dont-contact.us>
Date: Fri, 16 May 2003 15:16:12 +0200

After some tries I ended up with the following patch. Now it looks like no
more pop-up windows appear to users.
Can you look at it and confirm/correct it?

Thank you.
Michele

--- squid-2.5.STABLE2-20030401/src/auth/ntlm/auth_ntlm.c 2003-02-05
00:17:26.000000000 +0100
+++ squid-2.5.STABLE2-20030401-ntmulti/src/auth/ntlm/auth_ntlm.c
2003-05-16 14:56:17.000000000 +0200
@@ -719,15 +719,7 @@
         */
        server = helperStatefulDefer(ntlmauthenticators);
        helperstate = server ? helperStatefulServerGetData(server) : NULL;
- while ((server != NULL) &&
authenticateNTLMChangeChallenge_p(helperstate)) {
- /* flag this helper for challenge changing */
- helperstate->starve = 1;
- /* and release the deferred request */
- helperStatefulReleaseServer(server);
- /* Get another deferrable server */
- server = helperStatefulDefer(ntlmauthenticators);
- helperstate = server ? helperStatefulServerGetData(server) :
NULL;
- }
+ if (helperstate) helperstate->starve = 1;
        if (server == NULL)
            debug(29, 9) ("unable to get a deferred ntlm helper... all
helpers are refreshing challenges. Queuing as a placeholder request.\n");

|---------+--------------------------------------------------------------------->
| | Robert Collins <robertc@squid-cache.org> |
| | Sent by: |
| | squid-dev-return-8826-michele.de-martin=electrolux.it@squi|
| | d-cache.org |
| | |
| | |
| | 05/10/2003 10:34 AM |
| | |
|---------+--------------------------------------------------------------------->
>-----------------------------------------------------------------------------------|
  | |
  | To: Michele De Martin/Electrolux IT Solutions/Italy/Electrolux |
  | Group@Electrolux |
  | cc: squid-dev@squid-cache.org |
  | Subject: Re: NTLM and pop-up windows |
>-----------------------------------------------------------------------------------|

On Thu, 2003-05-08 at 03:35, michele.de-martin@electrolux.it wrote:
> Hi again,
>
> I 'm here for that strange behaviour squid has with too few ntlm
> authenticators.
> Looking into the attached log you can see a sequence like this:
>

Is this an altered squid? What version of squid is it?

> S->H YR (request 1)
> H->S TT (request 1)
> S->H YR (request 2)
> H->S TT (request 2)
> S->H KK (request 1) // this should refer to TT from request 1 but
that
> challenge is lost due to TT from request 2

Yes - which means that there is either a bug in the challenge cache
flush code, or you've altered squid somehow and introduced such a bug.

Squid MUST NOT call YR when there are outstanding requests. There is
specific code to prevent this (by erroring all outstanding requests)
when a helper error occurs and causes a YR to be needed.

It may be a bug - I'm reviewing the code now. Please confirm that this
occurs with a squid with no changes to authenticate.c or auth_ntlm.c.

Cheers,
Rob

--
GPG key available at: <http://users.bigpond.net.au/robertc/keys.txt>.
(See attached file: signature.asc)

Received on Fri May 16 2003 - 07:17:10 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:55 MST