]> git.pld-linux.org Git - packages/squid.git/blame - squid-2.5.STABLE6-ntlm_noreuse_leak.patch
- findutils are Red by rpm-build; dropped source*-size
[packages/squid.git] / squid-2.5.STABLE6-ntlm_noreuse_leak.patch
CommitLineData
a5e09b2b 1Index: squid/src/auth/ntlm/auth_ntlm.c
2diff -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 */
This page took 0.077741 seconds and 4 git commands to generate.