[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Sun Sep 23 21:28:02 MDT 2012


The branch, master has been updated
       via  0991aed torture: More torture_assert() calls in rpc.lsa
       via  a807a63 torture: use torture_assert rather than return false in rpc.lsa
       via  f0908c1 torture: tidy up rpc.lsa OpenPolicy2 test to more clearly use torture_fail()
       via  00b1267 build: Add missing dep on tdb_compat
       via  2e51c38 lib/replace: Look for special flags needed for c99
       via  0727ad7 lib/replace: Improve mkstemp test in autoconf and waf
      from  f767059 s3:winbindd fix a compiler warning

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


- Log -----------------------------------------------------------------
commit 0991aed60c47ecbcb0d08368375f6ae2847c8f59
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 09:20:59 2012 +1000

    torture: More torture_assert() calls in rpc.lsa
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Mon Sep 24 05:27:46 CEST 2012 on sn-devel-104

commit a807a63f3d1d692d80d640f23ccb9bdbc7b6676f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 08:59:10 2012 +1000

    torture: use torture_assert rather than return false in rpc.lsa
    
    This will help ensure we always generate correct subunit failures.
    
    Andrew Bartlett

commit f0908c1dc604b304a788261784a39d08cfb48760
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 08:40:05 2012 +1000

    torture: tidy up rpc.lsa OpenPolicy2 test to more clearly use torture_fail()

commit 00b12674685798f300e04d6d2e62f1cfa435c982
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 07:06:53 2012 +1000

    build: Add missing dep on tdb_compat

commit 2e51c386beff808e74c8c1f360a6f4db30fe74b5
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 06:45:05 2012 +1000

    lib/replace: Look for special flags needed for c99
    
    This is normally handled by the waf core, but for HP-UX we currently fail.
    
    The autoconf code hard-codes a case for HP-UX, but I want to try testing
    it using a generic system first.
    
    Andrew Bartlett

commit 0727ad73212ff3cfe7e78249504b0209e082d7c4
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Sep 24 06:03:31 2012 +1000

    lib/replace: Improve mkstemp test in autoconf and waf
    
    On the Sernet-solaris8 host, this test passed in the autoconf build,
    then failed in the recursive waf build.  This newer test should probe
    the behaviour more closely, by checking we get two distinct, secure
    files.
    
    Andrew Bartlett

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

Summary of changes:
 lib/replace/libreplace.m4         |   21 +++-
 lib/replace/wscript               |   27 ++++-
 source4/ntvfs/posix/wscript_build |    2 +-
 source4/torture/rpc/lsa.c         |  241 +++++++++++++------------------------
 4 files changed, 126 insertions(+), 165 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4
index d298b92..796069c 100644
--- a/lib/replace/libreplace.m4
+++ b/lib/replace/libreplace.m4
@@ -212,12 +212,27 @@ AC_TRY_RUN([#include <stdlib.h>
 #include <unistd.h>
 main() { 
   struct stat st;
-  char tpl[20]="/tmp/test.XXXXXX"; 
-  int fd = mkstemp(tpl); 
-  if (fd == -1) exit(1);
+  char tpl[20]="/tmp/test.XXXXXX";
+  char tpl2[20]="/tmp/test.XXXXXX";
+  int fd = mkstemp(tpl);
+  int fd2 = mkstemp(tpl2);
+  if (fd == -1) {
+        if (fd2 != -1) {
+                unlink(tpl2);
+        }
+        exit(1);
+  }
+  if (fd2 == -1) exit(1);
   unlink(tpl);
+  unlink(tpl2);
   if (fstat(fd, &st) != 0) exit(1);
   if ((st.st_mode & 0777) != 0600) exit(1);
+  if (strcmp(tpl, "/tmp/test.XXXXXX") == 0) {
+        exit(1);
+  }
+  if (strcmp(tpl, tpl2) == 0) {
+        exit(1);
+  }
   exit(0);
 }],
 libreplace_cv_HAVE_SECURE_MKSTEMP=yes,
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 2f632e1..d5b2631 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -43,6 +43,16 @@ def configure(conf):
         conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True)
         conf.DEFINE('_BSD_TYPES', 1, add_to_cflags=True)
 
+    # Try to find the right extra flags for C99 initialisers
+    for f in ["", "-AC99", "-qlanglvl=extc99", "-qlanglvl=stdc99", "-c99"]:
+        if conf.CHECK_CFLAGS([f], '''
+struct foo {int x;char y;};
+struct foo bar = { .y = 'X', .x = 1 };
+'''):
+            if f != "":
+                conf.ADD_CFLAGS(f)
+            break
+
     conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
     conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
@@ -399,11 +409,26 @@ removeea setea
     conf.CHECK_CODE('''
                     struct stat st;
                     char tpl[20]="/tmp/test.XXXXXX";
+                    char tpl2[20]="/tmp/test.XXXXXX";
                     int fd = mkstemp(tpl);
-                    if (fd == -1) exit(1);
+                    int fd2 = mkstemp(tpl2);
+                    if (fd == -1) {
+                          if (fd2 != -1) {
+                                  unlink(tpl2);
+                          }
+                          exit(1);
+                    }
+                    if (fd2 == -1) exit(1);
                     unlink(tpl);
+                    unlink(tpl2);
                     if (fstat(fd, &st) != 0) exit(1);
                     if ((st.st_mode & 0777) != 0600) exit(1);
+                    if (strcmp(tpl, "/tmp/test.XXXXXX") == 0) {
+                          exit(1);
+                    }
+                    if (strcmp(tpl, tpl2) == 0) {
+                          exit(1);
+                    }
                     exit(0);
                     ''',
                     define='HAVE_SECURE_MKSTEMP',
diff --git a/source4/ntvfs/posix/wscript_build b/source4/ntvfs/posix/wscript_build
index ee0ef24..f6e1ef6 100644
--- a/source4/ntvfs/posix/wscript_build
+++ b/source4/ntvfs/posix/wscript_build
@@ -54,7 +54,7 @@ bld.SAMBA_LIBRARY('posix_eadb',
 
 bld.SAMBA_PYTHON('python_posix_eadb',
 	source='python/pyposix_eadb.c',
-	deps='pyparam_util posix_eadb',
+	deps='pyparam_util posix_eadb tdb_compat',
 	realname='samba/posix_eadb.so'
 	)
 
diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c
index 942dd52..edd3a0c 100644
--- a/source4/torture/rpc/lsa.c
+++ b/source4/torture/rpc/lsa.c
@@ -247,22 +247,18 @@ static bool test_OpenPolicy2_fail(struct dcerpc_binding_handle *b,
 		return true;
 	}
 
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_ACCESS_DENIED) ||
-		    NT_STATUS_EQUAL(r.out.result, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) {
-			torture_comment(tctx,
-					"OpenPolicy2 correctly returned with "
-					"result: %s\n",
-					nt_errstr(r.out.result));
-			return true;
-		}
+	if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_ACCESS_DENIED) ||
+	    NT_STATUS_EQUAL(r.out.result, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) {
+		torture_comment(tctx,
+				"OpenPolicy2 correctly returned with "
+				"result: %s\n",
+				nt_errstr(r.out.result));
+		return true;
 	}
 
-	torture_assert_ntstatus_equal(tctx,
-				      r.out.result,
-				      NT_STATUS_OK,
-				      "OpenPolicy2 return value should be "
-				      "ACCESS_DENIED");
+	torture_fail(tctx,
+		     "OpenPolicy2 return value should be "
+		     "ACCESS_DENIED or RPC_PROTSEQ_NOT_SUPPORTED");
 
 	return false;
 }
