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 <[email protected]>
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 <[email protected]>
    Reviewed-by: Andrew Bartlett <[email protected]>
    
    Autobuild-User(master): Stefan Metzmacher <[email protected]>
    Autobuild-Date(master): Sun Jan 27 15:50:30 CET 2013 on sn-devel-104

commit 431692df422c3cac71ca12b7e89296172dfcf684
Author: Stefan Metzmacher <[email protected]>
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 <[email protected]>
    Reviewed-by: Andrew Bartlett <[email protected]>

commit 7e7cd07c405f8b66f5979047cb1a50e1e7a55edd
Author: Stefan Metzmacher <[email protected]>
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 <[email protected]>
    Reviewed-by: Andrew Bartlett <[email protected]>

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

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

Reply via email to