Hello community,

here is the log from the commit of package yast2-samba-client for 
openSUSE:Factory checked in at 2019-02-24 18:03:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-samba-client (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-samba-client.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-samba-client"

Sun Feb 24 18:03:48 2019 rev:98 rq:677759 version:4.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-samba-client/yast2-samba-client.changes    
2019-02-15 09:53:14.471800906 +0100
+++ 
/work/SRC/openSUSE:Factory/.yast2-samba-client.new.28833/yast2-samba-client.changes
 2019-02-24 18:03:50.155765676 +0100
@@ -1,0 +2,7 @@
+Tue Feb  5 20:12:18 UTC 2019 - David Mulder <dmul...@suse.com>
+
+- Perform the workgroup lookup using samba python bindings;
+  (bsc#1124390).
+- 4.1.1
+
+-------------------------------------------------------------------

Old:
----
  yast2-samba-client-4.1.0.tar.bz2

New:
----
  yast2-samba-client-4.1.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-samba-client.spec ++++++
--- /var/tmp/diff_new_pack.vKXUbg/_old  2019-02-24 18:03:50.851765439 +0100
+++ /var/tmp/diff_new_pack.vKXUbg/_new  2019-02-24 18:03:50.851765439 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-samba-client
-Version:        4.1.0
+Version:        4.1.1
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-samba-client-4.1.0.tar.bz2 -> yast2-samba-client-4.1.1.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-samba-client-4.1.0/package/yast2-samba-client.changes 
new/yast2-samba-client-4.1.1/package/yast2-samba-client.changes
--- old/yast2-samba-client-4.1.0/package/yast2-samba-client.changes     
2019-01-29 10:42:00.000000000 +0100
+++ new/yast2-samba-client-4.1.1/package/yast2-samba-client.changes     
2019-02-20 15:52:34.000000000 +0100
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Tue Feb  5 20:12:18 UTC 2019 - David Mulder <dmul...@suse.com>
+
+- Perform the workgroup lookup using samba python bindings;
+  (bsc#1124390).
+- 4.1.1
+
+-------------------------------------------------------------------
 Fri Jan 18 19:38:21 UTC 2019 - David Mulder <dmul...@suse.com>
 
 - Use a cldap ping to search for the join server; (bsc#1122534).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-samba-client-4.1.0/package/yast2-samba-client.spec 
new/yast2-samba-client-4.1.1/package/yast2-samba-client.spec
--- old/yast2-samba-client-4.1.0/package/yast2-samba-client.spec        
2019-01-29 10:42:00.000000000 +0100
+++ new/yast2-samba-client-4.1.1/package/yast2-samba-client.spec        
2019-02-20 15:52:34.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-samba-client
-Version:        4.1.0
+Version:        4.1.1
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-samba-client-4.1.0/src/modules/SambaAD.pm 
new/yast2-samba-client-4.1.1/src/modules/SambaAD.pm
--- old/yast2-samba-client-4.1.0/src/modules/SambaAD.pm 2019-01-29 
10:42:00.000000000 +0100
+++ new/yast2-samba-client-4.1.1/src/modules/SambaAD.pm 2019-02-20 
15:52:34.000000000 +0100
@@ -287,31 +287,6 @@
 }
 
     
-
-# Get AD Domain name and return the name of work group ("Pre-Win2k Domain")
-# @param domain        the domain user entered
-# @param server AD server (used for querying)
-# @return      workgroup (returns domain if anything fails)
-BEGIN{$TYPEINFO{ADDomain2Workgroup}=["function","string","string", "string"]}
-sub ADDomain2Workgroup {
-
-    my ($self, $domain, $server) = @_;
-
-
-    return "" if $server eq "";
-
-    my $out    = SCR->Execute (".target.bash_output", "net -s $dummy_conf_file 
ads lookup -S $server | grep 'Pre-Win2k Domain' | cut -f 2");
-
-    y2debug ("net ads lookup -S $server: ", Dumper ($out));
-    if ($out->{"exit"} ne 0 || $out->{"stdout"} eq "") {
-       return $domain;
-    }
-    my $workgroup      = $out->{"stdout"};
-    chomp $workgroup;
-    y2milestone ("workgroup: $workgroup");
-    return $workgroup;
-}
-
 # Return the value of AD work group ("Pre-Win2k Domain") for the current ADS
 # @param domain        the domain user entered
 # @return      workgroup (returns domain if anything fails)
@@ -319,7 +294,8 @@
 sub GetWorkgroup {
 
     my ($self, $domain)        = @_;
-    return $self->ADDomain2Workgroup ($domain, $ads);
+    # Perform the workgroup lookup using samba python bindings (bsc#1124390)
+    return SambaAPI->ADDomain2Workgroup($domain, $ads);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-samba-client-4.1.0/src/modules/SambaAPI.py 
new/yast2-samba-client-4.1.1/src/modules/SambaAPI.py
--- old/yast2-samba-client-4.1.0/src/modules/SambaAPI.py        2019-01-29 
10:42:00.000000000 +0100
+++ new/yast2-samba-client-4.1.1/src/modules/SambaAPI.py        2019-02-20 
15:52:34.000000000 +0100
@@ -2,6 +2,21 @@
 import_module('PackageSystem')
 import_module('Package')
 from yast import PackageSystem, Package
+if not PackageSystem.Installed('samba-python3'):
+    if Package.InstallAll(['samba-python3']):
+        from samba.net import Net
+        from samba.credentials import Credentials
+        from samba.dcerpc import nbt
+    else:
+        raise ImportError("Failed to install samba python bindings 
samba-python3")
+
+# Global response to net.finddc()
+cldap_ret = None
+
+def net_lookup(domain):
+    global cldap_ret
+    net = Net(Credentials())
+    cldap_ret = net.finddc(domain=domain, flags=(nbt.NBT_SERVER_LDAP | 
nbt.NBT_SERVER_DS))
 
 # Check if a given workgroup is a Active Directory domain and return the name
 # of AD domain controler
@@ -10,14 +25,20 @@
 # @return string        non empty when ADS was found
 @Declare('string', 'string')
 def GetLDAPDS(workgroup):
-    if not PackageSystem.Installed('samba-python3'):
-        if not Package.InstallAll(['samba-python3']):
-            return ''
-    from samba.net import Net
-    from samba.credentials import Credentials
-    from samba.dcerpc import nbt
-    net = Net(Credentials())
-    cldap_ret = net.finddc(domain=workgroup, flags=(nbt.NBT_SERVER_LDAP | 
nbt.NBT_SERVER_DS))
-    ycpbuiltins.y2milestone('Found LDAP/DS server %s via cldap ping' % 
cldap_ret.pdc_dns_name)
-    return cldap_ret.pdc_dns_name
+    global cldap_ret
+    if not cldap_ret:
+        net_lookup(workgroup)
+    ycpbuiltins.y2milestone('Found LDAP/DS server %s via cldap ping' % 
cldap_ret.pdc_dns_name if cldap_ret else '')
+    return cldap_ret.pdc_dns_name if cldap_ret else ''
 
+# Get AD Domain name and return the name of work group ("Pre-Win2k Domain")
+# @param domain the domain user entered
+# @param server AD server (used for querying)
+# @return       workgroup (returns domain if anything fails)
+@Declare('string', 'string', 'string')
+def ADDomain2Workgroup(domain, server):
+    global cldap_ret
+    if not cldap_ret or server != cldap_ret.pdc_dns_name:
+        net_lookup(domain)
+    ycpbuiltins.y2milestone('workgroup: %s' % cldap_ret.domain_name if 
cldap_ret else domain)
+    return cldap_ret.domain_name if cldap_ret else domain


Reply via email to