Commit graph

9380 commits

Author SHA1 Message Date
Amjad Mashaal
c89bd421da Expanding tests for le-auto, adding Debian test suite (#2635)
* Adding Debian 7 (Wheezy) to LE tests

* Adding Debian 8 (Jessie) to LE tests

* Fixing Debian Wheezy certificate addition error

* Adding packages to LEA Debian Jessie test and refining the code commenting

* Adding installing OpenSSL to the Debian Wheezy LEA test script

* Removing LEA tests for Debian Jessie

* Fixing nits
2016-11-10 14:01:15 -08:00
Amjad Mashaal
469fc3775f Expanding tests for le-auto, adding Ubuntu test suite (#2548)
* Adding Ubuntu Wily to LEA testing

* Setting up certs correctly for Ubuntu 15.10

* Adding 12.04

* Removing redundant update-ca-certificates from 12.04 le-auto testing script

* Fixing OpenSSL on Precise

* Adding Vivid to le_auto tests

* Cleaning up LEA tests configuration for Trusty

* Ordering LEA test entries in .travis.yml and renaming them correctly

* Removing Ubuntu Vivid

* Refining comments

* Removing Ubuntu Wily since it reached EOL

* Removing .travis.yml duplicates

* Fixing nits
2016-11-10 13:15:17 -08:00
Peter Eckersley
6eb3ce2f7a Bump python-cryptography to 1.5.3 (#3773)
* [certbot-auto] Bump cryptography version to 1.5.2

* Actually bump to python-cryptography 1.5.3

* https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst#153---2016-11-05

Probably doesn't affect us, but best to ship the fix
2016-11-10 09:47:13 -08:00
Erica Portnoy
04bec308fb Add README file to each live directory explaining its contents. (#3696)
* Add README file to each live directory explaining its contents.

* add tests

* Update README copy

* add fragment

* update copy

* lint errors
2016-11-09 12:55:18 -08:00
Nick Fong
469b5fd441 Remove letsencrypt[-apache|-nginx] (#3769) 2016-11-08 17:21:49 -08:00
Nick Fong
dd8772b608 Remove get_all_certs_keys() from Apache and Nginx (#3768)
- Remove get_all_certs_keys() implementation in
    - certbot-apache/certbot_apache/configurator.py
- Remove corresponding tests for get_all_certs_keys() in
    - certbot-apache/certbot_apache/tests/configurator_test.py
- Remove get_all_certs_keys() implementation in
    - certbot-nginx/certbot_nginx/configurator.py
    - certbot-nginx/certbot_nginx/parser.py
- Remove corresponding tests for get_all_certs_keys() in:
    - certbot-nginx/certbot_nginx/tests/configurator_test.py
    - certbot-nginx/certbot_nginx/tests/parser_test.py

Resolves #3762
2016-11-08 17:19:05 -08:00
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