Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyspnego for openSUSE:Factory 
checked in at 2026-09-04 12:38:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyspnego (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyspnego.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyspnego"

Fri Sep  4 12:38:08 2026 rev:22 rq:1375442 version:0.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyspnego/python-pyspnego.changes  
2026-03-05 17:32:05.904810849 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pyspnego.new.1265/python-pyspnego.changes    
    2026-09-04 12:38:40.786937976 +0200
@@ -1,0 +2,11 @@
+Tue Sep  1 14:24:42 UTC 2026 - Martin Hauke <[email protected]>
+
+- Update to version 0.12.2
+  * Fix up NTLM single host data unpacking to be less strict
+    making it compatible with newer Windows versions.
+  * Use canoncial Kerberos client principal from kinit operation,
+    this avoid issues around not being able to find TGT in cache
+    during Kerberos authentication.
+  * Use canonical client principal when initializing kinit ccache.
+
+-------------------------------------------------------------------

Old:
----
  pyspnego-0.12.1.tar.gz

New:
----
  pyspnego-0.12.2.tar.gz

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

Other differences:
------------------
++++++ python-pyspnego.spec ++++++
--- /var/tmp/diff_new_pack.FqbNRN/_old  2026-09-04 12:38:41.487962602 +0200
+++ /var/tmp/diff_new_pack.FqbNRN/_new  2026-09-04 12:38:41.489962672 +0200
@@ -23,7 +23,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-pyspnego
-Version:        0.12.1
+Version:        0.12.2
 Release:        0
 Summary:        Python SPNEGO authentication library
 License:        MIT

++++++ pyspnego-0.12.1.tar.gz -> pyspnego-0.12.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/.github/workflows/ci.yml 
new/pyspnego-0.12.2/.github/workflows/ci.yml
--- old/pyspnego-0.12.1/.github/workflows/ci.yml        2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/.github/workflows/ci.yml        2026-08-26 
07:00:47.000000000 +0200
@@ -25,7 +25,7 @@
     name: build sdist and universal wheel
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout@v6
+    - uses: actions/checkout@v7
 
     - name: build sdist and universal wheel
       run: |
@@ -58,8 +58,8 @@
         - '3.12'
         - '3.13'
         - '3.14'
+        - '3.15-dev'
         python-arch:
-        - x86
         - x64
         - arm64
         gssapi-provider:
@@ -69,15 +69,11 @@
 
         exclude:
         - os: ubuntu-latest
-          python-arch: x86
-        - os: ubuntu-latest
           python-arch: arm64
         - os: ubuntu-latest
           gssapi-provider: sspi
 
         - os: macOS-15-intel
-          python-arch: x86
-        - os: macOS-15-intel
           python-arch: arm64
         - os: macOS-15-intel
           gssapi-provider: mit
@@ -85,8 +81,6 @@
           gssapi-provider: sspi
 
         - os: macOS-latest
-          python-arch: x86
-        - os: macOS-latest
           python-arch: x64
         - os: macOS-latest
           python-version: 3.9
@@ -103,9 +97,9 @@
           gssapi-provider: heimdal
 
     steps:
-    - uses: actions/checkout@v6
+    - uses: actions/checkout@v7
 
-    - uses: actions/setup-python@v6
+    - uses: actions/setup-python@v7
       with:
         python-version: ${{ matrix.python-version }}
         architecture: ${{ matrix.python-arch }}
@@ -151,7 +145,7 @@
 
     - name: Upload Coverage to codecov
       if: always()
-      uses: codecov/codecov-action@v5
+      uses: codecov/codecov-action@v7
       with:
         files: ./coverage.xml
         flags: ${{ steps.os.outputs.name }},py${{ matrix.python-version }},${{ 
matrix.python-arch }},${{ matrix.gssapi-provider }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/.pre-commit-config.yaml 
new/pyspnego-0.12.2/.pre-commit-config.yaml
--- old/pyspnego-0.12.1/.pre-commit-config.yaml 2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/.pre-commit-config.yaml 2026-08-26 07:00:47.000000000 
+0200
@@ -1,13 +1,11 @@
 repos:
-- repo: https://github.com/psf/black
-  rev: 25.1.0
+- repo: https://github.com/astral-sh/ruff-pre-commit
+  rev: v0.16.4
   hooks:
-  - id: black
-
-- repo: https://github.com/PyCQA/isort
-  rev: 6.0.1
-  hooks:
-  - id: isort
+  - id: ruff-check
+    args:
+    - --fix
+  - id: ruff-format
 
 - repo: https://github.com/pre-commit/mirrors-mypy
   rev: v1.17.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/CHANGELOG.md 
new/pyspnego-0.12.2/CHANGELOG.md
--- old/pyspnego-0.12.1/CHANGELOG.md    2026-03-02 20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/CHANGELOG.md    2026-08-26 07:00:47.000000000 +0200
@@ -1,5 +1,10 @@
 # Changelog
 
+## 0.12.2 - 2026-08-26
+
+* Fix up NTLM single host data unpacking to be less strict making it 
compatible with newer Windows versions
+* Use canoncial Kerberos client principal from `kinit` operation, this avoid 
issues around not being able to find TGT in cache during Kerberos authentication
+
 ## 0.12.1 - 2026-03-03
 
 * Fix NTLM challenge parser when the `TargetInfo` contains extra data for 
`Single_Host_Data`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/build_helpers/lib.sh 
new/pyspnego-0.12.2/build_helpers/lib.sh
--- old/pyspnego-0.12.1/build_helpers/lib.sh    2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/build_helpers/lib.sh    2026-08-26 07:00:47.000000000 
+0200
@@ -73,8 +73,8 @@
         echo "::group::Running Sanity Checks"
     fi
 
-    python -m black . --check
-    python -m isort . --check-only
+    python -m ruff check .
+    python -m ruff format . --check
     python -m mypy .
 
     if [ x"${GITHUB_ACTIONS}" = "xtrue" ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/pyproject.toml 
new/pyspnego-0.12.2/pyproject.toml
--- old/pyspnego-0.12.1/pyproject.toml  2026-03-02 20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/pyproject.toml  2026-08-26 07:00:47.000000000 +0200
@@ -23,11 +23,12 @@
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
-    "Programming Language :: Python :: 3.14"
+    "Programming Language :: Python :: 3.14",
+    "Programming Language :: Python :: 3.15"
 ]
 dependencies = [
     "cryptography",
-    "sspilib >= 0.3.0; sys_platform == 'win32'"  # Introduces KeytabCredential
+    "sspilib >= 0.5.0; sys_platform == 'win32'"  # Retrieve canonicalized 
principal in cred.client
 ]
 dynamic = ["version"]
 
@@ -56,26 +57,20 @@
 [tool.setuptools.package-data]
 spnego = ["py.typed"]
 
-[tool.black]
+[tool.ruff]
 line-length = 120
-include = '\.pyi?$'
-exclude = '''
-/(
-    \.git
-  | \.hg
-  | \.mypy_cache
-  | \.tox
-  | \.venv
-  | _build
-  | buck-out
-  | build
-  | dist
-  | tests/integration/collections
-)/
-'''
+extend-exclude = [
+    "*.md",
+    "tests/integration/collections",
+]
+
+[tool.ruff.lint]
+select = [
+    "I",  # isort
+]
 
-[tool.isort]
-profile = "black"
+[tool.ruff.lint.isort]
+known-first-party = ["spnego"]
 
 [tool.mypy]
 exclude = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/requirements-test.txt 
new/pyspnego-0.12.2/requirements-test.txt
--- old/pyspnego-0.12.1/requirements-test.txt   2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/requirements-test.txt   2026-08-26 07:00:47.000000000 
+0200
@@ -1,9 +1,8 @@
-black == 25.1.0
 gssapi >= 1.5.0 ; sys_platform != 'win32'
 k5test ; sys_platform != 'win32'
 krb5 ; sys_platform != 'win32'
-isort == 6.0.1
 mypy == 1.17.1
+ruff == 0.16.4
 pre-commit
 pytest
 pytest-cov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/__main__.py 
new/pyspnego-0.12.2/src/spnego/__main__.py
--- old/pyspnego-0.12.1/src/spnego/__main__.py  2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/src/spnego/__main__.py  2026-08-26 07:00:47.000000000 
+0200
@@ -112,7 +112,6 @@
 
     info = []
     for av_id, raw_value in target_info.items():
-
         if av_id == AvId.eol:
             value = None
         elif av_id in text_values:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/_credssp_structures.py 
new/pyspnego-0.12.2/src/spnego/_credssp_structures.py
--- old/pyspnego-0.12.1/src/spnego/_credssp_structures.py       2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/src/spnego/_credssp_structures.py       2026-08-26 
07:00:47.000000000 +0200
@@ -259,9 +259,7 @@
             1: TSPasswordCreds,
             2: TSSmartCardCreds,
             6: TSRemoteGuardCreds,
-        }.get(
-            cred_type
-        )
+        }.get(cred_type)
         if not cred_class:
             raise ValueError("Unknown credType %s in TSCredentials, cannot 
unpack" % cred_type)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/_gss.py 
new/pyspnego-0.12.2/src/spnego/_gss.py
--- old/pyspnego-0.12.1/src/spnego/_gss.py      2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/src/spnego/_gss.py      2026-08-26 07:00:47.000000000 
+0200
@@ -46,9 +46,8 @@
 try:
     import gssapi
     import krb5
-    from gssapi.raw import ChannelBindings, GSSError
+    from gssapi.raw import ChannelBindings, GSSError, 
inquire_sec_context_by_oid, set_cred_option
     from gssapi.raw import exceptions as gss_errors
-    from gssapi.raw import inquire_sec_context_by_oid, set_cred_option
 except ImportError as e:
     GSSAPI_IMP_ERR = str(e)
     HAS_GSSAPI = False
@@ -246,7 +245,7 @@
         cred = krb5.get_init_creds_password(ctx, princ, init_opt, 
password=password)
 
     mem_ccache = krb5.cc_new_unique(ctx, b"MEMORY")
-    krb5.cc_initialize(ctx, mem_ccache, princ)
+    krb5.cc_initialize(ctx, mem_ccache, cred.client)
     krb5.cc_store_cred(ctx, mem_ccache, cred)
 
     return _gss_acquire_cred_from_ccache(mem_ccache, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/_kerberos.py 
new/pyspnego-0.12.2/src/spnego/_kerberos.py
--- old/pyspnego-0.12.1/src/spnego/_kerberos.py 2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/src/spnego/_kerberos.py 2026-08-26 07:00:47.000000000 
+0200
@@ -760,7 +760,6 @@
 
 
 class KerberosV5Msg(metaclass=_KerberosMsgType):
-
     MESSAGE_TYPE = KerberosMessageType.unknown
     PVNO = 5
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/_ntlm.py 
new/pyspnego-0.12.2/src/spnego/_ntlm.py
--- old/pyspnego-0.12.1/src/spnego/_ntlm.py     2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/src/spnego/_ntlm.py     2026-08-26 07:00:47.000000000 
+0200
@@ -567,7 +567,7 @@
             if channel_bindings:
                 if AvId.channel_bindings not in target_info:
                     raise BadBindingsError(
-                        context_msg="Acceptor bindings specified but not 
present in initiator " "response"
+                        context_msg="Acceptor bindings specified but not 
present in initiator response"
                     )
 
                 expected_bindings = target_info[AvId.channel_bindings]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/src/spnego/_version.py 
new/pyspnego-0.12.2/src/spnego/_version.py
--- old/pyspnego-0.12.1/src/spnego/_version.py  2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/src/spnego/_version.py  2026-08-26 07:00:47.000000000 
+0200
@@ -1,4 +1,4 @@
 # Copyright: (c) 2020, Jordan Borean (@jborean93) <[email protected]>
 # MIT License (see LICENSE or https://opensource.org/licenses/MIT)
 
-__version__ = "0.12.1"
+__version__ = "0.12.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/_ntlm_raw/test_crypto.py 
new/pyspnego-0.12.2/tests/_ntlm_raw/test_crypto.py
--- old/pyspnego-0.12.1/tests/_ntlm_raw/test_crypto.py  2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/tests/_ntlm_raw/test_crypto.py  2026-08-26 
07:00:47.000000000 +0200
@@ -75,8 +75,7 @@
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/a9dc740e-e12f-4fdd-8f2b-61a471731a14
     assert (
-        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c"
-        b"\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
+        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
     )
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/859a18d1-d7b2-4e98-a261-5b38cdf4b11d
@@ -103,14 +102,12 @@
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/a9dc740e-e12f-4fdd-8f2b-61a471731a14
     assert (
-        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c"
-        b"\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
+        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
     )
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/859a18d1-d7b2-4e98-a261-5b38cdf4b11d
     assert (
-        actual_lm == 
b"\x98\xde\xf7\xb8\x7f\x88\xaa\x5d\xaf\xe2\xdf\x77\x96\x88\xa1\x72"
-        b"\xde\xf1\x1c\x7d\x5c\xcd\xef\x13"
+        actual_lm == 
b"\x98\xde\xf7\xb8\x7f\x88\xaa\x5d\xaf\xe2\xdf\x77\x96\x88\xa1\x72\xde\xf1\x1c\x7d\x5c\xcd\xef\x13"
     )
 
     assert actual_kek == 
b"\xe5\x2c\xac\x67\x41\x9a\x9a\x22\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -133,14 +130,12 @@
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/a9dc740e-e12f-4fdd-8f2b-61a471731a14
     assert (
-        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c"
-        b"\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
+        actual_nt == 
b"\x67\xc4\x30\x11\xf3\x02\x98\xa2\xad\x35\xec\xe6\x4f\x16\x33\x1c\x44\xbd\xbe\xd9\x27\x84\x1f\x94"
     )
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/859a18d1-d7b2-4e98-a261-5b38cdf4b11d
     assert (
-        actual_lm == 
b"\x98\xde\xf7\xb8\x7f\x88\xaa\x5d\xaf\xe2\xdf\x77\x96\x88\xa1\x72"
-        b"\xde\xf1\x1c\x7d\x5c\xcd\xef\x13"
+        actual_lm == 
b"\x98\xde\xf7\xb8\x7f\x88\xaa\x5d\xaf\xe2\xdf\x77\x96\x88\xa1\x72\xde\xf1\x1c\x7d\x5c\xcd\xef\x13"
     )
     assert actual_kek == 
b"\xb0\x9e\x37\x9f\x7f\xbe\xcb\x1e\xaf\x0a\xfd\xcb\x03\x83\xc8\xa0"
 
@@ -160,8 +155,7 @@
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/becc1601-9c97-4553-aef7-7053d3db5883
     assert (
-        actual_nt == 
b"\x75\x37\xf8\x03\xae\x36\x71\x28\xca\x45\x82\x04\xbd\xe7\xca\xf8"
-        b"\x1e\x97\xed\x26\x83\x26\x72\x32"
+        actual_nt == 
b"\x75\x37\xf8\x03\xae\x36\x71\x28\xca\x45\x82\x04\xbd\xe7\xca\xf8\x1e\x97\xed\x26\x83\x26\x72\x32"
     )
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/63725b2b-21fc-4977-9b56-2b3e65f7be76
@@ -209,8 +203,7 @@
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/7e2b35f9-fe90-49fb-8c9d-30639a899160
     assert (
-        actual_lm == 
b"\x86\xc3\x50\x97\xac\x9c\xec\x10\x25\x54\x76\x4a\x57\xcc\xcc\x19"
-        b"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
+        actual_lm == 
b"\x86\xc3\x50\x97\xac\x9c\xec\x10\x25\x54\x76\x4a\x57\xcc\xcc\x19\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
     )
 
     # 
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/54973495-20d2-49e8-9925-c399a403ed4a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/_ntlm_raw/test_messages.py 
new/pyspnego-0.12.2/tests/_ntlm_raw/test_messages.py
--- old/pyspnego-0.12.1/tests/_ntlm_raw/test_messages.py        2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/tests/_ntlm_raw/test_messages.py        2026-08-26 
07:00:47.000000000 +0200
@@ -959,9 +959,7 @@
     assert actual.domain_name == TEST_USER_DOM
     assert actual.user_name == TEST_USER
     assert actual.workstation == TEST_WORKSTATION_NAME
-    assert (
-        actual.encrypted_random_session_key == 
b"\x51\x88\x22\xb1\xb3\xf3\x50\xc8" b"\x95\x86\x82\xec\xbb\x3e\x3c\xb7"
-    )
+    assert actual.encrypted_random_session_key == 
b"\x51\x88\x22\xb1\xb3\xf3\x50\xc8\x95\x86\x82\xec\xbb\x3e\x3c\xb7"
     assert actual.flags == 3800072757
     assert actual.mic is None
     assert actual.version == messages.Version(5, 1, 2600)
@@ -1035,9 +1033,7 @@
     assert actual.domain_name == TEST_USER_DOM
     assert actual.user_name == TEST_USER
     assert actual.workstation == TEST_WORKSTATION_NAME
-    assert (
-        actual.encrypted_random_session_key == 
b"\xc5\xda\xd2\x54\x4f\xc9\x79\x90" b"\x94\xce\x1c\xe9\x0b\xc9\xd0\x3e"
-    )
+    assert actual.encrypted_random_session_key == 
b"\xc5\xda\xd2\x54\x4f\xc9\x79\x90\x94\xce\x1c\xe9\x0b\xc9\xd0\x3e"
     assert actual.flags == 3800597045
     assert actual.mic is None
     assert actual.version == messages.Version(5, 1, 2600)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/_ntlm_raw/test_security.py 
new/pyspnego-0.12.2/tests/_ntlm_raw/test_security.py
--- old/pyspnego-0.12.1/tests/_ntlm_raw/test_security.py        2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/tests/_ntlm_raw/test_security.py        2026-08-26 
07:00:47.000000000 +0200
@@ -38,7 +38,7 @@
     b_data = to_bytes("Plaintext", encoding="utf-16-le")
     actual_msg, actual_signature = seal(TEST_NTLMV1_FLAGS, seal_handle, 
sign_key, 0, b_data)
 
-    assert actual_msg == 
b"\x56\xfe\x04\xd8\x61\xf9\x31\x9a\xf0\xd7\x23\x8a\x2e\x3b\x4d\x45" b"\x7f\xb8"
+    assert actual_msg == 
b"\x56\xfe\x04\xd8\x61\xf9\x31\x9a\xf0\xd7\x23\x8a\x2e\x3b\x4d\x45\x7f\xb8"
 
     # The docs example seems to keep the random pad in the signature even 
though the actual function definition sets
     # that to 0x00000000. Assert the actual working implementation that has 
been tested against MS servers.
@@ -61,7 +61,7 @@
     b_data = to_bytes("Plaintext", encoding="utf-16-le")
     actual_msg, actual_signature = seal(TEST_NTLMV1_CLIENT_CHALLENGE_FLAGS, 
seal_handle, sign_key, 0, b_data)
 
-    assert actual_msg == 
b"\xa0\x23\x72\xf6\x53\x02\x73\xf3\xaa\x1e\xb9\x01\x90\xce\x52\x00" b"\xc9\x9d"
+    assert actual_msg == 
b"\xa0\x23\x72\xf6\x53\x02\x73\xf3\xaa\x1e\xb9\x01\x90\xce\x52\x00\xc9\x9d"
     assert actual_signature == 
b"\x01\x00\x00\x00\xff\x2a\xeb\x52\xf6\x81\x79\x3a\x00\x00\x00\x00"
 
 
@@ -82,7 +82,7 @@
     b_data = to_bytes("Plaintext", encoding="utf-16-le")
     actual_msg, actual_signature = seal(flags, seal_handle, sign_key, 0, 
b_data)
 
-    assert actual_msg == 
b"\x54\xe5\x01\x65\xbf\x19\x36\xdc\x99\x60\x20\xc1\x81\x1b\x0f\x06" b"\xfb\x5f"
+    assert actual_msg == 
b"\x54\xe5\x01\x65\xbf\x19\x36\xdc\x99\x60\x20\xc1\x81\x1b\x0f\x06\xfb\x5f"
     assert actual_signature == 
b"\x01\x00\x00\x00\x7f\xb3\x8e\xc5\xc5\x5d\x49\x76\x00\x00\x00\x00"
 
 
@@ -98,7 +98,7 @@
     b_data = to_bytes("Plaintext", encoding="utf-16-le")
     actual_msg, actual_signature = seal(flags, seal_handle, sign_key, 0, 
b_data)
 
-    assert actual_msg == 
b"\x54\xe5\x01\x65\xbf\x19\x36\xdc\x99\x60\x20\xc1\x81\x1b\x0f\x06" b"\xfb\x5f"
+    assert actual_msg == 
b"\x54\xe5\x01\x65\xbf\x19\x36\xdc\x99\x60\x20\xc1\x81\x1b\x0f\x06\xfb\x5f"
     assert actual_signature == 
b"\x01\x00\x00\x00\x70\x35\x28\x51\xf2\x56\x43\x09\x00\x00\x00\x00"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/conftest.py 
new/pyspnego-0.12.2/tests/conftest.py
--- old/pyspnego-0.12.1/tests/conftest.py       2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/tests/conftest.py       2026-08-26 07:00:47.000000000 
+0200
@@ -64,7 +64,7 @@
         else:
             domain = "Dȫm̈Ąiᴞ"
 
-        tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$" ".creds")
+        tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$.creds")
         with open(tmp_creds, mode="wb") as fd:
             fd.write(to_bytes("%s:%s:%s" % (domain, username, password)))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/test_asn1.py 
new/pyspnego-0.12.2/tests/test_asn1.py
--- old/pyspnego-0.12.1/tests/test_asn1.py      2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/tests/test_asn1.py      2026-08-26 07:00:47.000000000 
+0200
@@ -104,7 +104,7 @@
 
 def test_extract_asn1_tlv_invalid_universal_class():
     expected = (
-        "Invalid ASN.1 OCTET STRING tags, actual tag class TagClass.universal 
and tag number " "TypeTagNumber.integer"
+        "Invalid ASN.1 OCTET STRING tags, actual tag class TagClass.universal 
and tag number TypeTagNumber.integer"
     )
     with pytest.raises(ValueError, match=re.escape(expected)):
         asn1.extract_asn1_tlv(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/test_channel_bindings.py 
new/pyspnego-0.12.2/tests/test_channel_bindings.py
--- old/pyspnego-0.12.1/tests/test_channel_bindings.py  2026-03-02 
20:15:11.000000000 +0100
+++ new/pyspnego-0.12.2/tests/test_channel_bindings.py  2026-08-26 
07:00:47.000000000 +0200
@@ -25,7 +25,7 @@
 def test_channel_bindings_none_pack():
     actual = cb.GssChannelBindings().pack()
 
-    assert actual == b"\x00\x00\x00\x00\x00\x00\x00\x00" 
b"\x00\x00\x00\x00\x00\x00\x00\x00" b"\x00\x00\x00\x00"
+    assert actual == 
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
 
 
 def test_channel_bindings_unpack():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/test_ntlm.py 
new/pyspnego-0.12.2/tests/test_ntlm.py
--- old/pyspnego-0.12.1/tests/test_ntlm.py      2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/tests/test_ntlm.py      2026-08-26 07:00:47.000000000 
+0200
@@ -46,7 +46,7 @@
 
 
 def test_get_credential_file_env_var_missing_file(tmpdir, monkeypatch):
-    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$" ".creds")
+    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$.creds")
 
     monkeypatch.setenv("NTLM_USER_FILE", tmp_creds)
 
@@ -55,7 +55,7 @@
 
 
 def test_get_credential_file(tmpdir, monkeypatch):
-    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$" ".creds")
+    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$.creds")
     with open(tmp_creds, mode="wb") as fd:
         fd.write(b"data")
 
@@ -135,7 +135,7 @@
     ],
 )
 def test_get_credential_from_file(line, username, domain, lm_hash, nt_hash, 
input, tmpdir, monkeypatch):
-    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$" ".creds")
+    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$.creds")
     monkeypatch.setenv("NTLM_USER_FILE", tmp_creds)
     with open(tmp_creds, mode="wb") as fd:
         fd.write(to_bytes(line))
@@ -148,14 +148,12 @@
 
 
 def test_get_credential_from_file_no_matches(tmpdir, monkeypatch):
-    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$" ".creds")
+    tmp_creds = os.path.join(to_text(tmpdir), "pÿspᴞӛgӫ TÈ$.creds")
     monkeypatch.setenv("NTLM_USER_FILE", tmp_creds)
     with open(tmp_creds, mode="wb") as fd:
         fd.write(b"domain:username:password")
 
-    with pytest.raises(
-        SpnegoError, match="Failed to find any matching credential in 
NTLM_USER_FILE " "credential store."
-    ):
+    with pytest.raises(SpnegoError, match="Failed to find any matching 
credential in NTLM_USER_FILE credential store."):
         ntlm._NTLMCredential(CredentialCache("fake\\username"))
 
 
@@ -425,7 +423,7 @@
     n = ntlm.NTLMProxy("user", "pass")
     with pytest.raises(
         SpnegoError,
-        match="Neither NEGOTIATE_OEM or NEGOTIATE_UNICODE flags were set, 
cannot derive " "encoding for text fields",
+        match="Neither NEGOTIATE_OEM or NEGOTIATE_UNICODE flags were set, 
cannot derive encoding for text fields",
     ):
         n._step_accept_negotiate(negotiate.tobytes())
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyspnego-0.12.1/tests/test_spnego.py 
new/pyspnego-0.12.2/tests/test_spnego.py
--- old/pyspnego-0.12.1/tests/test_spnego.py    2026-03-02 20:15:11.000000000 
+0100
+++ new/pyspnego-0.12.2/tests/test_spnego.py    2026-08-26 07:00:47.000000000 
+0200
@@ -19,10 +19,7 @@
         (GSSMech.kerberos.value, 
b"\x30\x0b\x06\x09\x2a\x86\x48\x86\xf7\x12\x01\x02\x02"),
         (
             [GSSMech.kerberos.value, GSSMech.ntlm.value],
-            b"\x30\x17\x06\x09\x2a\x86\x48\x86"
-            b"\xf7\x12\x01\x02\x02\x06\x0a\x2b"
-            b"\x06\x01\x04\x01\x82\x37\x02\x02"
-            b"\x0a",
+            
b"\x30\x17\x06\x09\x2a\x86\x48\x86\xf7\x12\x01\x02\x02\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a",
         ),
     ],
 )

Reply via email to