Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Certbot interfaces #73

Closed
wants to merge 52 commits into from
Closed

Certbot interfaces #73

wants to merge 52 commits into from

Conversation

adferrand
Copy link
Owner

Pull Request Checklist

  • If the change being made is to a distributed component, edit the master section of certbot/CHANGELOG.md to include a description of the change being made.
  • Add or update any documentation as needed to support the changes in this PR.
  • Include your name in AUTHORS.md if you like.

@adferrand adferrand force-pushed the certbot-interfaces branch from a8e5250 to d21eced Compare May 10, 2021 23:02
adferrand added 2 commits May 31, 2021 19:48
# Conflicts:
#	certbot/certbot/_internal/auth_handler.py
#	certbot/certbot/_internal/cert_manager.py
#	certbot/certbot/display/util.py
#	certbot/certbot/services.py
#	certbot/certbot/tests/util.py
mimi89999 and others added 29 commits June 6, 2021 09:55
* use poetry 1.2.0a1

* pin pip normally

* use normal constraints file with pipstrap

* remove unused STRIP_HASHES var

* Check for old poetry versions

* keep pip, setuptools, and wheel pinned in oldest

* remove strip hashes

* pin back pip

* fix new lint error
* cli: improve error messages for enhance errors

* remove status message after enhance config revert
* Allow parsing empty files

* add unit test

* lint

* update parser_test

* Update configurator_test

* update changelog
…8900)

Also, update `dev-cli.ini` example to use new flag.

Although bw2/ConfigArgParse#216 allowed setting a `count` action value in a config file, our default detection system won't let us use that functionality. While we should eventually fix that, for now, let developers have a cli.ini with a higher logging level by adding this flag.

Note that this flag is intended to work the same way adding `-vvv`s does; that is, as a modifier to the pre-set level, rather than setting the absolute level. The number it is set to is equivalent to the number of `v`s that would otherwise have been passed, with "2" as the current maximum effective number of levels (warning --> info --> debug).

* Add --verbose-level flag for devs to set in cli.ini

* Update dev-cli.ini to use new flag
* split out test extras

* update extras and regenerate pinnings

* pin back mypy
* certbot-apache: Add Void Linux overrides

* certbot-apache: Correct distro name to Void Linux
* certonly: hide "NEXT STEPS" for dry-runs

* add a test
* cli: vary renewal advice for hookless manual certs

1. Don't print that the certificate will be automatically renewed,
because it won't be.
2. Add a "NEXT STEP" telling the user that they will need to manually
re-issue the certificate in order to renew it.

* kill superfluous comma

Co-authored-by: ohemorange <[email protected]>

* clarify wording of the next step

* fix the test

Co-authored-by: ohemorange <[email protected]>
In the apache2 package on Debian-based distros, the default
000-default.conf virtual host does not include a ServerName.

Depending on the FQDN hostname of the machine and DNS setup, Apache
assigns a name to this unnamed vhost at runtime. As a result, the
Apache config end up with vhosts that have duplicative names.

Previously, Certbot did not identify that the nameless vhost could be
a match for the requested identifier, which would, depending on
configuration load order, cause the authenticator to fail.

This change causes Certbot to include all unnamed vhosts on top of
matched vhosts, during authentication. If no vhosts matched, the
existing behavior remains the same.

* apache: configure nameless vhosts during auth

* vhost is only unnamed if ServerName is not set

* also fix test to only match ServerName

Co-authored-by: Brad Warren <[email protected]>
* docs: explain the situation with --manual renewal

* note that the non-hook command can't be cronned

* add xref to #renewing-certificates

* update manual description in the plugins table

* redirect manual users towards other plugins

* refer to authentication hook scripts in table
* fix http-01 encoding

* improve comment
While bumping pinned packages in certbot#8928, we came across a new version of pylint (2.9.3). Upgrading to this version requires some changes to Certbot's code, which is what this change is about.

* pylint: upgrade pinned verson and fix new lints

* maxsplit should be 1, not -1, for rsplit
* acme: deprecate ACMEv1 client classes

Adds pending deprecations to:
- acme.client.Client
- acme.client.BackwardsCompatibleClientV2

Adds a warning to Certbot when a v1 server is detected.

* move thsi change from 1.17 to 1.18

