From 3b89449dc34e2e6bee10ce34c95728a2eb297bf4 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 17 Nov 2021 11:12:40 +0100 Subject: [PATCH 1/9] fix: utcnow timestamp --- src/oidcmsg/time_util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/oidcmsg/time_util.py b/src/oidcmsg/time_util.py index 8991bd7..6fc6bd6 100644 --- a/src/oidcmsg/time_util.py +++ b/src/oidcmsg/time_util.py @@ -26,6 +26,7 @@ import time from datetime import datetime from datetime import timedelta +from datetime import timezone TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ" TIME_FORMAT_WITH_FRAGMENT = re.compile("^(\d{4,4}-\d{2,2}-\d{2,2}T\d{2,2}:\d{2,2}:\d{2,2})\.\d*Z$") @@ -351,7 +352,7 @@ def later_than(after, before): def utc_time_sans_frac(): - now_timestampt = int(datetime.utcnow().timestamp()) + now_timestampt = int(datetime.now(timezone.utc).timestamp()) return now_timestampt From df5651297c388638a81a9bc94a87cd85f8100b46 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 17 Nov 2021 11:52:38 +0100 Subject: [PATCH 2/9] fix: cryptojwt up to 1.6.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c463c73..7f3abbc 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ def run_tests(self): "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Libraries :: Python Modules"], install_requires=[ - "cryptojwt>=1.5.2", + "cryptojwt==1.6.0", "pyOpenSSL", "filelock>=3.0.12", 'pyyaml>=5.1.2' From 4dc5eec6b03217dfbe8a93a6e9dd308195f71679 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 17 Nov 2021 12:02:38 +0100 Subject: [PATCH 3/9] fix: time_utils now are timezone aware and compatible with naive datetimes --- src/oidcmsg/time_util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/oidcmsg/time_util.py b/src/oidcmsg/time_util.py index 6fc6bd6..db514c8 100644 --- a/src/oidcmsg/time_util.py +++ b/src/oidcmsg/time_util.py @@ -182,7 +182,8 @@ def time_in_a_while(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0 :return: datetime instance using UTC time """ delta = timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks) - return datetime.utcnow() + delta + res = datetime.now(timezone.utc) + delta + return res.replace(tzinfo=None) def time_a_while_ago( @@ -201,7 +202,8 @@ def time_a_while_ago( :return: datetime instance using UTC time """ delta = timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks) - return datetime.utcnow() - delta + res = datetime.now(timezone.utc) - delta + return res.replace(tzinfo=None) def in_a_while( From 40ae4c38c31c7649e6c9edd392f4f2f7c367af58 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 17 Nov 2021 12:03:52 +0100 Subject: [PATCH 4/9] v1.5.3 --- src/oidcmsg/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oidcmsg/__init__.py b/src/oidcmsg/__init__.py index c122148..49f34d0 100644 --- a/src/oidcmsg/__init__.py +++ b/src/oidcmsg/__init__.py @@ -1,5 +1,5 @@ __author__ = "Roland Hedberg" -__version__ = "1.5.2" +__version__ = "1.5.3" import os from typing import Dict From e21f9dc64a2693705569ea92f1a6d43ede36e468 Mon Sep 17 00:00:00 2001 From: Giuseppe De Marco Date: Thu, 18 Nov 2021 23:07:21 +0100 Subject: [PATCH 5/9] fix version --- src/oidcmsg/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oidcmsg/__init__.py b/src/oidcmsg/__init__.py index 49f34d0..c122148 100644 --- a/src/oidcmsg/__init__.py +++ b/src/oidcmsg/__init__.py @@ -1,5 +1,5 @@ __author__ = "Roland Hedberg" -__version__ = "1.5.3" +__version__ = "1.5.2" import os from typing import Dict From daacb8f427f91645f3938875a7ac72a5715cc97a Mon Sep 17 00:00:00 2001 From: Giuseppe De Marco Date: Thu, 18 Nov 2021 23:24:21 +0100 Subject: [PATCH 6/9] change version @rohe unfortunately you made v1.5.1 on a tag called v1.5.2 ... So, let's go to v1.5.3! --- src/oidcmsg/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oidcmsg/__init__.py b/src/oidcmsg/__init__.py index c122148..49f34d0 100644 --- a/src/oidcmsg/__init__.py +++ b/src/oidcmsg/__init__.py @@ -1,5 +1,5 @@ __author__ = "Roland Hedberg" -__version__ = "1.5.2" +__version__ = "1.5.3" import os from typing import Dict From b637ef7f3426468587034400ef6eabe26f8346d4 Mon Sep 17 00:00:00 2001 From: Roland Hedberg Date: Mon, 13 Dec 2021 08:53:52 +0100 Subject: [PATCH 7/9] Added file attribute and added alternative configuration attribute name --- src/oidcmsg/configure.py | 2 +- src/oidcmsg/context.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/oidcmsg/configure.py b/src/oidcmsg/configure.py index abe408e..26f65cb 100644 --- a/src/oidcmsg/configure.py +++ b/src/oidcmsg/configure.py @@ -9,7 +9,7 @@ from oidcmsg.logging import configure_logging from oidcmsg.util import load_yaml_config -DEFAULT_FILE_ATTRIBUTE_NAMES = ['server_key', 'server_cert', 'filename', +DEFAULT_FILE_ATTRIBUTE_NAMES = ['server_key', 'server_cert', 'filename', 'template_dir', 'private_path', 'public_path', 'db_file', 'jwks_file'] DEFAULT_DIR_ATTRIBUTE_NAMES = ['template_dir'] diff --git a/src/oidcmsg/context.py b/src/oidcmsg/context.py index facd91b..e30c9e6 100644 --- a/src/oidcmsg/context.py +++ b/src/oidcmsg/context.py @@ -35,6 +35,9 @@ def _keyjar(self, keyjar=None, conf=None, entity_id=""): if "keys" in conf: keys_args = {k: v for k, v in conf["keys"].items() if k != "uri_path"} _keyjar = init_key_jar(**keys_args) + elif "key_conf" in conf: + keys_args = {k: v for k, v in conf["key_conf"].items() if k != "uri_path"} + _keyjar = init_key_jar(**keys_args) else: _keyjar = KeyJar() if "jwks" in conf: From 3d50d93327ecf64aecae4ed4487948bc61b7af73 Mon Sep 17 00:00:00 2001 From: Roland Hedberg Date: Mon, 13 Dec 2021 08:55:02 +0100 Subject: [PATCH 8/9] Bumped version. --- src/oidcmsg/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oidcmsg/__init__.py b/src/oidcmsg/__init__.py index 49f34d0..388b6ff 100644 --- a/src/oidcmsg/__init__.py +++ b/src/oidcmsg/__init__.py @@ -1,5 +1,5 @@ __author__ = "Roland Hedberg" -__version__ = "1.5.3" +__version__ = "1.5.4" import os from typing import Dict From fba48dc176660d444dd8d76ebc9224bbb369b317 Mon Sep 17 00:00:00 2001 From: Roland Hedberg Date: Mon, 13 Dec 2021 13:55:02 +0100 Subject: [PATCH 9/9] matched utc_time_sans_frac implementations. --- setup.py | 2 +- src/oidcmsg/time_util.py | 11 +++++------ tests/test_03_time_util.py | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index 7f3abbc..cc8b161 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ def run_tests(self): "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Libraries :: Python Modules"], install_requires=[ - "cryptojwt==1.6.0", + "cryptojwt==1.6.1", "pyOpenSSL", "filelock>=3.0.12", 'pyyaml>=5.1.2' diff --git a/src/oidcmsg/time_util.py b/src/oidcmsg/time_util.py index db514c8..643be42 100644 --- a/src/oidcmsg/time_util.py +++ b/src/oidcmsg/time_util.py @@ -15,18 +15,17 @@ # See the License for the specific language governing permissions and # limitations under the License. """ -Implements some usefull functions when dealing with validity of +Implements some useful functions when dealing with validity of different types of information. """ import calendar -import logging -import re -import sys -import time from datetime import datetime from datetime import timedelta from datetime import timezone +import logging +import re +import time TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ" TIME_FORMAT_WITH_FRAGMENT = re.compile("^(\d{4,4}-\d{2,2}-\d{2,2}T\d{2,2}:\d{2,2}:\d{2,2})\.\d*Z$") @@ -353,7 +352,7 @@ def later_than(after, before): return after >= before -def utc_time_sans_frac(): +def utc_time_sans_frac(): # MUST be the same as utc_time_sans_frac in cryptojwt now_timestampt = int(datetime.now(timezone.utc).timestamp()) return now_timestampt diff --git a/tests/test_03_time_util.py b/tests/test_03_time_util.py index f5041b4..a0fe2b6 100644 --- a/tests/test_03_time_util.py +++ b/tests/test_03_time_util.py @@ -1,4 +1,4 @@ -# !/usr/bin/env python +#!/usr/bin/env python3 # pylint: disable=missing-docstring