Commit graph

7864 commits

Author SHA1 Message Date
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
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
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
Zach Shepherd
32f7e82a69 add module-level documentation for DNS Made Easy (#4845)
Add module-level documentation describing the use of
certbot-dns-dnsmadeeasy, including discussion of credential management.
2017-06-16 13:30:24 -07:00
Zach Shepherd
87f6e18ac4 Add certbot-dns-dnsmadeeasy to release script (#4844) 2017-06-16 10:35:52 -07:00
Zach Shepherd
f51d345d5b Low-impact cleanup of IDisplay (#4818)
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 - d54cb76432

Resolves #4795.
2017-06-15 17:14:38 -07:00
Zach Shepherd
0a269f31d0 DNS Made Easy DNS Authenticator (#4603)
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.
2017-06-15 16:41:00 -07:00
Brad Warren
efe5b4c82f Pin zope.interface in oldest tests (#4842)
* pin zope.interface in oldest tests

* pin zope.component in oldest tests
2017-06-15 15:33:42 -07:00
Brad Warren
22ee81bdfd fix sphinx build failures (#4831) 2017-06-15 14:57:06 -07:00
Noah Swartz
8279caea01 Merge pull request #4796 from zjs/topic/zjs/docs
Provide basic DNS authenticator documentation
2017-06-14 13:39:08 -07:00
Erik Rose
98805ccae0 Upgrade cryptography to 1.9 for certbot-auto. Fix #4640. (#4815)
* Upgrade cryptography to 1.9 for certbot-auto. Fix #4640.

* Update cffi to the latest, as cryptography now requires >=1.7.
2017-06-12 13:50:21 -07:00
Noah Swartz
6d4aaad8c6 Merge pull request #4817 from zjs/topic/zjs/docs-route53
route53: add module-level documentation
2017-06-12 10:30:39 -07:00
Felix Yan
4866e9fe61 Fix a typo: syncronization -> synchronization (#4826) 2017-06-12 08:20:51 -07:00
Andrew Ittner
cafd4802b7 Add more useful usage instructions for all subcommands (#4710)
* Add more useful usage instructions for all subcommands

Fixes #3875.

* Update usage instructions

Address PR comments.  Fixes #3875.

* Fix line length

* Suffix usage lines with two empty lines

Per review, this brackets all usage text in 2 newlines to match existing
text.
2017-06-12 08:12:41 -07:00
Felix Yan
aab097bf7f Add DNS Authenticator plugins (#4822) 2017-06-12 07:41:50 -07:00
Felix Yan
6d74a0d3ce Fix digitalocean plugin tests for Python 3 (#4821)
assertItemsEqual() doesn't exist in Python 3.x. Travis didn't fail because of some nose errors (so not all tests were run).
2017-06-12 07:41:35 -07:00
Johannes Keyser
498f8ad75c Add AAAA record check suggestion (#4824) 2017-06-12 07:40:56 -07:00
Zach Shepherd
a04f63bd31 route53: autogenerate documentation (#4816)
Creates documentation boilerplate for certbot-dns-route53 using
tools/sphinx-quickstart.sh.

Adds trivial `authenticator.rst` and `dns_route53.rst` files.
2017-06-09 16:01:59 -07:00
Noah Swartz
2ae225ee70 Merge pull request #4813 from certbot/keep-space
Keep trailing space on prompt
2017-06-09 15:22:27 -07:00
Zach Shepherd
31d5d27887 route53: add module-level documentation
Add module-level documentation describing the use of certbot-dns-route53
including discussion of credential management.
2017-06-09 13:47:39 -07:00
Zach Shepherd
3b3c878b11 fixup! fixup! Add documentation for Google 2017-06-09 12:06:49 -07:00
Brad Warren
9610320ee7 remove #certbot@OFTC from using.rst (#4812) 2017-06-09 11:57:31 -07:00
Brad Warren
2ebd8e9763 Add trailing space to prompt. 2017-06-09 10:50:21 -07:00
Brad Warren
1871f0d1b9 Deduplicate code using textwrap.fill. 2017-06-09 10:46:51 -07:00
Jacob Hoffman-Andrews
cd34c4272d Improve text of manual plugin. (#4810) 2017-06-09 10:09:45 -07:00
Felix Yan
228726597b Update Arch package name for acme (#4811)
We have migrated to use Python 3 variant of acme, so let's list python-acme instead of the old python2-acme one.
2017-06-09 10:04:24 -07:00
Jacob Hoffman-Andrews
76ecb7035f Remove "alpha" and "beta" qualifiers from docs. (#4808) 2017-06-09 08:35:04 -07:00
Zach Shepherd
5ee47e9210 fixup! Add documentation for CloudXNS 2017-06-08 16:19:30 -07:00