Sync from SUSE:SLFO:Main python-pyspnego revision ef4e1fc93c4d54e77041d84d51491e5e
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
BIN
pyspnego-0.11.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
pyspnego-0.11.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
272
python-pyspnego.changes
Normal file
272
python-pyspnego.changes
Normal file
@@ -0,0 +1,272 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 11 20:27:41 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.11.2
|
||||||
|
* Fix CredSSP acceptor with LibreSSL.
|
||||||
|
* Bump dev deps and add 3.13 support.
|
||||||
|
* Update integration tests for 3.13.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 5 19:04:53 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.11.1:
|
||||||
|
* Import `ARC4` cipher from the new `decrepits` module sub-
|
||||||
|
package, this removes the warning issued in newer versions of
|
||||||
|
the `cryptography` library
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 20 07:36:41 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.11.0:
|
||||||
|
* Support input password string encoded with the
|
||||||
|
`surrogatepass` error option
|
||||||
|
* This allows the caller to provide a password for a gMSA or
|
||||||
|
machine account that could contain invalid surrogate pairs
|
||||||
|
for both NTLM and Kerberos auth.
|
||||||
|
* Stop using deprecated `datetime.dateime.utcnow()` for CredSSP
|
||||||
|
acceptor context
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 8 22:35:51 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.10.2:
|
||||||
|
* Another rename of the `sspi` package dependency to `sspilib`
|
||||||
|
* Rename `sspi` package dependency to `sspic` to avoid
|
||||||
|
conflicts with pywin32
|
||||||
|
* Drop support for Python 3.7 - new minimum is 3.8+
|
||||||
|
* Moved SSPI bindings out into a separate package called `sspi`
|
||||||
|
This simplifies this project as it doesn't have to worry
|
||||||
|
about SSPI correctness. The `sspi` package improves
|
||||||
|
performance and memory allocation with a more robust API
|
||||||
|
* Fixes an issue with Cython 3 allowing it to align with more
|
||||||
|
modern versions going forward
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 4 18:26:17 UTC 2023 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.9.2
|
||||||
|
* Only CI related changes
|
||||||
|
- Update to version 0.9.1
|
||||||
|
* Always set the NTLMSSP_REQUEST_VERSION flag on the
|
||||||
|
NTLM Negotiate message. This aligns the behaviour with how
|
||||||
|
SSPI generates this message.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 10 07:03:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.9.0:
|
||||||
|
* Added the `spnego.ContextReq.dce_style` flag to enable DCE
|
||||||
|
authentication mode
|
||||||
|
* The value for `spnego.iov.BufferType.sign_only` on SSPI has
|
||||||
|
changed from representing `SECBUFFER_MECHLIST` to
|
||||||
|
`SECBUFFER_READONLY_WITH_CHECKSUM`
|
||||||
|
* Added the IOV buffer type
|
||||||
|
`spnego.iov.BufferType.data_readonly`
|
||||||
|
* Added limited support for `wrap_iov` and `unwrap_iov` in the
|
||||||
|
Python NTLM context provider.
|
||||||
|
* Added the `query_message_sizes()` function on a context to
|
||||||
|
retrieve the important message sizes
|
||||||
|
Currently this only contains the size of the message
|
||||||
|
`header`, also known as the signature or security trailer
|
||||||
|
* Added the `spnego.ContextReq.no_integrity` flag to disable
|
||||||
|
integrity/confidentiality on Kerberos/Negotiate contexts
|
||||||
|
* Added optional kwargs to `step()` on a security context
|
||||||
|
`channel_bindings`
|
||||||
|
* Added support for decoding the following TLS payloads with
|
||||||
|
`python -m spnego --token ...`
|
||||||
|
* Client Hello
|
||||||
|
* Server Hello
|
||||||
|
* Certificate
|
||||||
|
* Server Key Exchange
|
||||||
|
* Client Key Exchange
|
||||||
|
* Certificate Request
|
||||||
|
* Added the `new_context()` method on the context proxies to
|
||||||
|
provide an easy and efficient way to re-use the context
|
||||||
|
credentials and options for a new context
|
||||||
|
* Removed use of `gssntlmssp` to simplify codebase and ensure a
|
||||||
|
consistent experience across OS versions
|
||||||
|
* Using NTLM on a non-Windows system will use the Python NTLM
|
||||||
|
implementation instead
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 9 13:49:10 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>
|
||||||
|
|
||||||
|
- add sle15_python_module_pythons
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 9 18:35:52 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.6.3
|
||||||
|
* Ignore GSS_S_NO_CONTEXT errors on GSSAPI after stepping through the token exchange before the context is complete
|
||||||
|
This is raised by MIT krb5 before 1.14.x and can be ignored
|
||||||
|
|
||||||
|
- Update to 0.6.2
|
||||||
|
* Fix up sdist and wheels to include py.typed type annotation marker
|
||||||
|
|
||||||
|
- Update to 0.6.1
|
||||||
|
* Added Python 3.11 wheel
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 28 20:23:03 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.6.0
|
||||||
|
* Drop support for Python 3.6 - new minimum is 3.7+
|
||||||
|
* Moved setuptools config into pyproject.toml and made Cython a build requirement for Windows
|
||||||
|
For most users this is a hidden change
|
||||||
|
If a tool follows the PEP 517 standard, like pip, this build dependency will work automatically
|
||||||
|
The pre cythonised files are no longer included in the sdist going forward
|
||||||
|
|
||||||
|
- Update to 0.5.4
|
||||||
|
* Fix str of enum values when running in Python 3.11 to be consistent with older versions
|
||||||
|
* Support gssapi on 1.5.x which comes with RHEL 8.
|
||||||
|
|
||||||
|
- Update to 0.5.3
|
||||||
|
* Fix heap allocation errors when running with heap allocation monitoring on Windows
|
||||||
|
|
||||||
|
- Update to 0.5.2
|
||||||
|
* Added custom MD4 hashing code for NTLM to use.
|
||||||
|
Newer Linux distributions ship with OpenSSL 3.x which typically disables MD4 breaking the use of hashlib.new('md4', b"")
|
||||||
|
Using this custom code allows NTLM to continue to work
|
||||||
|
While it's bad to continue to use older hashing mechanisms in this case there is no valid alternative available
|
||||||
|
|
||||||
|
- Update to 0.5.1
|
||||||
|
* Call gss_inquire_sec_context_by_oid(ctx, spnego_req_mechlistMIC_oid) when using pure NTLM over GSSAPI to ensure the token contains a MIC
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 1 12:14:25 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.5.0:
|
||||||
|
* Added the `auth_stage` extra_info for a CredSSP context to give a human
|
||||||
|
friendly indication of what sub auth stage it is up to.
|
||||||
|
* Added the `protocol_version` extra_info for a CredSSP context to return the
|
||||||
|
negotiated CredSSP protocol version.
|
||||||
|
* Added the `credssp_min_protocol` keyword argument for a CredSSP context to
|
||||||
|
set a minimum version the caller will accept of the peer.
|
||||||
|
* This can be set to `5+` to ensure the peer supports and applies the mitigations for CVE-2018-0886.
|
||||||
|
* Added safeguards when trying to retrieve the completed context attributes
|
||||||
|
of `NegotiateProxy` before any contexts have been set up
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 22 09:26:20 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.4.0:
|
||||||
|
* Add `usage` argument for `tls.default_tls_context` to control whether the
|
||||||
|
context is for a initiator or acceptor
|
||||||
|
* Add type annotations and include `py.typed` in the package for downstream
|
||||||
|
library use
|
||||||
|
* Expose the `ContextProxy` class for type annotation use
|
||||||
|
* Added `get_extra_info` to `ContextProxy` to expose a common way to retrieve
|
||||||
|
context specific information, this is currently used by CredSSP to retrieve
|
||||||
|
* `client_credential`: The delegated client credential for acceptors
|
||||||
|
once the context is complete
|
||||||
|
* `sslcontext`: The SSL context used to create the TLS object
|
||||||
|
* `ssl_object`: The TLS object used during the CredSSP exchange
|
||||||
|
* The `client_credential` property on `CredSSP` has been removed in
|
||||||
|
favour of `context.get_extra_info('client_credential')
|
||||||
|
* Added support for custom credential types
|
||||||
|
* Can be used to for things like NTLM authentication with NT/LM hashes,
|
||||||
|
Kerberos with a keytab or from an explicit CCache, etc
|
||||||
|
* Support calling SSPI through `pyspnego`'s Negotiate proxy context
|
||||||
|
* This allows users on Windows to still use Negotiate auth but with a
|
||||||
|
complex set of credentials
|
||||||
|
* Also opens up the ability to use Negotiate but only with Kerberos auth
|
||||||
|
* The `username` and `password` property on the auth context object are
|
||||||
|
deprecated and will return `None` until it is removed in a future release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Nov 6 11:10:17 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Reactivate python36 build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 29 18:44:17 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.3.1
|
||||||
|
* Do not convert GSSAPI service to lowercase for GSSAPI and
|
||||||
|
uppercase for SSPI
|
||||||
|
* SPNs are case insensitive on Windows but case sensitive on
|
||||||
|
Linux
|
||||||
|
* Convering the service portion to upper or lower case could
|
||||||
|
cause problems finding the target server on non-Windows
|
||||||
|
GSSAPI implementations
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 25 19:41:06 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.3.0
|
||||||
|
Packaging Changes
|
||||||
|
* Changed project structure to a src layout
|
||||||
|
* Include both Cython pyx/pyd and C files for SSPI in the
|
||||||
|
sdist generated
|
||||||
|
* Added Python 3.10 wheel
|
||||||
|
Bugfixes
|
||||||
|
* Ensure bad SPNEGO token inputs are raised as InvalidTokenError
|
||||||
|
rather than struct.error
|
||||||
|
- Update to version 0.2.0
|
||||||
|
Breaking Changes
|
||||||
|
* Drop support for Python 2.7 and 3.5 - new minimum is 3.6+
|
||||||
|
* Made the gss, negotiate, ntlm, sspi exports private, use the
|
||||||
|
spnego.client and spnego.server functions instead
|
||||||
|
+ A deprecation warning is raised when importing from these
|
||||||
|
package directly and this will be removed in the next major
|
||||||
|
release
|
||||||
|
Features
|
||||||
|
* Added support for CredSSP authentication using
|
||||||
|
protocol='credssp'
|
||||||
|
* Allow optional keyword arguments to be used with spnego.client
|
||||||
|
and spnego.server to control authentication specific options
|
||||||
|
Bugfixes
|
||||||
|
* Use Kerberos API to acquire Kerberos credential to get a
|
||||||
|
forwardable token in a thread safe manner
|
||||||
|
* Fix default credential logic when no username is provided
|
||||||
|
based on GSSAPI rules rather than just the default principal
|
||||||
|
* Ignore SPNEGO mechListMIC if it contains the same value as
|
||||||
|
the responseToken due to an old Windows SPNEGO logic bug.
|
||||||
|
* Do not use SSPI when auth='ntlm' and the password is in the
|
||||||
|
form {lm_hash}:{nt_hash}
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 13 16:27:28 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.1.6
|
||||||
|
* Change enum type of iov.BufferType to IntEnum to fix load on
|
||||||
|
Python 3.10 - #10
|
||||||
|
* Make pyspnego-parse and entry point which uses __main__.py in
|
||||||
|
the spnego package. This allows users to use the parser script
|
||||||
|
by running python -m spnego --token ...
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 12 09:47:29 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.1.5
|
||||||
|
* Respect NETBIOS_COMPUTER_NAME when getting the workstation
|
||||||
|
name for NTLM tokens. This matches the behaviour of gss-ntlmssp
|
||||||
|
to ensure a consistent approach.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 4 08:13:16 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.1.4
|
||||||
|
* Only send negState: request-mic for the first reply from an
|
||||||
|
acceptor for Negotiate auth.
|
||||||
|
* Strict interpretations of SPNEGO will fail if the initiator
|
||||||
|
sends this state as it is against the RFC.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 29 16:47:02 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.1.3
|
||||||
|
* Added Python 3.9 to CI
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 25 15:53:36 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 0.1.2
|
||||||
|
* Fix up WinRM wrapping on SSPI
|
||||||
|
- Update to version 0.1.1
|
||||||
|
* Include the cython files in the built sdist
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 22 14:27:14 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Initial package, version 0.1.0
|
83
python-pyspnego.spec
Normal file
83
python-pyspnego.spec
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python-pyspnego
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%{?sle15_python_module_pythons}
|
||||||
|
Name: python-pyspnego
|
||||||
|
Version: 0.11.2
|
||||||
|
Release: 0
|
||||||
|
Summary: Python SPNEGO authentication library
|
||||||
|
License: MIT
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
URL: https://github.com/jborean93/pyspnego
|
||||||
|
Source: https://github.com/jborean93/pyspnego/archive/v%{version}.tar.gz#/pyspnego-%{version}.tar.gz
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
# SECTION test requirements
|
||||||
|
BuildRequires: %{python_module dataclasses if %python-base < 3.7}
|
||||||
|
BuildRequires: %{python_module cryptography}
|
||||||
|
BuildRequires: %{python_module pytest-mock}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
# /SECTION
|
||||||
|
BuildRequires: fdupes
|
||||||
|
Requires: python-cryptography
|
||||||
|
%if 0%{python_version_nodots} < 37
|
||||||
|
Requires: python-dataclasses
|
||||||
|
%endif
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun): update-alternatives
|
||||||
|
Suggests: python-gssapi >= 1.5.0
|
||||||
|
Suggests: python-ruamel.yaml
|
||||||
|
BuildArch: noarch
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
Library to handle SPNEGO (Negotiate, NTLM, Kerberos) authentication.
|
||||||
|
Also includes a packet parser that can be used to decode raw
|
||||||
|
NTLM/SPNEGO/Kerberos tokens into a human readable format.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n pyspnego-%{version}
|
||||||
|
sed -i '1{/^#!/ d}' src/spnego/__main__.py
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%python_clone -a %{buildroot}%{_bindir}/pyspnego-parse
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
|
%post
|
||||||
|
%python_install_alternative pyspnego-parse
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%python_uninstall_alternative pyspnego-parse
|
||||||
|
|
||||||
|
%check
|
||||||
|
%pytest
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%license LICENSE
|
||||||
|
%doc CHANGELOG.md README.md
|
||||||
|
%python_alternative %{_bindir}/pyspnego-parse
|
||||||
|
%{python_sitelib}/spnego
|
||||||
|
%{python_sitelib}/pyspnego-%{version}.dist-info
|
||||||
|
|
||||||
|
%changelog
|
Reference in New Issue
Block a user