Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyjwkest for openSUSE:Factory 
checked in at 2026-04-10 21:28:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyjwkest (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyjwkest.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyjwkest"

Fri Apr 10 21:28:41 2026 rev:5 rq:1345841 version:1.4.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyjwkest/python-pyjwkest.changes  
2023-09-06 18:58:14.799672886 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pyjwkest.new.21863/python-pyjwkest.changes   
    2026-04-10 21:28:44.846339359 +0200
@@ -1,0 +2,11 @@
+Fri Apr 10 13:38:14 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.4.4:
+  * Raise proper exception when failing to deserialize an EC key
+  * Fix deprecated API for array tostring and tobytes
+  * Add pyproject.toml
+  * Fix logging instance
+  * Add maintainance warning
+- drop py39-tobytes.patch (upstream)
+
+-------------------------------------------------------------------

Old:
----
  py39-tobytes.patch
  pyjwkest-1.4.2-gh.tar.gz

New:
----
  pyjwkest-1.4.4-gh.tar.gz

----------(Old B)----------
  Old:  * Add maintainance warning
- drop py39-tobytes.patch (upstream)
----------(Old E)----------

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

Other differences:
------------------
++++++ python-pyjwkest.spec ++++++
--- /var/tmp/diff_new_pack.xo1qQf/_old  2026-04-10 21:28:45.786378327 +0200
+++ /var/tmp/diff_new_pack.xo1qQf/_new  2026-04-10 21:28:45.790378493 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pyjwkest
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,13 @@
 #
 
 
-%define commit 9ed11b406911dde70b281b2473a976ec88afd1a9
 Name:           python-pyjwkest
-Version:        1.4.2
+Version:        1.4.4
 Release:        0
 Summary:        Python implementation of JWT, JWE, JWS and JWK
 License:        Apache-2.0
-URL:            https://github.com//IdentityPython/pyjwkest
-#Source:         
https://files.pythonhosted.org/packages/source/p/pyjwkest/pyjwkest-%%{version}.tar.gz
-# 1.4.2, released on PyPI is untagged on GitHub, but we need the tests
-Source:         
https://github.com/IdentityPython/pyjwkest/archive/%{commit}.tar.gz#/pyjwkest-%{version}-gh.tar.gz
-# PATCH-FIX-OPENSUSE (upstream is unmaintained) -- py 3.9 compatibility. Works 
for all of py3.
-Patch0:         py39-tobytes.patch
+URL:            https://github.com/IdentityPython/pyjwkest
+Source:         
https://github.com/IdentityPython/pyjwkest/archive/refs/tags/v%{version}.tar.gz#/pyjwkest-%{version}-gh.tar.gz
 Patch1:         remove-future-requirement.patch
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
@@ -38,7 +33,7 @@
 Requires:       python-requests
 Requires:       python-six
 Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
 BuildArch:      noarch
 BuildRequires:  %{python_module pycryptodomex}
 BuildRequires:  %{python_module pytest}
@@ -53,7 +48,7 @@
 Note: This library is NOT actively maintained anymore.
 
 %prep
-%autosetup -p1 -n pyjwkest-%{commit}
+%autosetup -p1 -n pyjwkest-%{version}
 # https://github.com/rohe/pyjwkest/pull/1
 chmod a+x script/gen_symkey.py
 sed -i '1 {s:^#!:#!/usr/bin/env python:}' script/gen_symkey.py

++++++ pyjwkest-1.4.2-gh.tar.gz -> pyjwkest-1.4.4-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/CHANGELOG.md 
new/pyjwkest-1.4.4/CHANGELOG.md
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/CHANGELOG.md  
1970-01-01 01:00:00.000000000 +0100
+++ new/pyjwkest-1.4.4/CHANGELOG.md     2025-10-04 14:29:01.000000000 +0200
@@ -0,0 +1,11 @@
+# Changelog
+
+
+## 1.4.4 (2025-10-04)
+
+- Add changelog
+- Raise proper exception when failing to deserialize an EC key
+- Fix deprecated API for array tostring and tobytes
+- Add pyproject.toml
+- Fix logging instance
+- Add maintainance warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/README.rst 
new/pyjwkest-1.4.4/README.rst
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/README.rst    
2019-06-27 20:23:07.000000000 +0200
+++ new/pyjwkest-1.4.4/README.rst       2025-10-04 14:29:01.000000000 +0200
@@ -1,3 +1,8 @@
+NOTE!! This library is **NOT** actively maintained anymore.
+
+If someone wants to take over the responsibility of maintaining it,
+contact me (https://github.com/rohe).
+
 pyjwkest
 ========
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/pyproject.toml 
new/pyjwkest-1.4.4/pyproject.toml
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/pyproject.toml        
1970-01-01 01:00:00.000000000 +0100
+++ new/pyjwkest-1.4.4/pyproject.toml   2025-10-04 14:29:01.000000000 +0200
@@ -0,0 +1,4 @@
+[build-system]
+# XXX: If your project needs other packages to build properly, add them to 
this list.
+requires = ["setuptools >= 64"]
+build-backend = "setuptools.build_meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/__init__.py 
new/pyjwkest-1.4.4/src/jwkest/__init__.py
--- 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/__init__.py    
    2019-06-27 20:23:07.000000000 +0200
+++ new/pyjwkest-1.4.4/src/jwkest/__init__.py   2025-10-04 14:29:01.000000000 
+0200
@@ -14,7 +14,7 @@
 
 from binascii import unhexlify
 
-__version__ = "1.4.2"
+__version__ = "1.4.4"
 
 logger = logging.getLogger(__name__)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/jwk.py 
new/pyjwkest-1.4.4/src/jwkest/jwk.py
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/jwk.py     
2019-06-27 20:23:07.000000000 +0200
+++ new/pyjwkest-1.4.4/src/jwkest/jwk.py        2025-10-04 14:29:01.000000000 
+0200
@@ -1,30 +1,29 @@
 import base64
 import binascii
 import hashlib
-import re
-import logging
 import json
+import logging
+import re
 import sys
-import six
-
 from binascii import a2b_base64
 
+import six
 from Cryptodome.PublicKey import RSA
-from Cryptodome.PublicKey.RSA import importKey
 from Cryptodome.PublicKey.RSA import RsaKey
+from Cryptodome.PublicKey.RSA import importKey
 from Cryptodome.Util.asn1 import DerSequence
-
+from jwkest.ecc import ECCException
 from requests import request
 
+from jwkest import JWKESTException
+from jwkest import UnknownAlgorithm
 from jwkest import as_bytes
 from jwkest import as_unicode
+from jwkest import b64d
+from jwkest import b64e
 from jwkest import base64_to_long
 from jwkest import base64url_to_long
 from jwkest import long_to_base64
-from jwkest import JWKESTException
-from jwkest import b64d
-from jwkest import b64e
-from jwkest import UnknownAlgorithm
 from jwkest.ecc import NISTEllipticCurve
 from jwkest.jwt import b2s_conv
 
@@ -245,7 +244,7 @@
     required = ['kty']
 
     def __init__(self, kty="", alg="", use="", kid="", key=None, x5c=None,
-            x5t="", x5u="", **kwargs):
+                 x5t="", x5u="", **kwargs):
         self.key = key
         self.extra_args = kwargs
 
@@ -420,8 +419,8 @@
     required = ['kty', 'n', 'e']
 
     def __init__(self, kty="RSA", alg="", use="", kid="", key=None,
-            x5c=None, x5t="", x5u="", n="", e="", d="", p="", q="",
-            dp="", dq="", di="", qi="", **kwargs):
+                 x5c=None, x5t="", x5u="", n="", e="", d="", p="", q="",
+                 dp="", dq="", di="", qi="", **kwargs):
         Key.__init__(self, kty, alg, use, kid, key, x5c, x5t, x5u, **kwargs)
         self.n = n
         self.e = e
