summaryrefslogtreecommitdiff
path: root/source3/utils/ntlm_auth.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-12-24 09:56:51 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-12-24 09:56:51 +0000
commit2e9deb12bfe10bfb12cc00820ce9f92af9bbd8de (patch)
treef35cfd07081ec8bdeddb2846148bedae8b7e0079 /source3/utils/ntlm_auth.c
parent1d2cfc684568de82d3c809d44811625986db978e (diff)
downloadsamba-2e9deb12bfe10bfb12cc00820ce9f92af9bbd8de.tar.gz
samba-2e9deb12bfe10bfb12cc00820ce9f92af9bbd8de.tar.bz2
samba-2e9deb12bfe10bfb12cc00820ce9f92af9bbd8de.zip
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 e0a026c9b561893e5534923b18ca748e6177090e)
Diffstat (limited to 'source3/utils/ntlm_auth.c')
-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 4461f163dd..b2450ffd0c 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;