[SCM] Samba Shared Repository - branch master updated

Björn Baumbach bbaumbach at samba.org
Wed Sep 12 16:04:02 UTC 2018


The branch, master has been updated
       via  cc30805 samba_dnsupdate: honor 'dns zone scavenging' option, only update if needed
      from  3903f6c ctdb-build: Fix version handling when building tarball

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


- Log -----------------------------------------------------------------
commit cc30805e5c57a4440dc318a6a25c8c80cde0cef7
Author: Björn Baumbach <bb at sernet.de>
Date:   Wed Sep 5 16:54:01 2018 +0200

    samba_dnsupdate: honor 'dns zone scavenging' option, only update if needed
    
    Since scavenging is implemented the samba_dnsupdate command always updates all
    dns records required by the dc. This is not needed if dns zone scavenging
    is not enabled.
    
    This avoids the repeating TSIG error messages:
    
     # samba_dnsupdate --option='dns zone scavenging = yes' 2>&1 | uniq -c
         29 ; TSIG error with server: tsig verify failure
          1 Failed update of 29 entries
     # echo ${PIPESTATUS[0]}
     29
    
     # samba_dnsupdate --option='dns zone scavenging = no' 2>&1 | uniq -c
     # echo ${PIPESTATUS[0]}
     0
    
    Note that this results in about 60 lines in the log file,
    which triggered every 10 minutes ("dnsupdate:name interval=600" is the default).
    
    This restores the behavior before 8ef42d4dab4dfaf5ad225b33f7748914f14dcd8c,
    if "dns zone scavenging" is not switched on (which is still the default).
    
    Avoiding the message from happening at all is subject for more debugging,
    most likely they are caused by bugs in 'nsupdate -g' (from the bind package).
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13605
    
    Pair-programmed-with: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Björn Baumbach <bb at sernet.de>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Björn Baumbach <bb at sernet.de>
    Autobuild-Date(master): Wed Sep 12 18:03:10 CEST 2018 on sn-devel-144

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

Summary of changes:
 selftest/knownfail.d/dns              |  2 --
 source4/scripting/bin/samba_dnsupdate | 15 ++++++++++++++-
 2 files changed, 14 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/knownfail.d/dns b/selftest/knownfail.d/dns
index d23f5eb..ca18b43 100644
--- a/selftest/knownfail.d/dns
+++ b/selftest/knownfail.d/dns
@@ -70,5 +70,3 @@ samba.tests.dns.__main__.TestSimpleQueries.test_qtype_all_query\(rodc:local\)
 
 # The SOA override should not pass against the RODC, it must not overstamp
 samba.tests.dns.__main__.TestSimpleQueries.test_one_SOA_query\(rodc:local\)
-.*samba.tests.blackbox.samba_dnsupdate.SambaDnsUpdateTests.test_samba_dnsupate_set_ip
-.*samba.tests.blackbox.samba_dnsupdate.SambaDnsUpdateTests.test_samba_dnsupate_no_change
diff --git a/source4/scripting/bin/samba_dnsupdate b/source4/scripting/bin/samba_dnsupdate
index 071cebe..fda3beb 100755
--- a/source4/scripting/bin/samba_dnsupdate
+++ b/source4/scripting/bin/samba_dnsupdate
@@ -102,6 +102,8 @@ else:
 
 nsupdate_cmd = lp.get('nsupdate command')
 
+dns_zone_scavenging = lp.get("dns zone scavenging")
+
 if len(IPs) == 0:
     print "No IP interfaces - skipping DNS updates"
     sys.exit(0)
@@ -847,7 +849,18 @@ for d in dns_list:
         rebuild_cache = True
         if opts.verbose:
             print "need cache add: %s" % d
-    update_list.append(d)
+    if dns_zone_scavenging:
+        update_list.append(d)
+        if opts.verbose:
+            print "scavenging requires update: %s" % d
+    elif opts.all_names:
+        update_list.append(d)
+        if opts.verbose:
+            print "force update: %s" % d
+    elif not check_dns_name(d):
+        update_list.append(d)
+        if opts.verbose:
+            print "need update: %s" % d
 
 for c in cache_list:
     found = False


-- 
Samba Shared Repository



More information about the samba-cvs mailing list