@@ -568,7 +567,7 @@
     required = ['crv', 'key', 'x', 'y']
 
     def __init__(self, kty="EC", alg="", use="", kid="", key=None,
-            crv="", x="", y="", d="", curve=None, **kwargs):
+                 crv="", x="", y="", d="", curve=None, **kwargs):
         Key.__init__(self, kty, alg, use, kid, key, **kwargs)
         self.crv = crv
         self.x = x
@@ -603,7 +602,12 @@
         except ValueError as err:
             raise DeSerializationNotPossible("%s" % err)
 
-        self.curve = NISTEllipticCurve.by_name(self.crv)
+        try:
+            self.curve = NISTEllipticCurve.by_name(self.crv)
+        except ECCException as err:
+            logger.warning(err)
+            raise DeSerializationNotPossible(err)
+
         if self.d:
             try:
                 if isinstance(self.d, six.string_types):
@@ -669,7 +673,7 @@
     required = ['k', 'kty']
 
     def __init__(self, kty="oct", alg="", use="", kid="", key=None,
-            x5c=None, x5t="", x5u="", k="", mtrl="", **kwargs):
+                 x5c=None, x5t="", x5u="", k="", mtrl="", **kwargs):
         Key.__init__(self, kty, alg, use, kid, as_bytes(key), x5c, x5t, x5u,
                      **kwargs)
         self.k = k
@@ -797,7 +801,12 @@
 
     def load_dict(self, dikt):
         for kspec in dikt["keys"]:
-            self._keys.append(keyrep(kspec))
+            try:
+                _key = keyrep(kspec)
+            except ECCException as err:
+                logger.warning(err)
+            else:
+                self._keys.append(_key)
 
     def load_jwks(self, jwks):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/jwt.py 
new/pyjwkest-1.4.4/src/jwkest/jwt.py
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/src/jwkest/jwt.py     
2019-06-27 20:23:07.000000000 +0200
+++ new/pyjwkest-1.4.4/src/jwkest/jwt.py        2025-10-04 14:29:01.000000000 
+0200
@@ -82,7 +82,7 @@
             else:
                 headers = {'alg': 'none'}
 
-        logging.debug('JWT header: {}'.format(headers))
+        logger.debug('JWT header: {}'.format(headers))
 
         if not parts:
             return ".".join([a.decode() for a in self.b64part])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/tests/test_4_jwe.py 
new/pyjwkest-1.4.4/tests/test_4_jwe.py
--- old/pyjwkest-9ed11b406911dde70b281b2473a976ec88afd1a9/tests/test_4_jwe.py   
2019-06-27 20:23:07.000000000 +0200
+++ new/pyjwkest-1.4.4/tests/test_4_jwe.py      2025-10-04 14:29:01.000000000 
+0200
@@ -25,7 +25,7 @@
 
 
 def intarr2bytes(arr):
-    return array.array('B', arr).tostring()
+    return array.array('B', arr).tobytes()
 
 
 def bytes2intarr(bts):

Reply via email to