samba-cvs.cvs
[Top] [All Lists]

svn commit: samba r13538 - in branches/SAMBA_3_0/source/passdb: .

Subject: svn commit: samba r13538 - in branches/SAMBA_3_0/source/passdb: .
From:
Date: Fri, 17 Feb 2006 01:26:22 +0000 GMT
Author: jra
Date: 2006-02-17 01:26:21 +0000 (Fri, 17 Feb 2006)
New Revision: 13538

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

Log:
Make sure we store all 16 bytes of credentials session
key and delete records that are old. We will need this
for the full 16 byte session key support.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/passdb/secrets.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/secrets.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/secrets.c  2006-02-17 01:26:18 UTC (rev 
13537)
+++ branches/SAMBA_3_0/source/passdb/secrets.c  2006-02-17 01:26:21 UTC (rev 
13538)
@@ -949,7 +949,7 @@
                                8, pdc->seed_chal.data,
                                8, pdc->clnt_chal.data,
                                8, pdc->srv_chal.data,
-                               8, pdc->sess_key,
+                               16, pdc->sess_key,
                                16, pdc->mach_pw,
                                pdc->mach_acct,
                                pdc->remote_machine,
@@ -966,7 +966,7 @@
                                8, pdc->seed_chal.data,
                                8, pdc->clnt_chal.data,
                                8, pdc->srv_chal.data,
-                               8, pdc->sess_key,
+                               16, pdc->sess_key,
                                16, pdc->mach_pw,
                                pdc->mach_acct,
                                pdc->remote_machine,
@@ -1050,7 +1050,7 @@
                                &pdc->remote_machine,
                                &pdc->domain);
 
-       if (ret == -1 || l1 != 8 || l2 != 8 || l3 != 8 || l4 != 8 || l5 != 16) {
+       if (ret == -1 || l1 != 8 || l2 != 8 || l3 != 8 || l4 != 16 || l5 != 16) 
{
                talloc_free(keystr);
                talloc_free(pdc);
                SAFE_FREE(pseed_chal);
@@ -1059,14 +1059,15 @@
                SAFE_FREE(psess_key);
                SAFE_FREE(pmach_pw);
                SAFE_FREE(value.dptr);
+               /* Bad record - delete it. */
+               tdb_delete_bystring(tdb_sc, keystr);
                return False;
        }
 
        memcpy(pdc->seed_chal.data, pseed_chal, 8);
        memcpy(pdc->clnt_chal.data, pclnt_chal, 8);
        memcpy(pdc->srv_chal.data, psrv_chal, 8);
-       memcpy(pdc->sess_key, psess_key, 8);
-       memset(&pdc->sess_key[8], '\0', 8); /* key followed by 8 bytes of zero. 
*/
+       memcpy(pdc->sess_key, psess_key, 16);
        memcpy(pdc->mach_pw, pmach_pw, 16);
 
        /* We know these are true so didn't bother to store them. */

<Prev in Thread] Current Thread [Next in Thread>
  • svn commit: samba r13538 - in branches/SAMBA_3_0/source/passdb: ., jra <=