@@ -534,11 +530,7 @@ static bool test_LookupNames2(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupNames2_r(b, tctx, &r),
 		"LookupNames2 failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "LookupNames2 failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result, "LookupNames2 failed");
 
 	if (check_result) {
 		torture_assert_int_equal(tctx, count, sids.count,
@@ -598,11 +590,8 @@ static bool test_LookupNames3(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupNames3_r(b, tctx, &r),
 		"LookupNames3 failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "LookupNames3 failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"LookupNames3 failed");
 
 	if (check_result) {
 		torture_assert_int_equal(tctx, count, sids.count,
@@ -669,13 +658,10 @@ static bool test_LookupNames4(struct dcerpc_binding_handle *b,
 
 			return true;
 		}
-
-		torture_assert_ntstatus_ok(tctx,
-					   r.out.result,
-					   "LookupNames4 failed");
-
-		return false;
 	}
+	torture_assert_ntstatus_ok(tctx,
+				   r.out.result,
+				   "LookupNames4 failed");
 
 	if (check_result) {
 		torture_assert_int_equal(tctx, count, sids.count,
@@ -747,11 +733,9 @@ static bool test_LookupNames4_fail(struct dcerpc_binding_handle *b,
 		}
 	}
 
-	torture_assert_ntstatus_equal(tctx,
-				      r.out.result,
-				      NT_STATUS_OK,
-				      "LookupNames4 return value should be "
-				      "ACCESS_DENIED");
+	torture_fail(tctx,
+		     "LookupNames4 return value should be "
+		     "ACCESS_DENIED or RPC_PROTSEQ_NOT_SUPPORTED");
 
 	return false;
 }
@@ -943,22 +927,18 @@ static bool test_LookupSids3_fail(struct dcerpc_binding_handle *b,
 		return true;
 	}
 
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_ACCESS_DENIED) ||
-		    NT_STATUS_EQUAL(r.out.result, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) {
-			torture_comment(tctx,
-					"LookupNames4 correctly returned with "
-					"result: %s\n",
-					nt_errstr(r.out.result));
-			return true;
-		}
+	if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_ACCESS_DENIED) ||
+	    NT_STATUS_EQUAL(r.out.result, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) {
+		torture_comment(tctx,
+				"LookupNames4 correctly returned with "
+				"result: %s\n",
+				nt_errstr(r.out.result));
+		return true;
 	}
 
-	torture_assert_ntstatus_equal(tctx,
-				      r.out.result,
-				      NT_STATUS_OK,
-				      "LookupSids3 return value should be "
-				      "ACCESS_DENIED");
+	torture_fail(tctx,
+		     "LookupSids3 return value should be "
+		     "ACCESS_DENIED or RPC_PROTSEQ_NOT_SUPPORTED");
 
 	return false;
 }
