Commit Graph
7576 Commits
Author SHA1 Message Date
Alex JordanandBrad Warren dfd4d0c10e Document hook error handling (#4418)
* Document hook error handling

* Clarify wording around hook failure exit codes
2017-04-07 10:16:59 -07:00
Yen Chi HsuanandBrad Warren 4b91f7fbbc Replace e.message with str(e) for Python 3 compatibility (#4416) 2017-04-07 09:58:19 -07:00
Jacob Hoffman-AndrewsandBrad Warren d557c39c99 Remove obsolete fields from Registration. (#4339)
Authorizations and certificates were in the original spec but have since been
deleted.
2017-04-07 09:52:12 -07:00
Ngo The TrungandBrad Warren 315b6d0cf1 Fix unorderable types error (#4409)
If the updated datetime collides, the comparator of heapq will move
onto the AuthorizationResource value and throws an "unorderable type"
error.

This adds an index value to the element tuple to ensure that they are
always strictly ordered.
2017-04-07 09:46:27 -07:00
Jacob Hoffman-AndrewsandBrad Warren cacee80c51 Move make_csr into acme.crypto_util (#4165)
It's relatively finicky to make a CSR appropriate to pass to poll_and_request_issuance. I think most users want to be able to give a list of domains and a private key, and get back a CSR. This branch adds that functionality to crypto_util.

Note that the two new functions take arguments, and return values, as PEM-encoded buffers. This is a departure from some existing ACME interfaces that take PyOpenSSL types. I've discussed with the Certbot team, and we agree that this is broadly the direction the ACME API should take, so that users of the module don't need to import PyOpenSSL themselves, or use its primitives.

* Add make_csr.

* accept privkey

* Tweak API.

* Remove make_csr from certbot package.

* Skip test in older Pythons.

* Move get_Extensions call under protection.

* Remove assertIn because not backwards-compatible.

* Fix encoding, and use PEM.

* Fix test

* Fix tests on py35.

* Fix error in test.

* Make import_csr_file always return PEM.

Also delete get_sans_from_csr (unused) and get_names_from_csr (newly unused).

* Fix function doc.

* Fix indent

* Fix call of obtain_certificate_from_Csr

* lint

* Handle review feedback.

* Fix test.
2017-04-07 09:43:33 -07:00
Brad WarrenandGitHub 2e8a5ef477 Call certbot client cb_client rather than acme_client (#4357)
In some sense, certbot.client.Client is an ACME client, but it's the not the client in the ACME library and this leads to confusion. Let's make what this is clear.

* call certbot client cb_client rather than acme_client

* update tests
2017-04-06 16:05:54 -07:00
Erica PortnoyandGitHub da1cfa85fc Update changelog for 0.13.0 release (#4476) 2017-04-06 12:07:17 -07:00
Erica PortnoyandGitHub 82f3f7523e Candidate 0.13.0 (#4475)
* Release 0.13.0

* Bump version to 0.14.0
2017-04-06 11:33:32 -07:00
Erica PortnoyandGitHub 18486d6ea0 Revert "More thoroughly rename during certbot rename. (#4320)" (#4467)
This reverts commit 43dccfc671.
2017-04-05 12:45:03 -07:00
Noah SwartzandGitHub 664c9aaae5 Merge pull request #4419 from strugee/improve-changelog
Start organizing the change log
2017-04-05 12:31:46 -07:00
Peter EckersleyandGitHub 2bdfffb23a Support "certbot-auto --no-bootstrap" (#3955)
* Support "certbot-auto --no-bootstrap"

* Tell people about --no-bootstrap?

* Document new certbot-auto flag in its cli help

* Rebuild

* Less variables is less variability

* Alphabetize help

* Make it extra clear we only take one branch

* Add --no-bootstrap message to experimentalbootstrap exit
2017-04-04 16:12:31 -07:00
Alex Jordan 2887b888f7 Start organizing the change log
This style is based on http://keepachangelog.com/en/0.3.0/.
2017-04-04 15:54:39 -04:00
Erica PortnoyandGitHub 43dccfc671 More thoroughly rename during certbot rename. (#4320)
* rename more files in rename command

* Revert "Hide rename command (#4007)"

This reverts commit 8c14de13a5.

* Rename files in configuration files

* Delete new files if we fail during the renaming process

* update tests and error catching

* More expressive error message
2017-04-04 11:20:58 -07:00
Brad WarrenandGitHub e194e0dd5f Refactoring for better logging (#4444)
* Move colored_logging.py to log.py

* Add atexit.register code to util

* Add tests for atexit_register

* Copy except_hook to log

* Add pre_arg_setup

* move setup_log_file_handler to log.py

* Add post_arg_setup

* move changes to main

* Undo changes to MainTest

* s/pre_arg_setup/pre_arg_parse_setup

* s/post_arg_setup/post_arg_parse_setup
2017-03-30 16:17:57 -07:00
Brad WarrenandGitHub a542fcd019 Revert "Add a global lock file to Certbot (#4369)" (#4445)
This reverts commit 32122cfa21.
2017-03-30 15:47:31 -07:00
Erica PortnoyandGitHub d09bde972a Remove unused default parameter (#4447)
* Remove unnecessary, nonexistent default
2017-03-30 15:28:24 -07:00
Erica PortnoyandBrad Warren 52e22b22e5 Add additional Nginx parsing test case (#4440) 2017-03-30 07:47:36 -07:00
Noah SwartzandGitHub 81fb598235 Merge pull request #4373 from osirisinferi/docs-add-gentoo-packages
Add Gentoo to list of official packages
2017-03-29 18:00:51 -07:00
Noah SwartzandGitHub 64f2d0d911 Merge pull request #4427 from certbot/no-domains-in-cli-ini
No domains in cli.ini
2017-03-29 17:58:20 -07:00
Noah SwartzandGitHub ca16dfb593 Merge branch 'master' into docs-add-gentoo-packages 2017-03-29 17:42:23 -07:00
Jacob Hoffman-AndrewsandGitHub d5f1edf2bb Dump Boulder logs on integration test failures. (#4442)
Might help debug #4363.

Also:

make "bash" vs "sh" explicit
move the paranoia flags (-ex) from the shebang into the body
add -u (fail on unset variables)
change _common to work with -u
remove some env vars that were no longer used
remove shebang from _common.sh because it's meant to be sourced, not run
2017-03-29 16:48:08 -07:00
Yen Chi HsuanandBrad Warren 6fb78dab67 Fix Docker IP detection with different ifconfig output formats (#4376) 2017-03-29 13:34:09 -07:00
Zach ShepherdandBrad Warren 67e11ae1d8 tests: deduplicate temporary directory code (#4078) (#4297)
Introduce a test class to deduplicate temporary directory setup and teardown in
testing code and update existing test code to use this new class.
2017-03-29 10:01:16 -07:00
Noah SwartzandGitHub 446509620f Merge pull request #4420 from certbot/issue4331
Ensure --fullchain-path gets put under paths in --help all
2017-03-28 14:08:56 -07:00
Seth Schoen 06def76846 Merge branch 'master' of github.com:certbot/certbot into no-domains-in-cli-ini 2017-03-27 15:19:36 -07:00
Erica PortnoyandGitHub ece68a1864 Update Nginx ciphersuites to use Mozilla Intermediate (#4426)
* Update Nginx ciphersuites to use Mozilla intermediate

* update tests to match new behavior
2017-03-27 15:19:03 -07:00
Seth Schoen 07f95e6197 Improvements to example cli.ini 2017-03-27 15:14:07 -07:00
Erica PortnoyandGitHub e9608945c3 Change registering unsafely without email logging level to info (#4425)
* Change registering unsafely without email logging level to info

* update test with new behavior
2017-03-27 14:47:14 -07:00
Erica Portnoy b7bb75886e Merge branch 'master' into issue4331 2017-03-27 14:08:39 -07:00
Zach ShepherdandBrad Warren 1c51ae2588 Pin python-augeas version to avoid error with 1.0.0 (#4422)
When running ./tools/venv.sh with 1.0.0 (now the latest version), I encountered:
    build/temp.linux-x86_64-2.7/augeas.c:434:35: fatal error: augeas.h: No such file or directory
2017-03-27 13:58:17 -07:00
Erica Portnoy 7d57e3104a Ensure --fulchain-path gets put under paths in --help all 2017-03-27 12:20:51 -07:00
Damien TournoudandJacob Hoffman-Andrews 5c93ceb675 acme: Make the network timeout configurable (#4237)
This follows up on https://github.com/certbot/certbot/pull/4217, but allows users to override the default setting.
2017-03-27 09:24:05 -07:00
Noah SwartzandGitHub 272a81b400 Merge pull request #4304 from certbot/package-guide
Improve packaging guide.
2017-03-27 08:53:26 -07:00
Jacob Hoffman-Andrews 2e102ec9f7 Review feedback. 2017-03-25 11:39:19 -07:00
Erica PortnoyandGitHub 7be2e79025 Fix nginx parser (#4296)
* rewrite nginx parser to allow everything that nginx does

* also make changes in tls_sni_01.py

* add test case with

* allow embedded variables

* allow empty ${} variable

* fix quotes

* un-special case if

* update all tests to reflect current parsing

* escape in QuotedString after merge

* add test cases for variable weirdness that are almost certainly nginx bugs

* update regex for correct variable rules

* close paren doesn't invoke last_space

* Make test file valid Nginx syntax
2017-03-24 19:45:53 -07:00
Noah SwartzandGitHub 09377437dc Merge pull request #4387 from dhuang/shh-apache-version
Do not output apache version when deploying cert
2017-03-21 16:39:31 -07:00
Brad WarrenandGitHub bf45cea7cd Ensure a SHA2 hash algorithm is used when signing releases (#4384)
* use gpg2

* explictly use sha256
2017-03-20 18:00:50 -07:00
Brad WarrenandGitHub b7d282309d Save hyphenated plugin params for renewal (#4281)
* fix plugin namespace check

* Add test to prevent regressions
2017-03-20 17:57:09 -07:00
Brad WarrenandPeter Eckersley 32122cfa21 Add a global lock file to Certbot (#4369)
* add fasteners as a dependency

* add LOCK_FILE constant

* Add lock file to Certbot

* Move code to _run_subcommand

* move lock file path into CLI_CONSTANTS

* add --lock-path flag

* move locking code to separate function

* Add TestAcquireFileLock

* assert we log

* test lock contention

* add fasteners to certbot-auto

* Use a different lock file for each test in MainTest
2017-03-20 15:48:39 -07:00
dokazakiandBrad Warren 8011fb2879 Add mypy (#4386)
* Initial configuration of mypy in box, correction of base mypy errors.

* Move mypy install to toe

* Add pylint comments for typing imports.

* Remove typing module for Python 2.6 compatibility.
2017-03-18 19:10:10 -07:00
Daniel Huang 1e36783986 Still include apache version in debug logging 2017-03-18 21:37:37 -04:00
Daniel HuangandBrad Warren 679887f691 Add --debug-challenges flag (#1684) (#4385)
* Add --debug-challenges flag (#1684)

* Specify None as topic for --debug-challenges
2017-03-18 18:33:29 -07:00
Daniel Huang b9121a8a37 Do not output apache version when deploying cert (#4023) 2017-03-18 21:14:53 -04:00
Yen Chi HsuanandBrad Warren 97db9e646a Fix _get_runtime_cfg on Python 3 (#4262) 2017-03-18 18:06:32 -07:00
Daniel HuangandBrad Warren d54d3eba78 Retry fetch chain errors (#4196) (#4383)
* Retry fetch chain errors (#4196)

* Trying to avoid confusing pylint

* Pylint disable

* Typo certz->certr

* Move pylint disable, log when fetch chain fails
2017-03-18 17:04:16 -07:00
Daniel HuangandBrad Warren e034b50363 Don't save keys/csr on dry run (#4380)
* Don't save keys/csr on dry run (#2495)

* Replace assertIsNone for py26

* Fix config defaults for compat tests
2017-03-18 13:42:54 -07:00
Brad WarrenandGitHub 6f979a4808 upgrade pip and setuptools before installing packages (#4378) 2017-03-18 13:40:01 -07:00
Brad WarrenandGitHub c439057efa install python3-dev for python3 tests in docker (#4381) 2017-03-18 13:25:02 -07:00
Osiris Inferi b81f029614 Add Gentoo to list of official packages 2017-03-18 00:51:59 +01:00
Erica PortnoyandGitHub 050d272272 Merge pull request #4347 from kernelpanek/master
Fixes nginxparser to allow multiline quoted strings
2017-03-17 16:48:32 -07:00