The branch, master has been updated
       via  88d694a waf: fixed configure again on RHEL5
       via  e409db9 s4-dns: added --fail-immediately option to samba_dnsupdate
       via  deaf7e5 s4-dns: fixed registration of multiple IPs in 
samba_dnsupdate
      from  1e29ee3 heimdal Fix handling of backwards cross-realm detection for 
Samba4

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


- Log -----------------------------------------------------------------
commit 88d694ac8e808a22495dcdd6af181f4738c1f21c
Author: Andrew Tridgell <tri...@samba.org>
Date:   Mon Nov 15 21:45:42 2010 +1100

    waf: fixed configure again on RHEL5
    
    the fancier cmd_output() broke git versioning
    
    Autobuild-User: Andrew Tridgell <tri...@samba.org>
    Autobuild-Date: Mon Nov 15 11:33:41 UTC 2010 on sn-devel-104

commit e409db9da170ae24e3806ccf87d411b42e582945
Author: Andrew Tridgell <tri...@samba.org>
Date:   Mon Nov 15 19:09:14 2010 +1100

    s4-dns: added --fail-immediately option to samba_dnsupdate
    
    this is useful for manual testing

commit deaf7e5995c5120a8009dcd90e17f7e0678d1206
Author: Andrew Tridgell <tri...@samba.org>
Date:   Mon Nov 15 10:54:50 2010 +1100

    s4-dns: fixed registration of multiple IPs in samba_dnsupdate
    
    bitten by python object references again!
    
    Pair-Programmed-With: Andrew Bartlett <abart...@samba.org>

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

Summary of changes:
 buildtools/wafsamba/samba_version.py  |    2 +-
 source4/scripting/bin/samba_dnsupdate |   16 ++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_version.py 
b/buildtools/wafsamba/samba_version.py
index 69f36eb..e6a6ccf 100644
--- a/buildtools/wafsamba/samba_version.py
+++ b/buildtools/wafsamba/samba_version.py
@@ -49,7 +49,7 @@ def git_version_summary(path, have_git):
     if not have_git:
         return ("GIT-UNKNOWN", {})
 
-    git = Utils.cmd_output(env={"GIT_DIR": "%s/.git" % path}, cmd=["git", 
"show", '--pretty=format:%h%n%ct%n%H%n%cd', "--stat", "HEAD"])
+    git = Utils.cmd_output('git show --pretty=format:"%h%n%ct%n%H%n%cd" --stat 
HEAD', silent=True)
 
     lines = git.splitlines()
     fields = {
diff --git a/source4/scripting/bin/samba_dnsupdate 
b/source4/scripting/bin/samba_dnsupdate
index 072f818..9911c6a 100755
--- a/source4/scripting/bin/samba_dnsupdate
+++ b/source4/scripting/bin/samba_dnsupdate
@@ -22,6 +22,7 @@ import os
 import fcntl
 import sys
 import tempfile
+import subprocess
 
 # ensure we get messages out immediately, so they get in the samba logs,
 # and don't get swallowed by a timeout
@@ -49,6 +50,7 @@ import dns.resolver as resolver
 
 default_ttl = 900
 am_rodc = False
+error_count = 0
 
 parser = optparse.OptionParser("samba_dnsupdate")
 sambaopts = options.SambaOptions(parser)
@@ -59,6 +61,7 @@ parser.add_option("--all-names", action="store_true")
 parser.add_option("--all-interfaces", action="store_true")
 parser.add_option("--use-file", type="string", help="Use a file, rather than 
real DNS calls")
 parser.add_option("--update-list", type="string", help="Add DNS names from the 
given file")
+parser.add_option("--fail-immediately", action='store_true', help="Exit on 
first failure")
 
 creds = None
 ccachename = None
@@ -253,7 +256,14 @@ def call_nsupdate(d):
     f.close()
 
     os.putenv("KRB5CCNAME", ccachename)
-    os.system("%s %s" % (nsupdate_cmd, tmpfile))
+    try:
+        cmd = "%s %s" % (nsupdate_cmd, tmpfile)
+        subprocess.check_call(cmd, shell=True)
+    except subprocess.CalledProcessError:
+        global error_count
+        if opts.fail_immediately:
+            sys.exit(1)
+        error_count = error_count + 1
     os.unlink(tmpfile)
 
 
@@ -360,7 +370,7 @@ for d in dns_list:
     if d.type == 'A' and d.ip == "$IP":
         d.ip = IPs[0]
         for i in range(len(IPs)-1):
-            d2 = d
+            d2 = dnsobj(str(d))
             d2.ip = IPs[i+1]
             dns_list.append(d2)
 
@@ -392,3 +402,5 @@ for d in update_list:
 # delete the ccache if we created it
 if ccachename is not None:
     os.unlink(ccachename)
+
+sys.exit(error_count)


-- 
Samba Shared Repository

Reply via email to