* Addressing #4434 by implementing ConfigTestCase which mocks out a NamespaceConfig for consistent config use across tests
* Refactor account_test.py for use with ConfigTestCase
* Remove superfluous setup/teardown
* Pylint oops.
* Fix redundant inheritance class definitions
* Separate ConfigTestCase's mocked directories
* Module import style consistency
* Refactor log_test.py for use with ConfigTestCase
* Refactor eff_test.py for use with ConfigTestCase. Also tweak for import style consistency
* Refactor reverter_test.py for use with ConfigTestCase
* Refactor renewal_test.py for use with ConfigTestCase
* Refactor main_test.py for use with ConfigTestCase
* Refactor storage_test.py for use with ConfigTestCase
* Refactor cert_manager_test.py for use with ConfigTestCase
* Refactor client_test.py for use with ConfigTestCase
* Refactor configuration_test.py for use with ConfigTestCase
* Pylint!
* Incorporating PR feedback
* Remove comment
* Be careful with new interaction from enabling nginx
* Fix py3 compataibility & better docs
* Make minor changes to @pde's PR to unhide nginx
* unhide nginx plugin
* Only protect against nginx interaction in cb-auto
This change introduces a new flag to allow callers to add information to
the user agent without replacing it entirely.
This allows people re-packaging or wrapping Certbot to influence its user
agent string. They may which to do this so that stats/metrics related to
their distribution are available to boulder.
This is beneficial for both the Certbot team and the party re-packaging
Certbot as it allows the custom user agent to match the Certbot user
agent as closely as possible, allowing data about use of the re-packaged
version to be collected along side or separately from vanilla certbot.
* Revert "Mention that the domain is used to choose filename"
This reverts commit 1c06144e18.
* Correct --cert-name and --domains usage.
* Clarify which paths --domains affects
* certbot: Update storage.get_link_target (#4750)
* The `get_link_target` function raises `errors.CertStorageError` when
link does not exists.
* certbot: Fix typo in storage.get_link_target.
* Update log backupCount name and description.
* Add additional error handling to --log-backups
* test --log-backups flag
* Pass log_backups value to RotatingFileHandler
* Test that log_backups is properly used
* add _test_success_common
* Add test_success_with_rollover
* Add test_success_without_rollover
* mock stderr in cli tests
* Set log_backups in PostArgParseSetupTest
* Rename "log backups" to "max log backups"
* Add & enable --disable-log-rotation
* Add --max-log-count
* Correct max-log-count: remove action=store_true add type=int
* Add logging to cli argument groups.
* Add logging group to HELP_TOPICS in __init__
* Adjust line length
* test simplifying to one argument
The command line takes a comma separated list of domain names. To be able to use the list of existing domain names it would be helpful to get a list that is also comma separated.
Sample use case: If you would like to add a new domain to an existing certificate you need to list all existing domain names.
Makes certbot certificates use comma-separated domain names instead of space-separated.
* Revert "Don't save keys/csr on dry run (#4380)"
This reverts commit e034b50363.
* Don't save CSRs and keys during dry run
* Factor out _test_obtain_certificate_common
* Add test_obtain_certificate_dry_run
* Wrap key from make_key in util.Key
* Wrap result from make_csr in util.CSR
* Add TLS-SNI-01 support to Manual plugin
* Add environment variable CERTBOT_SNI_DOMAIN for manual-auth-hook
* Make AuthenticatorTest inherit from TempDirTestCase
* Add test_get_z_domain()
* Document CERTBOT_SNI_DOMAIN in docs/using.rst
Introduce a plugin that automates the process of completing a dns-01 challenge by creating, and subsequently removing, TXT records using RFC 2136 Dynamic Updates (a.k.a. nsupdate).
This plugin has been tested with BIND, but may work with other RFC 2136-compatible DNS servers, such as PowerDNS.
Implement an Authenticator which can fulfill a dns-01 challenge using
the LuaDNS API. Applicable only for domains using LuaDNS for DNS.
Testing Done:
* `tox -e py27`
* `tox -e lint`
* Manual testing:
* Used `certbot certonly --dns-luadns -d`, specifying a
credentials file as a command line argument. Verified that a
certificate was successfully obtained without user interaction.
* Negative testing:
* Path to non-existent credentials file.
* Credentials file with unsafe permissions (644).
* Path to credentials file without an email.
* Path to credentials file with an invalid email.
* Path to credentials file without a token.
* Path to credentials file with an invalid token.
* Domain name not registered to LuaDNS account.
Remove unused help-related display code. When NcursesDisplay was
removed[1], help was deprecated. This change removes the remaining
bits and pieces of code.
Remove unused escape-related display code. When NcursesDisplay was
removed[1], escape was deprecated. This change removes the remaining
bits and pieces of code.
Remove uses of unused menu parameters.
Remove unused default_status/default_state argument from checklist.
(This seems safe because not only is it unused, the parameter has
different names in the interface and implementation)
1 - d54cb76432Resolves#4795.
Implement an Authenticator which can fulfill a dns-01 challenge using
the DNS Made Easy API. Applicable only for domains using DNS Made Easy.
Testing Done:
* `tox -e py27`
* `tox -e lint`
* Manual testing:
(`http://api.sandbox.dnsmadeeasy.com/V2.0` used as the
`api_endpoint` for all manual testing)
* Used `certbot certonly --dns-dnsmadeeasy -d`, specifying a
credentials file as a command line argument. Verified that a
certificate was successfully obtained without user interaction.
* Negative testing:
* Path to non-existent credentials file.
* Credentials file with unsafe permissions (644).
* Path to credentials file with an invalid API key.
* Path to credentials file with a malformed API key.
* Path to credentials file with an invalid Secret key.
* Path to credentials file with a malformed Secret key.
* Domain name not registered to DNS Made Easy account.