Commit graph

9359 commits

Author SHA1 Message Date
Jacob Hoffman-Andrews
db4c88856a Fix non-ASCII domain check. (#3727)
* Fix non-ASCII domain check.

Previously, the code would convert to utf-8, check for non-ASCII, and then try
to use .format() to interpolate the result into an error message. This would
generate a second error that would cause the whole message to get dropped, and
the program to silently exit. The problem can be succinctly observed like so:

$ python
>>> "{0}".format("ウェブ.crud.net")
'\xe3\x82\xa6\xe3\x82\xa7\xe3\x83\x96.crud.net'
>>> "{0}".format(u"ウェブ.crud.net")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Note for the curious: This problem only seems to happen with .format():

>>> "%s" % ("ウェブ.crud.net")
'\xe3\x82\xa6\xe3\x82\xa7\xe3\x83\x96.crud.net'
>>> "%s" % (u"ウェブ.crud.net")
u'\u30a6\u30a7\u30d6.crud.net'
2016-11-02 16:14:14 -07:00
Brad Warren
2564fb785b I restructured Installation and Using a bit (#3725)
* Fixing a weird out-of-place paragraph in the Getting Certbot section

* De-duping and clarifying installation information, separating it from Using.

* Responding to feedback at https://github.com/certbot/certbot/pull/3675#pullrequestreview-5757007
2016-11-01 14:25:26 -07:00
Brad Warren
30dd22f2f8 No doc,dev depedencies for compatibility-test (#3722) 2016-10-31 18:30:02 -07:00
Amjad Mashaal
3534e4cb1f Allowing modification check to run using "tox" (#3704)
#3337 and #3338 should ideally run when the user type tox. This allows them to catch the problem locally before they make a PR.
2016-10-28 15:05:25 -07:00
tcottier
5ed0f3610c When getopts is called multiple time we need to reset OPTIND. (#3475)
Not resetting OPTIND between each call of getopts skips all short args except the first one.

It fixes this automated command: 
./certbot-auto certonly --webroot -w /tmp -d example.com --agree-tos --email contact@example.com -n

Where "-w" was parsed by getopts and not "-n"

* When getopts is called multiple time we need to reset OPTIND. Issue #3459 

* Adding OPTIND reset in the certbot-auto source file

* Building new letsencrypt-auto from template
2016-10-28 11:18:56 -07:00
Amjad Mashaal
88a2c5a8f6 Testing the output of build.py against lea-source/lea (#3460)
* Testing the output of build.py against lea-source/lea

* Replacing realpath with readlink
2016-10-28 10:50:07 -07:00
Erica Portnoy
981d59fb45 Specify archive directory in renewal configuration file (#3661)
* Switch to using absolute path in symlink

* save archive_dir to config and read it back

* cli_config.archive_dir --> cli_config.default_archive_dir

* Use archive_dir specified in renewal config file

* add helpful broken symlink info

* add docstring to method

* Add tests

* remove extraneous test imports

* fix tests

* py2.6 syntax fix

* git problems

* no dict comprehension in python2.6

* add test coverage

* More py26 wrangling
2016-10-27 17:23:21 -07:00
Peter Conrad
8f3f166186 Responding to feedback at https://github.com/certbot/certbot/pull/3675#pullrequestreview-5757007 2016-10-27 11:34:35 -07:00
Jacob Hoffman-Andrews
88076e46c7 Improve debug logs. (#3126)
Print request and response bodies with newlines, rather than all on one line.
Remove "Omitted empty field" log, which gets logged meaninglessly for every JSON
serialization.
Remove duplicated logging of responses.
Log the base64 version of the nonce, rather than turning it into bytes and
logging the backslash-escaped version of those bytes.
Only pass -vv in tests.
2016-10-26 18:07:33 -07:00
Erica Portnoy
4b5db7aec4 Allow user to select all domains by typing empty string at checklist (#3693)
* Allow user to select all domains by typing empty string at checklist
2016-10-26 15:43:40 -07:00
Brad Warren
42180ee9b5 fix travis tests? (#3695) 2016-10-26 14:34:01 -07:00
Brad Warren
6ad08f4f64 Fix link to Docker's user guide (#3651)
* Fix link to Docker's user guide

* Update link to the Docker installation guide
2016-10-25 18:51:01 -07:00
Patrick Figel
1dafaec5a9 Update CLI usage docs for --csr (#3677)
With #2403 and #3046, certbot gained the ability to parse CSRs
encoded as PEM and without a SAN extension. Update the CLI usage
docs to reflect this change.
2016-10-25 13:56:38 -07:00
Jay Faulkner
98911d0c3c Fix issue with suggest_unsafe undeclared (#3685)
Added missing declaration of support_unsafe and unit test to prevent
regression.

Issue #3672
2016-10-24 14:51:50 -07:00
Peter Conrad
5345195e0c De-duping and clarifying installation information, separating it from Using. 2016-10-21 16:24:43 -07:00
Erica Portnoy
d54cb76432 Remove the curses dialog, thereby deprecating the --help and --dialog command line options (#3665)
* Remove the curses dialog, thereby deprecating the --help and --dialog command line options

* Deprecate --dialog and suppress --text
2016-10-21 15:45:57 -07:00
Peter Conrad
5abfb51219 Keeping my fork up to date.
Merge https://github.com/certbot/certbot
2016-10-21 15:03:15 -07:00
Erica Portnoy
ce252bd6c9 Allow certbot to get a cert for default_servers (#3652)
* Allow certbot to get a cert for default_servers

* Add to_string method for not printing default_server
2016-10-21 13:56:53 -07:00
benbankes
b9adb7cbaf Fix typo (#3659) 2016-10-19 08:53:46 -07:00
schoen
605a3cc931 Stop rejecting punycode domain names (#3626)
* Punycode is about to be permitted; stop rejecting it

* Remove spurious bracket

* More brackets rather than fewer!

* Change ops_test's notion of valid domains

* Remove spurious "certonly" from new test

* Make test more localized

* Remove commented-out punycode prohibition
2016-10-17 19:48:48 -07:00
Brad Warren
91deb6ec53 Add test_tests.sh (#3633) 2016-10-17 13:11:24 -07:00
Brad Warren
82ac89b850 Release 0.9.3 Option 2 (see #3634) (#3635)
* Release 0.9.3

(cherry picked from commit ce4e00569e)

* Bump version to 0.10.0

(cherry picked from commit 5234172b81)
2016-10-15 10:10:01 -07:00
Peter Conrad
747a17d1fa Fixing a weird out-of-place paragraph in the Getting Certbot section (#3624) 2016-10-13 16:13:17 -07:00
Brad Warren
6d0ba6de8e Fix Apache constants tests (#3630)
* Allow running constants_test.py individually

* Mock until tests pass

Mock out both functions used to determine the OS in
certbot_apache.tests.constants_test.
2016-10-13 13:54:22 -07:00
Erica Portnoy
77ed0c35ea Match socket testing behavior to ACME standalone socket reuse behavior. Aggressively reuse ports, ignoring TIME_WAIT. (#3631) 2016-10-13 13:53:17 -07:00
Brad Warren
47e129ddd8 Merge pull request #3627 from certbot/candidate-0.9.2
Release 0.9.2
2016-10-12 17:46:58 -07:00
Brad Warren
a1f9c20bc5 Merge branch 'master' into candidate-0.9.2 2016-10-12 17:07:13 -07:00
Peter Eckersley
7f172859f5 Nginx docs in README (#3606)
* Update plugins docs in README

 - nginx is now part of certbot-auto
 - apache is now cross-platform

* Alpha / beta

* RST, not markdown
2016-10-12 17:02:39 -07:00
Peter Eckersley
3615b9030c Improve description of what email is used for.
Specifically, it's not currently used for account recovery.
2016-10-12 16:37:55 -07:00
Brad Warren
a720b1ece5 Bump version to 0.10.0 2016-10-12 16:12:35 -07:00
Brad Warren
6f808b6c08
Release 0.9.2 2016-10-12 16:12:29 -07:00
Brad Warren
1b65244d0d Don't run nosetests from the root of our repo (#3620) 2016-10-12 15:55:50 -07:00
Brad Warren
052be6d4ba Check version requirements on optional dependencies (#3618)
* Add and test activate function to acme.

This function can be used to check if our optional dependencies are
available and they meet our version requirements.

* use activate in dns_resolver

* use activate in dns_available() in challenges_test

* Use activate in dns_resolver_test

* Use activate in certbot.plugins.util_test

* Use acme.util.activate for psutil

* Better testing and handling of missing deps

* Factored out *_available() code into a common function

* Delayed exception caused from using acme.dns_resolver without
  dnspython until the function is called. This makes both
  production and testing code simpler.

* Make a common subclass for already_listening tests

* Simplify mocking of USE_PSUTIL in tests
2016-10-12 15:55:50 -07:00
Erica Portnoy
20ac4aebaf Match psutil port open checking behavior to that of socket test, and update tests. (#3589)
* Match psutil port open checking behavior to that of socket test, and update tests.

* Update docstring
2016-10-12 15:55:50 -07:00
Erica Portnoy
4d6bf49393 Mark parsed Nginx addresses as listening sslishly when an ssl on directive is included in the server block. (#3607) 2016-10-12 15:55:50 -07:00
Brad Warren
54b36269ce Only verify required ports are available (#3608)
* only verify port is available when you actually need it

* refactor code to create achalls

* Test port checks are based on achall

* test that only the port for the requested challenge is checked in standalone
2016-10-12 15:55:50 -07:00
Jacob Hoffman-Andrews
e6686fbdb5 Update Where Are My Certs section. (#3419)
* Update Where Are My Certs section.

This combines the `cert.pem` and `chain.pem` sections into a single paragraph,
making it clearer that they are closely connected. It also adds text indicating
that they are less common and moves them below the section for `fullchain.pem`.

* Update "Getting Help" section.

* Add link to document missing intermediate.

* Remove incorrect line about ordering.

Also remove "(as the filename suggests)," and clarify file ordering in the
fullchain.pem section.
2016-10-12 15:55:50 -07:00
Brad Warren
9d1a0b1d31 Create symlinks at runtime and don't use relative paths (#3600)
* Create symlinks at runtime in cli_test.py

* use test_util.vector_path rather than hardcoding path

* Reference #2716 in comment about too many lines in cli.py
2016-10-12 15:55:50 -07:00
Peter Eckersley
8a925f20bb Document the Nginx plugin release (#3588)
* Document the Nginx plugin release

* Tweak

* Remove mrueg nginx instructions for now?

* Shipped -> included

* keep order of plugin descriptions consistent with the table
2016-10-12 15:55:50 -07:00
Peter Conrad
168787c58d Fixing a weird out-of-place paragraph in the Getting Certbot section 2016-10-12 15:30:21 -07:00
Blake Griffith
7773568332 Update ACME error namespace to match the new draft. (#3469)
* Update error namespace in acme package.

* Use new error namespace in certbot.

* fix lint and py26 errors.

* Update with_code docstring.

* @pde's suggestions
2016-10-12 14:46:02 -07:00
Brad Warren
f008fd0af9 Don't run nosetests from the root of our repo (#3620) 2016-10-11 19:15:11 -07:00
Brad Warren
f5bf66ba36 Check version requirements on optional dependencies (#3618)
* Add and test activate function to acme.

This function can be used to check if our optional dependencies are
available and they meet our version requirements.

* use activate in dns_resolver

* use activate in dns_available() in challenges_test

* Use activate in dns_resolver_test

* Use activate in certbot.plugins.util_test

* Use acme.util.activate for psutil

* Better testing and handling of missing deps

* Factored out *_available() code into a common function

* Delayed exception caused from using acme.dns_resolver without
  dnspython until the function is called. This makes both
  production and testing code simpler.

* Make a common subclass for already_listening tests

* Simplify mocking of USE_PSUTIL in tests
2016-10-11 17:50:11 -07:00
Erica Portnoy
e1da0efb8a Match psutil port open checking behavior to that of socket test, and update tests. (#3589)
* Match psutil port open checking behavior to that of socket test, and update tests.

* Update docstring
2016-10-11 12:22:58 -07:00
Erica Portnoy
4bc3c747cb Mark parsed Nginx addresses as listening sslishly when an ssl on directive is included in the server block. (#3607) 2016-10-10 19:04:35 -07:00
Brad Warren
a5df9e5a0e Only verify required ports are available (#3608)
* only verify port is available when you actually need it

* refactor code to create achalls

* Test port checks are based on achall

* test that only the port for the requested challenge is checked in standalone
2016-10-10 18:44:39 -07:00
Jacob Hoffman-Andrews
2415092a78 Update Where Are My Certs section. (#3419)
* Update Where Are My Certs section.

This combines the `cert.pem` and `chain.pem` sections into a single paragraph,
making it clearer that they are closely connected. It also adds text indicating
that they are less common and moves them below the section for `fullchain.pem`.

* Update "Getting Help" section.

* Add link to document missing intermediate.

* Remove incorrect line about ordering.

Also remove "(as the filename suggests)," and clarify file ordering in the
fullchain.pem section.
2016-10-10 18:36:58 -07:00
Brad Warren
cb613ba7d3 Create symlinks at runtime and don't use relative paths (#3600)
* Create symlinks at runtime in cli_test.py

* use test_util.vector_path rather than hardcoding path

* Reference #2716 in comment about too many lines in cli.py
2016-10-10 13:17:49 -07:00
Peter Eckersley
d755db4702 Document the Nginx plugin release (#3588)
* Document the Nginx plugin release

* Tweak

* Remove mrueg nginx instructions for now?

* Shipped -> included

* keep order of plugin descriptions consistent with the table
2016-10-07 00:18:05 -07:00
Brad Warren
ff57c71802 Release 0.9.1 (#3595)
* fix requirements.txt surgery in response to shipping certbot-nginx (#3585)

* Make --quiet reduce the logging level (#3593)

* reduce logging level and ignore verbose flags in quiet mode

* Simplify setup_logging parameters

The extra parameters were there in the past when the letsencrypt-renewer was a
separate executable that also used this function. This is cruft that can be
removed.

* Add basic tests for setup_logging

* Release 0.9.1

* Bump version to 0.10.0
2016-10-06 16:58:50 -07:00