* revert some whitespace changes
…m `certbot.display.util` module (certbot#8835)

* Implement certbot services

* Various fixes

* Local oldest requirements

* Clean imports

* Add unit tests for certbot.services

* Clean code

* Protect against nullity of global services

* Fix CLI

* Fix tests

* Consistent test behavior

* Various fixes

* Clean code

* Remove reporter service, migrate display service in certbot.display.util.

* Fix test

* Fix apache compatibility test

* Fix oldest test

* Setup certbot.display.service module

* Reintegrate in util

* Fix imports

* Fix tests and documentation

* Refactor

* Cleanup

* Cleanup

* Clean imports

* Add unit tests

* Borrow sphinx build fix from certbot#8863

* Fix type

* Add comment

* Do not reuse existing display service, which never exist at that time

* Make get_display() private

* Fix lint

* Make display internal

* Fix circular dependencies

* Fixing circular dependencies

* Rename patch methods and update docstring

* Update deprecation messages

* Update certbot/certbot/_internal/display/obj.py

Co-authored-by: Brad Warren <[email protected]>

* Update certbot/certbot/tests/util.py

Co-authored-by: Brad Warren <[email protected]>

* Update certbot/certbot/tests/util.py

Co-authored-by: Brad Warren <[email protected]>

* Update certbot/certbot/tests/util.py

Co-authored-by: Brad Warren <[email protected]>

* Update certbot/certbot/tests/util.py

Co-authored-by: Brad Warren <[email protected]>

* Add links

* Avoid relying on internal certbot packages from certbot-apache

* Keep same behavior for patch_get_utility*

* Better diff

* Add changelog

* Update certbot/certbot/tests/util.py

Co-authored-by: Brad Warren <[email protected]>

Co-authored-by: Brad Warren <[email protected]>
# Conflicts:
#	certbot-apache/certbot_apache/_internal/configurator.py
#	certbot-apache/local-oldest-requirements.txt
#	certbot-apache/setup.py
#	certbot-apache/tests/configurator_test.py
#	certbot-apache/tests/display_ops_test.py
#	certbot-apache/tests/util.py
#	certbot-compatibility-test/certbot_compatibility_test/test_driver.py
#	certbot-dns-cloudflare/local-oldest-requirements.txt
#	certbot-dns-cloudflare/setup.py
#	certbot-dns-cloudflare/tests/dns_cloudflare_test.py
#	certbot-dns-cloudxns/local-oldest-requirements.txt
#	certbot-dns-cloudxns/setup.py
#	certbot-dns-digitalocean/local-oldest-requirements.txt
#	certbot-dns-digitalocean/setup.py
#	certbot-dns-digitalocean/tests/dns_digitalocean_test.py
#	certbot-dns-dnsimple/local-oldest-requirements.txt
#	certbot-dns-dnsimple/setup.py
#	certbot-dns-dnsmadeeasy/local-oldest-requirements.txt
#	certbot-dns-dnsmadeeasy/setup.py
#	certbot-dns-gehirn/local-oldest-requirements.txt
#	certbot-dns-gehirn/setup.py
#	certbot-dns-google/local-oldest-requirements.txt
#	certbot-dns-google/setup.py
#	certbot-dns-google/tests/dns_google_test.py
#	certbot-dns-linode/local-oldest-requirements.txt
#	certbot-dns-linode/setup.py
#	certbot-dns-luadns/local-oldest-requirements.txt
#	certbot-dns-luadns/setup.py
#	certbot-dns-nsone/local-oldest-requirements.txt
#	certbot-dns-nsone/setup.py
#	certbot-dns-ovh/local-oldest-requirements.txt
#	certbot-dns-ovh/setup.py
#	certbot-dns-rfc2136/local-oldest-requirements.txt
#	certbot-dns-rfc2136/setup.py
#	certbot-dns-rfc2136/tests/dns_rfc2136_test.py
#	certbot-dns-route53/local-oldest-requirements.txt
#	certbot-dns-route53/setup.py
#	certbot-dns-sakuracloud/local-oldest-requirements.txt
#	certbot-dns-sakuracloud/setup.py
#	certbot-nginx/tests/display_ops_test.py
#	certbot/certbot/_internal/cli/helpful.py
#	certbot/certbot/_internal/main.py
#	certbot/certbot/_internal/plugins/manual.py
#	certbot/certbot/_internal/plugins/webroot.py
#	certbot/certbot/display/util.py
#	certbot/certbot/interfaces.py
#	certbot/certbot/plugins/dns_test_common_lexicon.py
#	certbot/certbot/tests/util.py
#	certbot/tests/auth_handler_test.py
#	certbot/tests/cert_manager_test.py
#	certbot/tests/cli_test.py
#	certbot/tests/client_test.py
#	certbot/tests/display/obj_test.py
#	certbot/tests/display/ops_test.py
#	certbot/tests/display/util_test.py
#	certbot/tests/eff_test.py
#	certbot/tests/main_test.py
#	certbot/tests/plugins/dns_common_test.py
#	certbot/tests/plugins/enhancements_test.py
#	certbot/tests/plugins/manual_test.py
#	certbot/tests/plugins/selection_test.py
#	certbot/tests/plugins/standalone_test.py
#	certbot/tests/plugins/webroot_test.py
#	certbot/tests/renewal_test.py
#	certbot/tests/renewupdater_test.py
@adferrand adferrand closed this Jul 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants