Hello community, here is the log from the commit of package yast2-gpmc for openSUSE:Factory checked in at 2019-09-10 00:06:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-gpmc (Old) and /work/SRC/openSUSE:Factory/.yast2-gpmc.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-gpmc" Tue Sep 10 00:06:49 2019 rev:4 rq:729513 version:1.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-gpmc/yast2-gpmc.changes 2019-08-01 15:48:34.773739518 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-gpmc.new.7948/yast2-gpmc.changes 2019-09-10 00:06:52.717193790 +0200 @@ -1,0 +2,10 @@ +Thu Aug 22 19:31:25 UTC 2019 - dmul...@suse.com + +- SamDB interface now allows gpmc to use krb5 auth; (boo#1146898); +- GPO Editor tree open immediate on navigate. +- Enable user management settings. +- Catch file not found on delete sysvol file. +- Handle multiple links when parsing a gpLink. +- 1.4.4 + +------------------------------------------------------------------- Old: ---- yast2-gpmc-1.4.3.tar.bz2 New: ---- yast2-gpmc-1.4.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-gpmc.spec ++++++ --- /var/tmp/diff_new_pack.IiMPBc/_old 2019-09-10 00:06:53.593193731 +0200 +++ /var/tmp/diff_new_pack.IiMPBc/_new 2019-09-10 00:06:53.597193731 +0200 @@ -17,7 +17,7 @@ Name: yast2-gpmc -Version: 1.4.3 +Version: 1.4.4 Release: 0 Summary: Group Policy Management Console for YaST License: GPL-3.0-only @@ -39,7 +39,7 @@ Requires: samba-client Requires: samba-python3 >= 4.10.0 Requires: yast2 -Requires: yast2-adcommon-python +Requires: yast2-adcommon-python >= 1.0 Requires: yast2-python3-bindings >= 4.0.0 Provides: yast-gpmc = %{version} ++++++ yast2-gpmc-1.4.3.tar.bz2 -> yast2-gpmc-1.4.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gpmc-1.4.3/package/yast2-gpmc.changes new/yast2-gpmc-1.4.4/package/yast2-gpmc.changes --- old/yast2-gpmc-1.4.3/package/yast2-gpmc.changes 2019-07-18 21:41:47.000000000 +0200 +++ new/yast2-gpmc-1.4.4/package/yast2-gpmc.changes 2019-09-09 17:47:33.000000000 +0200 @@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Thu Aug 22 19:31:25 UTC 2019 - dmul...@suse.com + +- SamDB interface now allows gpmc to use krb5 auth; (boo#1146898); +- GPO Editor tree open immediate on navigate. +- Enable user management settings. +- Catch file not found on delete sysvol file. +- Handle multiple links when parsing a gpLink. +- 1.4.4 + +------------------------------------------------------------------- Fri Jun 7 23:25:03 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> - Use new schema of desktop files (boo#1084864) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gpmc-1.4.3/package/yast2-gpmc.spec new/yast2-gpmc-1.4.4/package/yast2-gpmc.spec --- old/yast2-gpmc-1.4.3/package/yast2-gpmc.spec 2019-07-18 21:41:47.000000000 +0200 +++ new/yast2-gpmc-1.4.4/package/yast2-gpmc.spec 2019-09-09 17:47:33.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-gpmc -Version: 1.4.3 +Version: 1.4.4 Release: 0 Summary: Group Policy Management Console for YaST License: GPL-3.0-only @@ -40,7 +40,7 @@ Requires: samba-python3 >= 4.10.0 Requires: yast2 Requires: yast2-python3-bindings >= 4.0.0 -Requires: yast2-adcommon-python +Requires: yast2-adcommon-python >= 1.0 Provides: yast-gpmc = %{version} Obsoletes: yast-gpmc < %{version} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gpmc-1.4.3/src/include/gpmc/complex.py new/yast2-gpmc-1.4.4/src/include/gpmc/complex.py --- old/yast2-gpmc-1.4.3/src/include/gpmc/complex.py 2019-07-18 21:41:47.000000000 +0200 +++ new/yast2-gpmc-1.4.4/src/include/gpmc/complex.py 2019-09-09 17:47:33.000000000 +0200 @@ -98,16 +98,11 @@ def parse_gplink(gplink): '''parse a gPLink into an array of dn and options''' ret = {} - a = gplink.split(b']') - for g in a: - if not g: - continue - d = g.split(b';') - if len(d) != 2 or not d[0].startswith(b"[LDAP://"): - raise RuntimeError("Badly formed gPLink '%s'" % g) + a = re.findall(b'(LDAP://[^;]*);(\d+)', gplink) + for d in a: options = bin(int(d[1]))[2:].zfill(2) - name = d[0][8:].split(b',')[0][3:].decode() - ret[name] = {'enforced' : 'Yes' if int(options[-2]) else 'No', 'enabled' : 'No' if int(options[-1]) else 'Yes', 'dn' : d[0][8:].decode(), 'options' : int(d[1])} + name = d[0][7:].split(b',')[0][3:].decode() + ret[name] = {'enforced' : 'Yes' if int(options[-2]) else 'No', 'enabled' : 'No' if int(options[-1]) else 'Yes', 'dn' : d[0][7:].decode(), 'options' : int(d[1])} return ret def encode_gplink(gplist): @@ -580,6 +575,10 @@ text = text.encode('utf-8') try: self.conn.unlink(path) + except Exception as e: + if e.args[0] != 0xC0000034: # Object not found + ycpbuiltins.y2warning(str(e)) + try: self.conn.savefile(path, text) except Exception as e: if e.args[0] == 0xC000003A: # STATUS_OBJECT_PATH_NOT_FOUND diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gpmc-1.4.3/src/include/gpmc/dialogs.py new/yast2-gpmc-1.4.4/src/include/gpmc/dialogs.py --- old/yast2-gpmc-1.4.3/src/include/gpmc/dialogs.py 2019-07-18 21:41:47.000000000 +0200 +++ new/yast2-gpmc-1.4.4/src/include/gpmc/dialogs.py 2019-09-09 17:47:33.000000000 +0200 @@ -460,14 +460,13 @@ computer_config ), ] - if ENABLE_EXPERIMENTAL: - items.append( - Item('User Configuration', True, - user_config - ) + items.append( + Item('User Configuration', True, + user_config ) + ) - contents = Tree(Id('gpme_tree'), Opt('notify'), selected_gpo[1]['displayName'][-1], + contents = Tree(Id('gpme_tree'), Opt('notify', 'immediate'), selected_gpo[1]['displayName'][-1], items ) return contents @@ -482,7 +481,7 @@ selected_gpo = None self.__setup_menus() DeleteButtonBox() - ycred = YCreds(creds, auto_krb5_creds=False) + ycred = YCreds(creds) def cred_valid(): try: self.q = GPConnection(lp, creds) @@ -493,7 +492,10 @@ ycpbuiltins.y2error(str(e)) return False self.cred_valid = cred_valid - self.got_creds = ycred.Show(self.cred_valid) + if not self.cred_valid(): + self.got_creds = ycred.Show(self.cred_valid) + else: + self.got_creds = True def __setup_menus(self, actions=None): menus = [{'title': '&File', 'id': 'file', 'type': 'Menu'},