diff -Nru python-keystonemiddleware-10.1.0/AUTHORS python-keystonemiddleware-10.2.0/AUTHORS --- python-keystonemiddleware-10.1.0/AUTHORS 2022-08-30 08:55:21.000000000 +0000 +++ python-keystonemiddleware-10.2.0/AUTHORS 2023-01-06 16:21:05.000000000 +0000 @@ -48,6 +48,7 @@ Daniel Gollub Davanum Srinivas Dave Chen +Dave Wilde David Höppner <0xffea@gmail.com> David Olorundare David Stanek @@ -94,6 +95,7 @@ Joe Heck Joel Friedly John Dennis +Jorge Merlino Julien Danjou Kevin Benton Kevin L. Mitchell diff -Nru python-keystonemiddleware-10.1.0/ChangeLog python-keystonemiddleware-10.2.0/ChangeLog --- python-keystonemiddleware-10.1.0/ChangeLog 2022-08-30 08:55:21.000000000 +0000 +++ python-keystonemiddleware-10.2.0/ChangeLog 2023-01-06 16:21:04.000000000 +0000 @@ -1,6 +1,13 @@ CHANGES ======= +10.2.0 +------ + +* Remove cache invalidation when using expired token +* Fix pep8 gate +* Imported Translations from Zanata + 10.1.0 ------ @@ -10,6 +17,7 @@ ------ * Fix logging notifier unit test +* Bump tox minversion to 3.18.0 * Imported Translations from Zanata 10.0.0 diff -Nru python-keystonemiddleware-10.1.0/debian/changelog python-keystonemiddleware-10.2.0/debian/changelog --- python-keystonemiddleware-10.1.0/debian/changelog 2022-09-13 15:23:58.000000000 +0000 +++ python-keystonemiddleware-10.2.0/debian/changelog 2023-01-12 21:07:40.000000000 +0000 @@ -1,3 +1,15 @@ +python-keystonemiddleware (10.2.0-0ubuntu1~bpo23.04.1~ppa202301121607) lunar; urgency=medium + + * No-change backport to lunar. + + -- Corey Bryant Thu, 12 Jan 2023 16:07:40 -0500 + +python-keystonemiddleware (10.2.0-0ubuntu1) lunar; urgency=medium + + * New upstream release for OpenStack Antelope. + + -- Corey Bryant Thu, 12 Jan 2023 15:25:24 -0500 + python-keystonemiddleware (10.1.0-0ubuntu1) kinetic; urgency=medium * New upstream release for OpenStack Zed. diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware/auth_token/__init__.py python-keystonemiddleware-10.2.0/keystonemiddleware/auth_token/__init__.py --- python-keystonemiddleware-10.1.0/keystonemiddleware/auth_token/__init__.py 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware/auth_token/__init__.py 2023-01-06 16:20:38.000000000 +0000 @@ -245,7 +245,6 @@ _LOG = logging.getLogger(__name__) -_CACHE_INVALID_INDICATOR = 'invalid' oslo_cache.configure(cfg.CONF) AUTH_TOKEN_OPTS = [ @@ -736,10 +735,6 @@ cached = self._token_cache.get(token) if cached: - if cached == _CACHE_INVALID_INDICATOR: - self.log.debug('Cached token is marked unauthorized') - raise ksm_exceptions.InvalidToken() - # NOTE(jamielennox): Cached values used to be stored as a tuple # of data and expiry time. They no longer are but we have to # allow some time to transition the old format so if it's a @@ -769,7 +764,6 @@ 'The Keystone service is temporarily unavailable.') except ksm_exceptions.InvalidToken: self.log.debug('Token validation failure.', exc_info=True) - self._token_cache.set(token, _CACHE_INVALID_INDICATOR) self.log.warning('Authorization failed for token') raise except ksa_exceptions.EndpointNotFound: diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware/oauth2_token.py python-keystonemiddleware-10.2.0/keystonemiddleware/oauth2_token.py --- python-keystonemiddleware-10.1.0/keystonemiddleware/oauth2_token.py 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware/oauth2_token.py 2023-01-06 16:20:38.000000000 +0000 @@ -35,12 +35,11 @@ super(OAuth2Protocol, self).__init__(app, conf) def _is_valid_access_token(self, request): - """Check if the request contains an OAuth2.0 access token + """Check if the request contains an OAuth2.0 access token. :param request: Incoming request :type request: _request.AuthTokenRequest """ - access_token = None if (request.authorization and request.authorization.authtype == 'Bearer'): @@ -69,7 +68,6 @@ :param request: Incoming request :type request: _request.AuthTokenRequest """ - request.remove_auth_headers() self._token_cache.initialize(request.environ) if (not self._is_valid_access_token(request) @@ -96,7 +94,6 @@ def filter_factory(global_conf, **local_conf): """Return a WSGI filter app for use with paste.deploy.""" - conf = global_conf.copy() conf.update(local_conf) diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py python-keystonemiddleware-10.2.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py --- python-keystonemiddleware-10.1.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py 2023-01-06 16:20:38.000000000 +0000 @@ -595,25 +595,6 @@ token = 'invalid-token' self.call_middleware(headers={'X-Auth-Token': token}, expected_status=401) - self.assertEqual(auth_token._CACHE_INVALID_INDICATOR, - self._get_cached_token(token)) - - def test_memcache_hit_invalid_token(self): - token = 'invalid-token' - invalid_uri = '%s/v3/tokens/invalid-token' % BASE_URI - self.requests_mock.get(invalid_uri, status_code=404) - - # Call once to cache token's invalid state; verify it cached as such - self.call_middleware(headers={'X-Auth-Token': token}, - expected_status=401) - self.assertEqual(auth_token._CACHE_INVALID_INDICATOR, - self._get_cached_token(token)) - - # Call again for a cache hit; verify it detected as cached and invalid - self.call_middleware(headers={'X-Auth-Token': token}, - expected_status=401) - self.assertIn('Cached token is marked unauthorized', - self.logger.output) def test_memcache_set_expired(self, extra_conf={}, extra_environ={}): token_cache_time = 10 diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/pbr.json python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/pbr.json --- python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/pbr.json 2022-08-30 08:55:21.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/pbr.json 2023-01-06 16:21:05.000000000 +0000 @@ -1 +1 @@ -{"git_version": "f7ac6a1", "is_release": true} \ No newline at end of file +{"git_version": "e05466c", "is_release": true} \ No newline at end of file diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/PKG-INFO python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/PKG-INFO --- python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/PKG-INFO 2022-08-30 08:55:21.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/PKG-INFO 2023-01-06 16:21:05.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: keystonemiddleware -Version: 10.1.0 +Version: 10.2.0 Summary: Middleware for OpenStack Identity Home-page: https://docs.openstack.org/keystonemiddleware/latest/ Author: OpenStack diff -Nru python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/requires.txt python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/requires.txt --- python-keystonemiddleware-10.1.0/keystonemiddleware.egg-info/requires.txt 2022-08-30 08:55:21.000000000 +0000 +++ python-keystonemiddleware-10.2.0/keystonemiddleware.egg-info/requires.txt 2023-01-06 16:21:05.000000000 +0000 @@ -22,10 +22,11 @@ coverage!=4.4,>=4.0 cryptography>=3.0 fixtures>=3.0.0 -flake8-docstrings==0.2.1.post1 +flake8-docstrings==1.6.0 hacking<4.0.0,>=3.0 oslo.messaging>=5.29.0 oslotest>=3.2.0 +pep8==1.7.1 python-memcached>=1.59 requests-mock>=1.2.0 stestr>=2.0.0 diff -Nru python-keystonemiddleware-10.1.0/PKG-INFO python-keystonemiddleware-10.2.0/PKG-INFO --- python-keystonemiddleware-10.1.0/PKG-INFO 2022-08-30 08:55:21.492995700 +0000 +++ python-keystonemiddleware-10.2.0/PKG-INFO 2023-01-06 16:21:05.225156300 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: keystonemiddleware -Version: 10.1.0 +Version: 10.2.0 Summary: Middleware for OpenStack Identity Home-page: https://docs.openstack.org/keystonemiddleware/latest/ Author: OpenStack diff -Nru python-keystonemiddleware-10.1.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po python-keystonemiddleware-10.2.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po --- python-keystonemiddleware-10.1.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po 2023-01-06 16:20:38.000000000 +0000 @@ -7,17 +7,23 @@ msgstr "" "Project-Id-Version: keystonemiddleware\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-06 17:38+0000\n" +"POT-Creation-Date: 2022-08-26 17:13+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2022-05-25 08:57+0000\n" +"PO-Revision-Date: 2022-09-05 10:38+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en_GB\n" "X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" +msgid "10.0.0" +msgstr "10.0.0" + +msgid "10.0.0-3" +msgstr "10.0.0-3" + msgid "4.1.0" msgstr "4.1.0" @@ -201,6 +207,13 @@ "support Python 2.7 is OpenStack Train. The minimum version of Python now " "supported is Python 3.6." +msgid "" +"Python 3.6 & 3.7 support has been dropped. The minimum version of Python now " +"supported is Python 3.8." +msgstr "" +"Python 3.6 & 3.7 support has been dropped. The minimum version of Python now " +"supported is Python 3.8." + msgid "Queens Series Release Notes" msgstr "Queens Series Release Notes" @@ -365,6 +378,19 @@ msgstr "Yoga Series Release Notes" msgid "" +"[`blueprint oauth2-client-credentials-ext `_] The oauth2_token filter has " +"been added for accepting or denying incoming requests containing OAuth2.0 " +"client credentials access tokens passed via the Authorization headers as " +"bearer tokens." +msgstr "" +"[`blueprint oauth2-client-credentials-ext `_] The oauth2_token filter has " +"been added for accepting or denying incoming requests containing OAuth2.0 " +"client credentials access tokens passed via the Authorisation headers as " +"bearer tokens." + +msgid "" "[`bug 1333951 `_] Add support for parsing AWS v4 for ec2." msgstr "" diff -Nru python-keystonemiddleware-10.1.0/test-requirements.txt python-keystonemiddleware-10.2.0/test-requirements.txt --- python-keystonemiddleware-10.1.0/test-requirements.txt 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/test-requirements.txt 2023-01-06 16:20:38.000000000 +0000 @@ -3,14 +3,16 @@ # process, which may cause wedges in the gate later. hacking>=3.0,<4.0.0 # Apache-2.0 -flake8-docstrings==0.2.1.post1 # MIT +flake8-docstrings==1.6.0 # MIT +pep8==1.7.1 # MIT + coverage!=4.4,>=4.0 # Apache-2.0 cryptography>=3.0 # BSD/Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD oslotest>=3.2.0 # Apache-2.0 -requests-mock>=1.2.0 # Apache-2.0 stevedore>=1.20.0 # Apache-2.0 +requests-mock>=1.2.0 # Apache-2.0 stestr>=2.0.0 # Apache-2.0 testresources>=2.0.0 # Apache-2.0/BSD testtools>=2.2.0 # MIT diff -Nru python-keystonemiddleware-10.1.0/tox.ini python-keystonemiddleware-10.2.0/tox.ini --- python-keystonemiddleware-10.1.0/tox.ini 2022-08-30 08:54:35.000000000 +0000 +++ python-keystonemiddleware-10.2.0/tox.ini 2023-01-06 16:20:38.000000000 +0000 @@ -1,5 +1,5 @@ [tox] -minversion = 3.1.1 +minversion = 3.18.0 skipsdist = True envlist = py37,pep8,releasenotes ignore_basepython_conflict = True @@ -49,10 +49,11 @@ # D102: Missing docstring in public method # D103: Missing docstring in public function # D104: Missing docstring in public package -# D203: 1 blank line required before class docstring (deprecated in pep257) +# D107: Missing docstring in __init__ +# D401: First line should be in imperative mood # W503 line break before binary operator # W504 line break after binary operator -ignore = D100,D101,D102,D103,D104,D203,W503,W504 +ignore = D100,D101,D102,D103,D104,D107,D401,W503,W504 show-source = True exclude = .venv,.tox,dist,doc,*egg,build @@ -65,7 +66,7 @@ [testenv:pdf-docs] envdir = {toxworkdir}/docs deps = {[testenv:docs]deps} -whitelist_externals = +allowlist_externals = make rm commands =