summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-12-24 10:02:57 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-12-24 10:02:57 +0000
commitaeb9021852325ef9faf3b1160ce55afa35a90513 (patch)
treeb41772d7facbedf41274a1d07dfcaa8ecfc35bf6 /source3
parentcd852878298e2d786f420b68f44eb5ca91e7db42 (diff)
downloadsamba-aeb9021852325ef9faf3b1160ce55afa35a90513.tar.gz
samba-aeb9021852325ef9faf3b1160ce55afa35a90513.tar.bz2
samba-aeb9021852325ef9faf3b1160ce55afa35a90513.zip
(merge from 3.0)
Thanks to Serassio Guido for noticing issues in our Squid NTLMSSP implementation. We were not resetting the NTLMSSP state for new negotiate packets. Andrew Bartlett (This used to be commit ada064af72e120aacd733245292e988dd696d059)
Diffstat (limited to 'source3')
-rw-r--r--source3/utils/ntlm_auth.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 5b1b83d032..132134fd9d 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -340,18 +340,23 @@ static void manage_squid_ntlmssp_request(enum stdio_helper_mode stdio_helper_mod
return;
}
- if (strlen(buf) > 3) {
- request = base64_decode_data_blob(buf + 3);
- } else if (strcmp(buf, "YR") == 0) {
- request = data_blob(NULL, 0);
+ if (strncmp(buf, "YR", 2) == 0) {
if (ntlmssp_state)
ntlmssp_end(&ntlmssp_state);
+ } else if (strncmp(buf, "KK", 2) == 0) {
+
} else {
DEBUG(1, ("NTLMSSP query [%s] invalid", buf));
x_fprintf(x_stdout, "BH\n");
return;
}
+ if (strlen(buf) > 3) {
+ request = base64_decode_data_blob(buf + 3);
+ } else {
+ request = data_blob(NULL, 0);
+ }
+
if (!ntlmssp_state) {
ntlmssp_server_start(&ntlmssp_state);
ntlmssp_state->check_password = winbind_pw_check;