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 2025-11-18 15:29:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-SecretStorage (Old)
 and      /work/SRC/openSUSE:Factory/.python-SecretStorage.new.2061 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-SecretStorage"

Tue Nov 18 15:29:41 2025 rev:20 rq:1318260 version:3.4.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-SecretStorage/python-SecretStorage.changes    
    2025-11-05 16:19:43.257650692 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-SecretStorage.new.2061/python-SecretStorage.changes
      2025-11-18 15:31:03.285188101 +0100
@@ -1,0 +2,7 @@
+Mon Nov 17 09:42:41 UTC 2025 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to 3.4.1
+  * Make sure public key length is exactly 128 bytes [`#48`_].
+    This fixes ``Client public key size is invalid`` error from KWallet.
+
+-------------------------------------------------------------------

Old:
----
  secretstorage-3.4.0.tar.gz

New:
----
  secretstorage-3.4.1.tar.gz

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

Other differences:
------------------
++++++ python-SecretStorage.spec ++++++
--- /var/tmp/diff_new_pack.wleTyI/_old  2025-11-18 15:31:06.509323809 +0100
+++ /var/tmp/diff_new_pack.wleTyI/_new  2025-11-18 15:31:06.513323977 +0100
@@ -27,7 +27,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-SecretStorage%{psuffix}
-Version:        3.4.0
+Version:        3.4.1
 Release:        0
 Summary:        Python bindings to FreeDesktoporg Secret Service API
 License:        BSD-3-Clause

++++++ secretstorage-3.4.0.tar.gz -> secretstorage-3.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/LICENSE 
new/secretstorage-3.4.1/LICENSE
--- old/secretstorage-3.4.0/LICENSE     2025-09-09 18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/LICENSE     2025-11-11 12:30:06.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright 2012-2018 Dmitry Shachnev <[email protected]>
+Copyright 2012-2025 Dmitry Shachnev <[email protected]>
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/PKG-INFO 
new/secretstorage-3.4.1/PKG-INFO
--- old/secretstorage-3.4.0/PKG-INFO    2025-09-09 18:42:02.140015400 +0200
+++ new/secretstorage-3.4.1/PKG-INFO    2025-11-11 12:30:11.427642300 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: SecretStorage
-Version: 3.4.0
+Version: 3.4.1
 Summary: Python bindings to FreeDesktop.org Secret Service API
 Author-email: Dmitry Shachnev <[email protected]>
 License-Expression: BSD-3-Clause
@@ -16,6 +16,7 @@
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Security
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Requires-Python: >=3.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/SecretStorage.egg-info/PKG-INFO 
new/secretstorage-3.4.1/SecretStorage.egg-info/PKG-INFO
--- old/secretstorage-3.4.0/SecretStorage.egg-info/PKG-INFO     2025-09-09 
18:42:02.000000000 +0200
+++ new/secretstorage-3.4.1/SecretStorage.egg-info/PKG-INFO     2025-11-11 
12:30:11.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: SecretStorage
-Version: 3.4.0
+Version: 3.4.1
 Summary: Python bindings to FreeDesktop.org Secret Service API
 Author-email: Dmitry Shachnev <[email protected]>
 License-Expression: BSD-3-Clause
@@ -16,6 +16,7 @@
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Security
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Requires-Python: >=3.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/changelog 
new/secretstorage-3.4.1/changelog
--- old/secretstorage-3.4.0/changelog   2025-09-09 18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/changelog   2025-11-11 12:30:06.000000000 +0100
@@ -1,3 +1,11 @@
+SecretStorage 3.4.1, 2025-11-11
+===============================
+
+* Make sure public key length is exactly 128 bytes [`#48`_].
+  This fixes ``Client public key size is invalid`` error from KWallet.
+
+.. _`#48`: https://github.com/mitya57/secretstorage/issues/48
+
 SecretStorage 3.4.0, 2025-09-09
 ===============================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/docs/conf.py 
new/secretstorage-3.4.1/docs/conf.py
--- old/secretstorage-3.4.0/docs/conf.py        2025-09-09 18:41:55.000000000 
+0200
+++ new/secretstorage-3.4.1/docs/conf.py        2025-11-11 12:30:06.000000000 
+0100
@@ -25,7 +25,7 @@
 
 # General information about the project.
 project = 'SecretStorage'
-copyright = '2022, Dmitry Shachnev'
+copyright = '2025, Dmitry Shachnev'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -34,7 +34,7 @@
 # The short X.Y version.
 version = '3.4'
 # The full version, including alpha/beta/rc tags.
-release = '3.4.0'
+release = '3.4.1'
 
 # 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.4.0/pyproject.toml 
new/secretstorage-3.4.1/pyproject.toml
--- old/secretstorage-3.4.0/pyproject.toml      2025-09-09 18:41:55.000000000 
+0200
+++ new/secretstorage-3.4.1/pyproject.toml      2025-11-11 12:30:06.000000000 
+0100
@@ -4,7 +4,7 @@
 
 [project]
 name = "SecretStorage"
-version = "3.4.0"
+version = "3.4.1"
 description = "Python bindings to FreeDesktop.org Secret Service API"
 authors = [{name = "Dmitry Shachnev", email = "[email protected]"}]
 license = "BSD-3-Clause"
@@ -17,6 +17,7 @@
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
     "Topic :: Security",
     "Topic :: Software Development :: Libraries :: Python Modules",
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/secretstorage/__init__.py 
new/secretstorage-3.4.1/secretstorage/__init__.py
--- old/secretstorage-3.4.0/secretstorage/__init__.py   2025-09-09 
18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/secretstorage/__init__.py   2025-11-11 
12:30:06.000000000 +0100
@@ -29,7 +29,7 @@
 from secretstorage.item import Item
 from secretstorage.util import add_match_rules
 
