[SCM] Samba Shared Repository - branch master updated
Andrew Tridgell
tridge at samba.org
Tue Apr 20 08:31:28 MDT 2010
The branch, master has been updated
via b4b43fc... s4-netlogon: fixed dc_unc and dc_address_type
via 5e69259... build: added uname display and SYSTEM_UNAME define
via a9f5bfb... util-runcmd: ignore spurious ECHILD errors
from 4f5298c... s4-smbtorture: add test for csetprinter field behaviour in printer info level 0.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit b4b43fcb4c3e8b046489ea03b70f7c0a77bc5065
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Apr 20 23:42:28 2010 +1000
s4-netlogon: fixed dc_unc and dc_address_type
These are needed for dcpromo from w2k8r2
commit 5e69259671d317aebaae54ec9adc30e58f70076f
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Apr 20 23:17:32 2010 +1000
build: added uname display and SYSTEM_UNAME define
suggestion from Metze
commit a9f5bfb3a5324f09a07657a8bb28bb4510485d31
Author: Andrew Tridgell <tridge at samba.org>
Date: Tue Apr 20 21:45:33 2010 +1000
util-runcmd: ignore spurious ECHILD errors
when we get ECHILD in samba_runcmd it is because the parent has set
SIGCHLD to SIG_IGN. In that case the child status information is
lost. We then have to fallback on the logging of child error messages
for any useful information on what happened to the child.
A longer term fix is to stop using SIG_IGN for SIGCHLD in the standard
process model of s4.
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/samba_conftests.py | 19 +++++++++++++++++++
buildtools/wafsamba/wscript | 3 +++
lib/util/util_runcmd.c | 14 ++++++++++++++
source4/rpc_server/netlogon/dcerpc_netlogon.c | 4 +++-
4 files changed, 39 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py
index e86f939..1794758 100644
--- a/buildtools/wafsamba/samba_conftests.py
+++ b/buildtools/wafsamba/samba_conftests.py
@@ -237,3 +237,22 @@ WriteMakefile(
conf.check_message_2('ok')
return True
+
+
+ at conf
+def CHECK_UNAME(conf, flags=None, msg=None, define=None):
+ '''return uname result'''
+ cmd = ['uname']
+ if flags is not None:
+ cmd.append(flags)
+ if msg is None:
+ msg = 'Checking uname'
+ conf.COMPOUND_START(msg)
+ ret = Utils.cmd_output(cmd)
+ ret = ret.strip()
+ conf.COMPOUND_END(ret)
+ if define:
+ conf.DEFINE(define, ret, quote=True)
+ return ret
+
+
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index a49e5e7..66e1ae5 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -130,6 +130,9 @@ def configure(conf):
conf.check_tool('gnu_dirs')
conf.check_tool('wafsamba')
+ conf.CHECK_UNAME(msg='Checking system type', define='SYSTEM_UNAME')
+ conf.CHECK_UNAME(flags='-a')
+
conf.CHECK_CC_ENV()
conf.check_tool('compiler_cc')
diff --git a/lib/util/util_runcmd.c b/lib/util/util_runcmd.c
index d81a0ac..aa2a3e6 100644
--- a/lib/util/util_runcmd.c
+++ b/lib/util/util_runcmd.c
@@ -241,6 +241,20 @@ static void samba_runcmd_io_handler(struct tevent_context *ev,
* stderr, assume its dead */
pid_t pid = waitpid(state->pid, &status, 0);
if (pid != state->pid) {
+ if (errno == ECHILD) {
+ /* this happens when the
+ parent has set SIGCHLD to
+ SIG_IGN. In that case we
+ can only get error
+ information for the child
+ via its logging. We should
+ stop using SIG_IGN on
+ SIGCHLD in the standard
+ process model.
+ */
+ tevent_req_done(req);
+ return;
+ }
DEBUG(0,("Error in waitpid() for child %s - %s \n",
state->arg0, strerror(errno)));
if (errno == 0) {
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c
index b920c13..d7aa425 100644
--- a/source4/rpc_server/netlogon/dcerpc_netlogon.c
+++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c
@@ -1521,9 +1521,11 @@ static WERROR dcesrv_netr_DsRGetDCNameEx2(struct dcesrv_call_state *dce_call,
info = talloc(mem_ctx, struct netr_DsRGetDCNameInfo);
W_ERROR_HAVE_NO_MEMORY(info);
- info->dc_unc = response.data.nt5_ex.pdc_dns_name;
+ info->dc_unc = talloc_asprintf(mem_ctx, "\\\\%s",
+ response.data.nt5_ex.pdc_dns_name);
info->dc_address = talloc_asprintf(mem_ctx, "\\\\%s",
response.data.nt5_ex.sockaddr.pdc_ip);
+ info->dc_address_type = DS_ADDRESS_TYPE_INET;
W_ERROR_HAVE_NO_MEMORY(info->dc_address);
info->domain_guid = response.data.nt5_ex.domain_uuid;
info->domain_name = response.data.nt5_ex.dns_domain;
--
Samba Shared Repository
More information about the samba-cvs
mailing list