1548 Commits
Author SHA1 Message Date
Erica Portnoy 3d3077e1f1 Release 1.24.0 2022-03-01 12:34:21 -08:00
Erica Portnoy 88c0e4c6fa Update changelog for 1.24.0 release 2022-03-01 12:23:44 -08:00
Brad WarrenandGitHub c1030c0d40 Drop Python 3.6 support (#9216)
* Remove deprecation warnings

* update ci

* update setup.py files

* update changelog

* update pinnings

* update requests and friends

* update setuptools pin

* update setuptools pin pt2

* update pytz

* upgrade pyparsing

* upgrade boto deps

* update deps and docs

* update pyproject.toml comment

* remove trailets pin

* remove explicit PYTHON_VERSION
2022-02-28 15:23:30 -08:00
alexzorinandGitHub 3c9e690e19 snap_config: set a timeout when talking to snapd (#9218) 2022-02-28 11:16:58 -08:00
Brad WarrenandGitHub 37e4f5735a update changelog (#9219) 2022-02-28 09:51:44 -08:00
96847ba779 Add extra challenge info to --debug-challenges (#9208)
* Add challenge info to `--debug-challenges`

* Expand/add tests

* Add changelog entry

* Make tests Python 3.6 and 3.7 compatible

* Don't use `config.namespace`

* And don't use `config.namespace` in tests too

* Expand tests to check for token/thumbprint

* Add test for the DNS-01 challenge

Changed the Apache authenticator to the manual authenticator. Doesn't
seem to make a difference to the tests, but makes more sense if the
DNS-01 challenge is being used.

* Reword changelog entry

* Mention feature in --help output

* Better variable assignment in test

Co-authored-by: alexzorin <alex@zor.io>

* Better variable assignment in test

Co-authored-by: alexzorin <alex@zor.io>

* Remove unnecessary `verbose_count` assignment

Co-authored-by: alexzorin <alex@zor.io>

* Use terminology from RFC 8555

* Compress the two new tests into one

* s/world wide web/internet

* Move new code into separate function

* Remove superfluous newline with mixed challs

Co-authored-by: alexzorin <alex@zor.io>
2022-02-28 07:25:49 +11:00
Brad WarrenandGitHub c96420dbe0 remove outdated setup.cfg files (#9201) 2022-02-17 22:17:21 +11:00
Mads JensenandGitHub 6f85eb928c Use literals wherever possible. (#9194)
* Use literals wherever possible.

These were found with flake8-comprehensions.
2022-02-14 14:54:03 -08:00
a1b2e973c0 Search included files for nginx server_names_hash_bucket_size directive (#9198)
* Search all included files for bucket directive

* Add tests for mod_config

* Update changelog

* Move changelog entry to the new release's section

* Break immediately once we've found the `http` block

Co-authored-by: alexzorin <alex@zorin.id.au>

* Add parallel descriptive comment about updating bucket directive

Co-authored-by: alexzorin <alex@zorin.id.au>

* remove github-inserted trailing whitespace

Co-authored-by: alexzorin <alex@zorin.id.au>
2022-02-11 15:40:14 +11:00
Brad Warren d73c6f44c5 Bump version to 1.24.0 2022-02-08 07:50:45 -08:00
Brad Warren d655ab6913 Add contents to certbot/CHANGELOG.md for next version 2022-02-08 07:50:45 -08:00
Brad Warren 719f3ac577 Release 1.23.0 2022-02-08 07:50:44 -08:00
Brad Warren 69461bc15a Update changelog for 1.23.0 release 2022-02-08 07:49:47 -08:00
Mads JensenandGitHub 6c278c3352 Inline dict creation in _assert_valid_call. (#9190)
PyCharm has this check, and it's the only one it could find. It'll cut off valuable nanoseconds off the test suite run 😄
2022-02-04 09:57:21 -08:00
Patrik HagaraandGitHub d1608f8f2d include py.typed marker files in distribution (#9187) 2022-02-04 18:29:26 +01:00
fe0c0dc3ae Add support for revoking ecdsa keys without --cert-name. (#8725)
* Add support for revoking ecdsa keys without --cert-name.

Co-Authored-By: commonism <commonism@users.noreply.github.com>

* Move alg to acme_client.ClientNetwork instantiating in acme_from_config_key

* Fix argument for RS256/ES256

* Support also ES384 and ES512 signing algorithms.
2022-02-03 17:34:04 -08:00
0181a0b07f Fully type certbot apache (#9177)
* Work in progress

* Work in progress

* Work in progress

* Work in progress

* Fix issues around nullability of VirtualHost.path, may discuss that during review

* Work in progress

* Fix remaining types

* Various lint fixes

* Reconfigure tox and mypy to disallow untyped defs globally

* Cleanup compatibility tests

* Use cast for unused v2 logic

* Improve types

* Remove unused comment

* Fix coverage

* Better types

* Fix another type

* Update certbot-apache/certbot_apache/_internal/apacheparser.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot-apache/certbot_apache/_internal/assertions.py

Co-authored-by: alexzorin <alex@zor.io>

* Fix type

* Various fixes

* Refactor imports

* Keep naming convention consistent on TypeVars

* Improve types

* Improve types

* Remove remaining Sequence[str] in the project

Co-authored-by: alexzorin <alex@zor.io>
2022-01-31 19:17:40 +11:00
RickandGitHub fb1b105ba2 dns-digitalocean: Ignore SOA TTL in favor of explicit TTL argument (#9149)
* Ignore SOA TTL in favor of explicit TTL argument

`domain.ttl` should be `None` so that the `self.ttl` argument in 
`add_txt_record()` is not ignored (`domain.ttl` takes precedence).

* Document mitigation for dns-digitalocean ignoring the 30 second TTL.
2022-01-25 21:34:38 +11:00
dac0b2c187 Typed jose fields (#9073)
* Add generic methods to save some casts, and fix lint

* Update current and oldest pinning

* Fix classes

* Remove some todos thanks to josepy 1.11.0

* Cleanup some useless pylint disable

* Finish complete typing

* Better TypeVar names

* Upgrade pinning and fix some typing errors

* Use protocol

* Fix types in apache

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2022-01-24 15:16:19 -08:00
tJouveandGitHub fb564cddd9 Dns-google: update permissions needed in documentation (#9094)
* dns-google : Update account permission needed

Add permission for transaction creation => dns.managedZones.get
Add permission for RR removal transaction => dns.changes.list

* Add fix GCP Permission Changelog

* Update CHANGELOG.md
2022-01-24 18:17:43 +11:00
Adrien FerrandandGitHub 3d5defe28a Deprecate Python 3.6 support (#9160)
Fixes https://github.com/certbot/certbot/issues/8983

Python 3.6 is now EOL: https://endoflife.date/python

This is normally a good time to create warnings about Python 3.6 deprecation the Certbot upcoming release 1.23.0 so that its support is removed in 1.24.0.

We have to say here that EPEL maintainers asked us to keep maintaining support of Python 3.6 because Python 3.7 will never be shipped to CentOS 7. This support would be needed in theory up to 2 more years, basically until CentOS 7 EOL in 2024-06-30. It has been said that we could support as a best effort until a reasonable need on Certbot side requires to drop Python 3.6. See https://github.com/certbot/certbot/issues/8983 for more information.

However some of us (including me) consider that there is already a reasonable need right now. Indeed, keeping the support on Python 3.6 while the Python community globally moves away from it will pin implicitly some Certbot dependencies to the last version of these dependencies supporting Python 3.6 as the upstream maintainers decide to make the move. At any point in a future time, one of these dependencies could require an urgent upgrade (typically a critical uncovered vulnerability): then we would require to drop Python 3.6 immediately without further notice instead of following an organized deprecation path.

This reason motivates to proactively deprecate then drop the Python versions once they are EOL. You can see the discussion in Mattermost starting from [this post](https://opensource.eff.org/eff-open-source/pl/ntzs9zy1fprjmkso3xrqspnoce) to get more elements about the reasoning.

* Deprecate Python 3.6 support.

* Ignore our own PendingDeprecationWarning
2022-01-21 12:42:05 -08:00
7d9e9a4900 Add typing to certbot.apache (#9071)
* Add typing to certbot.apache

Co-authored-by: Adrien Ferrand <ferrand.ad@gmail.com>
2022-01-21 10:15:48 +01:00
16aad35d31 Fully type certbot-nginx module (#9124)
* Work in progress

* Fix type

* Work in progress

* Work in progress

* Work in progress

* Work in progress

* Work in progress

* Oups.

* Fix typing in UnspacedList

* Fix logic

* Finish typing

* List certbot-nginx as fully typed in tox

* Fix lint

* Fix checks

* Organize imports

* Fix typing for Python 3.6

* Fix checks

* Fix lint

* Update certbot-nginx/certbot_nginx/_internal/configurator.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot-nginx/certbot_nginx/_internal/configurator.py

Co-authored-by: alexzorin <alex@zor.io>

* Fix signature of deploy_cert regarding the installer interface

* Update certbot-nginx/certbot_nginx/_internal/obj.py

Co-authored-by: alexzorin <alex@zor.io>

* Fix types

* Update certbot-nginx/certbot_nginx/_internal/parser.py

Co-authored-by: alexzorin <alex@zor.io>

* Precise type

* Precise _coerce possible inputs/outputs

* Fix type

* Update certbot-nginx/certbot_nginx/_internal/http_01.py

Co-authored-by: ohemorange <ebportnoy@gmail.com>

* Fix type

* Remove an undesirable implementation.

* Fix type

Co-authored-by: alexzorin <alex@zor.io>
Co-authored-by: ohemorange <ebportnoy@gmail.com>
2022-01-12 16:36:51 -08:00
Mads JensenandGitHub 30b066f082 Remove outdated pylint comments (#9167)
* Remove outdated pylint: disable=unused-import annotations.

* remove # pylint: disable=ungrouped-imports annotations.

* Remove single pylint: disable = unused-argument in DeleteIfAppropriateTest.test_opt_in_deletion.
2022-01-09 22:51:06 +01:00
Mads JensenandGitHub 7e5e51aeff Use super().__init__ instead of explicitly calling named super-class. (#9166)
* Use super().__init__ instead of explicitly calling named super-class.

* Fix unittest (typo fix).
2022-01-09 22:50:44 +01:00
Mads JensenandGitHub ed7964b424 Improve assertions in nginx and DNS plugin tests. (#9157)
* Improve assertions in nginx and DNS plugin tests.

* Use assertIs for asserting is True/False.
2022-01-04 23:59:58 +01:00
osirisinferiandGitHub 93c2852fdb Add show_account subcommand to retrieve account info from ACME server (#9127)
* Fetch and print account contacts from ACME server

* Add tests

* Add changelog entryAdd changelog entry

* Add account URI and thumbprint output

Only show these items when verbosity > 0

* Add test case for account URI and thumbprint

* Move changelog entry to new placeholder

* Add test for `cb_client.acme` (coverage)

* Address comments

* Update changelog

* Few small word changes

* Add server to error messages

* Remove phone contact parts
2021-12-27 19:12:52 +11:00
osirisinferiandGitHub a391a34631 Add appending behaviour of max-log-backups = 0 (#9146) 2021-12-22 08:20:01 +11:00
89ccbccff0 Fully type all DNS plugins (#9125)
* Add types in all DNS plugins

* Order imports

* Fix type

* Update certbot-dns-route53/certbot_dns_route53/_internal/dns_route53.py

Co-authored-by: alexzorin <alex@zor.io>

* Clean up imports

Co-authored-by: alexzorin <alex@zor.io>
2021-12-14 12:38:14 +11:00
Adrien FerrandandGitHub 89cefc177a Fix --help output (#9130) 2021-12-11 12:58:33 +11:00
Brad WarrenandGitHub dab7864809 Add macOS instructions (#9136)
* add macOS instructions

* add integration test warning
2021-12-11 12:28:18 +11:00
Erica Portnoy c02ead0f11 Bump version to 1.23.0 2021-12-07 14:03:51 -08:00
Erica Portnoy d5ea9072af Add contents to certbot/CHANGELOG.md for next version 2021-12-07 14:03:51 -08:00
Erica Portnoy 6463a2e22d Release 1.22.0 2021-12-07 14:03:50 -08:00
Erica Portnoy d6adc4a2d0 Update changelog for 1.22.0 release 2021-12-07 14:02:45 -08:00
moratoriandGitHub 0d10a44f4b Added --issuance-timeout command line option (#9056)
* Added --issuance-timeout command line option

* clarification of command line option name,docstring and add tests

* fix test case for python36

* improved the command line options
2021-11-30 08:17:06 +11:00
86406ab63a Add type annotations to the certbot package (part 4) (#9087)
* Extract from #9084

* Cast/ignore types during the transition

* Remove useless casts and type ignore directives

* Fix lint

* Fix a cast

* Mandatory typing for certbot packages

* Update certbot/certbot/_internal/plugins/disco.py

Co-authored-by: alexzorin <alex@zor.io>

* Remove unused type import

* Fix iterator type

* Fix type

* Fix types in selection

Co-authored-by: alexzorin <alex@zor.io>
2021-11-26 09:00:03 +11:00
Aaron GableandGitHub 7d3a344d43 Update py cryptography to >=2.5.0 (#9110)
* Update py cryptography to >=2.5.0

* Review feedback
2021-11-24 14:46:11 -08:00
250d7b1542 Add type annotations to the certbot package (part 3) (#9086)
* Extract from #9084

* Cast/ignore types during the transition

* Fix after review

* Fix lint

* Update certbot/certbot/_internal/storage.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/storage.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/main.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/main.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/client.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/client.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/auth_handler.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/auth_handler.py

Co-authored-by: alexzorin <alex@zor.io>

* Update certbot/certbot/_internal/auth_handler.py

Co-authored-by: alexzorin <alex@zor.io>

* Remove a cast usage

* Fix import

* Remove now useless cast

* Update certbot/certbot/_internal/client.py

Co-authored-by: alexzorin <alex@zor.io>

Co-authored-by: alexzorin <alex@zor.io>
2021-11-25 07:47:36 +11:00
19147e1b8c Add type annotations to the certbot package (part 2) (#9085)
* Extract from #9084

* Cast/ignore types during the transition

* Clean up

* Fix assertion

* Update certbot/certbot/display/ops.py

Co-authored-by: alexzorin <alex@zor.io>

* Use sequence

* Improve documentation of "default" in display

* Fix contract

* Fix types

* Fix type

* Fix type

* Update certbot/certbot/display/ops.py

Co-authored-by: alexzorin <alex@zor.io>

Co-authored-by: alexzorin <alex@zor.io>
2021-11-24 18:33:09 +11:00
d1821b3ad7 Pin back setuptools-rust (#9112)
* pin back setuptools-rust

* make pylint happy

This was taken from https://github.com/certbot/certbot/pull/9073.

* pin back josepy

* Apply lint's code style suggestions

* fix lint again

Co-authored-by: Erica Portnoy <ebportnoy@gmail.com>
2021-11-23 12:35:49 -08:00
Paul KehrerandGitHub 267fb94478 Remove use of deprecated verifier with cryptography (#9105)
This was deprecated in version 2.1 and cryptography will be
removing it soon. The replacement function is available in all
versions of cryptography that certbot supports (2.1+)
2021-11-23 10:18:22 -08:00
6766786049 Fix Windows webroot crash when multiple domains have the same webroot (#9108)
* Certificate issuing on Window while having web.confing and more then one domain in request

* add a test

* update changelog

Co-authored-by: Serghei Trufkin <Serghei.Trufkin@Technosoft.md>
2021-11-22 19:00:55 +01:00
d2578e05e7 docs: describe how to modify renewal config (#9014)
* docs: describe how to modify renewal config

* Apply suggestions from code review

Co-authored-by: ohemorange <ebportnoy@gmail.com>

* reword warning about manual modifications

* explain the flags in the --force-renewal command

Co-authored-by: ohemorange <ebportnoy@gmail.com>
2021-11-18 12:14:10 -08:00
alexzorinandGitHub 2746fc572f webroot: unset existing mime type in web.config (#9092) 2021-11-15 14:35:18 +11:00
Adrien FerrandandGitHub d20e42562c Add type annotations to the certbot package (part 1) (#9084)
* Extract from #9084

* Cast/ignore types during the transition

* Fix after review

* Fix lint
2021-11-12 14:27:46 +11:00
Brad WarrenandGitHub e8265dbf9c Add Python 3.10 support and tests (#9077)
Fixes https://github.com/certbot/certbot/issues/9058.

The changes to the CI config are equivalent to the ones made in https://github.com/certbot/certbot/pull/8460.

Other than ignoring some warnings raised by botocore, the main additional work that had to be done here was switching away from using `distutils.version.LooseVersion` since the entire `distutils` module was deprecated in Python 3.10. To do that, I took a few different approaches:

* If the version strings being parsed are from Python packages such as Certbot or setuptools, I switched to using [pkg_resources.parse_version](https://setuptools.pypa.io/en/latest/pkg_resources.html#parsing-utilities) from `setuptools`. This functionality has been available since [setuptools 8.0 from 2014](https://setuptools.pypa.io/en/latest/history.html#id865).
* If the version strings being parsed are not from Python packages, I added code equivalent to `distutils.version.LooseVersion` in `certbot.util.parse_loose_version`.
* The code for `CERTBOT_PIP_NO_BINARY` can be completely removed since that variable isn't used or referenced anywhere in this repo.

* add python 3.10 support

* make some version changes

* don't use looseversion in setup.py

* switch to pkg_resources

* deprecate get_strict_version

* fix route53 tests

* remove unused CERTBOT_PIP_NO_BINARY code

* stop using distutils in letstest

* add unit tests

* more changelog entries
2021-11-08 15:55:32 -08:00
Brad WarrenandGitHub 81d5d2b421 Pin readthedocs deps (#9083)
* pin readthedocs deps

* fix reqs path
2021-11-04 20:35:44 +11:00
Brad Warren 9740f5428e Bump version to 1.22.0 2021-11-02 14:28:34 -07:00
Brad Warren 91c079ab41 Add contents to certbot/CHANGELOG.md for next version 2021-11-02 14:28:34 -07:00