[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Sun Jan 27 07:51:03 MST 2013


The branch, master has been updated
       via  bb3238b s4:service_task: add missing imessaging_cleanup() to task_server_terminate()
       via  431692d s4:service_task: prevent a segfault if task->msg_ctx is not initialized yet
       via  7e7cd07 selftest: rename 'promoted_vampire_dc' to 'promoted_dc'
      from  0f8ef5a selftest: Add test of upgradeprovision using the old alpha13 tree

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


- Log -----------------------------------------------------------------
commit bb3238b46f0ffaf0bc8c0e16bdcc1cf5d2cad197
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jan 27 11:09:39 2013 +0100

    s4:service_task: add missing imessaging_cleanup() to task_server_terminate()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Sun Jan 27 15:50:30 CET 2013 on sn-devel-104

commit 431692df422c3cac71ca12b7e89296172dfcf684
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jan 27 11:01:07 2013 +0100

    s4:service_task: prevent a segfault if task->msg_ctx is not initialized yet
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 7e7cd07c405f8b66f5979047cb1a50e1e7a55edd
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Jan 27 12:15:50 2013 +0100

    selftest: rename 'promoted_vampire_dc' to 'promoted_dc'
    
    Unix domain socket are limited to 104 characters on Linux.
    
    Using something like this fails as it uses more than 104 characters:
    '/memdisk/autobuild/flakey/b232141/samba/bin/ab/promoted_vampire_dc/private/smbd.tmp/msg/msg.482379.2147483647'
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

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

Summary of changes:
 selftest/target/Samba4.pm   |   18 +++++++++---------
 source4/selftest/tests.py   |    4 ++--
 source4/smbd/service_task.c |    4 +++-
 3 files changed, 14 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index a08e550..8ad6232 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -995,7 +995,7 @@ sub provision_rpc_proxy($$$)
 	return $ret;
 }
 
-sub provision_promoted_vampire_dc($$$)
+sub provision_promoted_dc($$$)
 {
 	my ($self, $prefix, $dcvars) = @_;
 	print "PROVISIONING VAMPIRE DC...";
@@ -1056,9 +1056,9 @@ sub provision_promoted_vampire_dc($$$)
 		return undef;
 	}
 
-	$ret->{PROMOTED_VAMPIRE_DC_SERVER} = $ret->{SERVER};
-	$ret->{PROMOTED_VAMPIRE_DC_SERVER_IP} = $ret->{SERVER_IP};
-	$ret->{PROMOTED_VAMPIRE_DC_NETBIOSNAME} = $ret->{NETBIOSNAME};
+	$ret->{PROMOTED_DC_SERVER} = $ret->{SERVER};
+	$ret->{PROMOTED_DC_SERVER_IP} = $ret->{SERVER_IP};
+	$ret->{PROMOTED_DC_NETBIOSNAME} = $ret->{NETBIOSNAME};
 
 	$ret->{DC_SERVER} = $dcvars->{DC_SERVER};
 	$ret->{DC_SERVER_IP} = $dcvars->{DC_SERVER_IP};
@@ -1632,11 +1632,11 @@ sub setup_env($$$)
 			$self->setup_dc("$path/dc");
 		}
 		return $self->setup_vampire_dc("$path/vampire_dc", $self->{vars}->{dc});
-	} elsif ($envname eq "promoted_vampire_dc") {
+	} elsif ($envname eq "promoted_dc") {
 		if (not defined($self->{vars}->{dc})) {
 			$self->setup_dc("$path/dc");
 		}
-		return $self->setup_promoted_vampire_dc("$path/promoted_vampire_dc", $self->{vars}->{dc});
+		return $self->setup_promoted_dc("$path/promoted_dc", $self->{vars}->{dc});
 	} elsif ($envname eq "subdom_dc") {
 		if (not defined($self->{vars}->{dc})) {
 			$self->setup_dc("$path/dc");
@@ -1830,18 +1830,18 @@ sub setup_vampire_dc($$$)
 	return $env;
 }
 
-sub setup_promoted_vampire_dc($$$)
+sub setup_promoted_dc($$$)
 {
 	my ($self, $path, $dc_vars) = @_;
 
-	my $env = $self->provision_promoted_vampire_dc($path, $dc_vars);
+	my $env = $self->provision_promoted_dc($path, $dc_vars);
 
 	if (defined $env) {
 		$self->check_or_start($env, "single");
 
 		$self->wait_for_start($env);
 
-		$self->{vars}->{promoted_vampire_dc} = $env;
+		$self->{vars}->{promoted_dc} = $env;
 
 		# force replicated DC to update repsTo/repsFrom
 		# for vampired partitions
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 568d122..5321500 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -498,10 +498,10 @@ plantestsuite("samba4.blackbox.provision-backend", "none", ["PYTHON=%s" % python
 plantestsuite("samba4.blackbox.renamedc.sh", "none", ["PYTHON=%s" % python, os.path.join(bbdir, "renamedc.sh"), '$PREFIX/provision'])
 
 # Demote the vampire DC, it must be the last test on the VAMPIRE DC
-for env in ['vampire_dc', 'promoted_vampire_dc']:
+for env in ['vampire_dc', 'promoted_dc']:
     plantestsuite("samba4.blackbox.samba_tool_demote(%s)" % env, env, [os.path.join(samba4srcdir, "utils/tests/test_demote.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', '$DC_SERVER', '$PREFIX/%s' % env, smbclient4])
 # TODO: Verifying the databases really should be a part of the
 # environment teardown.
 # check the databases are all OK. PLEASE LEAVE THIS AS THE LAST TEST
-for env in ["dc", "fl2000dc", "fl2003dc", "fl2008r2dc", 'vampire_dc', 'promoted_vampire_dc']:
+for env in ["dc", "fl2000dc", "fl2003dc", "fl2008r2dc", 'vampire_dc', 'promoted_dc']:
     plantestsuite("samba4.blackbox.dbcheck(%s)" % env, env + ":local" , ["PYTHON=%s" % python, os.path.join(bbdir, "dbcheck.sh"), '$PREFIX/provision', configuration])
diff --git a/source4/smbd/service_task.c b/source4/smbd/service_task.c
index 4531c3a..5d14faf 100644
--- a/source4/smbd/service_task.c
+++ b/source4/smbd/service_task.c
@@ -34,7 +34,7 @@ void task_server_terminate(struct task_server *task, const char *reason, bool fa
 	const struct model_ops *model_ops = task->model_ops;
 	DEBUG(0,("task_server_terminate: [%s]\n", reason));
 
-	if (fatal) {
+	if (fatal && task->msg_ctx != NULL) {
 		struct dcerpc_binding_handle *irpc_handle;
 		struct samba_terminate r;
 
@@ -46,6 +46,8 @@ void task_server_terminate(struct task_server *task, const char *reason, bool fa
 		}
 	}
 
+	imessaging_cleanup(task->msg_ctx);
+
 	model_ops->terminate(event_ctx, task->lp_ctx, reason);
 	
 	/* don't free this above, it might contain the 'reason' being printed */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list