Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-keystonemiddleware for
openSUSE:Factory checked in at 2025-11-10 19:18:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keystonemiddleware (Old)
and /work/SRC/openSUSE:Factory/.python-keystonemiddleware.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keystonemiddleware"
Mon Nov 10 19:18:26 2025 rev:20 rq:1316920 version:10.12.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-keystonemiddleware/python-keystonemiddleware.changes
2024-09-04 13:23:47.367671215 +0200
+++
/work/SRC/openSUSE:Factory/.python-keystonemiddleware.new.1980/python-keystonemiddleware.changes
2025-11-10 19:18:57.860428665 +0100
@@ -1,0 +2,36 @@
+Mon Nov 10 13:13:55 UTC 2025 - Dirk Müller <[email protected]>
+
+- add conflicts/obsoletes
+
+-------------------------------------------------------------------
+Sun Nov 9 18:30:58 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 10.12.0:
+ * Remove Python 3.9 support
+ * Revert "Switch from python-memcache to pymemcache"
+ * Revert "Strip inet(6) prefix"
+ * Add TLS support to MemcacheClientPool
+ * add pyproject.toml to support pip 23.1
+ * Strip inet(6) prefix
+ * Apply upper constraints to build documentation
+ * Update master for stable/2025.1
+ * Switch from python-memcache to pymemcache
+ * Imported Translations from Zanata
+- switch to singlespec
+
+-------------------------------------------------------------------
+Tue Jul 1 22:35:56 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 10.9.0:
+ * Fix memcached dependencies's doc bug
+ * Imported Translations from Zanata
+ * Remove Python 3.8 support
+ * Use oslo.utils to escape IPv6 address
+ * Get rid of pkg\_resources
+ * Replace deprecated constant\_time\_compare
+ * Bump hacking (slightly)
+ * Update master for stable/2024.2
+ * s3token: Fix usage of removed Identity v2 API
+ * Imported Translations from Zanata
+
+-------------------------------------------------------------------
Old:
----
_service
keystonemiddleware-10.7.1.tar.gz
New:
----
keystonemiddleware-10.12.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keystonemiddleware.spec ++++++
--- /var/tmp/diff_new_pack.ZztFAu/_old 2025-11-10 19:18:58.588459164 +0100
+++ /var/tmp/diff_new_pack.ZztFAu/_new 2025-11-10 19:18:58.588459164 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-keystonemiddleware
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 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
@@ -17,37 +17,59 @@
Name: python-keystonemiddleware
-Version: 10.7.1
+Version: 10.12.0
Release: 0
Summary: Middleware for OpenStack Identity
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/keystonemiddleware
-Source0:
https://files.pythonhosted.org/packages/source/k/keystonemiddleware/keystonemiddleware-10.7.1.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/k/keystonemiddleware/keystonemiddleware-%{version}.tar.gz
+BuildRequires: %{python_module WebOb >= 1.7.1}
+BuildRequires: %{python_module WebTest}
+BuildRequires: %{python_module cryptography}
+BuildRequires: %{python_module fixtures}
+BuildRequires: %{python_module keystoneauth1 >= 3.12.0}
+BuildRequires: %{python_module keystoneclient >= 3.20.0}
+BuildRequires: %{python_module oslo.cache >= 1.26.0}
+BuildRequires: %{python_module oslo.config >= 5.2.0}
+BuildRequires: %{python_module oslo.context >= 2.19.2}
+BuildRequires: %{python_module oslo.i18n >= 3.15.3}
+BuildRequires: %{python_module oslo.messaging}
+BuildRequires: %{python_module oslo.serialization >= 2.18.0}
+BuildRequires: %{python_module oslo.utils >= 3.33.0}
+BuildRequires: %{python_module oslotest}
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module pycadf >= 1.1.0}
+BuildRequires: %{python_module python-memcached}
+BuildRequires: %{python_module requests >= 2.14.2}
+BuildRequires: %{python_module requests-mock}
+BuildRequires: %{python_module stestr}
+BuildRequires: %{python_module stevedore}
+BuildRequires: %{python_module testresources}
+BuildRequires: %{python_module testtools}
+BuildRequires: %{python_module wheel}
BuildRequires: openstack-macros
-BuildRequires: python3-WebOb >= 1.7.1
-BuildRequires: python3-WebTest
-BuildRequires: python3-cryptography
-BuildRequires: python3-fixtures
-BuildRequires: python3-keystoneauth1 >= 3.12.0
-BuildRequires: python3-keystoneclient >= 3.20.0
-BuildRequires: python3-oslo.cache >= 1.26.0
-BuildRequires: python3-oslo.config >= 5.2.0
-BuildRequires: python3-oslo.context >= 2.19.2
-BuildRequires: python3-oslo.i18n >= 3.15.3
-BuildRequires: python3-oslo.messaging
-BuildRequires: python3-oslo.serialization >= 2.18.0
-BuildRequires: python3-oslo.utils >= 3.33.0
-BuildRequires: python3-oslotest
-BuildRequires: python3-pycadf >= 1.1.0
-BuildRequires: python3-python-memcached
-BuildRequires: python3-requests >= 2.14.2
-BuildRequires: python3-requests-mock
-BuildRequires: python3-stestr
-BuildRequires: python3-stevedore
-BuildRequires: python3-testresources
-BuildRequires: python3-testtools
+Requires: python-WebOb >= 1.7.1
+Requires: python-keystoneauth1 >= 3.12.0
+Requires: python-keystoneclient >= 3.20.0
+Requires: python-oslo.cache >= 1.26.0
+Requires: python-oslo.config >= 5.2.0
+Requires: python-oslo.context >= 2.19.2
+Requires: python-oslo.i18n >= 3.15.3
+Requires: python-oslo.log >= 3.36.0
+Requires: python-oslo.messaging
+Requires: python-oslo.serialization >= 2.18.0
+Requires: python-oslo.utils >= 3.33.0
+Requires: python-pycadf >= 1.1.0
+Requires: python-python-memcached
+Requires: python-requests >= 2.14.2
BuildArch: noarch
+%if "python%{python_nodots_ver}" == "%{primary_python}"
+Obsoletes: python3-keystonemiddleware < %{version}
+%else
+Conflicts: python3-keystonemiddleware < %{version}
+%endif
+%python_subpackages
%description
This package contains middleware modules designed to provide authentication
@@ -55,31 +77,6 @@
The most prominent module is keystonemiddleware.auth_token. This package
does not expose any CLI or Python API features.
-%package -n python3-keystonemiddleware
-Summary: Middleware for OpenStack Identity
-Requires: python3-WebOb >= 1.7.1
-Requires: python3-keystoneauth1 >= 3.12.0
-Requires: python3-keystoneclient >= 3.20.0
-Requires: python3-oslo.cache >= 1.26.0
-Requires: python3-oslo.config >= 5.2.0
-Requires: python3-oslo.context >= 2.19.2
-Requires: python3-oslo.i18n >= 3.15.3
-Requires: python3-oslo.log >= 3.36.0
-Requires: python3-oslo.messaging
-Requires: python3-oslo.serialization >= 2.18.0
-Requires: python3-oslo.utils >= 3.33.0
-Requires: python3-pycadf >= 1.1.0
-Requires: python3-python-memcached
-Requires: python3-requests >= 2.14.2
-
-%description -n python3-keystonemiddleware
-This package contains middleware modules designed to provide authentication
-and authorization features to web services other than Keystone
-The most prominent module is keystonemiddleware.auth_token. This package
-does not expose any CLI or Python API features.
-
-This package contains the Python 3.x module
-
%package -n python-keystonemiddleware-doc
Summary: Documentation for Middleware for OpenStack Identity
BuildRequires: python3-Sphinx
@@ -91,18 +88,17 @@
Documentation for Middleware for OpenStack Identity.
%prep
-%autosetup -p1 -n keystonemiddleware-10.7.1
-%py_req_cleanup
+%autosetup -p1 -n keystonemiddleware-%{version}
%build
-%{py3_build}
+%pyproject_wheel
%install
-%{py3_install}
+%pyproject_install
# generate html docs
export PYTHONPATH=.
-PBR_VERSION=%{version} %sphinx_build -b html doc/source doc/build/html
+sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
@@ -110,11 +106,11 @@
rm -v keystonemiddleware/tests/unit/audit/test_logging_notifier.py
%{openstack_stestr_run}
-%files -n python3-keystonemiddleware
+%files %{python_files}
%license LICENSE
-%doc ChangeLog README.rst
-%{python3_sitelib}/keystonemiddleware
-%{python3_sitelib}/*.egg-info
+%doc README.rst
+%{python_sitelib}/keystonemiddleware
+%{python_sitelib}/keystonemiddleware-%{version}.dist-info
%files -n python-keystonemiddleware-doc
%doc doc/build/html
++++++ keystonemiddleware-10.7.1.tar.gz -> keystonemiddleware-10.12.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/AUTHORS
new/keystonemiddleware-10.12.0/AUTHORS
--- old/keystonemiddleware-10.7.1/AUTHORS 2024-08-30 16:23:40.000000000
+0200
+++ new/keystonemiddleware-10.12.0/AUTHORS 2025-08-21 11:34:47.000000000
+0200
@@ -112,6 +112,7 @@
Liem Nguyen <[email protected]>
Lin Hua Cheng <[email protected]>
LiuNanke <[email protected]>
+Luca Miccini <[email protected]>
Lucas Alvares Gomes <[email protected]>
Marek Denis <[email protected]>
Maru Newby <[email protected]>
@@ -178,6 +179,7 @@
Vieri <[email protected]>
Vishakha Agarwal <[email protected]>
Vishvananda Ishaya <[email protected]>
+Watanabe Koya <[email protected]>
Wu Wenxiang <[email protected]>
Yaguang Tang <[email protected]>
Yang Youseok <[email protected]>
@@ -209,6 +211,7 @@
mathrock <[email protected]>
melissaml <[email protected]>
nachiappan-veerappan-nachiappan <[email protected]>
+niuke <[email protected]>
pengyuesheng <[email protected]>
sunyonggen <[email protected]>
termie <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/ChangeLog
new/keystonemiddleware-10.12.0/ChangeLog
--- old/keystonemiddleware-10.7.1/ChangeLog 2024-08-30 16:23:39.000000000
+0200
+++ new/keystonemiddleware-10.12.0/ChangeLog 2025-08-21 11:34:47.000000000
+0200
@@ -1,6 +1,47 @@
CHANGES
=======
+10.12.0
+-------
+
+* Remove Python 3.9 support
+* Revert "Switch from python-memcache to pymemcache"
+* Revert "Strip inet(6) prefix"
+
+10.11.0
+-------
+
+* Add TLS support to MemcacheClientPool
+* add pyproject.toml to support pip 23.1
+* Strip inet(6) prefix
+
+10.10.0
+-------
+
+* Apply upper constraints to build documentation
+* Update master for stable/2025.1
+* Switch from python-memcache to pymemcache
+* Imported Translations from Zanata
+
+10.9.0
+------
+
+* Fix memcached dependencies's doc bug
+* reno: Update master for unmaintained/2023.1
+
+10.8.0
+------
+
+* Imported Translations from Zanata
+* Remove Python 3.8 support
+* Use oslo.utils to escape IPv6 address
+* Get rid of pkg\_resources
+* Replace deprecated constant\_time\_compare
+* Bump hacking (slightly)
+* Update master for stable/2024.2
+* s3token: Fix usage of removed Identity v2 API
+* Imported Translations from Zanata
+
10.7.1
------
@@ -21,7 +62,9 @@
------
* reno: Update master for unmaintained/yoga
+* tox: Drop envdir
* Update python classifier in setup.cfg
+* Remove unnecessary setup\_hook
* Python 3.12: do not use utcnow()
* Update master for stable/zed
@@ -31,6 +74,7 @@
* Update master for stable/2023.2
* External OAuth2.0 Authorization Server Support
* External OAuth2.0 Authorization Server Support
+* Use TOX\_CONSTRAINTS\_FILE
10.4.1
------
@@ -60,6 +104,7 @@
* Remove cache invalidation when using expired token
* Fix pep8 gate
+* Support SASL for memcached
* Imported Translations from Zanata
10.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/PKG-INFO
new/keystonemiddleware-10.12.0/PKG-INFO
--- old/keystonemiddleware-10.7.1/PKG-INFO 2024-08-30 16:23:40.234109400
+0200
+++ new/keystonemiddleware-10.12.0/PKG-INFO 2025-08-21 11:34:47.926037800
+0200
@@ -1,51 +1,10 @@
Metadata-Version: 2.1
Name: keystonemiddleware
-Version: 10.7.1
+Version: 10.12.0
Summary: Middleware for OpenStack Identity
Home-page: https://docs.openstack.org/keystonemiddleware/latest/
Author: OpenStack
Author-email: [email protected]
-License: UNKNOWN
-Description: ========================
- Team and repository tags
- ========================
-
- .. image::
https://governance.openstack.org/tc/badges/keystonemiddleware.svg
- :target:
https://governance.openstack.org/tc/reference/tags/index.html
-
- .. Change things from this point on
-
- Middleware for the OpenStack Identity API (Keystone)
- ====================================================
-
- .. image:: https://img.shields.io/pypi/v/keystonemiddleware.svg
- :target: https://pypi.org/project/keystonemiddleware/
- :alt: Latest Version
-
- .. image:: https://img.shields.io/pypi/dm/keystonemiddleware.svg
- :target: https://pypi.org/project/keystonemiddleware/
- :alt: Downloads
-
- This package contains middleware modules designed to provide
authentication and
- authorization features to web services other than `Keystone
- <https://github.com/openstack/keystone>`. The most prominent module is
- ``keystonemiddleware.auth_token``. This package does not expose any
CLI or
- Python API features.
-
- For information on contributing, see ``CONTRIBUTING.rst``.
-
- * License: Apache License, Version 2.0
- * Documentation: https://docs.openstack.org/keystonemiddleware/latest/
- * Source: https://opendev.org/openstack/keystonemiddleware
- * Bugs: https://bugs.launchpad.net/keystonemiddleware
- * Release notes:
https://docs.openstack.org/releasenotes/keystonemiddleware/
-
- For any other information, refer to the parent project, Keystone:
-
- https://github.com/openstack/keystone
-
-
-Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
@@ -55,10 +14,81 @@
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
-Requires-Python: >=3.8
-Provides-Extra: audit_notifications
+Classifier: Programming Language :: Python :: 3.12
+Requires-Python: >=3.10
+License-File: LICENSE
+Requires-Dist: keystoneauth1>=3.12.0
+Requires-Dist: oslo.cache>=3.11.0
+Requires-Dist: oslo.config>=5.2.0
+Requires-Dist: oslo.context>=2.19.2
+Requires-Dist: oslo.i18n>=3.15.3
+Requires-Dist: oslo.log>=3.36.0
+Requires-Dist: oslo.serialization>=2.18.0
+Requires-Dist: oslo.utils>=3.33.0
+Requires-Dist: pbr>=2.0.0
+Requires-Dist: pycadf>=1.1.0
+Requires-Dist: PyJWT>=2.4.0
+Requires-Dist: python-keystoneclient>=3.20.0
+Requires-Dist: requests>=2.14.2
+Requires-Dist: WebOb>=1.7.1
+Provides-Extra: audit-notifications
+Requires-Dist: oslo.messaging>=5.29.0; extra == "audit-notifications"
Provides-Extra: test
+Requires-Dist: hacking~=6.1.0; extra == "test"
+Requires-Dist: flake8-docstrings~=1.7.0; extra == "test"
+Requires-Dist: coverage>=4.0; extra == "test"
+Requires-Dist: cryptography>=3.0; extra == "test"
+Requires-Dist: fixtures>=3.0.0; extra == "test"
+Requires-Dist: oslotest>=3.2.0; extra == "test"
+Requires-Dist: stevedore>=1.20.0; extra == "test"
+Requires-Dist: requests-mock>=1.2.0; extra == "test"
+Requires-Dist: stestr>=2.0.0; extra == "test"
+Requires-Dist: testresources>=2.0.0; extra == "test"
+Requires-Dist: testtools>=2.2.0; extra == "test"
+Requires-Dist: python-binary-memcached>=0.29.0; extra == "test"
+Requires-Dist: python-memcached>=1.59; extra == "test"
+Requires-Dist: WebTest>=2.0.27; extra == "test"
+Requires-Dist: oslo.messaging>=5.29.0; extra == "test"
+Requires-Dist: PyJWT>=2.4.0; extra == "test"
+Requires-Dist: bandit>=1.1.0; extra == "test"
+
+========================
+Team and repository tags
+========================
+
+.. image:: https://governance.openstack.org/tc/badges/keystonemiddleware.svg
+ :target: https://governance.openstack.org/tc/reference/tags/index.html
+
+.. Change things from this point on
+
+Middleware for the OpenStack Identity API (Keystone)
+====================================================
+
+.. image:: https://img.shields.io/pypi/v/keystonemiddleware.svg
+ :target: https://pypi.org/project/keystonemiddleware/
+ :alt: Latest Version
+
+.. image:: https://img.shields.io/pypi/dm/keystonemiddleware.svg
+ :target: https://pypi.org/project/keystonemiddleware/
+ :alt: Downloads
+
+This package contains middleware modules designed to provide authentication and
+authorization features to web services other than `Keystone
+<https://github.com/openstack/keystone>`. The most prominent module is
+``keystonemiddleware.auth_token``. This package does not expose any CLI or
+Python API features.
+
+For information on contributing, see ``CONTRIBUTING.rst``.
+
+* License: Apache License, Version 2.0
+* Documentation: https://docs.openstack.org/keystonemiddleware/latest/
+* Source: https://opendev.org/openstack/keystonemiddleware
+* Bugs: https://bugs.launchpad.net/keystonemiddleware
+* Release notes: https://docs.openstack.org/releasenotes/keystonemiddleware/
+
+For any other information, refer to the parent project, Keystone:
+
+ https://github.com/openstack/keystone
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/doc/requirements.txt
new/keystonemiddleware-10.12.0/doc/requirements.txt
--- old/keystonemiddleware-10.7.1/doc/requirements.txt 2024-08-30
16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/doc/requirements.txt 2025-08-21
11:33:29.000000000 +0200
@@ -12,11 +12,12 @@
oslotest>=3.2.0 # Apache-2.0
requests-mock>=1.2.0 # Apache-2.0
testresources>=2.0.0 # Apache-2.0/BSD
+python-binary-memcached>=0.29.0 # MIT
python-memcached>=1.56 # PSF
WebTest>=2.0.27 # MIT
oslo.messaging>=5.29.0 # Apache-2.0
pycadf>=1.1.0 # Apache-2.0
PyJWT>=2.4.0 # MIT
keystoneauth1>=3.12.0 # Apache-2.0
-oslo.cache>=1.26.0 # Apache-2.0
+oslo.cache>=3.11.0 # Apache-2.0
python-keystoneclient>=3.20.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/doc/source/middlewarearchitecture.rst
new/keystonemiddleware-10.12.0/doc/source/middlewarearchitecture.rst
--- old/keystonemiddleware-10.7.1/doc/source/middlewarearchitecture.rst
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/doc/source/middlewarearchitecture.rst
2025-08-21 11:33:29.000000000 +0200
@@ -402,12 +402,12 @@
In order to use `memcached`_ it is necessary to install the `python-memcached`_
library. If data stored in `memcached`_ will need to be encrypted it is also
-necessary to install the `pycrypto`_ library. These libs are not listed in
+necessary to install the `cryptography`_ library. These libs are not listed in
the requirements.txt file.
.. _`memcached`: http://memcached.org/
.. _`python-memcached`: https://pypi.org/project/python-memcached
-.. _`pycrypto`: https://pypi.org/project/pycrypto
+.. _`cryptography`: https://pypi.org/project/cryptography
Memcache Protection
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/_common/config.py
new/keystonemiddleware-10.12.0/keystonemiddleware/_common/config.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/_common/config.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/_common/config.py
2025-08-21 11:33:29.000000000 +0200
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-import pkg_resources
+import importlib.metadata
from oslo_config import cfg
from oslo_log import log as logging
@@ -145,8 +145,8 @@
if project:
try:
- version = pkg_resources.get_distribution(project).version
- except pkg_resources.DistributionNotFound:
+ version = importlib.metadata.version(project)
+ except importlib.metadata.PackageNotFoundError:
version = "unknown"
project = "%s/%s " % (project, version)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/__init__.py
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/__init__.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/__init__.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/__init__.py
2025-08-21 11:33:29.000000000 +0200
@@ -219,6 +219,7 @@
import copy
import re
+import ssl
from keystoneauth1 import access
from keystoneauth1 import adapter
@@ -872,8 +873,29 @@
unused_timeout=self._conf.get('memcache_pool_unused_timeout'),
conn_get_timeout=self._conf.get('memcache_pool_conn_get_timeout'),
socket_timeout=self._conf.get('memcache_pool_socket_timeout'),
+ sasl_enabled=self._conf.get('memcache_sasl_enabled'),
+ username=self._conf.get('memcache_username'),
+ password=self._conf.get('memcache_password'),
+ tls_enabled=self._conf.get('memcache_tls_enabled'),
)
+ if self._conf.get('memcache_tls_enabled'):
+ tls_cafile = self._conf.get('memcache_tls_cafile')
+ tls_certfile = self._conf.get('memcache_tls_certfile')
+ tls_keyfile = self._conf.get('memcache_tls_keyfile')
+ tls_allowed_ciphers = self._conf.get(
+ 'memcache_tls_allowed_ciphers')
+
+ tls_context = ssl.create_default_context(cafile=tls_cafile)
+
+ if tls_certfile:
+ tls_context.load_cert_chain(tls_certfile, tls_keyfile)
+
+ if tls_allowed_ciphers:
+ tls_context.set_ciphers(tls_allowed_ciphers)
+
+ cache_kwargs['tls_context'] = tls_context
+
if security_strategy.lower() != 'none':
secret_key = self._conf.get('memcache_secret_key')
return _cache.SecureTokenCache(self.log,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_auth.py
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_auth.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_auth.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_auth.py
2025-08-21 11:33:29.000000000 +0200
@@ -15,6 +15,7 @@
from keystoneauth1 import plugin
from keystoneauth1 import token_endpoint
from oslo_config import cfg
+from oslo_utils import netutils
from keystonemiddleware.auth_token import _base
from keystonemiddleware.i18n import _
@@ -43,14 +44,8 @@
'removed in the Newton release, '
"use 'identity_uri' instead.")
- if ':' in auth_host:
- # Note(dzyu) it is an IPv6 address, so it needs to be wrapped
- # with '[]' to generate a valid IPv6 URL, based on
- # http://www.ietf.org/rfc/rfc2732.txt
- auth_host = '[%s]' % auth_host
-
identity_uri = '%s://%s:%s' % (auth_protocol,
- auth_host,
+ netutils.escape_ipv6(auth_host),
auth_port)
if auth_admin_prefix:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_cache.py
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_cache.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_cache.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_cache.py
2025-08-21 11:33:29.000000000 +0200
@@ -52,8 +52,11 @@
class _CachePool(list):
"""A lazy pool of cache references."""
- def __init__(self, memcached_servers, log):
+ def __init__(self, memcached_servers, log, arguments):
self._memcached_servers = memcached_servers
+ self._sasl_enabled = arguments.get("sasl_enabled", False)
+ self._username = arguments.get("username", None)
+ self._password = arguments.get("password", None)
if not self._memcached_servers:
log.warning(
"Using the in-process token cache is deprecated as of the "
@@ -73,8 +76,13 @@
except IndexError:
# the pool is empty, so we need to create a new client
if self._memcached_servers:
- import memcache
- c = memcache.Client(self._memcached_servers, debug=0)
+ if self._sasl_enabled:
+ import bmemcached
+ c = bmemcached.Client(self._memcached_servers,
+ self._username, self._password)
+ else:
+ import memcache
+ c = memcache.Client(self._memcached_servers, debug=0)
else:
c = _FakeClient()
@@ -88,12 +96,23 @@
"""An advanced memcached client pool that is eventlet safe."""
def __init__(self, memcache_servers, arguments, **kwargs):
- # NOTE(sileht): This will import python-memcached, we don't want
- # it as hard dependency, so lazy load it.
- from oslo_cache import _memcache_pool
- self._pool = _memcache_pool.MemcacheClientPool(memcache_servers,
- arguments,
- **kwargs)
+ # NOTE(sileht): This will import python-memcached and
+ # python-binary-memcached , we don't want it as hard
+ # dependency, so lazy load it.
+ self._sasl_enabled = arguments.pop("sasl_enabled", False)
+ self._tls_enabled = arguments.pop("tls_enabled", False)
+ if self._tls_enabled or self._sasl_enabled:
+ from oslo_cache import _bmemcache_pool
+ self._pool = _bmemcache_pool.BMemcacheClientPool(memcache_servers,
+ arguments,
+ **kwargs)
+ else:
+ from oslo_cache import _memcache_pool
+ arguments.pop("username", None)
+ arguments.pop("password", None)
+ self._pool = _memcache_pool.MemcacheClientPool(memcache_servers,
+ arguments,
+ **kwargs)
@contextlib.contextmanager
def reserve(self):
@@ -122,17 +141,23 @@
_CACHE_KEY_TEMPLATE = 'tokens/%s'
def __init__(self, log, cache_time=None,
- env_cache_name=None, memcached_servers=None,
+ env_cache_name=None, memcached_servers=None, tls_context=None,
use_advanced_pool=True, dead_retry=None, socket_timeout=None,
**kwargs):
self._LOG = log
self._cache_time = cache_time
self._env_cache_name = env_cache_name
self._memcached_servers = memcached_servers
+ self._tls_context = tls_context
self._use_advanced_pool = use_advanced_pool
self._arguments = {
'dead_retry': dead_retry,
- 'socket_timeout': socket_timeout
+ 'socket_timeout': socket_timeout,
+ 'sasl_enabled': kwargs.pop("sasl_enabled", False),
+ 'username': kwargs.pop("username", None),
+ 'password': kwargs.pop("password", None),
+ 'tls_enabled': kwargs.pop("tls_enabled", False),
+ 'tls_context': tls_context
}
self._memcache_pool_options = kwargs
@@ -156,7 +181,8 @@
"implementation from oslo.cache. This can be enabled"
"through config option memcache_use_advanced_pool = True")
- return _CachePool(self._memcached_servers, self._LOG)
+ return _CachePool(self._memcached_servers, self._LOG,
+ self._arguments)
def initialize(self, env):
if self._initialized:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_memcache_crypt.py
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_memcache_crypt.py
---
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_memcache_crypt.py
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_memcache_crypt.py
2025-08-21 11:33:29.000000000 +0200
@@ -35,7 +35,6 @@
import os
from keystonemiddleware.i18n import _
-from oslo_utils import secretutils
try:
from cryptography.hazmat import backends as crypto_backends
@@ -203,7 +202,7 @@
signed_data[DIGEST_LENGTH_B64:])
# Then verify that it matches the provided value
- if not secretutils.constant_time_compare(provided_mac, calculated_mac):
+ if not hmac.compare_digest(provided_mac, calculated_mac):
raise InvalidMacError(_('Invalid MAC; data appears to be corrupted.'))
data = base64.b64decode(signed_data[DIGEST_LENGTH_B64:])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_opts.py
new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_opts.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/auth_token/_opts.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/auth_token/_opts.py
2025-08-21 11:33:29.000000000 +0200
@@ -124,6 +124,32 @@
secret=True,
help='(Optional, mandatory if memcache_security_strategy is'
' defined) This string is used for key derivation.'),
+ cfg.BoolOpt('memcache_tls_enabled',
+ default=False,
+ help='(Optional) Global toggle for TLS usage when comunicating'
+ ' with the caching servers.'),
+ cfg.StrOpt('memcache_tls_cafile',
+ help='(Optional) Path to a file of concatenated CA certificates'
+ ' in PEM format necessary to establish the caching server\'s'
+ ' authenticity. If tls_enabled is False, this option is'
+ ' ignored.'),
+ cfg.StrOpt('memcache_tls_certfile',
+ help='(Optional) Path to a single file in PEM format containing'
+ ' the client\'s certificate as well as any number of CA'
+ ' certificates needed to establish the certificate\'s'
+ ' authenticity. This file is only required when client side'
+ ' authentication is necessary. If tls_enabled is False, this'
+ ' option is ignored.'),
+ cfg.StrOpt('memcache_tls_keyfile',
+ help='(Optional) Path to a single file containing the client\'s'
+ ' private key in. Otherwhise the private key will be taken from'
+ ' the file specified in tls_certfile. If tls_enabled is False,'
+ ' this option is ignored.'),
+ cfg.StrOpt('memcache_tls_allowed_ciphers',
+ help='(Optional) Set the available ciphers for sockets created'
+ ' with the TLS context. It should be a string in the OpenSSL'
+ ' cipher list format. If not specified, all OpenSSL enabled'
+ ' ciphers will be available.'),
cfg.IntOpt('memcache_pool_dead_retry',
default=5 * 60,
help='(Optional) Number of seconds memcached server is'
@@ -181,6 +207,16 @@
help='The name or type of the service as it appears in the'
' service catalog. This is used to validate tokens that have'
' restricted access rules.'),
+ cfg.BoolOpt('memcache_sasl_enabled',
+ default=False,
+ help='Enable the SASL(Simple Authentication and Security'
+ ' Layer) if the SASL_enable is true, else disable.'),
+ cfg.StrOpt('memcache_username',
+ default='',
+ help='the user name for the SASL'),
+ cfg.StrOpt('memcache_password',
+ default='',
+ help='the username password for SASL'),
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
new/keystonemiddleware-10.12.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
---
old/keystonemiddleware-10.7.1/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/keystonemiddleware/locale/en_GB/LC_MESSAGES/keystonemiddleware.po
2025-08-21 11:33:29.000000000 +0200
@@ -1,13 +1,14 @@
# Andi Chandler <[email protected]>, 2017. #zanata
+# Andi Chandler <[email protected]>, 2024. #zanata
msgid ""
msgstr ""
"Project-Id-Version: keystonemiddleware VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2019-12-21 02:49+0000\n"
+"POT-Creation-Date: 2024-06-28 17:34+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2017-10-17 07:06+0000\n"
+"PO-Revision-Date: 2024-07-18 10:19+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -17,6 +18,40 @@
msgid "Access key not provided"
msgstr "Access key not provided"
+msgid "An exception occurred during the token verification process."
+msgstr "An exception occurred during the token verification process."
+
+msgid "Can not generate the thumbprint."
+msgstr "Can not generate the thumbprint."
+
+msgid "Configuration error. Failed to read the JWT key file."
+msgstr "Configuration error. Failed to read the JWT key file."
+
+msgid ""
+"Configuration error. JWT encoding with the specified JWT key file and "
+"algorithm failed."
+msgstr ""
+"Configuration error. JWT encoding with the specified JWT key file and "
+"algorithm failed."
+
+msgid ""
+"Configuration error. JWT encoding with the specified client_secret and "
+"algorithm failed."
+msgstr ""
+"Configuration error. JWT encoding with the specified client_secret and "
+"algorithm failed."
+
+msgid "Configuration error. JWT key file is not a file."
+msgstr "Configuration error. JWT key file is not a file."
+
+msgid "Configuration error. The JWT key file content is empty."
+msgstr "Configuration error. The JWT key file content is empty."
+
+#, python-format
+msgid "Configuration error. The parameter is not set for \"%s\" in group [%s]."
+msgstr ""
+"Configuration error. The parameter is not set for \"%s\" in group [%s]."
+
msgid "Encrypted data appears to be corrupted."
msgstr "Encrypted data appears to be corrupted."
@@ -27,6 +62,10 @@
msgid "Failed to fetch token data from identity server"
msgstr "Failed to fetch token data from identity server"
+#, python-format
+msgid "Failed to parse the necessary information for the field \"%s\"."
+msgstr "Failed to parse the necessary information for the field \"%s\"."
+
msgid "Failure parsing response from keystone"
msgstr "Failure parsing response from Keystone"
@@ -45,15 +84,65 @@
msgid "Signature not provided"
msgstr "Signature not provided"
+msgid "The Introspect API service is temporarily unavailable."
+msgstr "The Introspect API service is temporarily unavailable."
+
+#, python-format
+msgid ""
+"The configuration parameter for key \"auth_method\" in group [%s] is "
+"incorrect."
+msgstr ""
+"The configuration parameter for key \"auth_method\" in group [%s] is "
+"incorrect."
+
+msgid ""
+"The request you have made is denied, because an exception occurred while "
+"accessing the external authentication server for token validation."
+msgstr ""
+"The request you have made is denied, because an exception occurred while "
+"accessing the external authentication server for token validation."
+
+msgid ""
+"The request you have made is denied, because the configuration parameters "
+"are incorrect and the token can not be verified."
+msgstr ""
+"The request you have made is denied, because the configuration parameters "
+"are incorrect and the token can not be verified."
+
+msgid ""
+"The request you have made is denied, because the necessary information could "
+"not be parsed."
+msgstr ""
+"The request you have made is denied, because the necessary information could "
+"not be parsed."
+
+msgid "The request you have made is denied, because the token is invalid."
+msgstr "The request you have made is denied, because the token is invalid."
+
msgid "The request you have made requires authentication."
msgstr "The request you have made requires authentication."
+msgid "The token cannot be verified for validity."
+msgstr "The token cannot be verified for validity."
+
+msgid "The token is invalid."
+msgstr "The token is invalid."
+
+msgid "The two thumbprints do not match."
+msgstr "The two thumbprints do not match."
+
msgid "Token authorization failed"
msgstr "Token authorisation failed"
msgid "Unable to determine service tenancy."
msgstr "Unable to determine service tenancy."
+msgid "Unable to obtain the access token."
+msgstr "Unable to obtain the access token."
+
+msgid "Unable to obtain the client certificate."
+msgstr "Unable to obtain the client certificate."
+
msgid ""
"memcache_secret_key must be defined when a memcache_security_strategy is "
"defined"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/s3_token.py
new/keystonemiddleware-10.12.0/keystonemiddleware/s3_token.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/s3_token.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/s3_token.py
2025-08-21 11:33:29.000000000 +0200
@@ -118,7 +118,7 @@
def _json_request(self, creds_json):
headers = {'Content-Type': 'application/json'}
try:
- response = requests.post('%s/v2.0/s3tokens' % self._request_uri,
+ response = requests.post('%s/v3/s3tokens' % self._request_uri,
headers=headers, data=creds_json,
verify=self._verify,
timeout=CONF.s3_token.timeout)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
---
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py
2025-08-21 11:33:29.000000000 +0200
@@ -1997,8 +1997,8 @@
self._assert_user_agent(app, project, ksm_version)
def _create_app(self, conf, project_version, ksm_version):
- fake_pkg_resources = mock.Mock()
- fake_pkg_resources.get_distribution().version = project_version
+ fake_im = mock.Mock()
+ fake_im.return_value = project_version
fake_version_info = mock.Mock()
fake_version_info.version_string.return_value = ksm_version
@@ -2007,10 +2007,10 @@
body = uuid.uuid4().hex
+ at_im = 'keystonemiddleware._common.config.importlib.metadata.version'
at_pbr = 'keystonemiddleware._common.config.pbr.version'
- with mock.patch('keystonemiddleware._common.config.pkg_resources',
- new=fake_pkg_resources):
+ with mock.patch(at_im, new=fake_im):
with mock.patch(at_pbr, new=fake_pbr_version):
return self.create_simple_middleware(body=body, conf=conf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/auth_token/test_config.py
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/auth_token/test_config.py
---
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/auth_token/test_config.py
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/auth_token/test_config.py
2025-08-21 11:33:29.000000000 +0200
@@ -75,12 +75,12 @@
if not project_version:
project_version = uuid.uuid4().hex
- fake_pkg_resources = mock.Mock()
- fake_pkg_resources.get_distribution().version = project_version
+ fake_im = mock.Mock()
+ fake_im.return_value = project_version
body = uuid.uuid4().hex
- with mock.patch('keystonemiddleware._common.config.pkg_resources',
- new=fake_pkg_resources):
+ at_im = 'keystonemiddleware._common.config.importlib.metadata.version'
+ with mock.patch(at_im, new=fake_im):
# use_global_conf is poorly named. What it means is
# don't use the config created in test setUp.
return self.create_simple_middleware(body=body, conf=conf,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/test_opts.py
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/test_opts.py
--- old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/test_opts.py
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/test_opts.py
2025-08-21 11:33:29.000000000 +0200
@@ -58,11 +58,19 @@
'memcache_security_strategy',
'memcache_secret_key',
'memcache_use_advanced_pool',
+ 'memcache_tls_enabled',
+ 'memcache_tls_cafile',
+ 'memcache_tls_certfile',
+ 'memcache_tls_keyfile',
+ 'memcache_tls_allowed_ciphers',
'memcache_pool_dead_retry',
'memcache_pool_maxsize',
'memcache_pool_unused_timeout',
'memcache_pool_conn_get_timeout',
'memcache_pool_socket_timeout',
+ 'memcache_sasl_enabled',
+ 'memcache_username',
+ 'memcache_password',
'include_service_catalog',
'enforce_token_bind',
'auth_type',
@@ -103,11 +111,19 @@
'memcache_security_strategy',
'memcache_secret_key',
'memcache_use_advanced_pool',
+ 'memcache_tls_enabled',
+ 'memcache_tls_cafile',
+ 'memcache_tls_certfile',
+ 'memcache_tls_keyfile',
+ 'memcache_tls_allowed_ciphers',
'memcache_pool_dead_retry',
'memcache_pool_maxsize',
'memcache_pool_unused_timeout',
'memcache_pool_conn_get_timeout',
'memcache_pool_socket_timeout',
+ 'memcache_sasl_enabled',
+ 'memcache_username',
+ 'memcache_password',
'include_service_catalog',
'enforce_token_bind',
'auth_type',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/test_s3_token_middleware.py
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/test_s3_token_middleware.py
---
old/keystonemiddleware-10.7.1/keystonemiddleware/tests/unit/test_s3_token_middleware.py
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/keystonemiddleware/tests/unit/test_s3_token_middleware.py
2025-08-21 11:33:29.000000000 +0200
@@ -42,7 +42,7 @@
class S3TokenMiddlewareTestBase(utils.TestCase):
TEST_WWW_AUTHENTICATE_URI = 'https://fakehost/identity'
- TEST_URL = '%s/v2.0/s3tokens' % (TEST_WWW_AUTHENTICATE_URI, )
+ TEST_URL = '%s/v3/s3tokens' % (TEST_WWW_AUTHENTICATE_URI, )
def setUp(self):
super(S3TokenMiddlewareTestBase, self).setUp()
@@ -101,7 +101,7 @@
host = 'fakehost'
port = 35357
self.requests_mock.post(
- '%s://%s:%s/v2.0/s3tokens' % (protocol, host, port),
+ '%s://%s:%s/v3/s3tokens' % (protocol, host, port),
status_code=201, json=GOOD_RESPONSE)
self.middleware = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/PKG-INFO
new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/PKG-INFO
--- old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/PKG-INFO
2024-08-30 16:23:40.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/PKG-INFO
2025-08-21 11:34:47.000000000 +0200
@@ -1,51 +1,10 @@
Metadata-Version: 2.1
Name: keystonemiddleware
-Version: 10.7.1
+Version: 10.12.0
Summary: Middleware for OpenStack Identity
Home-page: https://docs.openstack.org/keystonemiddleware/latest/
Author: OpenStack
Author-email: [email protected]
-License: UNKNOWN
-Description: ========================
- Team and repository tags
- ========================
-
- .. image::
https://governance.openstack.org/tc/badges/keystonemiddleware.svg
- :target:
https://governance.openstack.org/tc/reference/tags/index.html
-
- .. Change things from this point on
-
- Middleware for the OpenStack Identity API (Keystone)
- ====================================================
-
- .. image:: https://img.shields.io/pypi/v/keystonemiddleware.svg
- :target: https://pypi.org/project/keystonemiddleware/
- :alt: Latest Version
-
- .. image:: https://img.shields.io/pypi/dm/keystonemiddleware.svg
- :target: https://pypi.org/project/keystonemiddleware/
- :alt: Downloads
-
- This package contains middleware modules designed to provide
authentication and
- authorization features to web services other than `Keystone
- <https://github.com/openstack/keystone>`. The most prominent module is
- ``keystonemiddleware.auth_token``. This package does not expose any
CLI or
- Python API features.
-
- For information on contributing, see ``CONTRIBUTING.rst``.
-
- * License: Apache License, Version 2.0
- * Documentation: https://docs.openstack.org/keystonemiddleware/latest/
- * Source: https://opendev.org/openstack/keystonemiddleware
- * Bugs: https://bugs.launchpad.net/keystonemiddleware
- * Release notes:
https://docs.openstack.org/releasenotes/keystonemiddleware/
-
- For any other information, refer to the parent project, Keystone:
-
- https://github.com/openstack/keystone
-
-
-Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
@@ -55,10 +14,81 @@
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
-Requires-Python: >=3.8
-Provides-Extra: audit_notifications
+Classifier: Programming Language :: Python :: 3.12
+Requires-Python: >=3.10
+License-File: LICENSE
+Requires-Dist: keystoneauth1>=3.12.0
+Requires-Dist: oslo.cache>=3.11.0
+Requires-Dist: oslo.config>=5.2.0
+Requires-Dist: oslo.context>=2.19.2
+Requires-Dist: oslo.i18n>=3.15.3
+Requires-Dist: oslo.log>=3.36.0
+Requires-Dist: oslo.serialization>=2.18.0
+Requires-Dist: oslo.utils>=3.33.0
+Requires-Dist: pbr>=2.0.0
+Requires-Dist: pycadf>=1.1.0
+Requires-Dist: PyJWT>=2.4.0
+Requires-Dist: python-keystoneclient>=3.20.0
+Requires-Dist: requests>=2.14.2
+Requires-Dist: WebOb>=1.7.1
+Provides-Extra: audit-notifications
+Requires-Dist: oslo.messaging>=5.29.0; extra == "audit-notifications"
Provides-Extra: test
+Requires-Dist: hacking~=6.1.0; extra == "test"
+Requires-Dist: flake8-docstrings~=1.7.0; extra == "test"
+Requires-Dist: coverage>=4.0; extra == "test"
+Requires-Dist: cryptography>=3.0; extra == "test"
+Requires-Dist: fixtures>=3.0.0; extra == "test"
+Requires-Dist: oslotest>=3.2.0; extra == "test"
+Requires-Dist: stevedore>=1.20.0; extra == "test"
+Requires-Dist: requests-mock>=1.2.0; extra == "test"
+Requires-Dist: stestr>=2.0.0; extra == "test"
+Requires-Dist: testresources>=2.0.0; extra == "test"
+Requires-Dist: testtools>=2.2.0; extra == "test"
+Requires-Dist: python-binary-memcached>=0.29.0; extra == "test"
+Requires-Dist: python-memcached>=1.59; extra == "test"
+Requires-Dist: WebTest>=2.0.27; extra == "test"
+Requires-Dist: oslo.messaging>=5.29.0; extra == "test"
+Requires-Dist: PyJWT>=2.4.0; extra == "test"
+Requires-Dist: bandit>=1.1.0; extra == "test"
+
+========================
+Team and repository tags
+========================
+
+.. image:: https://governance.openstack.org/tc/badges/keystonemiddleware.svg
+ :target: https://governance.openstack.org/tc/reference/tags/index.html
+
+.. Change things from this point on
+
+Middleware for the OpenStack Identity API (Keystone)
+====================================================
+
+.. image:: https://img.shields.io/pypi/v/keystonemiddleware.svg
+ :target: https://pypi.org/project/keystonemiddleware/
+ :alt: Latest Version
+
+.. image:: https://img.shields.io/pypi/dm/keystonemiddleware.svg
+ :target: https://pypi.org/project/keystonemiddleware/
+ :alt: Downloads
+
+This package contains middleware modules designed to provide authentication and
+authorization features to web services other than `Keystone
+<https://github.com/openstack/keystone>`. The most prominent module is
+``keystonemiddleware.auth_token``. This package does not expose any CLI or
+Python API features.
+
+For information on contributing, see ``CONTRIBUTING.rst``.
+
+* License: Apache License, Version 2.0
+* Documentation: https://docs.openstack.org/keystonemiddleware/latest/
+* Source: https://opendev.org/openstack/keystonemiddleware
+* Bugs: https://bugs.launchpad.net/keystonemiddleware
+* Release notes: https://docs.openstack.org/releasenotes/keystonemiddleware/
+
+For any other information, refer to the parent project, Keystone:
+
+ https://github.com/openstack/keystone
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/SOURCES.txt
new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/SOURCES.txt
--- old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/SOURCES.txt
2024-08-30 16:23:40.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/SOURCES.txt
2025-08-21 11:34:47.000000000 +0200
@@ -7,6 +7,7 @@
HACKING.rst
LICENSE
README.rst
+pyproject.toml
requirements.txt
setup.cfg
setup.py
@@ -129,18 +130,24 @@
releasenotes/notes/drop-py-2-7-6655f421a9cac0a2.yaml
releasenotes/notes/drop-python-3-6-and-3-7-c407d5898c5eafec.yaml
releasenotes/notes/ec2-v2-removal-6a886210cbc9d3e9.yaml
+releasenotes/notes/enable-sasl-protocol-946149083f604216.yaml
releasenotes/notes/fix-audit-no-service-endpoint-ports-72b2009d631dcf19.yaml
releasenotes/notes/fix-cache-data-corrupted-issue-d1bd546625690581.yaml
releasenotes/notes/interface-option-ed551d2a3162668d.yaml
releasenotes/notes/ksm_4.1.0-3cd78446d8e63616.yaml
+releasenotes/notes/remove-py38-438c67d4d2da02a3.yaml
+releasenotes/notes/remove-py39-ffac30d683a53099.yaml
releasenotes/notes/remove_kwargs_to_fetch_token-20e3451ed192ab6a.yaml
releasenotes/notes/removed-as-of-ussuri-4e1ea485ba8801c9.yaml
releasenotes/notes/rename-auth-uri-d223d883f5898aee.yaml
releasenotes/notes/s3token_auth_uri-490c1287d90b9df7.yaml
+releasenotes/notes/tls-support-via-oslo-cache-51d744dd8a3f6ba0.yaml
releasenotes/notes/x-is-admin-project-header-97f1882e209fe727.yaml
releasenotes/source/2023.1.rst
releasenotes/source/2023.2.rst
releasenotes/source/2024.1.rst
+releasenotes/source/2024.2.rst
+releasenotes/source/2025.1.rst
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/mitaka.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/entry_points.txt
new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/entry_points.txt
--- old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/entry_points.txt
2024-08-30 16:23:40.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/entry_points.txt
2025-08-21 11:34:47.000000000 +0200
@@ -10,4 +10,3 @@
oauth2_mtls_token = keystonemiddleware.oauth2_mtls_token:filter_factory
oauth2_token = keystonemiddleware.oauth2_token:filter_factory
s3_token = keystonemiddleware.s3_token:filter_factory
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/pbr.json
new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/pbr.json
--- old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/pbr.json
2024-08-30 16:23:40.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/pbr.json
2025-08-21 11:34:47.000000000 +0200
@@ -1 +1 @@
-{"git_version": "4c001ba", "is_release": true}
\ No newline at end of file
+{"git_version": "c893b62", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/requires.txt
new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/requires.txt
--- old/keystonemiddleware-10.7.1/keystonemiddleware.egg-info/requires.txt
2024-08-30 16:23:40.000000000 +0200
+++ new/keystonemiddleware-10.12.0/keystonemiddleware.egg-info/requires.txt
2025-08-21 11:34:47.000000000 +0200
@@ -1,7 +1,5 @@
-PyJWT>=2.4.0
-WebOb>=1.7.1
keystoneauth1>=3.12.0
-oslo.cache>=1.26.0
+oslo.cache>=3.11.0
oslo.config>=5.2.0
oslo.context>=2.19.2
oslo.i18n>=3.15.3
@@ -10,26 +8,29 @@
oslo.utils>=3.33.0
pbr>=2.0.0
pycadf>=1.1.0
+PyJWT>=2.4.0
python-keystoneclient>=3.20.0
requests>=2.14.2
+WebOb>=1.7.1
[audit_notifications]
oslo.messaging>=5.29.0
[test]
-PyJWT>=2.4.0
-WebTest>=2.0.27
-bandit>=1.1.0
+hacking~=6.1.0
+flake8-docstrings~=1.7.0
coverage>=4.0
cryptography>=3.0
fixtures>=3.0.0
-flake8-docstrings~=1.7.0
-hacking~=6.0.1
-oslo.messaging>=5.29.0
oslotest>=3.2.0
-python-memcached>=1.59
+stevedore>=1.20.0
requests-mock>=1.2.0
stestr>=2.0.0
-stevedore>=1.20.0
testresources>=2.0.0
testtools>=2.2.0
+python-binary-memcached>=0.29.0
+python-memcached>=1.59
+WebTest>=2.0.27
+oslo.messaging>=5.29.0
+PyJWT>=2.4.0
+bandit>=1.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/pyproject.toml
new/keystonemiddleware-10.12.0/pyproject.toml
--- old/keystonemiddleware-10.7.1/pyproject.toml 1970-01-01
01:00:00.000000000 +0100
+++ new/keystonemiddleware-10.12.0/pyproject.toml 2025-08-21
11:33:29.000000000 +0200
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["pbr>=6.1.1"]
+build-backend = "pbr.build"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/notes/enable-sasl-protocol-946149083f604216.yaml
new/keystonemiddleware-10.12.0/releasenotes/notes/enable-sasl-protocol-946149083f604216.yaml
---
old/keystonemiddleware-10.7.1/releasenotes/notes/enable-sasl-protocol-946149083f604216.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-10.12.0/releasenotes/notes/enable-sasl-protocol-946149083f604216.yaml
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,8 @@
+---
+features:
+ - |
+ Add the feature to support SASL for keystonemiddleware to improve
+ the security of authority.
+ memcache_sasl_enabled: enable the SASL option or not.
+ memcache_username: the user name for the SASL
+ memcache_password: the user password for SASL
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/notes/remove-py38-438c67d4d2da02a3.yaml
new/keystonemiddleware-10.12.0/releasenotes/notes/remove-py38-438c67d4d2da02a3.yaml
---
old/keystonemiddleware-10.7.1/releasenotes/notes/remove-py38-438c67d4d2da02a3.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-10.12.0/releasenotes/notes/remove-py38-438c67d4d2da02a3.yaml
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Python 3.8 support was dropped. The minimum version of Python now supported
+ is Python 3.9.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/notes/remove-py39-ffac30d683a53099.yaml
new/keystonemiddleware-10.12.0/releasenotes/notes/remove-py39-ffac30d683a53099.yaml
---
old/keystonemiddleware-10.7.1/releasenotes/notes/remove-py39-ffac30d683a53099.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-10.12.0/releasenotes/notes/remove-py39-ffac30d683a53099.yaml
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,5 @@
+---
+upgrade:
+ - |
+ Support for Python 3.9 has been removed. Now Python 3.10 is the minimum
+ version supported.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/notes/tls-support-via-oslo-cache-51d744dd8a3f6ba0.yaml
new/keystonemiddleware-10.12.0/releasenotes/notes/tls-support-via-oslo-cache-51d744dd8a3f6ba0.yaml
---
old/keystonemiddleware-10.7.1/releasenotes/notes/tls-support-via-oslo-cache-51d744dd8a3f6ba0.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/keystonemiddleware-10.12.0/releasenotes/notes/tls-support-via-oslo-cache-51d744dd8a3f6ba0.yaml
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,4 @@
+---
+other:
+ - |
+ Added tls support to the MemcacheClientPool driver via oslo.cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/source/2023.1.rst
new/keystonemiddleware-10.12.0/releasenotes/source/2023.1.rst
--- old/keystonemiddleware-10.7.1/releasenotes/source/2023.1.rst
2024-08-30 16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/releasenotes/source/2023.1.rst
2025-08-21 11:33:29.000000000 +0200
@@ -3,4 +3,4 @@
===========================
.. release-notes::
- :branch: stable/2023.1
+ :branch: unmaintained/2023.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/source/2024.2.rst
new/keystonemiddleware-10.12.0/releasenotes/source/2024.2.rst
--- old/keystonemiddleware-10.7.1/releasenotes/source/2024.2.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/keystonemiddleware-10.12.0/releasenotes/source/2024.2.rst
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,6 @@
+===========================
+2024.2 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2024.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/source/2025.1.rst
new/keystonemiddleware-10.12.0/releasenotes/source/2025.1.rst
--- old/keystonemiddleware-10.7.1/releasenotes/source/2025.1.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/keystonemiddleware-10.12.0/releasenotes/source/2025.1.rst
2025-08-21 11:33:29.000000000 +0200
@@ -0,0 +1,6 @@
+===========================
+2025.1 Series Release Notes
+===========================
+
+.. release-notes::
+ :branch: stable/2025.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/source/index.rst
new/keystonemiddleware-10.12.0/releasenotes/source/index.rst
--- old/keystonemiddleware-10.7.1/releasenotes/source/index.rst 2024-08-30
16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/releasenotes/source/index.rst
2025-08-21 11:33:29.000000000 +0200
@@ -6,6 +6,8 @@
:maxdepth: 1
unreleased
+ 2025.1
+ 2024.2
2024.1
2023.2
2023.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/keystonemiddleware-10.7.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/keystonemiddleware-10.12.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/keystonemiddleware-10.7.1/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2024-08-30 16:23:10.000000000 +0200
+++
new/keystonemiddleware-10.12.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2025-08-21 11:33:29.000000000 +0200
@@ -4,15 +4,16 @@
# Andi Chandler <[email protected]>, 2020. #zanata
# Andi Chandler <[email protected]>, 2022. #zanata
# Andi Chandler <[email protected]>, 2023. #zanata
+# Andi Chandler <[email protected]>, 2024. #zanata
msgid ""
msgstr ""
"Project-Id-Version: keystonemiddleware\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-02-07 16:09+0000\n"
+"POT-Creation-Date: 2025-02-26 20:05+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2023-05-08 11:38+0000\n"
+"PO-Revision-Date: 2024-12-17 09:57+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -25,6 +26,24 @@
msgid "10.1.0"
msgstr "10.1.0"
+msgid "10.3.0"
+msgstr "10.3.0"
+
+msgid "10.5.0"
+msgstr "10.5.0"
+
+msgid "2023.1 Series Release Notes"
+msgstr "2023.1 Series Release Notes"
+
+msgid "2023.2 Series Release Notes"
+msgstr "2023.2 Series Release Notes"
+
+msgid "2024.1 Series Release Notes"
+msgstr "2024.1 Series Release Notes"
+
+msgid "2024.2 Series Release Notes"
+msgstr "2024.2 Series Release Notes"
+
msgid "4.1.0"
msgstr "4.1.0"
@@ -170,6 +189,15 @@
"default to ``True`` in a future release."
msgid ""
+"In situation of encryption using memcached. Its possible that data in "
+"memcached becomes un-decryptable. The previous implementation of token cache "
+"was not correctly handling the case."
+msgstr ""
+"In a situation of encryption using memcached. It is possible that data in "
+"memcached becomes un-decryptable. The previous implementation of token cache "
+"was not correctly handling the case."
+
+msgid ""
"It is recommended that the ``memcache_use_advanced_pool`` option is set to "
"``True`` in the ``keystone_authtoken`` configuration section of the various "
"services (e.g. nova, glance, ...) when memcached is used for token cache."
@@ -215,6 +243,13 @@
"Python 3.6 & 3.7 support has been dropped. The minimum version of Python now "
"supported is Python 3.8."
+msgid ""
+"Python 3.8 support was dropped. The minimum version of Python now supported "
+"is Python 3.9."
+msgstr ""
+"Python 3.8 support was dropped. The minimum version of Python now supported "
+"is Python 3.9."
+
msgid "Queens Series Release Notes"
msgstr "Queens Series Release Notes"
@@ -378,6 +413,35 @@
msgid "Yoga Series Release Notes"
msgstr "Yoga Series Release Notes"
+msgid "Zed Series Release Notes"
+msgstr "Zed Series Release Notes"
+
+msgid ""
+"[`blueprint enhance-oauth2-interoperability <https://blueprints.launchpad."
+"net/keystone/+spec/enhance-oauth2-interoperability>`_] Added the ability to "
+"authenticate using a system-scoped token and the ability to authenticate "
+"using a cached token to the external_oauth2_token filter."
+msgstr ""
+"[`blueprint enhance-oauth2-interoperability <https://blueprints.launchpad."
+"net/keystone/+spec/enhance-oauth2-interoperability>`_] Added the ability to "
+"authenticate using a system-scoped token and the ability to authenticate "
+"using a cached token to the external_oauth2_token filter."
+
+msgid ""
+"[`blueprint enhance-oauth2-interoperability <https://blueprints.launchpad."
+"net/keystone/+spec/enhance-oauth2-interoperability>`_] The "
+"external_oauth2_token filter has been added for accepting or denying "
+"incoming requests containing OAuth 2.0 access tokens that are obtained from "
+"an external authorization server by users through their OAuth 2.0 "
+"credentials."
+msgstr ""
+"[`blueprint enhance-oauth2-interoperability <https://blueprints.launchpad."
+"net/keystone/+spec/enhance-oauth2-interoperability>`_] The "
+"external_oauth2_token filter has been added for accepting or denying "
+"incoming requests containing OAuth 2.0 access tokens that are obtained from "
+"an external authorization server by users through their OAuth 2.0 "
+"credentials."
+
msgid ""
"[`blueprint oauth2-client-credentials-ext <https://blueprints.launchpad.net/"
"keystone/+spec/oauth2-client-credentials-ext>`_] The oauth2_token filter has "
@@ -555,6 +619,21 @@
"look for the given option in local config, then Oslo global config."
msgid ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] "
+"Keystonemiddleware no longer supports PKI/PKIZ tokens, all associated "
+"offline validation has been removed. The configuration options "
+"`signing_dir`, and `hash_algorithms` have been removed, if they still exist "
+"in your configuration(s), they are now safe to remove. Please consider "
+"utilizing the newer fernet or JWS token formats."
+msgstr ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] "
+"Keystonemiddleware no longer supports PKI/PKIZ tokens, all associated "
+"offline validation has been removed. The configuration options "
+"`signing_dir`, and `hash_algorithms` have been removed, if they still exist "
+"in your configuration(s), they are now safe to remove. Please consider "
+"utilising the newer Fernet or JWS token formats."
+
+msgid ""
"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] The "
"auth_token middleware no longer attempts to retrieve the revocation list "
"from the Keystone server. The deprecated options "
@@ -568,6 +647,23 @@
"removed."
msgid ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] The "
+"auth_token middleware no longer attempts to retrieve the revocation list "
+"from the Keystone server. The deprecated options `revocations_cache_time` "
+"and `check_revocations_for_cached` have been removed. Keystone no longer "
+"issues PKI/PKIZ tokens and now keystonemiddleware's Support for PKI/PKIZ and "
+"associated offline validation has been removed. This includes the deprecated "
+"config options `signing_dir`, and `hash_algorithms`."
+msgstr ""
+"[`bug 1649735 <https://bugs.launchpad.net/keystone/+bug/1649735>`_] The "
+"auth_token middleware no longer attempts to retrieve the revocation list "
+"from the Keystone server. The deprecated options `revocations_cache_time` "
+"and `check_revocations_for_cached` have been removed. Keystone no longer "
+"issues PKI/PKIZ tokens and now keystonemiddleware's Support for PKI/PKIZ and "
+"associated offline validation has been removed. This includes the deprecated "
+"config options `signing_dir`, and `hash_algorithms`."
+
+msgid ""
"[`bug 1677308 <https://bugs.launchpad.net/keystonemiddleware/"
"+bug/1677308>`_] Removes ``pycrypto`` dependency as the library is "
"unmaintained, and replaces it with the ``cryptography`` library."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/requirements.txt
new/keystonemiddleware-10.12.0/requirements.txt
--- old/keystonemiddleware-10.7.1/requirements.txt 2024-08-30
16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/requirements.txt 2025-08-21
11:33:29.000000000 +0200
@@ -3,7 +3,7 @@
# you find any incorrect lower bounds, let us know or propose a fix.
keystoneauth1>=3.12.0 # Apache-2.0
-oslo.cache>=1.26.0 # Apache-2.0
+oslo.cache>=3.11.0 # Apache-2.0
oslo.config>=5.2.0 # Apache-2.0
oslo.context>=2.19.2 # Apache-2.0
oslo.i18n>=3.15.3 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/setup.cfg
new/keystonemiddleware-10.12.0/setup.cfg
--- old/keystonemiddleware-10.7.1/setup.cfg 2024-08-30 16:23:40.234109400
+0200
+++ new/keystonemiddleware-10.12.0/setup.cfg 2025-08-21 11:34:47.930037700
+0200
@@ -6,7 +6,7 @@
author = OpenStack
author_email = [email protected]
home_page = https://docs.openstack.org/keystonemiddleware/latest/
-python_requires = >=3.8
+python_requires = >=3.10
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
@@ -17,10 +17,9 @@
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
- Programming Language :: Python :: 3.8
- Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
+ Programming Language :: Python :: 3.12
[files]
packages =
@@ -30,10 +29,6 @@
audit_notifications =
oslo.messaging>=5.29.0 # Apache-2.0
-[global]
-setup_hooks =
- pbr.hooks.setup_hook
-
[entry_points]
oslo.config.opts =
keystonemiddleware.auth_token =
keystonemiddleware.auth_token._opts:list_opts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/test-requirements.txt
new/keystonemiddleware-10.12.0/test-requirements.txt
--- old/keystonemiddleware-10.7.1/test-requirements.txt 2024-08-30
16:23:10.000000000 +0200
+++ new/keystonemiddleware-10.12.0/test-requirements.txt 2025-08-21
11:33:29.000000000 +0200
@@ -1,4 +1,4 @@
-hacking~=6.0.1 # Apache-2.0
+hacking~=6.1.0 # Apache-2.0
flake8-docstrings~=1.7.0 # MIT
coverage>=4.0 # Apache-2.0
@@ -10,6 +10,7 @@
stestr>=2.0.0 # Apache-2.0
testresources>=2.0.0 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
+python-binary-memcached>=0.29.0 # MIT
python-memcached>=1.59 # PSF
WebTest>=2.0.27 # MIT
oslo.messaging>=5.29.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/keystonemiddleware-10.7.1/tox.ini
new/keystonemiddleware-10.12.0/tox.ini
--- old/keystonemiddleware-10.7.1/tox.ini 2024-08-30 16:23:10.000000000
+0200
+++ new/keystonemiddleware-10.12.0/tox.ini 2025-08-21 11:33:29.000000000
+0200
@@ -9,7 +9,7 @@
OS_STDOUT_NOCAPTURE=False
OS_STDERR_NOCAPTURE=False
deps =
-
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
@@ -42,13 +42,14 @@
commands = oslo_debug_helper -t keystonemiddleware/tests {posargs}
[testenv:docs]
-deps = -r{toxinidir}/doc/requirements.txt
+deps =
+
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+ -r{toxinidir}/doc/requirements.txt
commands=
doc8 doc/source
sphinx-build -W -b html doc/source doc/build/html
[testenv:pdf-docs]
-envdir = {toxworkdir}/docs
deps = {[testenv:docs]deps}
allowlist_externals =
make
@@ -59,8 +60,9 @@
make -C doc/build/pdf
[testenv:releasenotes]
-envdir = {toxworkdir}/docs
-deps = -r{toxinidir}/doc/requirements.txt
+deps =
+
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+ -r{toxinidir}/doc/requirements.txt
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html