@@ -1154,11 +1134,8 @@ static bool test_LookupPrivValue(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupPrivValue_r(b, tctx, &r),
 		"LookupPrivValue failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "\nLookupPrivValue failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"LookupPrivValue failed");
 
 	return true;
 }
@@ -1177,11 +1154,7 @@ static bool test_LookupPrivName(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupPrivName_r(b, tctx, &r),
 		"LookupPrivName failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "\nLookupPrivName failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result, "LookupPrivName failed");
 
 	return true;
 }
@@ -1262,12 +1235,8 @@ static bool test_AddPrivilegesToAccount(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_AddPrivilegesToAccount_r(b, tctx, &r),
 		"AddPrivilegesToAccount failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "AddPrivilegesToAccount failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
-
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"AddPrivilegesToAccount failed");
 	return ret;
 }
 
@@ -1287,11 +1256,8 @@ static bool test_EnumPrivsAccount(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_EnumPrivsAccount_r(b, tctx, &r),
 		"EnumPrivsAccount failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "EnumPrivsAccount failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"EnumPrivsAccount failed");
 
 	if (privs && privs->count > 0) {
 		int i;
@@ -1324,11 +1290,8 @@ static bool test_GetSystemAccessAccount(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_GetSystemAccessAccount_r(b, tctx, &r),
 		"GetSystemAccessAccount failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "GetSystemAccessAccount failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"GetSystemAccessAccount failed");
 
 	if (r.out.access_mask != NULL) {
 		torture_comment(tctx, "Rights:");
@@ -1395,11 +1358,8 @@ static bool test_DeleteObject(struct dcerpc_binding_handle *b,
 	r.out.handle = handle;
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_DeleteObject_r(b, tctx, &r),
 		"DeleteObject failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "DeleteObject failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"DeleteObject failed");
 
 	return true;
 }
@@ -1433,15 +1393,11 @@ static bool test_CreateAccount(struct dcerpc_binding_handle *b,
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenAccount_r(b, tctx, &r_o),
 			"OpenAccount failed");
-		if (!NT_STATUS_IS_OK(r_o.out.result)) {
-			torture_comment(tctx, "OpenAccount failed - %s\n",
-					nt_errstr(r_o.out.result));
-			return false;
-		}
-	} else if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "CreateAccount failed - %s\n",
-				nt_errstr(r.out.result));
-		return false;
+		torture_assert_ntstatus_ok(tctx, r_o.out.result,
+			"OpenAccount failed");
+	} else {
+		torture_assert_ntstatus_ok(tctx, r.out.result,
+					   "CreateAccount failed");
 	}
 
 	if (!test_Delete(b, tctx, &acct_handle)) {
@@ -1470,10 +1426,8 @@ static bool test_DeleteTrustedDomain(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenTrustedDomainByName_r(b, tctx, &r),
 		"OpenTrustedDomainByName failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "OpenTrustedDomainByName failed - %s\n", nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"OpenTrustedDomainByName failed");
 
 	if (!test_Delete(b, tctx, &trustdom_handle)) {
 		return false;
@@ -1498,10 +1452,8 @@ static bool test_DeleteTrustedDomainBySid(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_DeleteTrustedDomain_r(b, tctx, &r),
 		"DeleteTrustedDomain failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "DeleteTrustedDomain failed - %s\n", nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"DeleteTrustedDomain failed");
 
 	return true;
 }
@@ -1511,7 +1463,6 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 			      struct torture_context *tctx,
 			      struct policy_handle *handle)
 {
-	NTSTATUS status;
 	struct lsa_CreateSecret r;
 	struct lsa_OpenSecret r2;
 	struct lsa_SetSecret r3;
@@ -1556,10 +1507,8 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_CreateSecret_r(b, tctx, &r),
 			"CreateSecret failed");
-		if (!NT_STATUS_IS_OK(r.out.result)) {
-			torture_comment(tctx, "CreateSecret failed - %s\n", nt_errstr(r.out.result));
-			return false;
-		}
+		torture_assert_ntstatus_ok(tctx, r.out.result,
+			"CreateSecret failed");
 
 		r.in.handle = handle;
 		r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -1567,10 +1516,8 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_CreateSecret_r(b, tctx, &r),
 			"CreateSecret failed");
-		if (!NT_STATUS_EQUAL(r.out.result, NT_STATUS_OBJECT_NAME_COLLISION)) {
-			torture_comment(tctx, "CreateSecret should have failed OBJECT_NAME_COLLISION - %s\n", nt_errstr(r.out.result));
-			return false;
-		}
+		torture_assert_ntstatus_equal(tctx, r.out.result, NT_STATUS_OBJECT_NAME_COLLISION,
+					      "CreateSecret should have failed OBJECT_NAME_COLLISION");
 
 		r2.in.handle = handle;
 		r2.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -1581,16 +1528,11 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenSecret_r(b, tctx, &r2),
 			"OpenSecret failed");
