Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-SecretStorage for openSUSE:Factory checked in at 2021-02-04 20:23:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-SecretStorage (Old) and /work/SRC/openSUSE:Factory/.python-SecretStorage.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-SecretStorage" Thu Feb 4 20:23:12 2021 rev:10 rq:868467 version:3.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-SecretStorage/python-SecretStorage.changes 2020-11-29 12:19:26.709457032 +0100 +++ /work/SRC/openSUSE:Factory/.python-SecretStorage.new.28504/python-SecretStorage.changes 2021-02-04 20:23:58.538817260 +0100 @@ -1,0 +2,7 @@ +Mon Feb 1 20:55:07 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 3.3.0: + * Use new-style Jeepney blocking I/O API. + * Python ??? 3.6 and Jeepney ??? 0.6 are now required. + +------------------------------------------------------------------- Old: ---- SecretStorage-3.2.0.tar.gz New: ---- SecretStorage-3.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-SecretStorage.spec ++++++ --- /var/tmp/diff_new_pack.NEerE8/_old 2021-02-04 20:23:59.146818185 +0100 +++ /var/tmp/diff_new_pack.NEerE8/_new 2021-02-04 20:23:59.150818191 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-SecretStorage # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,20 +19,20 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-SecretStorage -Version: 3.2.0 +Version: 3.3.0 Release: 0 Summary: Python bindings to FreeDesktoporg Secret Service API License: BSD-3-Clause URL: https://github.com/mitya57/secretstorage Source: https://files.pythonhosted.org/packages/source/S/SecretStorage/SecretStorage-%{version}.tar.gz BuildRequires: %{python_module cryptography} -BuildRequires: %{python_module jeepney >= 0.4.2} +BuildRequires: %{python_module jeepney >= 0.6} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: gnome-keyring BuildRequires: python-rpm-macros Requires: python-cryptography -Requires: python-jeepney >= 0.4.2 +Requires: python-jeepney >= 0.6 BuildArch: noarch %python_subpackages ++++++ SecretStorage-3.2.0.tar.gz -> SecretStorage-3.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/PKG-INFO new/SecretStorage-3.3.0/PKG-INFO --- old/SecretStorage-3.2.0/PKG-INFO 2020-11-07 18:45:07.085436800 +0100 +++ new/SecretStorage-3.3.0/PKG-INFO 2020-11-24 13:53:29.875572400 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: SecretStorage -Version: 3.2.0 +Version: 3.3.0 Summary: Python bindings to FreeDesktop.org Secret Service API Home-page: https://github.com/mitya57/secretstorage Author: Dmitry Shachnev @@ -21,8 +21,8 @@ This module provides a way for securely storing passwords and other secrets. - It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring - (since version 2.30) and KSecretsService. + It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring, + KSecretsService and KeePassXC. The main classes provided are ``secretstorage.Item``, representing a secret item (that has a *label*, a *secret* and some *attributes*) and @@ -100,12 +100,11 @@ Classifier: Operating System :: POSIX Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Topic :: Security Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.5 +Requires-Python: >=3.6 Description-Content-Type: text/x-rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/README.rst new/SecretStorage-3.3.0/README.rst --- old/SecretStorage-3.2.0/README.rst 2018-09-18 15:47:53.000000000 +0200 +++ new/SecretStorage-3.3.0/README.rst 2020-11-17 17:34:25.000000000 +0100 @@ -13,8 +13,8 @@ This module provides a way for securely storing passwords and other secrets. -It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring -(since version 2.30) and KSecretsService. +It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring, +KSecretsService and KeePassXC. The main classes provided are ``secretstorage.Item``, representing a secret item (that has a *label*, a *secret* and some *attributes*) and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/SecretStorage.egg-info/PKG-INFO new/SecretStorage-3.3.0/SecretStorage.egg-info/PKG-INFO --- old/SecretStorage-3.2.0/SecretStorage.egg-info/PKG-INFO 2020-11-07 18:45:06.000000000 +0100 +++ new/SecretStorage-3.3.0/SecretStorage.egg-info/PKG-INFO 2020-11-24 13:53:29.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: SecretStorage -Version: 3.2.0 +Version: 3.3.0 Summary: Python bindings to FreeDesktop.org Secret Service API Home-page: https://github.com/mitya57/secretstorage Author: Dmitry Shachnev @@ -21,8 +21,8 @@ This module provides a way for securely storing passwords and other secrets. - It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring - (since version 2.30) and KSecretsService. + It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring, + KSecretsService and KeePassXC. The main classes provided are ``secretstorage.Item``, representing a secret item (that has a *label*, a *secret* and some *attributes*) and @@ -100,12 +100,11 @@ Classifier: Operating System :: POSIX Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Topic :: Security Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.5 +Requires-Python: >=3.6 Description-Content-Type: text/x-rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/SecretStorage.egg-info/requires.txt new/SecretStorage-3.3.0/SecretStorage.egg-info/requires.txt --- old/SecretStorage-3.2.0/SecretStorage.egg-info/requires.txt 2020-11-07 18:45:06.000000000 +0100 +++ new/SecretStorage-3.3.0/SecretStorage.egg-info/requires.txt 2020-11-24 13:53:29.000000000 +0100 @@ -1,2 +1,2 @@ cryptography>=2.0 -jeepney>=0.4.2 +jeepney>=0.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/changelog new/SecretStorage-3.3.0/changelog --- old/SecretStorage-3.2.0/changelog 2020-11-07 18:35:56.000000000 +0100 +++ new/SecretStorage-3.3.0/changelog 2020-11-24 13:52:17.000000000 +0100 @@ -1,3 +1,10 @@ +SecretStorage 3.3.0, 2020-11-24 +=============================== + +* Use new-style Jeepney blocking I/O API. + Thanks Thomas Kluyver for the pull request! +* Python ??? 3.6 and Jeepney ??? 0.6 are now required. + SecretStorage 3.2.0, 2020-11-07 =============================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/docs/conf.py new/SecretStorage-3.3.0/docs/conf.py --- old/SecretStorage-3.2.0/docs/conf.py 2020-11-07 18:36:26.000000000 +0100 +++ new/SecretStorage-3.3.0/docs/conf.py 2020-11-24 13:48:19.000000000 +0100 @@ -31,9 +31,9 @@ # built documents. # # The short X.Y version. -version = '3.2' +version = '3.3' # The full version, including alpha/beta/rc tags. -release = '3.2.0' +release = '3.3.0' # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/docs/index.rst new/SecretStorage-3.3.0/docs/index.rst --- old/SecretStorage-3.2.0/docs/index.rst 2020-11-07 18:22:20.000000000 +0100 +++ new/SecretStorage-3.3.0/docs/index.rst 2020-11-17 17:33:40.000000000 +0100 @@ -6,8 +6,8 @@ secrets. It uses `D-Bus`_-based FreeDesktop.org `Secret Service`_ standard that is, -for example, supported by `GNOME Keyring`_ (since version 2.30) and by -KSecretsService_. +for example, supported by `GNOME Keyring`_ (since version 2.30), +KSecretsService_ and KeePassXC_. It allows one to create new secret items, delete and search for passwords matching given attributes. It also supports graphical prompts @@ -17,6 +17,7 @@ .. _`Secret Service`: https://specifications.freedesktop.org/secret-service/ .. _`GNOME Keyring`: https://wiki.gnome.org/Projects/GnomeKeyring .. _KSecretsService: https://community.kde.org/KDE_Utils/ksecretsservice +.. _KeePassXC: https://avaldes.co/2020/01/28/secret-service-keepassxc.html SecretStorage code is hosted on GitHub_. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/secretstorage/__init__.py new/SecretStorage-3.3.0/secretstorage/__init__.py --- old/SecretStorage-3.2.0/secretstorage/__init__.py 2020-11-07 18:36:34.000000000 +0100 +++ new/SecretStorage-3.3.0/secretstorage/__init__.py 2020-11-24 13:48:29.000000000 +0100 @@ -8,8 +8,7 @@ """ from jeepney.bus_messages import message_bus -from jeepney.integrate.blocking import DBusConnection, Proxy, \ - connect_and_authenticate +from jeepney.io.blocking import DBusConnection, Proxy, open_dbus_connection from secretstorage.collection import Collection, create_collection, \ get_all_collections, get_default_collection, get_any_collection, \ @@ -20,7 +19,7 @@ ItemNotFoundException, PromptDismissedException from secretstorage.util import add_match_rules -__version_tuple__ = (3, 2, 0) +__version_tuple__ = (3, 3, 0) __version__ = '.'.join(map(str, __version_tuple__)) __all__ = [ @@ -70,7 +69,7 @@ This function no longer accepts any arguments. """ try: - connection = connect_and_authenticate() + connection = open_dbus_connection() add_match_rules(connection) return connection except KeyError as ex: @@ -82,7 +81,7 @@ def check_service_availability(connection: DBusConnection) -> bool: - """Returns True if the Security Service daemon is either running or + """Returns True if the Secret Service daemon is either running or available for activation via D-Bus, False otherwise. .. versionadded:: 3.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/secretstorage/collection.py new/SecretStorage-3.3.0/secretstorage/collection.py --- old/SecretStorage-3.2.0/secretstorage/collection.py 2019-03-13 18:44:14.000000000 +0100 +++ new/SecretStorage-3.3.0/secretstorage/collection.py 2020-11-12 17:59:49.000000000 +0100 @@ -16,7 +16,7 @@ only in unlocked collection.""" from typing import Dict, Iterator, Optional -from jeepney.integrate.blocking import DBusConnection +from jeepney.io.blocking import DBusConnection from secretstorage.defines import SS_PREFIX, SS_PATH from secretstorage.dhcrypto import Session from secretstorage.exceptions import LockedException, ItemNotFoundException, \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/secretstorage/item.py new/SecretStorage-3.3.0/secretstorage/item.py --- old/SecretStorage-3.2.0/secretstorage/item.py 2020-01-08 17:16:19.000000000 +0100 +++ new/SecretStorage-3.3.0/secretstorage/item.py 2020-11-12 17:59:49.000000000 +0100 @@ -10,7 +10,7 @@ :meth:`~secretstorage.collection.Collection.unlock` method.""" from typing import Dict, Optional -from jeepney.integrate.blocking import DBusConnection +from jeepney.io.blocking import DBusConnection from secretstorage.defines import SS_PREFIX from secretstorage.dhcrypto import Session from secretstorage.exceptions import LockedException, PromptDismissedException diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/secretstorage/util.py new/SecretStorage-3.3.0/secretstorage/util.py --- old/SecretStorage-3.2.0/secretstorage/util.py 2020-01-08 17:16:19.000000000 +0100 +++ new/SecretStorage-3.3.0/secretstorage/util.py 2020-11-20 13:50:34.000000000 +0100 @@ -9,11 +9,11 @@ import os from typing import Any, List, Tuple -from jeepney import DBusAddress -from jeepney.bus_messages import MatchRule -from jeepney.integrate.blocking import DBusConnection -from jeepney.low_level import Message -from jeepney.wrappers import new_method_call, Properties, DBusErrorResponse +from jeepney import ( + DBusAddress, DBusErrorResponse, MatchRule, Message, MessageType, + new_method_call, Properties, +) +from jeepney.io.blocking import DBusConnection from secretstorage.defines import DBUS_UNKNOWN_METHOD, DBUS_NO_SUCH_OBJECT, \ DBUS_SERVICE_UNKNOWN, DBUS_NO_REPLY, DBUS_NOT_SUPPORTED, DBUS_EXEC_FAILED, \ SS_PATH, SS_PREFIX, ALGORITHM_DH, ALGORITHM_PLAIN @@ -44,7 +44,7 @@ def send_and_get_reply(self, msg: Message) -> Any: try: - return self._connection.send_and_get_reply(msg) + return self._connection.send_and_get_reply(msg, unwrap=True) except DBusErrorResponse as resp: if resp.name in (DBUS_UNKNOWN_METHOD, DBUS_NO_SUCH_OBJECT): raise ItemNotFoundException('Item does not exist!') from resp @@ -129,15 +129,15 @@ is a list of unlocked object paths """ prompt = DBusAddressWrapper(prompt_path, PROMPT_IFACE, connection) - dismissed = result = None - def callback(msg_body: Tuple[bool, List[str]]) -> None: - _dismissed, _result = msg_body - nonlocal dismissed, result - dismissed, result = bool(_dismissed), _result - connection.router.subscribe_signal(callback, prompt_path, PROMPT_IFACE, 'Completed') - prompt.call('Prompt', 's', '') - if result is None: - connection.recv_messages() + rule = MatchRule( + path=prompt_path, + interface=PROMPT_IFACE, + member='Completed', + type=MessageType.signal, + ) + with connection.filter(rule) as signals: + prompt.call('Prompt', 's', '') + dismissed, result = connection.recv_until_filtered(signals).body assert dismissed is not None assert result is not None return dismissed, result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SecretStorage-3.2.0/setup.cfg new/SecretStorage-3.3.0/setup.cfg --- old/SecretStorage-3.2.0/setup.cfg 2020-11-07 18:45:07.085436800 +0100 +++ new/SecretStorage-3.3.0/setup.cfg 2020-11-24 13:53:29.875572400 +0100 @@ -1,6 +1,6 @@ [metadata] name = SecretStorage -version = 3.2.0 +version = 3.3.0 description = Python bindings to FreeDesktop.org Secret Service API long_description = file: README.rst long_description_content_type = text/x-rst @@ -14,7 +14,6 @@ Operating System :: POSIX Programming Language :: Python Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 @@ -25,8 +24,8 @@ [options] packages = secretstorage -python_requires = >=3.5 -install_requires = cryptography>=2.0; jeepney>=0.4.2 +python_requires = >=3.6 +install_requires = cryptography>=2.0; jeepney>=0.6 [egg_info] tag_build =