]>
Commit | Line | Data |
---|---|---|
a5e09b2b | 1 | Index: squid/src/auth/ntlm/auth_ntlm.c |
2 | diff -c squid/src/auth/ntlm/auth_ntlm.c:1.17.2.13 squid/src/auth/ntlm/auth_ntlm.c:1.17.2.14 | |
3 | *** squid/src/auth/ntlm/auth_ntlm.c:1.17.2.13 Sat Jul 17 10:05:53 2004 | |
4 | --- squid/src/auth/ntlm/auth_ntlm.c Sat Jul 17 10:09:53 2004 | |
5 | *************** | |
6 | *** 92,97 **** | |
7 | --- 92,98 ---- | |
8 | ||
9 | static hash_table *ntlm_challenge_cache = NULL; | |
10 | ||
11 | + static void authenticateNTLMReleaseServer(ntlm_request_t * ntlm_request); | |
12 | /* | |
13 | * | |
14 | * Private Functions | |
15 | *************** | |
16 | *** 381,388 **** | |
17 | xfree(ntlm_request->ntlmauthenticate); | |
18 | if (ntlm_request->authserver != NULL) { | |
19 | debug(29, 9) ("authenticateNTLMRequestFree: releasing server '%p'\n", ntlm_request->authserver); | |
20 | ! helperStatefulReleaseServer(ntlm_request->authserver); | |
21 | ! ntlm_request->authserver = NULL; | |
22 | } | |
23 | memPoolFree(ntlm_request_pool, ntlm_request); | |
24 | } | |
25 | --- 382,388 ---- | |
26 | xfree(ntlm_request->ntlmauthenticate); | |
27 | if (ntlm_request->authserver != NULL) { | |
28 | debug(29, 9) ("authenticateNTLMRequestFree: releasing server '%p'\n", ntlm_request->authserver); | |
29 | ! authenticateNTLMReleaseServer(ntlm_request); | |
30 | } | |
31 | memPoolFree(ntlm_request_pool, ntlm_request); | |
32 | } | |
33 | *************** | |
34 | *** 420,425 **** | |
35 | --- 420,429 ---- | |
36 | helper_stateful_server *server = ntlm_request->authserver; | |
37 | debug(29, 9) ("authenticateNTLMReleaseServer: releasing server '%p'\n", server); | |
38 | ntlm_request->authserver = NULL; | |
39 | + if (!ntlmConfig->challengeuses) { | |
40 | + ntlm_helper_state_t *helperstate = helperStatefulServerGetData(server); | |
41 | + helperstate->starve = 1; | |
42 | + } | |
43 | helperStatefulReleaseServer(server); | |
44 | } | |
45 | ||
46 | *************** | |
47 | *** 429,435 **** | |
48 | { | |
49 | helper_stateful_server *server = ntlm_request->authserver; | |
50 | ntlm_helper_state_t *helperstate = helperStatefulServerGetData(server); | |
51 | ! debug(29, 9) ("authenticateNTLMReleaseServer: releasing server '%p'\n", server); | |
52 | ntlm_request->authserver = NULL; | |
53 | helperstate->starve = 1; | |
54 | helperStatefulReleaseServer(server); | |
55 | --- 433,439 ---- | |
56 | { | |
57 | helper_stateful_server *server = ntlm_request->authserver; | |
58 | ntlm_helper_state_t *helperstate = helperStatefulServerGetData(server); | |
59 | ! debug(29, 9) ("authenticateNTLMResetServer: releasing server '%p'\n", server); | |
60 | ntlm_request->authserver = NULL; | |
61 | helperstate->starve = 1; | |
62 | helperStatefulReleaseServer(server); | |
63 | *************** | |
64 | *** 692,698 **** | |
65 | while ((server != NULL) && authenticateNTLMChangeChallenge_p(helperstate)) { | |
66 | /* flag this helper for challenge changing */ | |
67 | helperstate->starve = 1; | |
68 | ! helperStatefulReset(server); | |
69 | /* Get another server */ | |
70 | server = helperStatefulGetServer(ntlmauthenticators); | |
71 | helperstate = server ? helperStatefulServerGetData(server) : NULL; | |
72 | --- 696,702 ---- | |
73 | while ((server != NULL) && authenticateNTLMChangeChallenge_p(helperstate)) { | |
74 | /* flag this helper for challenge changing */ | |
75 | helperstate->starve = 1; | |
76 | ! helperStatefulReleaseServer(server); | |
77 | /* Get another server */ | |
78 | server = helperStatefulGetServer(ntlmauthenticators); | |
79 | helperstate = server ? helperStatefulServerGetData(server) : NULL; | |
80 | *************** | |
81 | *** 727,732 **** | |
82 | --- 731,738 ---- | |
83 | helperStatefulSubmit(ntlmauthenticators, buf, authenticateNTLMHandleReply, r, ntlm_request->authserver); | |
84 | } | |
85 | } else { | |
86 | + if (!ntlmConfig->challengeuses) | |
87 | + debug(29, 0) ("authenticateNTLMStart: Reused challenge in server %p even if challenge reuse is disabled!", server); | |
88 | /* (server != NULL and we have a valid challenge) */ | |
89 | /* TODO: turn the below into a function and call from here and handlereply */ | |
90 | /* increment the challenge uses */ |