[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-1514-g4f3bfb6

Günther Deschner gd at samba.org
Fri May 8 20:22:42 GMT 2009


The branch, master has been updated
       via  4f3bfb6261dfb9836404399db57373ef91a411bf (commit)
       via  b7925cb3f219b0502bb7d5ffff2dbda7bb4c2bda (commit)
       via  67df4489e20f17c334544818227e905136b6f5aa (commit)
      from  3d6f4a7af7b91d9f9ac9fd0b00af63bb23e371f7 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4f3bfb6261dfb9836404399db57373ef91a411bf
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 8 22:20:38 2009 +0200

    s4-smbtorture: skip unsupported ACB bits for Samba3 in RPC-SAMR-USER.
    
    Guenther

commit b7925cb3f219b0502bb7d5ffff2dbda7bb4c2bda
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 8 11:24:35 2009 +0200

    s3-samr: more accurateness in _samr_SetDomainInfo().
    
    Guenther

commit 67df4489e20f17c334544818227e905136b6f5aa
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 8 22:01:55 2009 +0200

    s4-smbtorture: Support timestamp handling for Samba3 in RPC-SAMR-USERS.
    
    Timestamps in passdb (currently) only have second granularity.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/rpc_server/srv_samr_nt.c |    6 ++--
 source4/torture/rpc/samr.c       |   45 +++++++++++++++++++++++++++----------
 2 files changed, 36 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 33048fb..0d87ad8 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -6113,18 +6113,18 @@ NTSTATUS _samr_SetDomainInfo(pipes_struct *p,
 			pdb_set_account_policy(AP_MAX_PASSWORD_AGE, (int)u_expire);
 			pdb_set_account_policy(AP_MIN_PASSWORD_AGE, (int)u_min_age);
             		break;
-        	case 0x02:
-			break;
 		case 0x03:
 			u_logout=nt_time_to_unix_abs((NTTIME *)&r->in.info->info3.force_logoff_time);
 			pdb_set_account_policy(AP_TIME_TO_LOGOUT, (int)u_logout);
 			break;
-		case 0x05:
+		case 0x04:
 			break;
 		case 0x06:
 			break;
 		case 0x07:
 			break;
+		case 0x09:
+			break;
 		case 0x0c:
 			u_lock_duration=nt_time_to_unix_abs((NTTIME *)&r->in.info->info12.lockout_duration);
 			if (u_lock_duration != -1)
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index 428bc45..aa13acf 100644
--- a/source4/torture/rpc/samr.c
+++ b/source4/torture/rpc/samr.c
@@ -189,9 +189,12 @@ static bool test_SetUserInfo(struct dcerpc_pipe *p, struct torture_context *tctx
 	const char *test_account_name;
 
 	uint32_t user_extra_flags = 0;
-	if (base_acct_flags == ACB_NORMAL) {
-		/* When created, accounts are expired by default */
-		user_extra_flags = ACB_PW_EXPIRED;
+
+	if (!torture_setting_bool(tctx, "samba3", false)) {
+		if (base_acct_flags == ACB_NORMAL) {
+			/* When created, accounts are expired by default */
+			user_extra_flags = ACB_PW_EXPIRED;
+		}
 	}
 
 	s.in.user_handle = handle;
@@ -439,14 +442,29 @@ static bool test_SetUserInfo(struct dcerpc_pipe *p, struct torture_context *tctx
 				  SAMR_FIELD_CODE_PAGE);
 	}
 
-	TEST_USERINFO_INT(17, acct_expiry, 21, acct_expiry, __LINE__, 0);
-	TEST_USERINFO_INT(17, acct_expiry, 5, acct_expiry, __LINE__, 0);
-	TEST_USERINFO_INT(21, acct_expiry, 21, acct_expiry, __LINE__, 
-			  SAMR_FIELD_ACCT_EXPIRY);
-	TEST_USERINFO_INT(21, acct_expiry, 5, acct_expiry, __LINE__, 
-			  SAMR_FIELD_ACCT_EXPIRY);
-	TEST_USERINFO_INT(21, acct_expiry, 17, acct_expiry, __LINE__, 
-			  SAMR_FIELD_ACCT_EXPIRY);
+	if (!torture_setting_bool(tctx, "samba3", false)) {
+		TEST_USERINFO_INT(17, acct_expiry, 21, acct_expiry, __LINE__, 0);
+		TEST_USERINFO_INT(17, acct_expiry, 5, acct_expiry, __LINE__, 0);
+		TEST_USERINFO_INT(21, acct_expiry, 21, acct_expiry, __LINE__,
+				  SAMR_FIELD_ACCT_EXPIRY);
+		TEST_USERINFO_INT(21, acct_expiry, 5, acct_expiry, __LINE__,
+				  SAMR_FIELD_ACCT_EXPIRY);
+		TEST_USERINFO_INT(21, acct_expiry, 17, acct_expiry, __LINE__,
+				  SAMR_FIELD_ACCT_EXPIRY);
+	} else {
+		/* Samba 3 can only store seconds / time_t in passdb - gd */
+		NTTIME nt;
+		unix_to_nt_time(&nt, time(NULL) + __LINE__);
+		TEST_USERINFO_INT(17, acct_expiry, 21, acct_expiry, nt, 0);
+		unix_to_nt_time(&nt, time(NULL) + __LINE__);
+		TEST_USERINFO_INT(17, acct_expiry, 5, acct_expiry, nt, 0);
+		unix_to_nt_time(&nt, time(NULL) + __LINE__);
+		TEST_USERINFO_INT(21, acct_expiry, 21, acct_expiry, nt, SAMR_FIELD_ACCT_EXPIRY);
+		unix_to_nt_time(&nt, time(NULL) + __LINE__);
+		TEST_USERINFO_INT(21, acct_expiry, 5, acct_expiry, nt, SAMR_FIELD_ACCT_EXPIRY);
+		unix_to_nt_time(&nt, time(NULL) + __LINE__);
+		TEST_USERINFO_INT(21, acct_expiry, 17, acct_expiry, nt, SAMR_FIELD_ACCT_EXPIRY);
+	}
 
 	TEST_USERINFO_INT(4, logon_hours.bits[3],  3, logon_hours.bits[3], 1, 0);
 	TEST_USERINFO_INT(4, logon_hours.bits[3],  5, logon_hours.bits[3], 2, 0);
@@ -486,6 +504,9 @@ static bool test_SetUserInfo(struct dcerpc_pipe *p, struct torture_context *tctx
 			      (base_acct_flags | ACB_DISABLED | user_extra_flags), 
 			      0);
 #endif
+
+	/* Samba3 cannot store these atm */
+	if (!torture_setting_bool(tctx, "samba3", false)) {
 	/* The 'store plaintext' flag does stick */
 	TEST_USERINFO_INT_EXP(16, acct_flags, 21, acct_flags, 
 			      (base_acct_flags | ACB_DISABLED | ACB_ENC_TXT_PWD_ALLOWED), 
@@ -506,7 +527,7 @@ static bool test_SetUserInfo(struct dcerpc_pipe *p, struct torture_context *tctx
 			      (base_acct_flags | ACB_DISABLED | ACB_NO_AUTH_DATA_REQD), 
 			      (base_acct_flags | ACB_DISABLED | ACB_NO_AUTH_DATA_REQD | user_extra_flags), 
 			      0);
-
+	}
 	TEST_USERINFO_INT_EXP(21, acct_flags, 21, acct_flags, 
 			      (base_acct_flags | ACB_DISABLED), 
 			      (base_acct_flags | ACB_DISABLED | user_extra_flags), 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list