summaryrefslogtreecommitdiffstats
path: root/source/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-10-12 23:08:49 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:04:57 -0500
commit38a70185b7ca20677026103d40f61608e7ad0c90 (patch)
tree9a9f69791420091eb8ced363d091917791fe9424 /source/smbd
parent5647a5d4b0b7e9083963bfe899e9e0f348ec8bf2 (diff)
downloadsamba-38a70185b7ca20677026103d40f61608e7ad0c90.tar.gz
samba-38a70185b7ca20677026103d40f61608e7ad0c90.tar.xz
samba-38a70185b7ca20677026103d40f61608e7ad0c90.zip
r10947: Fix bugs #3133 and #1828 - SPNEGO not working with PocketPC 2003.
Our sessionsetup code now handles raw NTLMSSP connects, so we can go back to doing what W2K3 does here which is to send no OID's in the negprot reply when not in a security=ads mode. Jeremy.
Diffstat (limited to 'source/smbd')
-rw-r--r--source/smbd/negprot.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/source/smbd/negprot.c b/source/smbd/negprot.c
index d4f0167a5f6..1f4cb30003f 100644
--- a/source/smbd/negprot.c
+++ b/source/smbd/negprot.c
@@ -177,7 +177,6 @@ static int negprot_spnego(char *p)
OID_KERBEROS5_OLD,
OID_NTLMSSP,
NULL};
- const char *OIDs_plain[] = {OID_NTLMSSP, NULL};
int len;
global_spnego_negotiated = True;
@@ -198,20 +197,22 @@ static int negprot_spnego(char *p)
}
#endif
-#if 0
/* strangely enough, NT does not sent the single OID NTLMSSP when
not a ADS member, it sends no OIDs at all
- we can't do this until we teach our sesssion setup parser to know
- about raw NTLMSSP (clients send no ASN.1 wrapping if we do this)
+ OLD COMMENT : "we can't do this until we teach our sesssion setup parser to know
+ about raw NTLMSSP (clients send no ASN.1 wrapping if we do this)"
+
+ Our sessionsetup code now handles raw NTLMSSP connects, so we can go
+ back to doing what W2K3 does here. This is needed to make PocketPC 2003
+ CIFS connections work with SPNEGO. See bugzilla bugs #1828 and #3133
+ for details. JRA.
+
*/
- if (lp_security() != SEC_ADS) {
+
+ if (lp_security() != SEC_ADS && !lp_use_kerberos_keytab()) {
memcpy(p, guid, 16);
return 16;
- }
-#endif
- if (lp_security() != SEC_ADS && !lp_use_kerberos_keytab()) {
- blob = spnego_gen_negTokenInit(guid, OIDs_plain, "NONE");
} else {
fstring myname;
char *host_princ_s = NULL;