svn commit: samba r13647 - in branches/SAMBA_3_0/source/smbd: .

jra at samba.org jra at samba.org
Thu Feb 23 01:53:27 GMT 2006


Author: jra
Date: 2006-02-23 01:53:26 +0000 (Thu, 23 Feb 2006)
New Revision: 13647

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13647

Log:
Fix for standalone Samba servers and XP clients. Reverts
part of the PocketPC bugfix. I'm trying to get someone who
has a pocketpc to test this.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/negprot.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/negprot.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/negprot.c	2006-02-23 01:53:24 UTC (rev 13646)
+++ branches/SAMBA_3_0/source/smbd/negprot.c	2006-02-23 01:53:26 UTC (rev 13647)
@@ -178,6 +178,7 @@
 				   OID_KERBEROS5_OLD,
 				   OID_NTLMSSP,
 				   NULL};
+	const char *OIDs_plain[] = {OID_NTLMSSP, NULL};
 	int len;
 
 	global_spnego_negotiated = True;
@@ -212,9 +213,13 @@
 	*/
 
 	if (lp_security() != SEC_ADS && !lp_use_kerberos_keytab()) {
-		memcpy(p, guid, 16);
-		*pkeylen = 0;
-		return 16;
+#if 0
+		/* Code for PocketPC client */
+		blob = data_blob(guid, 16);
+#else
+		/* Code for standalone WXP client */
+		blob = spnego_gen_negTokenInit(guid, OIDs_plain, "NONE");
+#endif
 	} else {
 		fstring myname;
 		char *host_princ_s = NULL;
@@ -224,14 +229,20 @@
 		blob = spnego_gen_negTokenInit(guid, OIDs_krb5, host_princ_s);
 		SAFE_FREE(host_princ_s);
 	}
+
 	memcpy(p, blob.data, blob.length);
 	len = blob.length;
 	if (len > 256) {
 		DEBUG(0,("negprot_spnego: blob length too long (%d)\n", len));
 		len = 255;
 	}
-	*pkeylen = len;
 	data_blob_free(&blob);
+
+	if (lp_security() != SEC_ADS && !lp_use_kerberos_keytab()) {
+		*pkeylen = 0;
+	} else {
+		*pkeylen = len;
+	}
 	return len;
 }
 



More information about the samba-cvs mailing list