Commit graph

9401 commits

Author SHA1 Message Date
Florian Mutter
48ef16ab0d Align domain names output to command line input (#4874)
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.
2017-07-07 12:46:30 -07:00
Felix Yan
d0ecf739bd Add new DNS authenticator plugins in 0.16 (#4911) 2017-07-07 07:46:09 -04:00
ohemorange
57e56cc97b Candidate 0.16.0 (#4908)
* Release 0.16.0

* Bump version to 0.17.0
2017-07-06 15:57:11 -07:00
yomna
1f3b028398 Merge pull request #4895 from certbot/deploy-hook
Deploy hook
2017-07-06 15:56:55 -07:00
Brad Warren
b23384438f update changelog for 0.16.0 release (#4906) 2017-07-06 15:46:21 -04:00
Brad Warren
c3c1609fa0 no more renew(al) hook(s) 2017-07-06 14:59:28 -04:00
Brad Warren
f314ea1d33 s/renew-hook/deploy-hook docs/using.rst 2017-07-06 10:30:29 -04:00
Felix Yan
6bb95c6596 Fix a typo: enviroment -> environment (#4898) 2017-07-05 12:59:23 -04:00
Brad Warren
72b1a6f9cd Update outdated comment 2017-07-05 10:03:02 -04:00
Brad Warren
bf763cbbc6 remove outdated error message 2017-07-05 10:00:14 -04:00
Brad Warren
5318945267 Hide exceptions that occur during session.close() (#4891)
* Hide exceptions that occur during session.close()

This fixes #4840. Exceptions that are raised out of __del__ methods are caught
and printed to stderr. By catching any exceptions that occur, we now prevent
this from happening.

Alternative solutions to this would have been either not calling
session.close() at all or adding a close() method to acme.client.ClientNetwork,
acme.client.Client, and certbot.client.Client and using certbot.client.Client
in a context manager to ensure close() is called. The former means that users
of the ACME library never properly close their connections until their program
exits and the latter adds a lot of complexity and nesting of client code for
little benefit.

* Only catch Exceptions
2017-07-05 09:25:44 -04:00
jonasbn
72c480ef18 Removed files with test in name after review comment from @ynasser 2017-07-04 23:52:24 +02:00
jonasbn
054873034c Added missed rst file 2017-07-02 00:31:58 +02:00
jonasbn
d118acf524 Correction to module name 2017-07-02 00:16:15 +02:00
jonasbn
ec35828b9a Added missing rst files after doing an inspection of the file structure 2017-07-02 00:12:16 +02:00
ohemorange
97b22da1b6 Replace the easy v. secure prompt with more clear choices (#4897)
* Replace the easy v. secure prompt with more clear choices
2017-06-30 17:12:09 -07:00
Peter Eckersley
595745e044 Clarify domain name <-> cert name docs 2017-06-30 13:58:18 -04:00
Alex Dehnert
1c06144e18 Mention that the domain is used to choose filename
The cert filename is chosen based on the first domain listed. With certs with overlapping domains or where some domains are less canonical, it's therefore useful to put the most canonical/unique domain first. This updates the help text to inform users of this fact.
2017-06-30 13:57:59 -04:00
Brad Warren
62327b49c3 Test hook validation order 2017-06-30 11:40:34 -04:00
Brad Warren
4c19d19cf5 Test that deploy and renew hooks are saved right
It is important that both renew and deploy hooks are saved as renew_hook in
renewal configuration files to preserve forwards compatibility.
2017-06-30 11:30:21 -04:00
Brad Warren
6dedfa62b6 Test renew and deploy hooks are run properly 2017-06-30 11:06:51 -04:00
Brad Warren
8a664622ea Call deploy_hook during certonly and run 2017-06-30 10:33:49 -04:00
Brad Warren
1b65ba88d8 test hooks.deploy_hook 2017-06-30 10:30:33 -04:00
Brad Warren
e94ee31a6f add hooks.deploy_hook 2017-06-30 10:24:00 -04:00
Brad Warren
32fa3b1d04 test deploy-hook and renew-hook match 2017-06-30 09:59:19 -04:00
Brad Warren
ad4ed22932 test --renew-hook 2017-06-30 09:56:17 -04:00
Brad Warren
feffeb275b add --renew-hook error handling 2017-06-30 09:56:17 -04:00
Brad Warren
4243db1525 test --renew-hook is hidden 2017-06-30 09:56:17 -04:00
Brad Warren
220d486190 remove --renew-hook from help output 2017-06-30 09:56:17 -04:00
Brad Warren
ed4be4117c hide --renew-hook 2017-06-30 09:56:17 -04:00
Brad Warren
5cf82e4843 test --deploy-hook 2017-06-30 09:56:13 -04:00
Brad Warren
af354e9099 add --deploy-hook parsing 2017-06-30 09:18:07 -04:00
Brad Warren
d57e8bfaa3 add --deploy-hook 2017-06-30 09:11:51 -04:00
Brad Warren
828363b21a Fix nginx --dry-run (#4889)
* 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
2017-06-30 08:10:55 -04:00
T.C. Hollingsworth
7d17919527 docs: remove errant parenthesis 2017-06-27 18:12:05 -07:00
T.C. Hollingsworth
33306de90b docs: explain how to combine plugins 2017-06-26 18:57:20 -07:00
Brad Warren
f4094e4d3f Finish oldest tests (#4857)
* Pin oldest version of packaged python deps

* Install security extras in oldest tests

* Revert "bump requests requirement to >=2.10 (#4248)"

This reverts commit 402ad8b353.

* Use create=True when patching open on module
2017-06-23 09:40:59 -07:00
Brad Warren
03f6c6d0e5 Bump min integration test coverage to 64 (#4868) 2017-06-21 21:08:37 -07:00
Noah Swartz
077aea5fb1 add documentation for lock file (#4862) 2017-06-21 14:23:19 -07:00
Brad Warren
3cb92d33eb report and enforce coverage on integration tests (#4854) 2017-06-21 14:10:16 -07:00
Brad Warren
1e6ea09dbd Remove py26 oldest tests (#4856)
* Remove py26 oldest tests.

The only systems where we support Python 2.6 use certbot-auto so the oldest
supported versions of our dependencies are never used when using supported
installation methods. Let's remove this unnecessary and slow test.

* Make tox.ini happy

* Remove py26-oldest from Travis
2017-06-21 13:50:48 -07:00
Brad Warren
93f094a86e Test additional subcommands in integration tests (#4855)
* Test additional subcommands

* Test rollback

* quote original variable

* Specifically set installer to work around #4858.
2017-06-21 13:49:15 -07:00
Brad Warren
6aa21d1db6 Fix and speed up compatibility-tests
* Fix nginx-compatibility tests

* sleep is overrated

* Reduce verbosity of nginx tests
2017-06-21 13:29:00 -07:00
Brad Warren
bdf02c9fcc Turn on IRC notifications for Travis failures in master 2017-06-21 11:46:30 -07:00
Erica Portnoy
15c6c1388e Have validator only test domains without existing redirects 2017-06-20 17:15:00 -07:00
Seth Schoen
be457ffa95 Test more in nginx compatibility tests
* Highlight failures more with asterisks

* Filter out wildcard names from all_names

* Only test -ai, not -aie (no redirects)

* Modified versions of almost all of 79 configs corpus

* Re-enable now-working stanza with 301 redirect

* Change another redirect to go to :443
2017-06-20 17:14:22 -07:00
Alexandre de Verteuil
ed717d6bc4 tls-sni-01 with the manual plugin (#4636)
* 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
2017-06-19 09:39:14 -07:00
Matt Dainty
811d436d5a RFC 2136 DNS Authenticator (#4701)
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.
2017-06-16 16:53:46 -07:00
Brad Warren
bb8e504a02 Add warning about changing the UA (#4843) 2017-06-16 15:01:13 -07:00
Zach Shepherd
3f86e13acc LuaDNS DNS Authenticator (#4605)
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.
2017-06-16 14:43:12 -07:00