-		if (!NT_STATUS_IS_OK(r2.out.result)) {
-			torture_comment(tctx, "OpenSecret failed - %s\n", nt_errstr(r2.out.result));
-			return false;
-		}
+		torture_assert_ntstatus_ok(tctx, r2.out.result,
+					   "OpenSecret failed");
 
-		status = dcerpc_fetch_session_key(p, &session_key);
-		if (!NT_STATUS_IS_OK(status)) {
-			torture_comment(tctx, "dcerpc_fetch_session_key failed - %s\n", nt_errstr(status));
-			return false;
-		}
+		torture_assert_ntstatus_ok(tctx, dcerpc_fetch_session_key(p, &session_key),
+					   "dcerpc_fetch_session_key failed");
 
 		enc_key = sess_encrypt_string(secret1, &session_key);
 
@@ -1605,10 +1547,8 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_SetSecret_r(b, tctx, &r3),
 			"SetSecret failed");
-		if (!NT_STATUS_IS_OK(r3.out.result)) {
-			torture_comment(tctx, "SetSecret failed - %s\n", nt_errstr(r3.out.result));
-			return false;
-		}
+		torture_assert_ntstatus_ok(tctx, r3.out.result,
+			"SetSecret failed");
 
 		r3.in.sec_handle = &sec_handle;
 		r3.in.new_val = &buf1;
