[SCM] Samba Shared Repository - branch master updated

Noel Power npower at samba.org
Tue Apr 2 17:29:01 UTC 2019


The branch, master has been updated
       via  47278bfaa6d waf: Simplify condition for undefined symbol detection
       via  9314bd0b25c samba_dnsupdate: small tweaks to make code more pythonic
      from  92c726dc7a8 make some auth functions return an NTSTATUS like other similar functions for better diagnostics.

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


- Log -----------------------------------------------------------------
commit 47278bfaa6dec543be49c0d66a2418928356a4a3
Author: Michael Hanselmann <public at hansmi.ch>
Date:   Sat Mar 23 00:14:52 2019 +0100

    waf: Simplify condition for undefined symbol detection
    
    There's no need to check for OpenBSD twice.
    
    Signed-off-by: Michael Hanselmann <public at hansmi.ch>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Noel Power <npower at samba.org>
    
    Autobuild-User(master): Noel Power <npower at samba.org>
    Autobuild-Date(master): Tue Apr  2 17:28:40 UTC 2019 on sn-devel-144

commit 9314bd0b25c397deec6e431c7f64be9e5c00d02b
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Wed Mar 27 15:21:14 2019 +1300

    samba_dnsupdate: small tweaks to make code more pythonic
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Noel Power <npower at samba.org>

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

Summary of changes:
 buildtools/wafsamba/samba_autoconf.py |  9 +++--
 source4/scripting/bin/samba_dnsupdate | 68 ++++++++++-------------------------
 2 files changed, 23 insertions(+), 54 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index ee1fc231eb9..98ffdfea458 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -919,12 +919,11 @@ def SETUP_CONFIGURE_CACHE(conf, enable):
 
 @conf
 def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
-    # we don't want any libraries or modules to rely on runtime
-    # resolution of symbols
     if not sys.platform.startswith("openbsd"):
+        # we don't want any libraries or modules to rely on runtime
+        # resolution of symbols
         conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
 
