Commit Graph
7246 Commits
Author SHA1 Message Date
Martey DodooandErica Portnoy a7bfefc6d0 Change all "cerbot" references to "certbot" (#3770) 2016-11-08 11:09:20 -08:00
Erica Portnoyandschoen 2b229d4b9d Allow notification interface to not wrap text (#3728) 2016-11-07 16:14:09 -08:00
Erica PortnoyandPeter Eckersley df10a6431b Don't re-add redirects if one exists (#3751)
* Don't re-add redirects if one exists

* coverage

* make coverage happy

* don't re-add comment, and clean code
2016-11-07 15:48:46 -08:00
Gilles PietriandPeter Eckersley 0bc3e1860b Add renew_hook to options stored in the renewal config, partially tackles #3394 (#3724) 2016-11-07 15:31:50 -08:00
Joona HoikkalaandPeter Eckersley d741e684d0 Script plugin (#3521)
* Script plugin initial commit

* Fix auth script path

* Return correct responses

* Added DNS-01 support

* Report the challenge pref correctly

* Use config root from certbot constants rather than hardcoded

* Remove prehook and rename posthook to cleanup for clarity

* Refactoring

* Docs

* Refactoring

* Refactoring continued, working now

* Use global preferred-challenges argument in favor of local

* Added http-01 as fallback challenge if not defined

* Do not continue if auth script not defined

* Skip unnecessary steps when running

* Read config values from correct places

* Tests and minor fixes

* Make Python 2.6 happy again

* Added CERTBOT_AUTH_OUTPUT and better tests

* Lint & Py3 fixes

* Make Python 2.6 happy again

* Doc changes

* Refactor hook execute and reuse in script plugin

* Refactored hook validation

* Added long_description for plugin help text

* Refactored env var writing
2016-11-07 15:22:48 -08:00
Brad WarrenandGitHub d197b5aa05 Fix OS Documentation (#3747)
* Update various package names in using.rst from "letsencrypt" to "certbot"

* Update using.rst

Change package name
2016-11-07 14:53:15 -08:00
kaiyouandPeter Eckersley 82c69815d1 Fix writing pem files with Python3 (#3757)
* Standardize arguments name for mode and chmod in the util API

* Handle OpenSSL pem as bytes objects only for Python3 compatibility

* Handle OpenSSL pem as bytes objects only (remaining bits)

* Manipulate bytes objects only when testing PEM-related functions

* Fix argument order when calling util.unique_file
2016-11-07 14:22:20 -08:00
Nick FongandBrad Warren 549f0eccf9 Remove get_all_certs_keys() from interfaces.py (#3753)
- Remove method 'get_all_certs_keys()' from interfaces.py
- Also remove 'get_all_certs_keys()' from plugins/null.py and
  corresponding unit test
2016-11-07 11:36:58 -08:00
Peter EckersleyandBrad Warren f0ebd13ec2 [certbot-auto] Bump cryptography version to 1.5.2 (#3733) 2016-11-04 19:03:00 -07:00
Brad WarrenandPeter Eckersley fd95a55054 use terminate not kill (#3750) 2016-11-04 18:39:58 -07:00
Jaap ElderingandBrad Warren ca9b3f18af Allow user to override sudo as root authorization method [minor revision requested] (#1969)
* Move su_sudo() wrapper function outside of root method selection code.

* Improve comment language.

* Allow overriding root authorization mechanism (sudo/su/nothing)
by setting LE_AUTO_SUDO environment variable.

* Update generated letsencrypt-auto-source/letsencrypt-auto
from template.

* Add change requests from Brad Warren and regenerate letsencrypt-auto.

Thanks for pointing out.
2016-11-03 18:13:02 -07:00
Brad Warrenandschoen 61094b06fd Do we need trusty in Travis? (#3737)
* do we need trusty?

* add docker as a dependency for boulder??
2016-11-03 17:19:53 -07:00
Jacob Hoffman-AndrewsandBrad Warren 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 WarrenandGitHub 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 WarrenandGitHub 30dd22f2f8 No doc,dev depedencies for compatibility-test (#3722) 2016-10-31 18:30:02 -07:00
Amjad MashaalandBrad Warren 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
tcottierandBrad Warren 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 MashaalandBrad Warren 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 PortnoyandPeter Eckersley 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
Jacob Hoffman-AndrewsandGitHub 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 PortnoyandGitHub 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 WarrenandGitHub 42180ee9b5 fix travis tests? (#3695) 2016-10-26 14:34:01 -07:00
Brad WarrenandGitHub 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 FigelandBrad Warren 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 FaulknerandBrad Warren 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
Erica PortnoyandBrad Warren 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
Erica PortnoyandGitHub 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
benbankesandBrad Warren b9adb7cbaf Fix typo (#3659) 2016-10-19 08:53:46 -07:00
schoenandBrad Warren 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 WarrenandPeter Eckersley 91deb6ec53 Add test_tests.sh (#3633) 2016-10-17 13:11:24 -07:00
Brad WarrenandPeter Eckersley 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 ConradandBrad Warren 747a17d1fa Fixing a weird out-of-place paragraph in the Getting Certbot section (#3624) 2016-10-13 16:13:17 -07:00
Brad WarrenandGitHub 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 PortnoyandBrad Warren 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 WarrenandGitHub 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 EckersleyandGitHub 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 EckersleyandJacob Hoffman-Andrews 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 v0.9.2 2016-10-12 16:12:29 -07:00
Brad WarrenandBrad Warren 1b65244d0d Don't run nosetests from the root of our repo (#3620) 2016-10-12 15:55:50 -07:00
Brad WarrenandBrad 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 PortnoyandBrad Warren 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 PortnoyandBrad Warren 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 WarrenandBrad 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-AndrewsandBrad Warren 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 WarrenandBrad 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 EckersleyandBrad Warren 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
Blake GriffithandPeter Eckersley 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 WarrenandPeter Eckersley f008fd0af9 Don't run nosetests from the root of our repo (#3620) 2016-10-11 19:15:11 -07:00