[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Tue Nov 17 01:02:46 MST 2009


The branch, master has been updated
       via  4532f68... s4:dsdb/schema: let schema_supclasses() return the correct pointer
       via  2fb6acd... librpc: rerun "make idl"
       via  66198b0... netlogon.idl: fix ndr_pull_netr_DatabaseRedo()
       via  4750155... s4:selftest: use "dc:local" instead of a hardcoded config file
       via  39072c7... s4:selftest: allways start with $(ST_RM)
       via  068d433... s4:selftest: place summary file into selftest-prefix
       via  259c1d73.. selftest: make sure we don't buffer any output
       via  36d0b1f... selftest: Fix unexpected failure handline in Subunit/Filter.pm
      from  dc351a5... s4:heimdal: import lorikeet-heimdal-200911170333 (commit b532c294d974cead40a1183c71be644c6ccc2832)

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


- Log -----------------------------------------------------------------
commit 4532f683a768462b069264577afb4f301a75f4ef
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 16 19:41:46 2009 +0100

    s4:dsdb/schema: let schema_supclasses() return the correct pointer
    
    str_list_unique() changes the pointer via talloc_realloc().
    
    metze

commit 2fb6acd2d7545ff474dc5588287ddbe9ee6cdbbe
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 16 19:41:05 2009 +0100

    librpc: rerun "make idl"
    
    metze

commit 66198b085aafdf12a15e80771bd7468d7465532a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 16 19:38:32 2009 +0100

    netlogon.idl: fix ndr_pull_netr_DatabaseRedo()
    
    We can't use subcontext_size() here, as
    change_log_entry_size is encoded after the subcontext.
    
    metze

commit 475015507172f708f295ff29e1feaec08a6476e0
Author: Stefan Metzmacher <metze at sernet.private>
Date:   Mon Nov 16 18:00:42 2009 +0100

    s4:selftest: use "dc:local" instead of a hardcoded config file
    
    If a tests needs access to the dc's config, it should run
    as "dc:local", then it can also access unix named pipes...
    
    If we pass a hardcoded config file the test fails if you use
    a selftest_prefix.
    
    metze

commit 39072c70d2656e62576a4f82238cdefc79ef2124
Author: Stefan Metzmacher <metze at sernet.private>
Date:   Mon Nov 16 16:53:51 2009 +0100

    s4:selftest: allways start with $(ST_RM)
    
    metze

commit 068d4336d6ed2671f60fff9f270c2b506d7f09a2
Author: Stefan Metzmacher <metze at sernet.private>
Date:   Mon Nov 16 16:48:18 2009 +0100

    s4:selftest: place summary file into selftest-prefix
    
    metze

commit 259c1d73bf1d9f052ad893bca4e3b4128ea89bfb
Author: Stefan Metzmacher <metze at sernet.private>
Date:   Mon Nov 16 16:34:13 2009 +0100

    selftest: make sure we don't buffer any output
    
    metze

commit 36d0b1fa0deb3c03dff4ad85fad68fc16622b37e
Author: Stefan Metzmacher <metze at sernet.private>
Date:   Mon Nov 16 16:27:39 2009 +0100

    selftest: Fix unexpected failure handline in Subunit/Filter.pm
    
    We should only mark the testsuite as expected failure,
    if there were more than 1 expected failure, but 0 unexpected
    failures.
    
    Before we ignored unexpected failures if there was an expected failure
    within a testsuite.
    
    metze

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

Summary of changes:
 librpc/gen_ndr/cli_netlogon.c          |    4 ++--
 librpc/gen_ndr/cli_netlogon.h          |    4 ++--
 librpc/gen_ndr/ndr_netlogon.c          |    8 ++++----
 librpc/gen_ndr/netlogon.h              |    2 +-
 librpc/idl/netlogon.idl                |   11 +++++++++--
 selftest/Subunit/Filter.pm             |   10 ++++++++--
 selftest/filter-subunit.pl             |    3 +++
 selftest/format-subunit.pl             |    3 +++
 selftest/selftest.pl                   |    3 +++
 source4/dsdb/schema/schema_inferiors.c |    4 ++--
 source4/selftest/config.mk             |    7 ++++---
 source4/selftest/tests.sh              |    6 +++---
 12 files changed, 44 insertions(+), 21 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_netlogon.c b/librpc/gen_ndr/cli_netlogon.c
index 53f29b9..f033ff0 100644
--- a/librpc/gen_ndr/cli_netlogon.c
+++ b/librpc/gen_ndr/cli_netlogon.c
@@ -2875,7 +2875,7 @@ struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx,
 						 const char *_computername /* [in] [ref,charset(UTF16)] */,
 						 struct netr_Authenticator *_credential /* [in] [ref] */,
 						 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
-						 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
+						 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext(4)] */,
 						 uint32_t _change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
 						 struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */)
 {
@@ -2990,7 +2990,7 @@ NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
 				  const char *computername /* [in] [ref,charset(UTF16)] */,
 				  struct netr_Authenticator *credential /* [in] [ref] */,
 				  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
-				  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
+				  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext(4)] */,
 				  uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
 				  struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */)
 {
diff --git a/librpc/gen_ndr/cli_netlogon.h b/librpc/gen_ndr/cli_netlogon.h
index adbe176..744e862 100644
--- a/librpc/gen_ndr/cli_netlogon.h
+++ b/librpc/gen_ndr/cli_netlogon.h
@@ -372,7 +372,7 @@ struct tevent_req *rpccli_netr_DatabaseRedo_send(TALLOC_CTX *mem_ctx,
 						 const char *_computername /* [in] [ref,charset(UTF16)] */,
 						 struct netr_Authenticator *_credential /* [in] [ref] */,
 						 struct netr_Authenticator *_return_authenticator /* [in,out] [ref] */,
-						 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
+						 struct netr_ChangeLogEntry _change_log_entry /* [in] [subcontext(4)] */,
 						 uint32_t _change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
 						 struct netr_DELTA_ENUM_ARRAY **_delta_enum_array /* [out] [ref] */);
 NTSTATUS rpccli_netr_DatabaseRedo_recv(struct tevent_req *req,
@@ -384,7 +384,7 @@ NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
 				  const char *computername /* [in] [ref,charset(UTF16)] */,
 				  struct netr_Authenticator *credential /* [in] [ref] */,
 				  struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
-				  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
+				  struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext(4)] */,
 				  uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
 				  struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */);
 struct tevent_req *rpccli_netr_LogonControl2Ex_send(TALLOC_CTX *mem_ctx,
diff --git a/librpc/gen_ndr/ndr_netlogon.c b/librpc/gen_ndr/ndr_netlogon.c
index ceb7198..3693860 100644
--- a/librpc/gen_ndr/ndr_netlogon.c
+++ b/librpc/gen_ndr/ndr_netlogon.c
@@ -12428,9 +12428,9 @@ static enum ndr_err_code ndr_push_netr_DatabaseRedo(struct ndr_push *ndr, int fl
 		NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
 		{
 			struct ndr_push *_ndr_change_log_entry;
-			NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
+			NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
 			NDR_CHECK(ndr_push_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
-			NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
+			NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
 		}
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_netr_ChangeLogEntry(&r->in.change_log_entry, ndr->iconv_convenience, ndr->flags)));
 	}
@@ -12491,9 +12491,9 @@ static enum ndr_err_code ndr_pull_netr_DatabaseRedo(struct ndr_pull *ndr, int fl
 		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC);
 		{
 			struct ndr_pull *_ndr_change_log_entry;
-			NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, r->in.change_log_entry_size));
+			NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_change_log_entry, 4, -1));
 			NDR_CHECK(ndr_pull_netr_ChangeLogEntry(_ndr_change_log_entry, NDR_SCALARS|NDR_BUFFERS, &r->in.change_log_entry));
-			NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, r->in.change_log_entry_size));
+			NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_change_log_entry, 4, -1));
 		}
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.change_log_entry_size));
 		NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
diff --git a/librpc/gen_ndr/netlogon.h b/librpc/gen_ndr/netlogon.h
index 402e4a0..ceda7f3 100644
--- a/librpc/gen_ndr/netlogon.h
+++ b/librpc/gen_ndr/netlogon.h
@@ -1431,7 +1431,7 @@ struct netr_DatabaseRedo {
 		const char *logon_server;/* [ref,charset(UTF16)] */
 		const char *computername;/* [ref,charset(UTF16)] */
 		struct netr_Authenticator *credential;/* [ref] */
-		struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
+		struct netr_ChangeLogEntry change_log_entry;/* [subcontext(4)] */
 		uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
 		struct netr_Authenticator *return_authenticator;/* [ref] */
 	} in;
diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl
index 82a60c7..77fc380 100644
--- a/librpc/idl/netlogon.idl
+++ b/librpc/idl/netlogon.idl
@@ -1049,8 +1049,15 @@ interface netlogon
 		[in]     [string,charset(UTF16)] uint16 *computername,
 		[in]     netr_Authenticator *credential,
 		[in,out,ref] netr_Authenticator *return_authenticator,
-		[in]     [subcontext(4),subcontext_size(change_log_entry_size)] netr_ChangeLogEntry change_log_entry,
-		[in]     [value(ndr_size_netr_ChangeLogEntry(&change_log_entry, ndr->iconv_convenience, ndr->flags))] uint32 change_log_entry_size,
+		/*
+		 * we cannot use subcontext_size() here, as
+		 * change_log_entry_size is encoded after the subcontext
+		 */
+		[in]     [subcontext(4)/*,subcontext_size(change_log_entry_size)*/]
+			netr_ChangeLogEntry change_log_entry,
+		[in]     [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,
+				ndr->iconv_convenience, ndr->flags))]
+			uint32 change_log_entry_size,
 		[out,ref]    netr_DELTA_ENUM_ARRAY **delta_enum_array
 		);
 
diff --git a/selftest/Subunit/Filter.pm b/selftest/Subunit/Filter.pm
index 93b690d..b7df762 100644
--- a/selftest/Subunit/Filter.pm
+++ b/selftest/Subunit/Filter.pm
@@ -95,6 +95,10 @@ sub end_test($$$$$)
 		$reason .= $xfail_reason;
 	}
 