-__version_tuple__ = (3, 4, 0)
+__version_tuple__ = (3, 4, 1)
 __version__ = '.'.join(map(str, __version_tuple__))
 
 __all__ = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/secretstorage/dhcrypto.py 
new/secretstorage-3.4.1/secretstorage/dhcrypto.py
--- old/secretstorage-3.4.0/secretstorage/dhcrypto.py   2025-09-09 
18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/secretstorage/dhcrypto.py   2025-11-11 
12:30:06.000000000 +0100
@@ -1,6 +1,6 @@
 # SecretStorage module for Python
 # Access passwords using the SecretService DBus API
-# Author: Dmitry Shachnev, 2014-2018
+# Author: Dmitry Shachnev, 2014-2025
 # License: 3-clause BSD, see LICENSE file
 
 '''This module contains needed classes, functions and constants
@@ -27,8 +27,10 @@
 )
 
 
-def int_to_bytes(number: int) -> bytes:
-    return number.to_bytes(math.ceil(number.bit_length() / 8), 'big')
+def int_to_bytes(number: int, length: int) -> bytes:
+    result = number.to_bytes(math.ceil(number.bit_length() / 8), 'big')
+    # Pad with zero bytes if needed.
+    return b'\x00' * (length - len(result)) + result
 
 
 DH_PRIME_1024 = int.from_bytes(DH_PRIME_1024_BYTES, 'big')
@@ -46,9 +48,7 @@
     def set_server_public_key(self, server_public_key: int) -> None:
         common_secret_int = pow(server_public_key, self.my_private_key,
                                 DH_PRIME_1024)
-        common_secret = int_to_bytes(common_secret_int)
-        # Prepend NULL bytes if needed
-        common_secret = b'\x00' * (0x80 - len(common_secret)) + common_secret
+        common_secret = int_to_bytes(common_secret_int, 128)
         # HKDF with null salt, empty info and SHA-256 hash
         salt = b'\x00' * 0x20
         pseudo_random_key = hmac.new(salt, common_secret, sha256).digest()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/secretstorage/util.py 
new/secretstorage-3.4.1/secretstorage/util.py
--- old/secretstorage-3.4.0/secretstorage/util.py       2025-09-09 
18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/secretstorage/util.py       2025-11-11 
12:30:06.000000000 +0100
@@ -1,6 +1,6 @@
 # SecretStorage module for Python
 # Access passwords using the SecretService DBus API
-# Author: Dmitry Shachnev, 2013-2018
+# Author: Dmitry Shachnev, 2013-2025
 # License: 3-clause BSD, see LICENSE file
 
 """This module provides some utility functions, but these shouldn't
@@ -102,7 +102,7 @@
         output, result = service.call(
             'OpenSession', 'sv',
             ALGORITHM_DH,
-            ('ay', int_to_bytes(session.my_public_key)))
+            ('ay', int_to_bytes(session.my_public_key, 128)))
     except DBusErrorResponse as resp:
         if resp.name != DBUS_NOT_SUPPORTED:
             raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/tests/test_collection.py 
new/secretstorage-3.4.1/tests/test_collection.py
--- old/secretstorage-3.4.0/tests/test_collection.py    2025-09-09 
18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/tests/test_collection.py    2025-11-11 
12:30:06.000000000 +0100
@@ -1,5 +1,5 @@
 # Tests for SecretStorage
-# Author: Dmitry Shachnev, 2013-2018
+# Author: Dmitry Shachnev, 2013-2025
 # License: 3-clause BSD, see LICENSE file
 
 # This file tests the secretstorage.Collection class.
@@ -41,7 +41,7 @@
             item.get_label()
 
     def test_create_empty_item(self) -> None:
-        item = self.collection.create_item('', {}, b'')
+        item = self.collection.create_item('Test', {}, b'')
         item.delete()
 
     def test_label(self) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/secretstorage-3.4.0/tests/test_dhcrypto.py 
new/secretstorage-3.4.1/tests/test_dhcrypto.py
--- old/secretstorage-3.4.0/tests/test_dhcrypto.py      2025-09-09 
18:41:55.000000000 +0200
+++ new/secretstorage-3.4.1/tests/test_dhcrypto.py      2025-11-11 
12:30:06.000000000 +0100
@@ -1,5 +1,5 @@
 # Tests for SecretStorage
-# Author: Dmitry Shachnev, 2014-2016
+# Author: Dmitry Shachnev, 2014-2025
 # License: 3-clause BSD, see LICENSE file
 
 # This file tests the dhcrypto module.
@@ -14,6 +14,7 @@
     between bytes and long."""
 
     def test_int_to_bytes(self) -> None:
-        self.assertEqual(int_to_bytes(1), b'\x01')
-        self.assertEqual(int_to_bytes(258), b'\x01\x02')
-        self.assertEqual(int_to_bytes(1 << 64), b'\x01' + b'\x00' * 8)
+        self.assertEqual(int_to_bytes(1, 1), b'\x01')
+        self.assertEqual(int_to_bytes(1, 2), b'\x00\x01')
+        self.assertEqual(int_to_bytes(258, 2), b'\x01\x02')
+        self.assertEqual(int_to_bytes(1 << 64, 9), b'\x01' + b'\x00' * 8)

Reply via email to