Commit Graph
7979 Commits
Author SHA1 Message Date
Brad Warren d031c42b98 Release 0.18.2 v0.18.2 2017-09-20 10:52:32 -07:00
Brad WarrenandGitHub 7f5f6471fe fix #5111 AttributeError occured with >=pyOpenSSL-17.2.0 (#5112) (#5122)
(cherry picked from commit f6be07da74)
2017-09-20 10:35:32 -07:00
Brad WarrenandGitHub 49697b99d0 Merge pull request #5094 from certbot/release-0.18.1
Release 0.18.1 0.18.x
2017-09-14 17:33:00 -07:00
Brad Warren 8010822a0b Release 0.18.1 v0.18.1 2017-09-08 11:39:48 -07:00
Brad WarrenandGitHub d2493bff62 Fix permissions error when upgrading certbot-auto. (#5086) (#5089)
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.
(cherry picked from commit 82d0ff1df2)
2017-09-07 19:40:42 -07:00
Brad WarrenandGitHub 9fb8c91588 Also check new path when determining cli_command (#5082) (#5083)
(cherry picked from commit 1a79f82082)
2017-09-07 05:56:52 -07:00
Brad Warren 756c44f7af Release 0.18.0 v0.18.0 2017-09-05 16:06:43 -07:00
ohemorangeandBrad Warren 8ad18cbe6e Use ffdhe2048 Nginx DH params to fix Weak-DH bug (#4973)
* Rename plugins.common.install_ssl_options_conf to plugins.common.install_version_controlled_file

* Install ssl_dhparams file

* Add installation test

* Add ssl_dhparam option when making a server block ssl

* add install_ssl_dhparams to Installer common plugin class

* Remove redundant code and tests

* update MANIFEST.in
2017-09-01 07:57:30 -07:00
Noah SwartzandBrad Warren c6bdad4ffb mention that revoke doesn't effect rate limit (#5070)
fixes #2720
2017-09-01 07:57:07 -07:00
Noah SwartzandBrad Warren 39696456db Link to changelog from readme (#5069)
fixes #3420
2017-09-01 07:56:49 -07:00
Brad WarrenandGitHub bbf397a9f9 Fix documentation build failures (#5068)
* sphinxify error_handler docs
2017-08-31 16:35:53 -07:00
r5dandBrad Warren 7cb8c1264f certbot: Update renew command output in quiet mode. (#5062)
* certbot: Update `renew` command output in quiet mode.

* certbot/renewal.py (_renew_describe_results): Update function.
* certbot/tests/main_test.py (_test_renewal_common): Update method.
  Add optional arg `stdout`; Modify `mock_get_utilitiy`, `stdout`.
  (test_quiet_renew): Update method.
2017-08-31 11:01:15 -07:00
Noah SwartzandGitHub b6f8a477b8 Merge pull request #5064 from certbot/letsencrypt-travis
Don't send IRC notifications from forks
2017-08-31 11:19:29 -05:00
Brad Warren 06dd645e85 encrypt channel 2017-08-30 10:34:05 -07:00
Chris JulianandBrad Warren 2bfc92e58d #4071 Mixin to prevent setting return_value after initializing certain Mock objects (#4963)
* Addressing #4071 Wrote an ImmutableReturnMixin to prevent developers overriding return_value in certain Mock objects

* Language

* Loosening the assumption that underlying _mock objects need to be Immutable-like simplifies implementation

* Addressing #4071

* Ensure side_effects and return_values are pushed down to the underlying _mock in FreezableMocks. And IDisplay mocks are no longer frozen in _create_get_utility_mock()

* Edit a handful of tests to not override the mock_get_utility return_value

* Brief explainer of FreezableMock.__setattr__

* Incorporating PR feedback and some compatibility

* FreezableMock __getattr__ needs a shortcut in case of return_value or side_effect

* Changing return_value only forbidden if set before freezing

* Remove unnecessary else block

* Expanded doc strings

* Bring a couple new tests in line with patch_get_utility() norms
2017-08-30 09:52:45 -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
Noah SwartzandGitHub 8d362d4469 Merge pull request #5029 from certbot/issue_4792
expand nginx no name error
2017-08-28 14:04:56 -07:00
Ted MaryniczandBrad Warren 133f636817 Update install.rst (#5057)
Minor typo fix in VE para
2017-08-28 11:59:08 -07:00
Noah SwartzandGitHub df71ec33b3 switch from triple quotes to single quotes 2017-08-28 13:45:42 -05:00
Josh SorefandBrad Warren b2b3285bf5 Add the word instead to renew error (#5053)
Closes #4118
2017-08-25 10:25:59 -07:00
r5dandBrad Warren b43bf8f94a Stop using print in certbot.cli module. (#5028)
* Update cerbot.tests.util.patch_get_utility (#3720)

* Add new arg `stdout_notification` to
  `cerbot.tests.util.patch_get_utility` function.

  If `stdout_notification` is True, then the mock
  interfaces.IDisplay.notification function will print out to stdout.

* Add new arg `stdout_notification` to _create_get_utility_mock
  function.

* Add new function `_stdout_notification`.

* Stop using print in certbot.cli (#3720)

* certbot/cli.py (HelpfulArgumentParser._usage_string)
(HelpfulArgumentParser.__init__): Update methods.
* certbot/tests/cli_test.py (test_cli_ini_domains, test_no_args)
(test_install_abspath, test_help, test_help_no_dashes)
(test_parse_domains, test_preferred_challenges, test_server_flag)
(test_must_staple_flag, test_no_gui, test_staging_flag)
(test_dry_run_flag, test_option_was_set)
(test_encode_revocation_reason, test_force_interactive)
(test_deploy_hook_conflict, test_deploy_hook_matches_renew_hook)
(test_deploy_hook_sets_renew_hook, test_renew_hook_conflict)
(test_renew_hook_matches_deploy_hook)
(test_renew_hook_does_not_set_renew_hook, test_max_log_backups_error)
(test_max_log_backups_success, test_webroot_map)
(test_report_config_interaction_str)
(test_report_config_interaction_iterable): Update tests.
* certbot/tests/main_test.py (test_certificates)
(test_certonly_abspath, test_certonly_bad_args)
(test_agree_dev_preview_config): Update tests.

* certbot: Refactor cli_test.ParseTest.

* certbot/tests/cli_test.py (ParseTest._unmocked_parse): Rename parse
to _unmocked_parse.
(parse): New method.
(ParseTest._help_output, ParseTest.test_cli_ini_domains)
(ParseTest.test_no_args, ParseTest.test_install_abspath)
(ParseTest.test_help, ParseTest.test_help_no_dashes)
(ParseTest.test_parse_domains, ParseTest.test_preferred_challenges)
(ParseTest.test_server_flag, ParseTest.test_must_staple_flag)
(ParseTest.test_no_gui, ParseTest.test_staging_flag)
(ParseTest.test_dry_run_flag, ParseTest.test_option_was_set)
(ParseTest.test_encode_revocation_reason)
(ParseTest.test_force_interactive)
(ParseTest.test_deploy_hook_conflict)
(ParseTest.test_deploy_hook_matches_renew_hook)
(ParseTest.test_deploy_hook_sets_renew_hook)
(ParseTest.test_renew_hook_conflict)
(ParseTest.test_renew_hook_matches_deploy_hook)
(ParseTest.test_renew_hook_does_not_set_renew_hook)
(ParseTest.test_max_log_backups_error)
(ParseTest.test_max_log_backups_success): Update methods.

* certbot: Refactor cli_test.SetByCliTest

* certbot/tests/cli_test.py (SetByCliTest.test_webroot_map)
(SetByCliTest.test_report_config_interaction_str)
(SetByCliTest.test_report_config_interaction_iteratable)
(_call_set_by_cli): Update methods.

* certbot: cli: Fix style.

* certbot/cli.py (HelpfulArgumentParser.__init__): Update method.

* certbot: Revert changes to tests.util.patch_get_utility

* certbot/tests/util.py (patch_get_utility): Remove
`stdout_notification` arg.
(_creat_get_utility_mock): Remove `stdout_notification` arg.
(_stdout_notification): Remove function.

* certbot: Revert changes to MainTest.

* certbot/tests/main_test.py
(MainTest.test_certificates, MainTest.test_certonly_abspath)
(MainTest.test_certonly_bad_args): Update methods.

* certbot: cli_test.py: Remove 'pylint: disable' lines.

* certbot/tests/cli_test.py (ParseTest.parse): Update method.
(_call_set_by_cli): Update function.
2017-08-25 10:05:58 -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
Winston SmithandBrad Warren 8ca36a0b62 Organize + document certbot/tests/testdata directory (#4983)
* wp organize keys documentation start

* oganized testdata directory + readme

* clean up doc

* del acme change
2017-08-23 10:32:27 -07:00
Noah SwartzandBrad Warren c33ee0e2df add warnings and clarity to config documentation (#4991) 2017-08-21 12:30:04 -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
Nicolas DuchonandBrad Warren cd2e70e9cd Redirect to zenhack/simp_le (#5025)
Kuba's simp_le has been unmaintained for more than a year and is starting to break.

zenhack's fork is actively maintained and available through PyPI.
2017-08-21 11:27:24 -07:00
Noah Swartz 2c9e072a9f link to nginx documentation 2017-08-15 17:39:23 -07:00
Noah Swartz 4d72fa42e3 expand nginx no name error 2017-08-15 17:00:03 -07:00
Winston SmithandBrad Warren 16ed141301 Include plugin selection at the info logging level (#5010)
* Plugin selection on INFO

* Fixed lint errors

* Fixed lint errors

* record_chosen_plugin log plugin
2017-08-10 16:51:19 -07:00
Noah SwartzandGitHub af322a6068 Merge pull request #4896 from certbot/order-matters2
Explain --domains and --cert-name usage
2017-08-10 09:51:19 -07:00
cj-devandBrad Warren 48c890be61 #4434 Test Config Base Class (#4974)
* Addressing #4434 by implementing ConfigTestCase which mocks out a NamespaceConfig for consistent config use across tests

* Refactor account_test.py for use with ConfigTestCase

* Remove superfluous setup/teardown

* Pylint oops.

* Fix redundant inheritance class definitions

* Separate ConfigTestCase's mocked directories

* Module import style consistency

* Refactor log_test.py for use with ConfigTestCase

* Refactor eff_test.py for use with ConfigTestCase. Also tweak for import style consistency

* Refactor reverter_test.py for use with ConfigTestCase

* Refactor renewal_test.py for use with ConfigTestCase

* Refactor main_test.py for use with ConfigTestCase

* Refactor storage_test.py for use with ConfigTestCase

* Refactor cert_manager_test.py for use with ConfigTestCase

* Refactor client_test.py for use with ConfigTestCase

* Refactor configuration_test.py for use with ConfigTestCase

* Pylint!

* Incorporating PR feedback

* Remove comment
2017-08-09 13:19:43 -07:00
Bob StrecanskyandBrad Warren 5e58580d13 [#4966] - Fedora 26 doesn't have development tools handy (#4997) 2017-08-09 09:12:36 -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
Noah SwartzandGitHub 32de7303dd Merge pull request #4990 from certbot/fix-arch
Fix space in quiet check in BootstrapArchCommon
2017-08-08 09:13:54 -07:00
Noah SwartzandBrad Warren f9ed53e698 Revocation reason (#4987)
* fix revocation reason help text

* add it to the docs

* move and expand revoke reason example
2017-08-07 17:13:27 -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
Noah SwartzandGitHub e6c9e2a868 Merge pull request #4982 from certbot/0.17.0-changelog
Update changelog for 0.17.0
2017-08-03 14:56:01 -07:00
Brad Warren 5508d1dd12 Fix space in quiet check in BootstrapArchCommon 2017-08-03 13:45:55 -07:00
Brad Warren c0d10bba5a typos and grammar 2017-08-02 12:11:19 -07:00
Brad Warren 4f74b8eb7a Update changelog for 0.17.0 2017-08-02 12:06:02 -07:00
Brad Warren 744c993040 Bump version to 0.18.0 2017-08-01 17:01:19 -07:00
Brad Warren 912d235466 Release 0.17.0 v0.17.0 2017-08-01 17:01:07 -07:00
Zach ShepherdandBrad Warren 314f4bbe22 client: allow callers to add information to the user agent (#4690)
This change introduces a new flag to allow callers to add information to
the user agent without replacing it entirely.

This allows people re-packaging or wrapping Certbot to influence its user
agent string. They may which to do this so that stats/metrics related to
their distribution are available to boulder.

This is beneficial for both the Certbot team and the party re-packaging
Certbot as it allows the custom user agent to match the Certbot user
agent as closely as possible, allowing data about use of the re-packaged
version to be collected along side or separately from vanilla certbot.
2017-08-01 11:34:35 -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
Noah SwartzandGitHub 9288cddfe9 Merge pull request #4960 from certbot/easy-install
Explicitly advise against using easy_install.
2017-07-31 19:04:59 -07:00