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