@@ -1623,11 +1563,9 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 		torture_comment(tctx, "Testing SetSecret with broken key\n");
 
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_SetSecret_r(b, tctx, &r3),
-			"SetSecret failed");
-		if (!NT_STATUS_EQUAL(r3.out.result, NT_STATUS_UNKNOWN_REVISION)) {
-			torture_comment(tctx, "SetSecret should have failed UNKNOWN_REVISION - %s\n", nt_errstr(r3.out.result));
-			ret = false;
-		}
+					   "SetSecret failed");
+		torture_assert_ntstatus_equal(tctx, r3.out.result, NT_STATUS_UNKNOWN_REVISION,
+					      "SetSecret should have failed UNKNOWN_REVISION");
 
 		data_blob_free(&enc_key);
 
@@ -1832,23 +1770,16 @@ static bool test_CreateSecret(struct dcerpc_pipe *p,
 		d_o.out.handle = &sec_handle2;
 		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_DeleteObject_r(b, tctx, &d_o),
 			"DeleteObject failed");
-		if (!NT_STATUS_EQUAL(d_o.out.result, NT_STATUS_INVALID_HANDLE)) {
-			torture_comment(tctx, "Second delete expected INVALID_HANDLE - %s\n", nt_errstr(d_o.out.result));
-			ret = false;
-		} else {
-
-			torture_comment(tctx, "Testing OpenSecret of just-deleted secret\n");
+		torture_assert_ntstatus_equal(tctx, d_o.out.result, NT_STATUS_INVALID_HANDLE,
+					      "OpenSecret expected INVALID_HANDLE");
 
-			torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenSecret_r(b, tctx, &r2),
-				"OpenSecret failed");
-			if (!NT_STATUS_EQUAL(r2.out.result, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
-				torture_comment(tctx, "OpenSecret expected OBJECT_NAME_NOT_FOUND - %s\n", nt_errstr(r2.out.result));
-				ret = false;
-			}
-		}
+		torture_comment(tctx, "Testing OpenSecret of just-deleted secret\n");
 
+		torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenSecret_r(b, tctx, &r2),
+					   "OpenSecret failed");
+		torture_assert_ntstatus_equal(tctx, r2.out.result, NT_STATUS_OBJECT_NAME_NOT_FOUND,
+					      "OpenSecret expected OBJECT_NAME_NOT_FOUND");
 	}
-
 	return ret;
 }
 
@@ -1872,8 +1803,9 @@ static bool test_EnumAccountRights(struct dcerpc_binding_handle *b,
 	if (!NT_STATUS_IS_OK(r.out.result)) {
 		torture_comment(tctx, "EnumAccountRights of %s failed - %s\n",
 		       dom_sid_string(tctx, sid), nt_errstr(r.out.result));
-		return false;
 	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"EnumAccountRights failed");
 
 	return true;
 }
@@ -1927,10 +1859,8 @@ static bool test_OpenAccount(struct dcerpc_binding_handle *b,
 
 	torture_assert_ntstatus_ok(tctx, dcerpc_lsa_OpenAccount_r(b, tctx, &r),
 		"OpenAccount failed");
-	if (!NT_STATUS_IS_OK(r.out.result)) {
-		torture_comment(tctx, "OpenAccount failed - %s\n", nt_errstr(r.out.result));
-		return false;
-	}
+	torture_assert_ntstatus_ok(tctx, r.out.result,
+		"OpenAccount failed");
 
 	if (!test_EnumPrivsAccount(b, tctx, handle, &acct_handle)) {
 		return false;
@@ -1972,10 +1902,8 @@ static bool test_EnumAccounts(struct dcerpc_binding_handle *b,
 		if (NT_STATUS_EQUAL(r.out.result, NT_STATUS_NO_MORE_ENTRIES)) {
 			break;
 		}
-		if (!NT_STATUS_IS_OK(r.out.result)) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list