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)
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:55 MST