100 Commits
Author SHA1 Message Date
Brad WarrenandGitHub 1bb2cfadf7 hardcode vhosts and names for test (#5444) 2018-01-17 15:34:34 -08:00
Brad WarrenandGitHub f43a95e9c1 Merge pull request #5442 from certbot/apache-http-01
Better Apache HTTP01 Support
2018-01-17 11:18:58 -08:00
Brad WarrenandGitHub 5d58a3d847 Merge pull request #5417 from certbot/apache-http
HTTP01 support in Apache
2018-01-11 11:18:07 -08:00
Brad WarrenandGitHub 9e95208101 Factor out common challengeperformer logic (#5413) 2018-01-10 18:34:45 -08:00
Brad WarrenandGitHub 39472f88de reduce ipdb version (#5408) 2018-01-10 13:26:31 -08:00
Brad WarrenandGitHub 3acf5d1ef9 Fix rebootstraping with old venvs (#5392)
* Fix rebootstrapping before venv move

* add regression test

* dedupe test

* Cleanup case when two venvs exist.

* Add clarifying comment

* Add double venv test to leauto_upgrades

* Fix logic with the help of coffee

* redirect stderr

* pass VENV_PATH through sudo

* redirect stderr
2018-01-10 12:10:21 -08:00
Brad WarrenandGitHub 00634394f2 Only respect LE_PYTHON inside USE_PYTHON_3 if we know a user must have set it version 2 (#5402)
* stop exporting LE_PYTHON

* unset LE_PYTHON sometimes
2018-01-09 21:16:44 -08:00
Brad Warrenandohemorange 887a6bcfce Handle need to rebootstrap before fetch.py (#5389)
* Fix #5387

* Add test for #5387

* remove LE_PYTHON

* Use environment variable to reduce line length
2018-01-09 15:40:26 -08:00
Brad WarrenandGitHub d557475bb6 update Apache ciphersuites (#5383) 2018-01-09 07:46:21 -08:00
Brad Warrenandohemorange e02adec26b Have letsencrypt-auto do a real upgrade in leauto-upgrades option 2 (#5390)
* Make leauto_upgrades do a real upgrade

* Cleanup vars and output

* Sleep until the server is ready

* add simple_http_server.py

* Use a randomly assigned port

* s/realpath/readlink

* wait for server before getting port

* s/localhost/all interfaces
2018-01-08 17:38:03 -08:00
Brad WarrenandGitHub 24ddc65cd4 Allow non-interactive revocation without deleting certificates (#5386)
* Add --delete-after-revoke flags

* Use delete_after_revoke value

* Add delete_after_revoke unit tests

* Add integration tests for delete-after-revoke.
2018-01-08 17:02:20 -08:00
Brad Warrenandohemorange 18f6deada8 Fix letsencrypt-auto name and long forms of -n (#5375) 2018-01-05 19:27:00 -08:00
Brad Warrenandohemorange 5388842e5b Fix pytest on macOS in Travis (#5360)
* Add tools/pytest.sh

* pass TRAVIS through in tox.ini

* Use tools/pytest.sh to run pytest

* Add quiet to pytest.ini

* ignore pytest cache
2018-01-03 17:49:22 -08:00
Brad Warrenandohemorange ed2168aaa8 Fix auto_tests on systems with new bootstrappers (#5348) 2017-12-21 16:55:21 -08:00
Brad Warrenandohemorange d6b11fea72 More pip dependency resolution workarounds (#5339)
* remove pyopenssl and six deps

* remove outdated tox.ini dep requirement
2017-12-19 16:16:45 -08:00
Brad Warrenandohemorange a1aea021e7 Pin dependencies in oldest tests (#5316)
* Add tools/merge_requirements.py

* Revert "Fix oldest tests by pinning Google DNS deps (#5000)"

This reverts commit f68fba2be2.

* Add tools/oldest_constraints.txt

* Remove oldest constraints from tox.ini

* Rename dev constraints file

* Update tools/pip_install.sh

* Update install_and_test.sh

* Fix pip_install.sh

* Don't cat when you can cp

* Add ng-httpsclient to dev constraints for oldest tests

* Bump tested setuptools version

* Update dev_constraints comment

* Better document oldest dependencies

* test against oldest versions we say we require

* Update dev constraints

* Properly handle empty lines

* Update constraints gen in pip_install

* Remove duplicated zope.component

* Reduce pyasn1-modules dependency

* Remove blank line

* pin back google-api-python-client

* pin back uritemplate

* pin josepy for oldest tests

* Undo changes to install_and_test.sh

* Update install_and_test.sh description

* use split instead of partition
2017-12-18 12:31:36 -08:00
Brad WarrenandGitHub 1b6005cc61 Pin josepy in letsencrypt-auto (#5321)
* pin josepy in le-auto

* Put pinned versions in sorted order
2017-12-14 18:15:42 -08:00
Brad WarrenandGitHub 8bc785ed46 Make Travis builds faster in master (#5314)
* Remove extra le-auto tests from master

* Remove dockerfile-dev test from master

* Remove intermediate Python 3.x tests from master

* Reorder travis jobs for speed
2017-12-08 16:35:59 -08:00
Brad WarrenandGitHub d039106b68 Merge pull request #5303 from certbot/candidate-0.20.0
Release 0.20.0
2017-12-06 17:59:51 -08:00
Brad WarrenandGitHub abed73a8e4 Revert "Nginx reversion (#5299)" (#5305)
This reverts commit c9949411cd.
2017-12-06 17:45:20 -08:00
Brad WarrenandGitHub c9949411cd Nginx reversion (#5299)
The reason for this PR is many bug fixes in the nginx plugin for changes we haven't released yet are included in #5220 which may not make our next release. If it doesn't, we will (mostly) revert the nginx plugin back to its previous state to avoid releasing these bugs and will revert this PR after the release.

* Revert "Nginx IPv6 support (#5178)"

This reverts commit 68e37b03c8.

* Revert "Fix bug that stopped nginx from finding new server block for redirect (#5198)"

This reverts commit e2ab940ac0.

* Revert "Nginx creates a vhost block if no matching block is found (#5153)"

This reverts commit 95a7d45856.
2017-12-05 20:04:08 -08:00
Brad WarrenandGitHub 678ab7328e Merge pull request #5300 from certbot/flexible-challenge-uri++
ACMEv2: Allow "uri" or "url" in challenge part 2
2017-12-05 12:11:48 -08:00
Brad WarrenandGitHub 4db7195e77 Fix coveralls (#5298) 2017-12-04 17:09:01 -08:00
Brad WarrenandGitHub bb70962bb8 Stop using new mock functionality in tests (#5295)
* Remove assert_called_once from dns-route53

* Remove assert_called_once from main_test.py

* Remove assert_called() usage in dns-digitalocean

* Remove assert_called() usage in dns-route53

* Downgrade mock version in certbot-auto
2017-12-04 14:44:22 -08:00
Brad WarrenandJacob Hoffman-Andrews 394dafd38c Revert requiring dnsmadeeasy extras for lexicon (#5291)
Fixes failures at https://travis-ci.org/certbot/certbot/jobs/310248574#L1558.

Additional context can be found at #5230 and https://github.com/AnalogJ/lexicon/commit/604584521a487dd0b8814320b3f1af52b82ad205#diff-2eeaed663bd0d25b7e608891384b7298.
2017-12-01 17:00:24 -08:00
Brad WarrenandGitHub b9b329ecf7 pin pkging tools that have dropped support (#5281) 2017-12-01 13:20:27 -08:00
Brad WarrenandGitHub 48173ed1cb Switch from nose to pytest (#5282)
* Use pipstrap to install a good version of pip

* Use pytest in cb-auto tests

* Remove nose usage in auto_test.py

* remove nose dev dep

* use pytest in test_tests

* Use pytest in tox

* Update dev dependency pinnings

* remove nose multiprocess lines

* Use pytest for coverage

* Use older py and pytest for old python versions

* Add test for Error.__str__

* pin pytest in oldest test

* Fix tests for DNS-DO plugin on py26

* Work around bug for Python 3.3

* Clarify dockerfile comments
2017-12-01 10:59:55 -08:00
Brad WarrenandGitHub d246ba78c7 Use pip3 if pip isn't available (#5277) 2017-11-29 13:09:25 -08:00
Brad Warrenandohemorange 686fa36b3b Install dnsmadeeasy extras from dns-lexicon (#5230)
* Add tools/pip_constraints.txt to pin all Python dependencies

* Use tools/pip_constraints.txt in tools/pip_install.sh

* Install dnsmadeeasy extras in dnsmadeeasy plugin
2017-11-08 10:58:00 -08:00
Brad WarrenandGitHub 884fc56a3e Use pipstrap to ensure pip works on older systems (#5216)
* Use pipstrap in tools/_venv_common.sh

* Use _venv_common.sh in test_sdists
2017-11-03 10:59:56 -07:00
Brad WarrenandGitHub 7c11158810 Retry failures to start boulder (#5176)
Occasionally a network error prevents Docker from starting boulder causing
Travis tests to fail like it did at
https://travis-ci.org/certbot/certbot/jobs/282923098. This works around the
problem by using travis_retry to try to start boulder again if it fails.

This also moves the logic of waiting for boulder to start into
tests/boulder-fetch.sh so people running integration tests locally can benefit.
2017-10-12 17:00:13 -07:00
Brad WarrenandGitHub 1081a2501f integration test to prevent regressions of #5115 (#5172) 2017-10-11 08:18:17 -07:00
Brad WarrenandGitHub 03cbe9dd86 Document --no-directory-hooks (#5171) 2017-10-11 08:16:48 -07:00
Brad WarrenandGitHub cacc40817b Update brew before installing packages (#5182)
* Update brew
2017-10-10 17:30:51 -07:00
Brad WarrenandGitHub a8051b58eb Update changelog to reflect 0.19.0. (#5170) 2017-10-04 17:58:10 -07:00
Brad WarrenandGitHub 2d4f36cc9f Merge pull request #5169 from certbot/candidate-0.19.0
Release 0.19.0
2017-10-04 16:58:07 -07:00
Brad WarrenandGitHub 356471cdf6 Add hook directories (#5151)
* Add hook dir constants

* Add hook dir properties to configuration

* test hook dir properties

* reuse certbot.util.is_exe

* Add certbot.hooks.list_hooks

* test list_hooks

* Run pre-hooks in directory

* Run deploy-hooks in directory

* Run post-hooks in directory

* Refactor and update certbot/tests/hook_test.py

* Add integration tests for hook directories

* Have Certbot create hook directories.

* document renewal hook directories

* Add --no-directory-hooks

* Make minor note about locale independent sorting
2017-10-03 13:52:02 -07:00
Brad WarrenandPeter Eckersley 5f6b1378ec Fixes #5115 (#5150) 2017-10-02 14:33:49 -07:00
Brad WarrenandGitHub 34d78ff626 Fix hook test. (#5152)
Up until now, this test was written incorrectly. In addition, when it has
failed, it simply prints error messages rather than reporting that the test
failed. This fixes both of these problems.
2017-10-02 13:20:35 -07:00
Brad WarrenandGitHub cad7d4c8ed Update master to reflect 0.18.2 (#5127)
* Release 0.18.2

(cherry picked from commit d031c42b98)

* Bump version to 0.19.0
2017-09-27 16:02:40 -07:00
Brad WarrenandGitHub 8b7d6c4ea3 Update changelog for 0.18.2 (#5128) 2017-09-25 16:46:04 -07:00
Brad WarrenandGitHub 6aabb31eb5 Merge pull request #5118 from erikrose/certbot-auto-timeout
Certbot auto timeout
2017-09-18 15:56:26 -07:00
Brad WarrenandGitHub 4bc0c83ca7 Add --no-self-upgrade to test farm test. (#5095) 2017-09-14 17:33:32 -07:00
Brad WarrenandGitHub 7d0a77ffcf Release 0.18.1 (#5093)
* Release 0.18.1

(cherry picked from commit 8010822a0b)

* Bump version to 0.19.0
2017-09-14 17:32:45 -07:00
Brad WarrenandGitHub 68283940cd Test farm improvements (#5088)
* prevent regressions of #5082

* Fix test_leauto_upgrades.sh

test_leauto_upgrades.sh has been incorrectly been succeeding because while peep
doesn't work with newer versions of pip and letsencrypt-auto would crash,
the output included the version number so we reported the test as passing.
This updates letsencrypt-auto to the oldest version that still works for the
purpose of the test and sets pipefail so errors are properly reported.

* Test symlink creation in test_leauto_upgrades.sh

* Pin dependencies in test_sdists.sh.

* Fix permissions errors in test_tests.sh
2017-09-07 17:54:40 -07:00
Brad WarrenandGitHub 82d0ff1df2 Fix permissions error when upgrading certbot-auto. (#5086)
Now we always check if we have root access if --cb-auto-has-root is not given
on the command line. This allows certbot-auto to properly acquire root when
upgrading from an older version. People upgrading from 0.18.0 to 0.18.1 may
check for root access twice, however, if root's user ID is 0, this check is
essentially a noop. If root's user ID is not 0, we'll request root access a 2nd
time during this upgrade.
2017-09-07 17:23:57 -07:00
Brad WarrenandPeter Eckersley d4fe812508 Update changelog to reflect 0.18.0 (#5081) 2017-09-07 16:06:07 -07:00
Brad WarrenandGitHub 6988491b67 Merge pull request #5080 from certbot/candidate-0.18.0
Release 0.18.0
2017-09-07 05:57:12 -07:00
Brad WarrenandGitHub 1a79f82082 Also check new path when determining cli_command (#5082) 2017-09-06 20:22:27 -07:00
Brad WarrenandGitHub bbf397a9f9 Fix documentation build failures (#5068)
* sphinxify error_handler docs
2017-08-31 16:35:53 -07:00
Brad Warrenandohemorange ae0be73b53 Make common Installer base class (#5055)
* Add installer class

* Add wrapped reverter methods to common.Installer.

* Use Installer class in Apache plugin

* Use Installer class in Nginx plugin

* Don't create reverter in Apache and Nginx plugins
2017-08-28 17:06:09 -07:00
Brad WarrenandGitHub a5fae7eab5 certbot-auto OS dependency update system (#4971)
* Add version number to bootstrap scripts.

* Always determine Bootstrap function and version.

* Write bootstrap version into venv.

* Add PrevBootstrapVersion function.

* Add OS bootstrapping check to phase 2.

* Differentiate -n and renew when rebootstrapping.

* Quote all environment variables.

* Correct test condition

* Add loud warning about hardcoded version list.

* s/VENV_BOOTSTRAP_VERSION/BOOTSTRAP_VERSION_PATH

* Properly handle noop bootstrap functions.
2017-08-23 11:01:20 -07:00
Brad WarrenandGitHub 56db211367 Change certbot-auto's installation path to /opt (#4970)
* Update comment about root usage.

* run all of certbot-auto as root

* remove other $SUDO uses from template

* remove $SUDO usage from bootstrappers

* default venv path = /opt/eff.org/certbot/venv

* Create symlinks from old default venvs

* Delete old venv path when it exists.

Also, quote expansion of paths.

* fix typo

* Separate venv_dir and le_auto_path

* Deduplicate code with test_dirs()

* Ignore cleanup errors.

This is caused by subdirectories being owned by root.

* Split test into test_phase2_upgrade.

* Rename test_dirs to temp_paths for clarity.

* Check both venvs before bootstrapping again.

* Use OLD_VENV_PATH/bin

* Preserve environment with sudo.

* Remove "esp. under sudo" comment.

* Export *VENV_PATH.

* Change check for OLD_VENV installation.

This approach better handles manually set VENV_PATH values.

* Remove SUDO_ENV.

* Print message before requesting root privileges.

* Make a function for selecting root auth method.

* Address @erikrose's feedback.
2017-08-21 12:23:09 -07:00
Brad WarrenandGitHub 6c52cc49a7 Pin dependencies in compatibility tests. (#5004)
We now use tools/pip_install_editable.sh which installs our packages using the
pinned versions from certbot-auto.

We also use letsencrypt-auto-source/letsencrypt-auto instead of certbot-auto in
the root to:

1. Make sure OS bootstrappers are up to date with master.
2. Copy letsencrypt-auto-source into our tree so it can be used by
tools/pip_install_editable.sh later.
2017-08-08 15:31:41 -07:00
Brad WarrenandGitHub 47b3d19170 Increase pinned configargparse version to 0.12.0. (#4995) 2017-08-08 12:03:48 -07:00
Brad WarrenandGitHub f31cb5f812 Put the minimum dep version in Google DNS setup.py (#5002) 2017-08-07 17:12:58 -07:00
Brad WarrenandGitHub 0ac21e47c7 Use #letsencrypt-dev instead of #letsencrypt (#4998) 2017-08-07 17:12:49 -07:00
Brad WarrenandGitHub f68fba2be2 Fix oldest tests by pinning Google DNS deps (#5000) 2017-08-07 14:57:56 -07:00
Brad WarrenandPeter Eckersley d4676610e9 Unhide Nginx (#4969)
* Be careful with new interaction from enabling nginx

* Fix py3 compataibility & better docs

* Make minor changes to @pde's PR to unhide nginx

* unhide nginx plugin

* Only protect against nginx interaction in cb-auto
2017-08-07 08:36:41 -07:00
Brad WarrenandGitHub 0b94d6aa18 Merge pull request #4981 from certbot/candidate-0.17.0
Update versions and *autos from 0.17.0 release
2017-08-03 15:06:30 -07:00
Brad WarrenandGitHub 7461bdbffd Update pipstrap to version 1.3.0 (#4978)
* Update pipstrap to version 1.2.0.

* Update pipstrap to include Python 2.6 fix.

* Bump pipstrap to 1.3.0.
2017-08-01 10:18:11 -07:00
Brad WarrenandGitHub d6a7e2d1fe Bump cryptography to 2.0.2 (#4972) 2017-07-28 09:55:18 -07:00
Brad WarrenandGitHub 5845f186ed Merge pull request #4948 from certbot/challenge_docs
Challenge docs
2017-07-20 17:33:25 -07:00
Brad WarrenandGitHub c779be8b88 Merge pull request #4863 from certbot/bmw-nginx-compatibility-tests
Nginx compatibility test
2017-07-17 14:32:39 -07:00
Brad WarrenandGitHub 29d80f334f Merge pull request #4907 from certbot/backup-count
Make Certbot's log rotation configurable
2017-07-13 08:56:24 -05:00
Brad WarrenandGitHub b23384438f update changelog for 0.16.0 release (#4906) 2017-07-06 15:46:21 -04:00
Brad WarrenandGitHub 5318945267 Hide exceptions that occur during session.close() (#4891)
* Hide exceptions that occur during session.close()

This fixes #4840. Exceptions that are raised out of __del__ methods are caught
and printed to stderr. By catching any exceptions that occur, we now prevent
this from happening.

Alternative solutions to this would have been either not calling
session.close() at all or adding a close() method to acme.client.ClientNetwork,
acme.client.Client, and certbot.client.Client and using certbot.client.Client
in a context manager to ensure close() is called. The former means that users
of the ACME library never properly close their connections until their program
exits and the latter adds a lot of complexity and nesting of client code for
little benefit.

* Only catch Exceptions
2017-07-05 09:25:44 -04:00
Brad WarrenandGitHub 828363b21a Fix nginx --dry-run (#4889)
* Revert "Don't save keys/csr on dry run (#4380)"

This reverts commit e034b50363.

* Don't save CSRs and keys during dry run

* Factor out _test_obtain_certificate_common

* Add test_obtain_certificate_dry_run

* Wrap key from make_key in util.Key

* Wrap result from make_csr in util.CSR
2017-06-30 08:10:55 -04:00
Brad WarrenandGitHub f4094e4d3f Finish oldest tests (#4857)
* Pin oldest version of packaged python deps

* Install security extras in oldest tests

* Revert "bump requests requirement to >=2.10 (#4248)"

This reverts commit 402ad8b353.

* Use create=True when patching open on module
2017-06-23 09:40:59 -07:00
Brad WarrenandPeter Eckersley 03f6c6d0e5 Bump min integration test coverage to 64 (#4868) 2017-06-21 21:08:37 -07:00
Brad WarrenandGitHub 3cb92d33eb report and enforce coverage on integration tests (#4854) 2017-06-21 14:10:16 -07:00
Brad WarrenandPeter Eckersley 1e6ea09dbd Remove py26 oldest tests (#4856)
* Remove py26 oldest tests.

The only systems where we support Python 2.6 use certbot-auto so the oldest
supported versions of our dependencies are never used when using supported
installation methods. Let's remove this unnecessary and slow test.

* Make tox.ini happy

* Remove py26-oldest from Travis
2017-06-21 13:50:48 -07:00
Brad WarrenandPeter Eckersley 93f094a86e Test additional subcommands in integration tests (#4855)
* Test additional subcommands

* Test rollback

* quote original variable

* Specifically set installer to work around #4858.
2017-06-21 13:49:15 -07:00
Brad WarrenandPeter Eckersley bb8e504a02 Add warning about changing the UA (#4843) 2017-06-16 15:01:13 -07:00
Brad WarrenandGitHub efe5b4c82f Pin zope.interface in oldest tests (#4842)
* pin zope.interface in oldest tests

* pin zope.component in oldest tests
2017-06-15 15:33:42 -07:00
Brad WarrenandGitHub 22ee81bdfd fix sphinx build failures (#4831) 2017-06-15 14:57:06 -07:00
Brad WarrenandGitHub 9610320ee7 remove #certbot@OFTC from using.rst (#4812) 2017-06-09 11:57:31 -07:00
Brad WarrenandGitHub d570bf5f2d Update CHANGELOG.md for 0.15.0 (#4803)
* Update CHANGELOG.md for 0.15.0

* mention #4575 in CHANGELOG.md
2017-06-08 15:25:22 -07:00
Brad WarrenandGitHub 650611bd1f Fix oldest tests (#4782)
* Add pip_install_editable.sh

* add install_and_test.sh

* simplify tox.ini and fix oldest tests

* Put paths & packages on their own line in tox.ini
2017-06-08 12:22:46 -07:00
Brad WarrenandGitHub 895a5254be Merge pull request #4802 from certbot/candidate-0.15.0
Release 0.15.0
2017-06-08 11:30:42 -07:00
Brad WarrenandGitHub e0f3c05c02 Fix test_apache2.sh test farm test. (#4786)
tools/venv.sh cannot be used as the tests run on systems with Python 2.6 and
tools/venv.sh installs code that is not compatible with Python 2.6.
2017-06-06 15:48:00 -07:00
Brad WarrenandGitHub 89e63eaf84 Use certificate in NS1 plugin flag's help. (#4783) 2017-06-05 18:21:47 -07:00
Brad WarrenandGitHub 962879c35c Remove dependency on git from pip_install.sh. (#4770)
* Remove dependency on git from pip_install.sh.

Using git allowed this file to continue to work even if it was moved to another
directory. This slight increase in robustness wasn't worth it though as it
broke our development Dockerfile (see #4703), the certbot website's Dockerfile
(see certbot/website#226), and our test farm tests (see
certbot/tests/letstest/scripts/test_apache2.sh for an example that calls
tools/venv.sh without installing git). Rather than continuing to find and patch
these things, let's just allow this script to fail if it's moved rather than
propagating the git dependency all over the place.

* Add readlink.py.

This is the equivalent of `readlink -f` on many Linux systems. This is useful
as there are often differences in readlink on different platforms.

* Use readlink.py in pip_install.sh.

This allows us to work around differences in readlink on macOS.
2017-06-05 17:51:45 -07:00
Brad WarrenandGitHub 0e4f55982a Remove unused readlink environment variable. (#4781)
The program readlink used to be used in integration tests so an environment
variable was used to handle differences in the executable on different systems.
This command is no longer used though so the variable can be removed.
2017-06-05 15:20:04 -07:00
Brad WarrenandGitHub d25069d89b Remove reference to .new in Nginx's SSL options. (#4769) 2017-06-01 15:26:54 -07:00
Brad WarrenandGitHub 4f00c3ea75 Merge pull request #4768 from certbot/actually-file-update-apache2
Add mechanism for updating Apache's SSL options
2017-06-01 15:25:53 -07:00
Brad WarrenandGitHub ee70799c62 Get full test coverage on certbot.plugins.common. (#4765)
Addresses final review comments on #4720.
2017-06-01 10:55:42 -07:00
Brad WarrenandGitHub 738732a0db Improve bad preferred challenge error message. (#4761)
Using ArgumentTypeError causes Certbot to report an unexpected error occurred
while using ArgumentError causes argparse to print more usage information and
call sys.exit().
2017-06-01 10:42:34 -07:00
Brad WarrenandGitHub 791fea43ec Add regression/system test for #4719 (#4739)
* Add regression/system test for #4719.

* Test for regressions with --help and invalid args.

* Handle expected failure properly.
2017-06-01 09:57:27 -07:00
Brad WarrenandGitHub 7fde26a7b4 Merge branch 'master' into issue_4519 2017-05-26 15:56:26 -07:00
Brad WarrenandGitHub 4a0c336484 modification-check.sh now fails if a command fails (#4746) 2017-05-26 14:41:59 -07:00
Brad WarrenandGitHub ed87b86bca Update CHANGELOG.md in response to 0.14.2 release (#4744) 2017-05-26 10:21:57 -07:00
Brad WarrenandGitHub 346659c47f Release 0.14.2 (#4742)
* Release 0.14.2

(cherry picked from commit d9a2612d21)

* Bump version to 0.15.0
2017-05-26 10:21:21 -07:00
Brad WarrenandGitHub 93310fe67c Fixes #4719 (#4737)
* Automatically delete temp log file when not used.

This allows close() calls in logging.shutdown() to cause the file to be
deleted when no logging output has been written to the file.

* Make certbot.log.MemoryHandler.flush() a noop.

This causes MemoryHandler.flush() calls in logging.shutdown to be a noop,
allowing us to control when the handler is actually flushed. This prevents log
records from being sent to a temporary file handler for things like
`certbot --version`.

* Keep reference to certbot.log.MemoryHandler.target

In Python 2.7+, the logging module only keeps weak references to created
logging handlers. Because of this, the MemoryHandler's target will not be
properly flushed and closed when logging.shutdown() is called on program exit
unless we keep a reference to it in the MemoryHandler.

* Fixes #4719.

This completes the changes necessary to fix #4719. Now temporary log files are
not created if sys.exit() is called before logging is fully set up. These files
are still created if Certbot crashes for any other reason.

* Document pre_arg_parse_except_hook args.
2017-05-25 12:16:05 -07:00
Brad WarrenandGitHub c2b24702b7 Fix defaults on older systems (#4691)
* Creates SupportedChallengesAction

This fixes #3987 as the call to set_by_default can be removed entirely.
Additionally, logger.warning can be used rather than writing to stderr directly
because #3184 has been resolved and we're guaranteed to having logging setup.

* Move validator to SupportedChallengesAction

supported_challenges_validator was moved to SupportedChallengesAction so
argparse.ArgumentError can be easily used to provide nice error output. Tests
in standalone_test.py were also updated so the module still has 100% test
coverage.

* Better document ArgumentError usage
2017-05-19 16:26:15 -07:00
Brad WarrenandGitHub 1ceefa794e pin Sphinx<=1.5.6 (#4687) 2017-05-19 11:15:35 -07:00
Brad WarrenandGitHub 04759095c2 Fix example links (#4678)
* fix example links

* use single backticks not double
2017-05-18 08:15:00 -07:00
Brad WarrenandGitHub 462c0aba62 Modify special action types only once (#4656) 2017-05-17 14:25:50 -07:00
Brad WarrenandGitHub e4f65074d1 Merge pull request #4642 from certbot/new-pkg-release-prep
Make it easier to add new packages to the release script
2017-05-16 15:42:23 -07:00
Brad WarrenandGitHub 05c31a47cb Make 0.14.1 release changes in master (#4675)
* Release 0.14.1

(cherry picked from commit 78e3bd6e8c)

* Bump version to 0.15.0
2017-05-16 14:34:01 -07:00