[SCM] Samba Shared Repository - branch v3-4-test updated - release-4-0-0alpha7-923-g1c5c537

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


The branch, v3-4-test has been updated
       via  1c5c537f449f2f808a7be2b11ef19c8a979d3b81 (commit)
       via  85ee8f36029deba69959aeacd68b55e676348d5f (commit)
       via  1136037b814472d09b98c7a276d4041603953a45 (commit)
       via  a9c907bbc7fb6af7616e990eb1feb02bf3e844f8 (commit)
      from  c6bf4cb7e611c4acd3df2e8a52ed535ec3210c24 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test


- Log -----------------------------------------------------------------
commit 1c5c537f449f2f808a7be2b11ef19c8a979d3b81
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 8 22:23:51 2009 +0200

    s3-selftest: enable running RPC-SAMR-USERS against Samba3.
    
    Guenther
    (cherry picked from commit d0100947002a892dff22aefd2491e3a66aaf3a07)

commit 85ee8f36029deba69959aeacd68b55e676348d5f
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
    (cherry picked from commit 4f3bfb6261dfb9836404399db57373ef91a411bf)

commit 1136037b814472d09b98c7a276d4041603953a45
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
    (cherry picked from commit b7925cb3f219b0502bb7d5ffff2dbda7bb4c2bda)

commit a9c907bbc7fb6af7616e990eb1feb02bf3e844f8
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
    (cherry picked from commit 67df4489e20f17c334544818227e905136b6f5aa)

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

Summary of changes:
 source3/rpc_server/srv_samr_nt.c      |    6 ++--
 source3/script/tests/test_posix_s3.sh |    2 +-
 source4/torture/rpc/samr.c            |   45 ++++++++++++++++++++++++---------
 3 files changed, 37 insertions(+), 16 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 c3e24cd..0c480fa 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -6375,18 +6375,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/source3/script/tests/test_posix_s3.sh b/source3/script/tests/test_posix_s3.sh
index 0fe6b40..0829b2c 100755
--- a/source3/script/tests/test_posix_s3.sh
+++ b/source3/script/tests/test_posix_s3.sh
@@ -42,7 +42,7 @@ rpc="$rpc RPC-SAMBA3-SPOOLSS RPC-SAMBA3-WKSSVC"
 rpc="$rpc RPC-NETLOGSAMBA3 RPC-SAMBA3SESSIONKEY RPC-SAMBA3-GETUSERNAME"
 rpc="$rpc RPC-SVCCTL RPC-SPOOLSS RPC-SPOOLSS-WIN RPC-NTSVCS"
 rpc="$rpc RPC-LSA-GETUSER RPC-LSA-LOOKUPSIDS"
-rpc="$rpc RPC-SAMR-PASSWORDS RPC-SAMR-PASSWORDS-PWDLASTSET RPC-JOIN"
+rpc="$rpc RPC-SAMR-USERS RPC-SAMR-PASSWORDS RPC-SAMR-PASSWORDS-PWDLASTSET RPC-JOIN"
 rpc="$rpc RPC-SCHANNEL RPC-SCHANNEL2 RPC-BENCH-SCHANNEL1"
 
 # NOTE: to enable the UNIX-WHOAMI test, we need to change the default share
diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c
index e9aa6c3..dec8984 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