[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Sat Feb 24 22:20:01 UTC 2018
The branch, master has been updated
via 106ea7a Minor cleanup to libnet_join_member
via 4a3954a tests/blackbox/smbcontrol: ping tests names ping target upon failure
via be96147 text/python/blackbox: allow optional message in ProcessError
from 1ed6934 ldb tests: fix null test on incorrect variable
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 106ea7a1bcde3f5aa4fbb4ff8beb0cb44cf0e0ed
Author: Swen Schillig <swen at vnet.ibm.com>
Date: Thu Jan 25 11:18:50 2018 +0100
Minor cleanup to libnet_join_member
Prevent code duplication by consolidating cleanup task
at the end of the function.
Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
Reviewed-by: Christof Schmitt <cs at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Sat Feb 24 23:19:05 CET 2018 on sn-devel-144
commit 4a3954adedf89a186268fea272675687524325ff
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Feb 22 14:20:51 2018 +1300
tests/blackbox/smbcontrol: ping tests names ping target upon failure
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit be96147e6966ac7b68418e1889e55b38874c1561
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Thu Feb 22 14:19:11 2018 +1300
text/python/blackbox: allow optional message in ProcessError
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
python/samba/tests/__init__.py | 20 +++++++++-----
python/samba/tests/blackbox/smbcontrol.py | 3 +-
source4/libnet/libnet_join.c | 46 +++++++++++++------------------
3 files changed, 34 insertions(+), 35 deletions(-)
Changeset truncated at 500 lines:
diff --git a/python/samba/tests/__init__.py b/python/samba/tests/__init__.py
index b6293df..935a087 100644
--- a/python/samba/tests/__init__.py
+++ b/python/samba/tests/__init__.py
@@ -328,15 +328,20 @@ class BlackboxProcessError(Exception):
(S.stderr)
"""
- def __init__(self, returncode, cmd, stdout, stderr):
+ def __init__(self, returncode, cmd, stdout, stderr, msg=None):
self.returncode = returncode
self.cmd = cmd
self.stdout = stdout
self.stderr = stderr
+ self.msg = msg
def __str__(self):
- return "Command '%s'; exit status %d; stdout: '%s'; stderr: '%s'" % (self.cmd, self.returncode,
- self.stdout, self.stderr)
+ s = ("Command '%s'; exit status %d; stdout: '%s'; stderr: '%s'" %
+ (self.cmd, self.returncode, self.stdout, self.stderr))
+ if self.msg is not None:
+ s = "%s; message: %s" % (s, self.msg)
+
+ return s
class BlackboxTestCase(TestCaseInTempDir):
"""Base test case for blackbox tests."""
@@ -349,10 +354,10 @@ class BlackboxTestCase(TestCaseInTempDir):
line = " ".join(parts)
return line
- def check_run(self, line):
- self.check_exit_code(line, 0)
+ def check_run(self, line, msg=None):
+ self.check_exit_code(line, 0, msg=msg)
- def check_exit_code(self, line, expected):
+ def check_exit_code(self, line, expected, msg=None):
line = self._make_cmdline(line)
p = subprocess.Popen(line,
stdout=subprocess.PIPE,
@@ -364,7 +369,8 @@ class BlackboxTestCase(TestCaseInTempDir):
raise BlackboxProcessError(retcode,
line,
stdoutdata,
- stderrdata)
+ stderrdata,
+ msg)
def check_output(self, line):
line = self._make_cmdline(line)
diff --git a/python/samba/tests/blackbox/smbcontrol.py b/python/samba/tests/blackbox/smbcontrol.py
index e151761..eca6cc5 100644
--- a/python/samba/tests/blackbox/smbcontrol.py
+++ b/python/samba/tests/blackbox/smbcontrol.py
@@ -47,4 +47,5 @@ class SmbcontrolBlockboxTests(BlackboxTestCase):
for p in processes:
for id in p.ids:
if p.name != "samba":
- self.check_run("%s %d %s" % (COMMAND, id.pid, PING))
+ self.check_run("%s %d %s" % (COMMAND, id.pid, PING),
+ msg="trying to ping %s" % p.name)
diff --git a/source4/libnet/libnet_join.c b/source4/libnet/libnet_join.c
index 6cd18e0..245485f 100644
--- a/source4/libnet/libnet_join.c
+++ b/source4/libnet/libnet_join.c
@@ -940,11 +940,10 @@ NTSTATUS libnet_Join_member(struct libnet_context *ctx,
r2 = talloc_zero(tmp_mem, struct libnet_JoinDomain);
if (!r2) {
- r->out.error_string = NULL;
- talloc_free(tmp_mem);
- return NT_STATUS_NO_MEMORY;
+ status = NT_STATUS_NO_MEMORY;
+ goto out;
}
-
+
acct_type = ACB_WSTRUST;
if (r->in.netbios_name != NULL) {
@@ -952,19 +951,17 @@ NTSTATUS libnet_Join_member(struct libnet_context *ctx,
} else {
netbios_name = talloc_strdup(tmp_mem, lpcfg_netbios_name(ctx->lp_ctx));
if (!netbios_name) {
- r->out.error_string = NULL;
- talloc_free(tmp_mem);
- return NT_STATUS_NO_MEMORY;
+ status = NT_STATUS_NO_MEMORY;
+ goto out;
}
}
account_name = talloc_asprintf(tmp_mem, "%s$", netbios_name);
if (!account_name) {
- r->out.error_string = NULL;
- talloc_free(tmp_mem);
- return NT_STATUS_NO_MEMORY;
+ status = NT_STATUS_NO_MEMORY;
+ goto out;
}
-
+
/*
* join the domain
*/
@@ -978,16 +975,14 @@ NTSTATUS libnet_Join_member(struct libnet_context *ctx,
status = libnet_JoinDomain(ctx, r2, r2);
if (!NT_STATUS_IS_OK(status)) {
r->out.error_string = talloc_steal(mem_ctx, r2->out.error_string);
- talloc_free(tmp_mem);
- return status;
+ goto out;
}
set_secrets = talloc_zero(tmp_mem,
struct provision_store_self_join_settings);
if (!set_secrets) {
- r->out.error_string = NULL;
- talloc_free(tmp_mem);
- return NT_STATUS_NO_MEMORY;
+ status = NT_STATUS_NO_MEMORY;
+ goto out;
}
set_secrets->domain_name = r2->out.domain_name;
@@ -997,7 +992,7 @@ NTSTATUS libnet_Join_member(struct libnet_context *ctx,
set_secrets->machine_password = r2->out.join_password;
set_secrets->key_version_number = r2->out.kvno;
set_secrets->domain_sid = r2->out.domain_sid;
-
+
status = provision_store_self_join(ctx, ctx->lp_ctx, ctx->event_ctx, set_secrets, &error_string);
if (!NT_STATUS_IS_OK(status)) {
if (error_string) {
@@ -1008,19 +1003,16 @@ NTSTATUS libnet_Join_member(struct libnet_context *ctx,
"provision_store_self_join failed with %s",
nt_errstr(status));
}
- talloc_free(tmp_mem);
- return status;
+ goto out;
}
/* move all out parameter to the callers TALLOC_CTX */
- r->out.error_string = NULL;
- r->out.join_password = r2->out.join_password;
- talloc_reparent(r2, mem_ctx, r2->out.join_password);
- r->out.domain_sid = r2->out.domain_sid;
- talloc_reparent(r2, mem_ctx, r2->out.domain_sid);
- r->out.domain_name = r2->out.domain_name;
- talloc_reparent(r2, mem_ctx, r2->out.domain_name);
+ r->out.join_password = talloc_move(mem_ctx, &r2->out.join_password);
+ r->out.domain_sid = talloc_move(mem_ctx, &r2->out.domain_sid);
+ r->out.domain_name = talloc_move(mem_ctx, &r2->out.domain_name);
+ status = NT_STATUS_OK;
+out:
talloc_free(tmp_mem);
- return NT_STATUS_OK;
+ return status;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list