1013 Commits
Author SHA1 Message Date
Brad WarrenandGitHub 3a738cadc3 Remove docker-compose dependency (#9436)
This is progress towards https://github.com/certbot/certbot/issues/9370 as discussed at https://github.com/certbot/certbot/pull/9435.

I kept the command using `docker-compose` because `docker compose` doesn't seem that widely recognized yet and https://www.docker.com/blog/announcing-compose-v2-general-availability/ describes aliasing `docker-compose` to `docker compose` on newer systems by default.

* refactor boulder shutdown

* remove docker-compose dep

* Reorder shutdown process
2022-10-20 13:07:18 -07:00
Alex Zorin d5d8739783 bump version to 2.0.0.dev0 2022-10-05 05:17:29 +11:00
Alex Zorin 4fcc0f7c2a Merge branch 'master' into 2.0-merge-master 2022-10-05 05:15:39 +11:00
Brad Warren 3eac48ba5a Bump version to 1.32.0 2022-10-04 07:41:45 -07:00
Brad Warren d0fbde9126 Release 1.31.0 2022-10-04 07:41:44 -07:00
Brad WarrenandGitHub c42dd567ca remove source_address arg (#9418) 2022-09-27 12:30:05 +10:00
Alex Zorin 63771b48bb Merge remote-tracking branch 'origin/master' into update-2.0.x 2022-09-09 08:37:56 +10:00
Will Greenberg 614eaf6898 Bump version to 1.31.0 2022-09-07 11:09:12 -07:00
Will Greenberg 667b736879 Release 1.30.0 2022-09-07 11:09:11 -07:00
alexzorinandGitHub 804ca32314 acme: remove Client and BackwardsCompatibleClientV2 (#9356)
* acme: remove Client and BackwardsCompatibleClientV2

* remove ClientTestBase and some unused variables

* add ClientV2.get_directory

* tweak ToS callback code

* acme: update example to use ClientV2.get_directory

* simplify ToS callback further into one step

* further removal of acmev1-related code

- remove acme.client.ClientBase
- remove acme.mixins.VersionedLEACMEMixin
- remove acme.client.DER_CONTENT_TYPE
- remove various ACMEv1 special cases
- remove acme.messages.ChallengeResources.combinations

* remove .mixins.ResourceMixin, fields.resource, fields.Resource
and resource field from various .message classes.

* simplify acme.messages.Directory:

- remove Directory.register
- remove HasResourceType and GenericHasResourceType
- remove ability to look up Directory resources by anything other
  than the exact field name in RFC8555 (section 9.7.5)

* remove acme.messages.OLD_ERROR_PREFIX and support the old prefix

* remove acme.mixins

* reorder imports

* add comment to Directory about resource lookups

* s/new-cert/newOrder/

* get rid of `resource` sillyness in tests

* remove acmev1 terms-of-service support from directory
2022-09-06 14:36:55 -07:00
alexzorinandGitHub c20d40ddba acme: further deprecations (#9395)
* acme: deprecate acme.fields.Resource and .resource

* acme: deprecate .messages.OLD_ERROR_PREFIX

* acme: deprecate .messages.Directory.register

* acme: clean up deprecations

* dont use unscoped filterwarnings

* change deprecation approach for acme.fields

* warn on non-string keys in acme.messages.Directory

* remove leaked filterwarnings in BackwardsCompatibleClientV2Test

* remove non-string lookups of acme.messages.Directory
2022-09-02 06:55:04 -07:00
f7e61edcb2 deprecate more attributes in acme (#9369)
* deprecate more attributes in acme

* Deprecate .Authorization.combinations by renaming the field and
  deprecating in getters/setters

* Silence deprecation warnings from our own imports of acme.mixins

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2022-08-30 14:41:53 -07:00
Brad WarrenandGitHub 012314d946 Deprecate source address (#9389)
* deprecate source_address

* filter warnings

* fix route53 tests

* test warning

* update docstring
2022-08-30 10:28:47 +10:00
alexzorinandGitHub 42a4d30267 deps: remove pyjwt dependency (#9337)
* deps: remove pyjwt dependency

* pinning: strip extras from dependencies

`poetry export` outputs in requirements.txt format, which is now
apparently producing "dep[extra]==...". We are using this output
as the constraints file for pip and pip's new resolver does not
permit extras in the constraints file.

This change filters out the extras specifiers.

* repin current dependencies

* fix new pylint complaints

* silence lint about distutils.version

We have already deprecated the function and it'll be removed in
2.0.

* docs: set sphinx language to 'en'

this is emitting a warning and failing the build

* Revert "pinning: strip extras from dependencies"

This reverts commit 11268fd231.

* pin poetry back to avoid extras issue

* repin

* fix new mypy complaints in acme/
2022-07-28 17:26:12 -07:00
Will Greenberg f1f526d63c Bump version to 1.30.0 2022-07-05 11:16:40 -07:00
Will Greenberg befa4434ad Release 1.29.0 2022-07-05 11:16:39 -07:00
dedbdea1d9 Update generated CSRs to create V1 CSRs (#9334)
* Update generated CSRs to create V1 CSRs

Per the RFC: https://datatracker.ietf.org/doc/html/rfc2986#section-4

Version 3 CSRs, as far as I can tell, are not a thing (yet).

Relevant code in Go, for example: https://cs.opensource.google/go/go/+/refs/tags/go1.18.3:src/crypto/x509/x509.go;l=1979

* Update AUTHORS.md

* Unit test for PR #9334

* Add a small comment explaining this line for future readers.

* Add info to changelog

Co-authored-by: Paul Buonopane <paul@namepros.com>
2022-06-29 14:24:24 +10:00
alexzorinandGitHub 49f21bcc9f deps: bump pyOpenSSL in oldest pinnings (#9329) 2022-06-22 16:38:32 -07:00
osirisinferiandGitHub 1a25c4052c Change query_registration() to use _get_v2_account() (#9307)
* Change `query_registration()` to use `_get_v2_account()`

* Improve `_get_v2_account()`

Required for proper working of `certbot.main.update_registration()`. This
function updates the `regr.body` locally instead of passing the fields
which need to be updated to `acme.client.update_registration()` as a
separate argument in the `update` parameter.

* Revert "Improve `_get_v2_account()`"

This reverts commit e88a23ad76.

* Improve `_get_v2_account() (version 2)

Instead of e88a23a, this change should be more compatible with older
ACMEv1 accounts used through symlinking ACMEv2 account dirs to the
existing ACMEv1 account dirs.
It should also still be compatible with `certbot.main.update_registration`.

* Move and slightly update CHANGELOG entry
2022-06-09 07:49:40 +10:00
Will Greenberg 4dd603f786 Bump version to 1.29.0 2022-06-07 12:43:12 -07:00
Will Greenberg b9f9ebc4fc Release 1.28.0 2022-06-07 12:43:11 -07:00
alexzorinandGitHub ec49b94acb acme: use order "status" to determine action during finalization (#9297)
Rather than deducing the status of an order by the "certificate"
and "error" fields, use the "status" field directly.
2022-05-13 09:51:11 -07:00
Will Greenberg 8d7ced5e12 Bump version to 1.28.0 2022-05-03 11:35:09 -07:00
Will Greenberg 373ff0e6e9 Release 1.27.0 2022-05-03 11:35:08 -07:00
James BalazsandGitHub 0fb5094250 Add subproblems to errors (#7046) (#9258)
* Add subproblems to errors (#7046)

* Fix can't assign attribute

* Tidy up string representations of errors and add decoders for subproblems / identifiers

* Add missing attributes to docstring

* Move change to 1.27.0 in changelog
2022-04-06 09:34:26 -07:00
Brad WarrenandGitHub 87216372dd Fix race condition and uncaught exception (#9264)
* Fix race condition and uncaught exception

* fix typo
2022-04-06 09:12:38 +10:00
Brad Warren b9a7d771bc Bump version to 1.27.0 2022-04-05 10:43:01 -07:00
Brad Warren 5b8cc18456 Release 1.26.0 2022-04-05 10:43:00 -07:00
Mads JensenandGitHub 142fcad28b Update various references to draft RFC to published versions. (#9250) 2022-03-28 17:26:06 -07:00
1d45939cab Skip ToS agreement question if ToS value is None (#9245)
* Skip ToS agreement question if ToS value is None

* Add changelog entry

* Typo in CHANGELOG

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

* Typo in CHANGELOG

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

Co-authored-by: ohemorange <ebportnoy@gmail.com>
2022-03-24 15:42:47 -07:00
Erica Portnoy 429bc553a0 Bump version to 1.26.0 2022-03-16 11:17:55 -07:00
Erica Portnoy 44c097fc05 Release 1.25.0 2022-03-16 11:17:54 -07:00
Mads JensenandGitHub 2b51661430 Remove cast for jose.fields. (#9228)
* Remove cast for jose.fields.

https://github.com/certbot/certbot/pull/9073 references this.

* Some of them can't be removed, though.

* Fix josepy type hints of json

* Increase josepy pinning version.

Note that the repin scripts have not been used.

* Run repin scripts.

* Fix constraints
2022-03-12 20:31:54 +11:00
Mads JensenandGitHub 92de543fe7 Use f-strings in many places in acme and certbot. (#9225) 2022-03-03 07:12:34 -08:00
Erica Portnoy 9d312af32a Bump version to 1.25.0 2022-03-01 12:34:54 -08:00
Erica Portnoy 3d3077e1f1 Release 1.24.0 2022-03-01 12:34:21 -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
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
Will GreenbergandGitHub f14cefff18 Test revert setuptools pin (#9197)
* Revert setuptools-rust pin

This was a temporary workaround to fix
https://github.com/certbot/certbot/issues/9111, but it looks like the
the issue resolved itself

* Make mypy happy

There was an unused ignore statement, and Validator.certificate was
unnecessarily casting strings as bytes for an X509 digest method.

* Pin setuptools-rust to prevent build-dep hiccups in the future
2022-02-10 14:10:14 -08:00
Brad Warren d73c6f44c5 Bump version to 1.24.0 2022-02-08 07:50:45 -08:00
Brad Warren 719f3ac577 Release 1.23.0 2022-02-08 07:50:44 -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
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
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
Mads JensenandGitHub 12442a2aca Test coverage dns ecdsa (#9174)
* Added test coverage for ES256 signing keys in DNS challenges.

* pass tests

* Feedback
2022-01-21 20:29:53 +11: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
Erica Portnoy c02ead0f11 Bump version to 1.23.0 2021-12-07 14:03:51 -08:00
Erica Portnoy 6463a2e22d Release 1.22.0 2021-12-07 14:03:50 -08:00