svn commit: samba r5877 - in branches/SAMBA_4_0/source/libcli/auth: .

abartlet at samba.org abartlet at samba.org
Fri Mar 18 03:17:31 GMT 2005


Author: abartlet
Date: 2005-03-18 03:17:30 +0000 (Fri, 18 Mar 2005)
New Revision: 5877

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

Log:
It is not an error to have a zero-length secret, after decryption.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/libcli/auth/session.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/auth/session.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/auth/session.c	2005-03-18 03:16:53 UTC (rev 5876)
+++ branches/SAMBA_4_0/source/libcli/auth/session.c	2005-03-18 03:17:30 UTC (rev 5877)
@@ -178,6 +178,8 @@
 	int slen;
 
 	if (blob->length < 8) {
+		DEBUG(0, ("Unexpected length %d in session crypted secret (BLOB)\n",
+			  blob->length));
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 	
@@ -189,19 +191,19 @@
 	sess_crypt_blob(&out, blob, session_key, False);
 
 	if (IVAL(out.data, 4) != 1) {
-		DEBUG(0,("Unexpected revision number %d in session crypted string\n",
+		DEBUG(0,("Unexpected revision number %d in session crypted secret (BLOB)\n",
 			 IVAL(out.data, 4)));
 		return NT_STATUS_UNKNOWN_REVISION;
 	}
 		
 	slen = IVAL(out.data, 0);
 	if (slen > blob->length - 8) {
-		DEBUG(0,("Invalid crypt length %d\n", slen));
+		DEBUG(0,("Invalid crypt length %d in session crypted secret (BLOB)\n", slen));
 		return NT_STATUS_WRONG_PASSWORD;
 	}
 
 	*ret = data_blob_talloc(mem_ctx, out.data+8, slen);
-	if (!ret->data) {
+	if (slen && !ret->data) {
 		return NT_STATUS_NO_MEMORY;
 	}
 



More information about the samba-cvs mailing list