+	if ($result eq "fail" or $result eq "failure") {
+		$self->{fail_added}++;
+	}
+
 	if ($self->{strip_ok_output}) {
 		unless ($result eq "success" or $result eq "xfail" or $result eq "skip") {
 			print $self->{output}
@@ -115,16 +119,18 @@ sub start_testsuite($;$)
 {
 	my ($self, $name) = @_;
 	Subunit::start_testsuite($name);
+	$self->{fail_added} = 0;
 	$self->{xfail_added} = 0;
 }
 
 sub end_testsuite($$;$)
 {
 	my ($self, $name, $result, $reason) = @_;
-	if ($self->{xfail_added} and ($result eq "fail" or $result eq "failure")) {
+	if ($self->{fail_added} == 0 and $self->{xfail_added} and
+	    ($result eq "fail" or $result eq "failure")) {
 		$result = "xfail";
 	}
-		
+
 	Subunit::end_testsuite($name, $result, $reason);
 }
 
diff --git a/selftest/filter-subunit.pl b/selftest/filter-subunit.pl
index 9ebc677..5e87ef4 100755
--- a/selftest/filter-subunit.pl
+++ b/selftest/filter-subunit.pl
@@ -82,6 +82,9 @@ if (defined($opt_expected_failures)) {
 	@expected_failures = Subunit::Filter::read_test_regexes($opt_expected_failures);
 }
 
+# we want unbuffered output
+$| = 1;
+
 my $statistics = {
 	TESTS_UNEXPECTED_OK => 0,
 	TESTS_EXPECTED_OK => 0,
diff --git a/selftest/format-subunit.pl b/selftest/format-subunit.pl
index 9d4e0c0..472f51a 100755
--- a/selftest/format-subunit.pl
+++ b/selftest/format-subunit.pl
@@ -59,6 +59,9 @@ exit(1) if (not $result);
 
 my $msg_ops;
 
+# we want unbuffered output
+$| = 1;
+
 my $statistics = {
 	SUITES_FAIL => 0,
 
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index b301778..3536d41 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -348,6 +348,9 @@ exit(1) if (not $result);
 
 ShowHelp() if ($opt_help);
 
+# we want unbuffered output
+$| = 1;
+
 my @tests = @ARGV;
 
 # quick hack to disable rpc validation when using valgrind - its way too slow
diff --git a/source4/dsdb/schema/schema_inferiors.c b/source4/dsdb/schema/schema_inferiors.c
index ecac74a..23cd43d 100644
--- a/source4/dsdb/schema/schema_inferiors.c
+++ b/source4/dsdb/schema/schema_inferiors.c
@@ -67,8 +67,8 @@ static char **schema_supclasses(struct dsdb_schema *schema, struct dsdb_class *s
 	}
 
 	schema_class->supclasses = str_list_unique(list);
-	
-	return list;
+
+	return schema_class->supclasses;
 }
 
 /*
diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk
index 927c40e..bdc4672 100644
--- a/source4/selftest/config.mk
+++ b/source4/selftest/config.mk
@@ -16,14 +16,15 @@ ST_DONE_TEST = @test -f $(selftest_prefix)/st_done || { echo "SELFTEST FAILED";
 SELFTEST_NOSLOW_OPTS = --exclude=$(srcdir)/selftest/slow
 SELFTEST_QUICK_OPTS = $(SELFTEST_NOSLOW_OPTS) --quick --include=$(srcdir)/selftest/quick
 FILTER_XFAIL = $(PERL) $(selftestdir)/filter-subunit.pl --expected-failures=$(srcdir)/selftest/knownfail
-FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(PERL) $(selftestdir)/format-subunit.pl --format=$(TEST_FORMAT)
+FORMAT_TEST = $(PERL) $(selftestdir)/format-subunit.pl --prefix=${selftest_prefix} --format=$(TEST_FORMAT)
+FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(FORMAT_TEST)
 
 test-subunit:: everything
-	$(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH)
+	$(ST_RM) $(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH)
 	$(ST_DONE_TEST)
 
 slowtest:: everything
-	$(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
+	$(ST_RM) $(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
 	$(ST_DONE_TEST)
 
 ifeq ($(RUN_FROM_BUILD_FARM),yes)
diff --git a/source4/selftest/tests.sh b/source4/selftest/tests.sh
index 75914a5..6130e91 100755
--- a/source4/selftest/tests.sh
+++ b/source4/selftest/tests.sh
@@ -279,7 +279,7 @@ done
 
 plantest "rpc.echo on ncacn_np over smb2" dc $smb4torture ncacn_np:"\$SERVER[smb2]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*"
 
-plantest "ntp.signd" dc $smb4torture ncacn_np:"\$SERVER" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN NTP-SIGND "$*" --configfile=st/dc/etc/smb.conf
+plantest "ntp.signd" dc:local $smb4torture ncacn_np:"\$SERVER" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN NTP-SIGND "$*"
 
 # Tests against the NTVFS POSIX backend
 NTVFSARGS=""
@@ -339,8 +339,8 @@ planperltest "selftest.samba4.pl" none $samba4srcdir/../selftest/test_samba4.pl
 plantest "blackbox.ndrdump" none $samba4srcdir/librpc/tests/test_ndrdump.sh
 plantest "blackbox.net" dc $samba4srcdir/utils/tests/test_net.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
 plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" $CONFIGURATION 
-plantest "blackbox.passwords" dc $bbdir/test_passwords.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" --configfile=st/dc/etc/smb.conf
-plantest "blackbox.export.keytab" dc $bbdir/test_export_keytab.sh "\$SERVER" "\$USERNAME" "\$REALM" "\$DOMAIN" "$PREFIX" --configfile=st/dc/etc/smb.conf
+plantest "blackbox.passwords" dc:local $bbdir/test_passwords.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX"
+plantest "blackbox.export.keytab" dc:local $bbdir/test_export_keytab.sh "\$SERVER" "\$USERNAME" "\$REALM" "\$DOMAIN" "$PREFIX"
 plantest "blackbox.cifsdd" dc $samba4srcdir/client/tests/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" 
 plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" 
 plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP"


-- 
Samba Shared Repository


More information about the samba-cvs mailing list