Commit graph

10174 commits

Author SHA1 Message Date
mstrache
8c1aa3ef46 #3408: Made Gentoo bootstrapping asking before performing any changes (#3410)
* #3408: Made gentoo bootstrapping ask before it performs any changes

* Update gentoo_common.sh

Removed use of the local keyword
2016-11-08 16:48:12 -08:00
Erica Portnoy
af46f644a7 Add list-certs command (#3669)
* 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

* Add list-certs command

* no dict comprehension in python2.6

* add test coverage

* More py26 wrangling

* update tests for py3 and lint

* remove extra dep from test

* test coverage

* test shouldn't be based on dict representation order

* Redo report UX and add tests to cover

* remove storage str test

* lint and use mock properly

* mock properly

* address code review comments

* lineage --> certificate name and print fullchain and privkey paths

* make py26 happy

* actually make py26 happy

* don't wrap text
2016-11-08 15:21:42 -08:00
Martey Dodoo
a7bfefc6d0 Change all "cerbot" references to "certbot" (#3770) 2016-11-08 11:09:20 -08:00
Erica Portnoy
2b229d4b9d Allow notification interface to not wrap text (#3728) 2016-11-07 16:14:09 -08:00
Erica Portnoy
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 Pietri
0bc3e1860b Add renew_hook to options stored in the renewal config, partially tackles #3394 (#3724) 2016-11-07 15:31:50 -08:00
Joona Hoikkala
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 Warren
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
kaiyou
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 Fong
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 Eckersley
f0ebd13ec2 [certbot-auto] Bump cryptography version to 1.5.2 (#3733) 2016-11-04 19:03:00 -07:00
Brad Warren
fd95a55054 use terminate not kill (#3750) 2016-11-04 18:39:58 -07:00
Waylon Flinn
ebe5d0c4f2 add support for root domain 2016-11-04 20:26:34 -05:00
Jaap Eldering
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 Warren
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-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