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;
        }
 

Reply via email to