[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