Commit Graph
7812 Commits
Author SHA1 Message Date
Andrew IttnerandBrad Warren 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 YanandBrad Warren aab097bf7f Add DNS Authenticator plugins (#4822) 2017-06-12 07:41:50 -07:00
Felix YanandBrad Warren 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 KeyserandBrad Warren 498f8ad75c Add AAAA record check suggestion (#4824) 2017-06-12 07:40:56 -07:00
Zach ShepherdandBrad Warren 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 SwartzandGitHub 2ae225ee70 Merge pull request #4813 from certbot/keep-space
Keep trailing space on prompt
2017-06-09 15:22:27 -07:00
Brad WarrenandGitHub 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-AndrewsandBrad Warren cd34c4272d Improve text of manual plugin. (#4810) 2017-06-09 10:09:45 -07:00
Felix YanandBrad Warren 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-AndrewsandBrad Warren 76ecb7035f Remove "alpha" and "beta" qualifiers from docs. (#4808) 2017-06-09 08:35:04 -07:00
Brad WarrenandGitHub d570bf5f2d Update CHANGELOG.md for 0.15.0 (#4803)
* Update CHANGELOG.md for 0.15.0

* mention #4575 in CHANGELOG.md
2017-06-08 15:25:22 -07:00
Brad WarrenandGitHub 650611bd1f Fix oldest tests (#4782)
* Add pip_install_editable.sh

* add install_and_test.sh

* simplify tox.ini and fix oldest tests

* Put paths & packages on their own line in tox.ini
2017-06-08 12:22:46 -07:00
Yen Chi HsuanandBrad Warren ba3b14d4da Add Arch Linux constants for Apache (#4466) 2017-06-08 12:08:47 -07:00
Brad WarrenandGitHub 895a5254be Merge pull request #4802 from certbot/candidate-0.15.0
Release 0.15.0
2017-06-08 11:30:42 -07:00
Brad Warren 0aab244846 Bump version to 0.16.0 2017-06-08 09:32:57 -07:00
Brad Warren 74acd1ee5a Release 0.15.0 v0.15.0 2017-06-08 09:32:41 -07:00
Zach ShepherdandBrad Warren a06dec3660 route53: avoid listing the plugin twice in the UI (#4794)
Without this change, the Route53 plugin is listed twice when running
Certbot interactively (once under the old name, once under the new name).

This change ensures only the new name is shown, while maintaining hidden
backwards compatibility with the old name.
2017-06-07 15:16:52 -07:00
ohemorangeandGitHub 239184882e Enable IPv6 support in standalone plugin (#4773)
* add TLSSNI01DualNetworkedServers

* use DualNetworkedServers in certbot/plugins/standalone.py
  also, make both servers run on the same port.

* make probe_sni connect on ipv6 and ipv4 using None

* mimic BSD-like conditions to get test coverage

* test ServerManager taking into account BSD systems

* pass tests even if python is compiled without ipv6 support
2017-06-06 17:04:45 -07:00
Zach ShepherdandBrad Warren af8dae6cb2 Check domains for accidental inclusion of a scheme (#4788)
Currently, accidentally including a scheme with the domain name does not
produce a particularly helpful error message.

Examples without this change:
1. `certbot certonly -d https://test.example.com --webroot`:

Saving debug log to /tmp/certbot/logs/letsencrypt.log
Obtaining a new certificate
An unexpected error occurred:
The request message was malformed :: Error creating new authz :: Invalid character in DNS name
Please see the logfiles in /tmp/certbot/logs for more details.

2. `certbot certonly -d http://hoeveelmensengaveneeneuroomtezienhoeveelmenseneeneurogaven.example.com`

Requested domain http://hoeveelmensengaveneeneuroomtezienhoeveelmenseneeneurogaven.example.com is not a FQDN because label http://hoeveelmensengaveneeneuroomtezienhoeveelmenseneeneurogaven is too long.

Examples with this change:
1. `certbot certonly -d https://test.example.com --webroot`:

Requested name https://test.example.com appears to be a URL, not a FQDN. Try again without the leading "https://".

2. `certbot certonly -d http://hoeveelmensengaveneeneuroomtezienhoeveelmenseneeneurogaven.example.com`

Requested name http://hoeveelmensengaveneeneuroomtezienhoeveelmenseneeneurogaven.example.com appears to be a URL, not a FQDN. Try again without the leading "http://".

(Resolves #4785)
2017-06-06 15:51:16 -07:00
Brad WarrenandGitHub e0f3c05c02 Fix test_apache2.sh test farm test. (#4786)
tools/venv.sh cannot be used as the tests run on systems with Python 2.6 and
tools/venv.sh installs code that is not compatible with Python 2.6.
2017-06-06 15:48:00 -07:00
Zach ShepherdandBrad Warren e749937465 route53: rename to match other DNS plugins (#4747)
This change renames certbot-route53 to certbot-dns-route53 and updates
the package's setup.py file to maintain backwards compatibility.

Testing Done:
 * Run `certbot` with `-a certbot-route53:auth`, verify the plugin runs.
 * Run `certbot` with `--dns-route53`, verify the plugin runs.
2017-06-06 15:41:04 -07:00
Schuyler DuveenandBrad Warren 7531c98916 fixes #3616: make sure there is always one time that we test the sock… (#4712) 2017-06-06 10:11:33 -07:00
Zach ShepherdandBrad Warren f0e1be55d6 route53: make sleep duration configurable like other DNS authenticators (#4771)
* Re-structure perform to allow for easier refactoring

* Refactor to use dns_common

* Make ttl a class variable, like other plugins
2017-06-05 21:20:17 -07:00
Zach ShepherdandBrad Warren a926d42bd6 Use certificate instead of cert in DNS plugin descriptions (#4784) 2017-06-05 19:06:35 -07:00
Brad WarrenandGitHub 89e63eaf84 Use certificate in NS1 plugin flag's help. (#4783) 2017-06-05 18:21:47 -07:00
Zach ShepherdandBrad Warren 4448a86013 Handle releasing of DNS subpackages not yet included in certbot-auto (#4779)
Add the DNS subpackages being considered for future inclusion in
certbot-auto as non-certbot-auto packages for the 0.15.0 release.
2017-06-05 17:59:56 -07:00
Brad WarrenandGitHub 962879c35c Remove dependency on git from pip_install.sh. (#4770)
* Remove dependency on git from pip_install.sh.

Using git allowed this file to continue to work even if it was moved to another
directory. This slight increase in robustness wasn't worth it though as it
broke our development Dockerfile (see #4703), the certbot website's Dockerfile
(see certbot/website#226), and our test farm tests (see
certbot/tests/letstest/scripts/test_apache2.sh for an example that calls
tools/venv.sh without installing git). Rather than continuing to find and patch
these things, let's just allow this script to fail if it's moved rather than
propagating the git dependency all over the place.

* Add readlink.py.

This is the equivalent of `readlink -f` on many Linux systems. This is useful
as there are often differences in readlink on different platforms.

* Use readlink.py in pip_install.sh.

This allows us to work around differences in readlink on macOS.
2017-06-05 17:51:45 -07:00
Zach ShepherdandBrad Warren 2325438b56 route53: fix error handling (#4760)
Make error handling match other plugins:
 * Raise `PluginError` instead of errors from underlying libraries
 * Swallow errors during cleanup
2017-06-05 17:09:03 -07:00
Brad WarrenandGitHub 0e4f55982a Remove unused readlink environment variable. (#4781)
The program readlink used to be used in integration tests so an environment
variable was used to handle differences in the executable on different systems.
This command is no longer used though so the variable can be removed.
2017-06-05 15:20:04 -07:00
Zach ShepherdandBrad Warren 6ee934b667 route53: shorten description to one line (#4772)
The new description is less informative than the current one, but its
shorter length makes the interactive plugin selection prompt easier
to read.
2017-06-05 11:44:22 -07:00
Brad WarrenandGitHub d25069d89b Remove reference to .new in Nginx's SSL options. (#4769) 2017-06-01 15:26:54 -07:00
Brad WarrenandGitHub 4f00c3ea75 Merge pull request #4768 from certbot/actually-file-update-apache2
Add mechanism for updating Apache's SSL options
2017-06-01 15:25:53 -07:00
Brad Warren 844c2d3438 Finish work on #4718.
* Update in response to changes in #4720.

* Update ALL_SSL_OPTIONS_HASHES.

* Add warning to Apache's SSL options files.
2017-06-01 14:35:03 -07:00
Erica PortnoyandBrad Warren 44f4743b51 Mechanism for automatically updating options-ssl-apache.conf file
* add file update mechanism + tests to apache

* update with actual hashes, and update apache test to match since there aren't previous versions
2017-06-01 14:35:03 -07:00
Brad WarrenandGitHub ee70799c62 Get full test coverage on certbot.plugins.common. (#4765)
Addresses final review comments on #4720.
2017-06-01 10:55:42 -07:00
Brad WarrenandGitHub 738732a0db Improve bad preferred challenge error message. (#4761)
Using ArgumentTypeError causes Certbot to report an unexpected error occurred
while using ArgumentError causes argparse to print more usage information and
call sys.exit().
2017-06-01 10:42:34 -07:00
Brad WarrenandGitHub 791fea43ec Add regression/system test for #4719 (#4739)
* Add regression/system test for #4719.

* Test for regressions with --help and invalid args.

* Handle expected failure properly.
2017-06-01 09:57:27 -07:00
ohemorangeandBrad Warren fc097de5ff Refactor nginx file update mechanism in preparation for working with apache plugin (#4720)
* move install_ssl_options_conf functionality to common

* add no cover

* compute current hash instead of saving

* make current hash be computed; switch to list of all canonical hashes

* put message directly into assertion

* don't pass logger

* add docstring

* Add unit tests for certbot.plugins.common.install_ssl_options_conf
2017-06-01 09:04:48 -07:00
Yen Chi HsuanandBrad Warren c9e9879ad9 Enable unit tests on OS X (#4697)
* Add OS X test

* Fix apache tests

* Use absolute path first so that certbot works with non-standard $PATH

Some tests use a fake $PATH, which prevents invoking `sw_vers`

* Also test Python 3 on Mac

* Set ulimit to fix "Too many open files"
2017-06-01 09:03:54 -07:00
Jeff R. AllenandBrad Warren 6f98987c12 Added options to set the listen address for standalone mode (#4694)
Fixes #255.
2017-06-01 09:02:14 -07:00
Zach ShepherdandBrad Warren c9ff9e3c7a route53: add unit tests (#4725)
This change introduces unit tests to cover all lines of the route53
plugin except for the timeout in `_wait_for_change`.
2017-05-31 15:25:24 -07:00
Zach ShepherdandBrad Warren 40e8fc4dec Handle releasing subpackages not included in certbot-auto (#4758)
This change refactors the release script to handle subpackages which are
not bundled as a part of cerbot-auto.

The script now allows developers to define subpackages as either being
included in certbot-auto, or not.

The script then uses one of three sets of subpackages for each operation:
 * The version number is updated for all non-certbot subpackages
   (and certbot itself is handled separately)
 * sdists and wheels are created for all non-certbot subpackages
   (and certbot itself is handled separately)
 * Testing is performed for all subpackages
 * Hashes are pinned for certbot-auto subpackages (including certbot)
2017-05-31 15:05:55 -07:00
yomnaandBrad Warren d7f9859c3f [#3866]: "certbot certificates" checks validity with OpenSSL (#4155)
* cert signature validation for certificates subcommand + a test

* refactoring validation + adding in a check for making sure that the private key matches the certificate

* adding testing certs

* assertIsNone(x) -> assertEqual(None,x) to unbreak the py2.6 tests

* modifying test_verifu_renewable_cert_failure to hopefully appease python 3 test timeouts

* updating cryptography to be >=1.2 so that we can use verify

* removing unused, old testing certificate

* adding better error handling/logging

* adding test for IOError

* switching to a 2048 bit rsa key
2017-05-31 15:04:41 -07:00
Noah SwartzandBrad Warren 001d90e106 add text telling people to include server config (#4745) 2017-05-31 14:24:40 -07:00
Noah SwartzandGitHub e02245a59f Merge pull request #4560 from certbot/issue_4519
update cert to certificate
2017-05-31 13:48:43 -07:00
Noah SwartzandGitHub bbc7e9259f Merge pull request #4755 from certbot/bump-cryptography-version
Bump pinned cryptography version to 1.8.2
2017-05-31 13:43:55 -07:00
Brad Warren 1276a9f7a3 Remove pinned pyasn1.
Cryptography replaced this dependency with asn1crypto in version 1.8.
2017-05-30 17:27:58 -07:00
Brad Warren df3774e090 Bump pinned cryptography version to 1.8.1.
This allows Certbot tests to pass on macOS.
2017-05-30 17:16:35 -07:00