-    if not sys.platform.startswith("openbsd") and conf.env.undefined_ignore_ldflags == []:
-        if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup']):
+        if (conf.env.undefined_ignore_ldflags == [] and
+            conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'])):
             conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup']
-
diff --git a/source4/scripting/bin/samba_dnsupdate b/source4/scripting/bin/samba_dnsupdate
index 3fb540b202c..2ecb2ce9f1d 100755
--- a/source4/scripting/bin/samba_dnsupdate
+++ b/source4/scripting/bin/samba_dnsupdate
@@ -91,35 +91,21 @@ lp = sambaopts.get_loadparm()
 
 domain = lp.get("realm")
 host = lp.get("netbios name")
-if opts.all_interfaces:
-    all_interfaces = True
-else:
-    all_interfaces = False
+all_interfaces = opts.all_interfaces
 
-if opts.current_ip:
-    IPs = opts.current_ip
-else:
-    IPs = samba.interface_ips(lp, all_interfaces)
+IPs = opts.current_ip or samba.interface_ips(lp, bool(all_interfaces)) or []
 
 nsupdate_cmd = lp.get('nsupdate command')
 dns_zone_scavenging = lp.get("dns zone scavenging")
 
-if len(IPs) == 0:
+if not IPs:
     print("No IP interfaces - skipping DNS updates")
     sys.exit(0)
 
-if opts.rpc_server_ip:
-    rpc_server_ip = opts.rpc_server_ip
-else:
-    rpc_server_ip = IPs[0]
+rpc_server_ip = opts.rpc_server_ip or IPs[0]
 
-IP6s = []
-IP4s = []
-for i in IPs:
-    if i.find(':') != -1:
-        IP6s.append(i)
-    else:
-        IP4s.append(i)
+IP6s = [ip for ip in IPs if ':' in ip]
+IP4s = [ip for ip in IPs if ':' not in ip]
 
 smb_conf = sambaopts.get_loadparm_path()
 
@@ -132,23 +118,18 @@ def get_possible_rw_dns_server(creds, domain):
        (4.6 and prior) do not maintain this value, so add NS servers
        as well"""
 
-    hostnames = []
     ans_soa = check_one_dns_name(domain, 'SOA')
-
     # Actually there is only one
-    for i in range(len(ans_soa)):
-        hostnames.append(str(ans_soa[i].mname).rstrip('.'))
+    hosts_soa = [str(a.mname).rstrip('.') for a in ans_soa]
 
     # This is not strictly legit, but old Samba domains may have an
     # unmaintained SOA record, so go for any NS that we can get a
     # ticket to.
     ans_ns = check_one_dns_name(domain, 'NS')
-
     # Actually there is only one
-    for i in range(len(ans_ns)):
-        hostnames.append(str(ans_ns[i].target).rstrip('.'))
+    hosts_ns = [str(a.target).rstrip('.') for a in ans_ns]
 
-    return hostnames
+    return hosts_soa + hosts_ns
 
 def get_krb5_rw_dns_server(creds, domain):
     """Get a list of read-write DNS servers that we can obtain a ticket
@@ -160,8 +141,7 @@ def get_krb5_rw_dns_server(creds, domain):
 
     rw_dns_servers = get_possible_rw_dns_server(creds, domain)
     # Actually there is only one
-    for i in range(len(rw_dns_servers)):
-        target_hostname = str(rw_dns_servers[i])
+    for i, target_hostname in enumerate(rw_dns_servers):
         settings = {}
         settings["lp_ctx"] = lp
         settings["target_hostname"] = target_hostname
@@ -181,9 +161,8 @@ def get_krb5_rw_dns_server(creds, domain):
             return target_hostname
         except RuntimeError:
             # Only raise an exception if they all failed
-            if i != len(rw_dns_servers) - 1:
-                pass
-            raise
+            if i == len(rw_dns_servers) - 1:
+                raise
 
 def get_credentials(lp):
     """# get credentials if we haven't got them already."""
@@ -278,9 +257,7 @@ def hostname_match(h1, h2):
     return h1.lower().rstrip('.') == h2.lower().rstrip('.')
 
 def get_resolver(d=None):
-    resolv_conf = os.getenv('RESOLV_CONF')
-    if not resolv_conf:
-        resolv_conf = '/etc/resolv.conf'
+    resolv_conf = os.getenv('RESOLV_CONF', default='/etc/resolv.conf')
     resolver = dns.resolver.Resolver(filename=resolv_conf, configure=True)
 
     if d is not None and d.nameservers != []:
@@ -290,11 +267,10 @@ def get_resolver(d=None):
 
 def check_one_dns_name(name, name_type, d=None):
     resolver = get_resolver(d)
-    if d is not None and len(d.nameservers) == 0:
+    if d and not d.nameservers:
         d.nameservers = resolver.nameservers
-
-    ans = resolver.query(name, name_type)
-    return ans
+    # dns.resolver.Answer
+    return resolver.query(name, name_type)
 
 def check_dns_name(d):
     """check that a DNS entry exists."""
@@ -727,15 +703,9 @@ def call_rodc_update(d, op="add"):
 
 
 # get the list of DNS entries we should have
-if opts.update_list:
-    dns_update_list = opts.update_list
-else:
-    dns_update_list = lp.private_path('dns_update_list')
+dns_update_list = opts.update_list or lp.private_path('dns_update_list')
 
-if opts.update_cache:
-    dns_update_cache = opts.update_cache
-else:
-    dns_update_cache = lp.private_path('dns_update_cache')
+dns_update_cache = opts.update_cache or lp.private_path('dns_update_cache')
 
 krb5conf = None
 # only change the krb5.conf if we are not in selftest
@@ -895,7 +865,7 @@ else:
 use_samba_tool = opts.use_samba_tool
 use_nsupdate = opts.use_nsupdate
 # get our krb5 creds
-if len(delete_list) != 0 or len(update_list) != 0 and not opts.nocreds:
+if delete_list or update_list and not opts.nocreds:
     try:
         creds = get_credentials(lp)
     except RuntimeError as e:


-- 
Samba Shared Repository



More information about the samba-cvs mailing list