svn commit: samba r8983 - in branches/SAMBA_4_0/source/rpc_server/samr: .

abartlet at samba.org abartlet at samba.org
Wed Aug 3 05:26:19 GMT 2005


Author: abartlet
Date: 2005-08-03 05:26:17 +0000 (Wed, 03 Aug 2005)
New Revision: 8983

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

Log:
The KVNO (Kerberos key version number) should be incremented with
every password set.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/rpc_server/samr/samr_password.c


Changeset:
Modified: branches/SAMBA_4_0/source/rpc_server/samr/samr_password.c
===================================================================
--- branches/SAMBA_4_0/source/rpc_server/samr/samr_password.c	2005-08-03 05:25:30 UTC (rev 8982)
+++ branches/SAMBA_4_0/source/rpc_server/samr/samr_password.c	2005-08-03 05:26:17 UTC (rev 8983)
@@ -510,6 +510,7 @@
 	struct samr_Password *new_lmPwdHistory, *new_ntPwdHistory;
 	struct samr_Password local_lmNewHash, local_ntNewHash;
 	int lmPwdHistory_len, ntPwdHistory_len;
+	uint_t kvno;
 	struct ldb_message **res;
 	int count;
 	time_t now = time(NULL);
@@ -534,6 +535,7 @@
 	lmPwdHash =          samdb_result_hash(res[0],   "lmPwdHash");
 	ntPwdHash =          samdb_result_hash(res[0],   "ntPwdHash");
 	pwdLastSet =         samdb_result_uint64(res[0], "pwdLastSet", 0);
+	kvno =               samdb_result_uint(res[0],   "msDS-KeyVersionNumber", 0);
 
 	/* pull the domain parameters */
 	count = gendb_search_dn(ctx, mem_ctx, domain_dn, &res, domain_attrs);
@@ -679,6 +681,8 @@
 	}
 
 	CHECK_RET(samdb_msg_add_uint64(ctx, mem_ctx, mod, "pwdLastSet", now_nt));
+
+	CHECK_RET(samdb_msg_add_uint(ctx, mem_ctx, mod, "msDS-KeyVersionNumber", kvno + 1));
 	
 	if (pwdHistoryLength == 0) {
 		CHECK_RET(samdb_msg_add_delete(ctx, mem_ctx, mod, "lmPwdHistory"));



More information about the samba-cvs mailing list