From d104c5a3e2d5f0e89d1063b1652abd6acce5ade9 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Wed, 8 Jan 2025 07:36:57 +0100 Subject: [PATCH] Key id format (#42) * Key identifiers may contain . * bump --- dnstapir/key_resolver.py | 2 +- pyproject.toml | 2 +- tests/test_key_resolver.py | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dnstapir/key_resolver.py b/dnstapir/key_resolver.py index 837a85b..1a01896 100644 --- a/dnstapir/key_resolver.py +++ b/dnstapir/key_resolver.py @@ -35,7 +35,7 @@ def key_resolver_from_client_database(client_database: str, key_cache: KeyCache class KeyResolver: def __init__(self): self.logger = logging.getLogger(__name__).getChild(self.__class__.__name__) - self.key_id_validator = re.compile(r"^[a-zA-Z0-9_-]+$") + self.key_id_validator = re.compile(r"^[a-zA-Z0-9_\-.]+$") @abstractmethod def resolve_public_key(self, key_id: str) -> PublicKey: diff --git a/pyproject.toml b/pyproject.toml index eaab040..4cc4885 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "dnstapir" -version = "1.2.1" +version = "1.2.2" description = "DNS TAPIR Python Library" authors = ["Jakob Schlyter "] readme = "README.md" diff --git a/tests/test_key_resolver.py b/tests/test_key_resolver.py index b71dec5..13d65d8 100644 --- a/tests/test_key_resolver.py +++ b/tests/test_key_resolver.py @@ -25,6 +25,9 @@ def test_file_key_resolver(httpx_mock: HTTPXMock): res = resolver.resolve_public_key(key_id) assert res == public_key + with pytest.raises(KeyError): + _ = resolver.resolve_public_key("hostname.example.com") + with pytest.raises(ValueError): _ = resolver.resolve_public_key("🔐")