certbot/certbot-nginx
Jacob Hoffman-Andrews b1cf53ff6b
Add identifier field to AnnotatedChallenge subclasses (#10491)
This field is optional to maintain backwards compatibility. Note that
`AnnotatedChallenge` inherits from `jose.ImmutableMap`, which has a
[check in
__init__](4b74747670/src/josepy/util.py (L125-L131))
that all slots are provided. That check would not allow us to do a
backwards-compatible addition, so I implemented an `__init__` for each
of these subclasses that fills the fields without calling the parent
`__init__`, and so doesn't hit an error when `identifier` is absent.

I chose to use `acme.messages.Identifier` rather than
`certbot._internal.san.SAN` here because these are wrapped ACME types,
so they should use the ACME representation. Also, `AnnotatedChallenge`
is passed to plugins, so we need to pass a type that the plugins can
understand.

Additionally, `domain` is marked as deprecated.

Part of #10346

/cc @bmw, who noticed the issue with `AnnotatedChallenge`
[here](https://github.com/certbot/certbot/pull/10468#issuecomment-3403294394)
and provided additional feedback
[here](https://github.com/jsha/certbot/pull/2#issuecomment-3534895793).
Note that there's still some work to do to finish excising `domain`
assumptions from this portion of the code.

---------

Co-authored-by: ohemorange <ebportnoy@gmail.com>
2025-12-05 13:44:04 -08:00
..
src/certbot_nginx Add identifier field to AnnotatedChallenge subclasses (#10491) 2025-12-05 13:44:04 -08:00
LICENSE.txt s/letsencrypt/certbot letsencrypt-nginx tests 2016-04-13 16:45:54 -07:00
MANIFEST.in Add --use-pep517 flag to pip to silence warning in tools/venv.py, and switch codebase to src-layout (#10249) 2025-04-11 19:30:33 +00:00
pyproject.toml Add python 3.14 support (#10481) 2025-11-04 10:49:51 -08:00
README.rst s/Let's Encrypt/Certbot certbot-nginx 2016-04-13 16:49:30 -07:00
setup.py Bump version to 5.3.0 2025-12-03 11:48:10 -08:00

Nginx plugin for Certbot