Commit Graph
100 Commits
Author SHA1 Message Date
Brad WarrenandGitHub bd8c31021a Logging setup before argument parsing (#4446)
Second part of #4443. Built on #4444. Fixes #3148.

This fixes an old problem with code logging messages before logging has been set up. How this works is explained in the docstring of certbot.log.pre_arg_setup.

* add memory handler

* Add exit_with_log_path

* add new_except_hook

* pre_arg_parse_setup++ and remove old except_hook

* Rewrite post_arg_setup

* test restricted permissions

* move changes to main

* Use .name of NamedTemporaryFile

* use better assertions

* set exc_info in except_hook

* Make post_arg_setup more robust

* final cleanup

* Add TempHandler

* undo main_test changes

* improve documentation

* use decorators instead of with for mock.patch

* add inline comment about logging.shutdown
2017-04-13 13:42:01 -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
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
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
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
Brad WarrenandPeter Eckersley edcfc49303 Use setattr in NamespaceConfig (#4362)
* set setattr in NamespaceConfig

* remove unnecessary uses of .namespace

* add simple test to ensure it works
2017-03-17 13:02:41 -07:00
Brad WarrenandGitHub 7b34e73752 Merge pull request #4295 from certbot/dockerfile++
Rewrite our Dockerfile
2017-03-13 20:25:45 -07:00
Brad WarrenandGitHub 91f4b2b571 Improve macOS contributor instructions (#4327)
* remove instructions about removed Vagrantfile

* rewrite docker instructions

* say where docker-compose can be run

* give better intro for macOS devs

* prompt people for permission to install OS packages

* reword awkward sentence

* Change WORKDIR to /opt/certbot/src

This change is OK because all paths used in Dockerfile-dev are absolute paths.

* remove 'cd src' instructions for Dockerfile-dev

* Improve docker-compose testing instructions
2017-03-10 17:27:09 -08:00
Brad WarrenandGitHub 662c323b55 Build wheels correctly for Python 2.6 (#4313)
* stop conditionally pinning mock version in acme

* stop conditionally pinning mock version in certbot

* stop conditionally pinning mock version in apache

* stop conditionally pinning mock version in nginx

* stop conditionally pinning mock version in letshelp

* stop conditionally pinning mock version in compatibility-test
2017-03-10 10:58:03 -08:00
Brad WarrenandJacob Hoffman-Andrews 82736e21d4 Improve path_surgery warning (#4293)
Stops output like:

Failed to find certbot.log in PATH: ...
renew-hook command certbot.log exists, but is not executable.
2017-03-06 17:32:49 -08:00
Brad WarrenandJacob Hoffman-Andrews 4a2582dda4 Remove broken known issues link (#4294) 2017-03-06 17:31:28 -08:00
Brad WarrenandGitHub 5e6a6f51d3 Fix test_leauto_upgrades.sh (#4278)
* fix-test-leauto-upgrades

* redirect stderr

* redirect stderr part 2
2017-03-02 10:31:37 -08:00
Brad WarrenandGitHub 11ec1eb911 Revert "Remove Link rel=next for authzs and new-certs." (#4277) 2017-03-02 10:31:15 -08:00
Brad WarrenandGitHub 0d8a4b4ebd Make mod-check more flexible (#4268)
* fixes #4166

* Run mod-check from anywhere

* pass TRAVIS_BRANCH through in tox
2017-02-28 15:17:07 -08:00
Brad WarrenandGitHub 402ad8b353 bump requests requirement to >=2.10 (#4248) 2017-02-27 17:17:08 -08:00
Brad WarrenandGitHub 80055ec770 Cleanup issue template (#4256) 2017-02-27 15:15:19 -08:00
Brad WarrenandGitHub dd8253b3d6 fixes #4083 (#4148) 2017-02-01 18:14:47 -08:00
Brad WarrenandGitHub b5d4e0bf6a fix bug when certbot is ran without any arguments (#4151) 2017-02-01 18:02:21 -08:00
Brad WarrenandGitHub 0070489843 Merge pull request #4147 from certbot/candidate-0.11.0
Update autos and versions to 0.11.0
2017-02-01 17:42:20 -08:00
Brad WarrenandGitHub 20be8b327d Provide a way to opt-in to EFF e-mail (#4082)
* Add eff email flags

* add eff_sign_up

* add requests dep to certbot

* make pylint happy

* Add EFF subscribe uri

* add POST to EFF and write tests

* log EFF e-mail submission

* Add eff module and tests

* cleanup client tests

* offer subscription when changing e-mail

* cleanup client.py and tests

* expand e-mail prompt
2017-01-31 17:08:21 -08:00
Brad WarrenandPeter Eckersley 7f3c732bbf Cleanup test farm tests and add test_sdists (#4089)
* add get_certbot_version.sh

* Use get_certbot_version.sh in build.py

* make test_leauto_upgrades.sh more robust

* auto upgrades break tests

* OCSP experimental is not needed anymore

* Add test_sdists.sh

* Use LE_AUTO_VERSION, not repo version

* install OS deps earlier

* use readlink not realpath

* undo changes to build.py

* Factor out version code from build.py

* Use version.py in test_sdists

* Remove get_certbot_version

* workaround setuptools breakage
2017-01-30 19:37:23 -08:00
Brad WarrenandGitHub be5bcfe463 Remove optional dependencies (#4088)
* Stop using already_listening in standalone

* remove already_listening

* remove psutil entirely

* fix #595

* Add basic perform test

* make pep8 happy

* Add test_perform_eacces

* add _setup_perform_error

* Add test_perform_unexpected_socket_error

* add test_perform_eaddrinuse_no_retry

* add test_perform_eaddrinuse_retry

* cleanup tests

* stop using dnspython

* don't install dns extras in tox

* remove dns extras from setup.py

* Add simple_verify back to DNS response

* remove dnspython from oldest tests
2017-01-30 16:55:54 -08:00
Brad WarrenandGitHub 240438eec7 Incorporate feedback from 4113 (#4115) 2017-01-30 09:44:55 -08:00
Brad WarrenandGitHub caa7e4e3f0 fix tools/venv.sh (#4126) 2017-01-27 14:06:40 -08:00
Brad WarrenandGitHub fe03c5a14c fix integration tests (#4111) 2017-01-26 14:08:22 -08:00
Brad WarrenandGitHub 4e297b0248 Release 0.10.2 (#4120)
* Release 0.10.2

(cherry picked from commit 535b04be23)

* Bump version to 0.11.0

(cherry picked from commit 01f84df0641a98bb57b4b7be7980c3c1afe375d5)
2017-01-26 12:03:12 -08:00
Brad WarrenandGitHub 4d860b37b0 Preserve preferred-challenges on renewal (#4112)
* use challenge type strings, not objectS

* Factor out parse_preferred_challenges

* restore pref_challs

* save pref_challs

* Make CheckCertCount more flexible

* improve integration tests

* Make pref_challs more flexible
2017-01-25 18:40:22 -08:00
Brad WarrenandGitHub 2f50dfd7be Merge pull request #4113 from certbot/auto-retry
Automatically retry after getting badNonce error
2017-01-25 17:33:21 -08:00
Brad WarrenandPeter Eckersley 578815a20a uncomment assertion (#4072) 2017-01-24 14:39:27 -08:00
Brad WarrenandPeter Eckersley 44f2d4aa20 Fix modification-check.sh (#4091)
* Run build.py

* Restore letsencrypt-auto after running build

* Remove temp_dir before exiting

* add missing $
2017-01-24 14:37:41 -08:00
Brad WarrenandPeter Eckersley 6a55de45ba Fix letsencrypt auto source (#4093)
* Some shells don't like ==

* run build.py
2017-01-23 17:55:59 -08:00
Brad WarrenandPeter Eckersley bb669528b3 Remove old references to pep8 in our code (#4073) 2017-01-19 11:21:25 -08:00
Brad WarrenandGitHub ea951150a4 Enable Py36 Tests (#3972)
* add py36 to tox

* Add Python 3.6 tests to Travis

* Provide real path to python stdlib during tests

* set logs_dir in config_test

* set *_dirs in DetermineAccountTest

* Fix TLSSNI01Test

* Fix RenewalTest

* fix test_ancient_webroot_renewal_conf
2017-01-18 10:41:11 -08:00
Brad WarrenandGitHub 16ed5bdd47 encode to bytes as necessary in Validator.certificate (#4026) 2017-01-17 12:13:10 -08:00
Brad WarrenandGitHub 7f3109f185 Candidate 0.10.1 to master (#4057)
* Release 0.10.1

(cherry picked from commit 0ead110658)

* Bump version to 0.11.0

(cherry picked from commit 5052c64dc9d790b8bd5ef3cf19b9ed3727cfc21f)
2017-01-13 17:15:50 -08:00
Brad WarrenandGitHub aaa732d8f3 Fix problems with different test ordering (#4043)
* fixes #4030

* Properly restore set_by_cli after using it

* mock out post_hook so it isn't stored

* fixes #4044
2017-01-13 12:16:08 -08:00
Brad WarrenandGitHub 364a6d8a2d Release 0.10.0 (#4022)
* Release 0.10.0

* Bump version to 0.11.0
2017-01-11 12:01:33 -08:00
Brad WarrenandGitHub 9c9004aff1 Stop IDisplay AssertionErrors (#4010)
Fixes #3996.

I'm pretty confident this PR solves the problem. I've audited all calls to IDisplay methods and the assertions done in certbot.display.util are now done in all our unit tests.

With that said, it wouldn't hurt to have someone else double check I didn't miss anything. The easiest way to do this is to grep for IDisplay in our code and ensure all calls to IDisplay methods are valid. This means every method call other than notification (because a notification call is always OK) either provides a value for default or force_interactive. This is defined in interfaces.py.

I've also been considering removing the assertion that's been causing us trouble here from our release. The only argument I have for not doing so is it may hinder 3rd party plugin development. When they use IDisplay, they have the same problem as we do with prompting users without a TTY. Not keeping this assertion in makes it more likely they won't notice the issue and Certbot will crash on an unsuspecting user.

With that said, none of our known 3rd party plugins use IDisplay at all.

* Provide force_interactive in _get_certname

* Use force_interactive when asking for webroot

* Factor IDisplay assertion into it's own function

* Add util.patch_get_utility()

* Allow custom path to patch_get_utiity

* Change GetEmailTest to use patch_get_utility

* Use new_callable to create new objects

* Modify tests to use patch_get_utility

* Improve FreezableMock documentation

* Add user facing error to TTY magic

* Comment out assert_valid_call

* Add test_input_assertion_fail2()
2017-01-10 16:25:33 -08:00
Brad WarrenandGitHub 1125b4924d Remove quotes so tilde is expanded (#3978) 2017-01-05 20:27:39 -05:00
Brad WarrenandGitHub dc16013abe Correctly report when we skip hooks during renewal (#3977)
* Remove incorrect hook message

* Add generalized msg about skipping hooks

* Properly report when hooks were skipped

* Also print message about renew hook

* Change quotes to help OCD
2017-01-05 19:47:10 -05:00
Brad WarrenandGitHub 13ed5c06ea Merge pull request #3956 from certbot/ocsp
Further OCSP improvements
2017-01-05 16:05:19 -05:00
Brad WarrenandPeter Eckersley 12edbb53db Fixes #3954 and adds a test to prevent regressions (#3957)
* fixes #3954 and adds test to prevent regressions

* assure pylint I know what I'm doing

* Test FileDisplay methods take force_interactive
2016-12-23 10:49:51 -08:00
Brad WarrenandGitHub 39f5551305 Merge the manual and script plugins (#3890)
* Start of combined manual/script plugin

* Return str from hooks.execute, not bytes

* finish manual/script rewrite

* delete old manual and script plugins

* manually specify we want chall.token

* use consistent quotes

* specify chall for uri

* s/script/hook

* fix spacing on instructions

* remove unneeded response argument

* make achall more helpful

* simplify perform

* remove old test files

* add start of manual_tests

* fix ParseTest.test_help

* stop using manual_test_mode in cli tests

* Revert "make achall more helpful"

This reverts commit 54b01cea30.

* use bad response/validation methods on achalls

* simplify perform and cleanup environment

* finish manual tests

* Add HTTP manual hook integration test

* add manual http scripts

* Add manual DNS script integration test

* remove references to the script plugin

* they're hooks, not scripts

* add --manual-public-ip-logging-ok to integration tests

* use --pref-chall for dns integration

* does dns work?

* validate hooks

* test hook validation

* Revert "does dns work?"

This reverts commit 1224cc2961.

* busy wait in manual-http-auth

* remove DNS script test for now

* Fix challenge prefix and add trailing .

* Add comment about universal_newlines

* Fix typo from 0464ba2c4

* fix nits and typos

* Generalize HookCOmmandNotFound error

* Add verify_exe_exists

* Don't duplicate code in hooks.py

* Revert changes to hooks.py

* Use consistent hook error messages
2016-12-22 08:24:08 -08:00
Brad WarrenandPeter Eckersley 00e143d369 Serialize coverage tests (#3919)
* Serialize coverage tests

* add py27_install env

* Separate cover from integration tests

* Add docker to py27 integration tests
2016-12-20 16:24:33 -08:00
Brad WarrenandGitHub 28ce10fef5 Don't add ServerAlias directives when the domain is already covered by a wildcard (#3917)
* correctly match * and ? in ServerAlias directives

* update Apache wildcard test

* Consolidate wildcard matching and remove bad test

* Test Apache vhost selection with wildcards

* Added few more tests to proof vhost selection
2016-12-20 15:53:52 -08:00
Brad WarrenandPeter Eckersley f92254769b I promise checklists are OK (fixes #3934) (#3940)
* TIL checklist calls input

* full coverage on certbot/display/util.py

* improve no double warning test
2016-12-20 14:34:12 -08:00
Brad WarrenandPeter Eckersley ae379568b1 Mitigate problems for people who run without -n (#3916)
* CLI flag for forcing interactivity

* add --force-interactive

* Add force_interactive error checking and tests

* Add force_interactive parameter to FileDisplay

* add _can_interact

* Add _return_default

* Add **unused_kwargs to NoninteractiveDisplay

* improve _return_default assertion

* Change IDisplay calls and write tests

* Document force_interactive in interfaces.py

* Don't force_interactive with a new prompt

* Warn when skipping an interaction for the first time

* add specific logger.debug message
2016-12-19 12:45:40 -08:00
Brad WarrenandPeter Eckersley 9bdb3d67bc make our linter happy (#3881) 2016-12-08 20:29:59 -08:00
Brad WarrenandPeter Eckersley feef1b411b Add pyasn1 back to le-auto (#3858) 2016-12-05 17:00:04 -08:00
Brad WarrenandPeter Eckersley da3332ccfa Security enhancement cleanup (#3837)
* Stop passing around config and refactor tests

* Refactor and warn during enhance_config

* Use mock.ANY to make new Pythons happy

* Remove verbose enhance_config from test names

* Fix spacing in warning
2016-12-02 16:03:55 -08:00
Brad WarrenandPeter Eckersley edbb3a73c6 Take advantage of urllib3 pyopenssl rewrite (#3805)
* pin requests version in py26-oldest

* Determine requests security deps dynamically

Starting with requests 2.12, pyasn1 and ndg-httpsclient are no longer
needed to inject pyopenssl into urllib3. This change allows us to
determine whether or not these dependencies are required at install
time. If an older version of requests is used, these packages are
still installed. If a new version of requests is used, they are not
reducing the number of dependencies we have.

* Bump requests version in certbot-auto

* Use pkg_resources in activate test

Due to pip's lack of dependency resolution, the change to use
requests[extras] causes errors in acme.util_test because pkg_resources
accurately detects the "missing" dependency.

There isn't a real problem here. The problem comes from a brand new
requests and ancient pyopenssl as well as a unit test for
functionality we plan to remove in our next release. I modified
the unit test to fix the problem for now.

* Use six instead of pkg_resources for test

* Require requests<=2.11.1 in py27-oldest test

If we don't do this, we get test failures for the certbot package
which is actually a good thing! pkg_resources is catching the
unlikely but possible problem I describe in #3803 and erroring out
saying it is missing the necessary dependencies to run certbot.
Good job package resources.

* Undo changes to acme.util_test
2016-12-01 10:47:08 -08:00
Brad WarrenandPeter Eckersley 0289457a93 Use ${foo+x} not ${foo:+x} (#3833) 2016-11-30 16:09:16 -08:00
Brad WarrenandPeter Eckersley 7951ba7337 pin pyopenssl 16.2.0 in certbot-auto (#3811) 2016-11-23 14:00:48 -08:00
Brad WarrenandPeter Eckersley 494c305b04 pin requests version in py26-oldest (#3803) 2016-11-21 17:56:22 -08:00
Brad WarrenandPeter Eckersley e5f4d0cb5c Fix reinstall message (#3784)
* Changed informational messages because of confusing message on reinstallation.

Certbot prompts the user when it detects that an appropriately fresh certificate
is already available:

        You have an existing certificate that contains exactly the same domains you requested and isn't close to expiry.
        (ref: <path>)

        What would you like to do?
        -------------------------------------------------------------------------------
        1: Attempt to reinstall this existing certificate
        2: Renew & replace the cert (limit ~5 per 7 days)
        -------------------------------------------------------------------------------
        Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1

On selecting '1' (reinstall), the resulting message is:

        -------------------------------------------------------------------------------
        Your existing certificate has been successfully reinstalled, and the new
        certificate has been installed.

        The new certificate covers the following domains: https://<whatever>

        You should test your configuration at:
        https://www.ssllabs.com/ssltest/analyze.html?d=<whatever>
        -------------------------------------------------------------------------------

"Your existing certificate has been successfully reinstalled" <-- Okay

"and the new certificate has been installed." <-- Wait, what?

The issue appears to come from assumptions in certbot/certbot/main.py

It uses `len(lineage.available_versions("cert"))` to determine if this was a
fresh install or renewal, and then calls either `display_ops.success_renewal()`
(which produces the "existing certificate ... and the new certificate" language)
or `display_ops.success_installation()` (which has no messaging about existing
vs. new certificates).

The len(lineage) test isn't the right way to make this choice. The certificate's
lineage length doesn't imply anything about whether we've just obtained a new
certificate, because there is no new certificate in the case of a "reinstall"
action.

The new logic calls `display_ops.success_installation()` on all "reinstall"
actions, and otherwise employs the existing `len(lineage)` test.

Additionally the `display_ops.success_installation()` has been enhanced to
accept an action parameter, and has the message reworded slightly to make
sense regardless of the action passed. The messaging is mostly unchanged if it's
called without the action parameter:

Original message:
        -------------------------------------------------------------------------------
        Congratulations! You have successfully enabled https://<whatever>

        You should test your configuration at:
        https://www.ssllabs.com/ssltest/analyze.html?d=<whatever>
        -------------------------------------------------------------------------------

New message on initial install:
        -------------------------------------------------------------------------------
        Congratulations! You have successfully installed a certificate for
        https://<whatever>

        You should test your configuration at:
        https://www.ssllabs.com/ssltest/analyze.html?d=<whatever>
        -------------------------------------------------------------------------------

New message on re-install:
        -------------------------------------------------------------------------------
        Congratulations! You have successfully reinstalled a certificate for
        https://<whatever>

        You should test your configuration at:
        https://www.ssllabs.com/ssltest/analyze.html?d=<whatever>
        -------------------------------------------------------------------------------

* Typo in display message.

* Typo, characters transposed.

* undo changes to certbot/display/ops.py

* remove invalid todos

* Test success_installation() called for reinstall

* Simplify display_ops.success* functions

* refactor and expand run() tests
2016-11-15 11:56:05 -08:00
Brad WarrenandPeter Eckersley 3dbeef8ee7 fix --http-01-port typo at source (#3794) 2016-11-15 11:45:07 -08:00
Brad WarrenandPeter Eckersley 1dd1afdc57 Remove letshelp-letsencrypt (#3775) 2016-11-10 23:04:41 -08:00
Brad WarrenandGitHub 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
Brad WarrenandPeter Eckersley fd95a55054 use terminate not kill (#3750) 2016-11-04 18:39:58 -07:00
Brad Warrenandschoen 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
Brad WarrenandGitHub 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 WarrenandGitHub 30dd22f2f8 No doc,dev depedencies for compatibility-test (#3722) 2016-10-31 18:30:02 -07:00
Brad WarrenandGitHub 42180ee9b5 fix travis tests? (#3695) 2016-10-26 14:34:01 -07:00
Brad WarrenandGitHub 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
Brad WarrenandPeter Eckersley 91deb6ec53 Add test_tests.sh (#3633) 2016-10-17 13:11:24 -07:00
Brad WarrenandPeter Eckersley 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
Brad WarrenandGitHub 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
Brad WarrenandGitHub 47e129ddd8 Merge pull request #3627 from certbot/candidate-0.9.2
Release 0.9.2
2016-10-12 17:46:58 -07:00
Brad WarrenandBrad Warren 1b65244d0d Don't run nosetests from the root of our repo (#3620) 2016-10-12 15:55:50 -07:00
Brad WarrenandBrad 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
Brad WarrenandBrad Warren 54b36269ce Only verify required ports are available (#3608)
* only verify port is available when you actually need it

* refactor code to create achalls

* Test port checks are based on achall

* test that only the port for the requested challenge is checked in standalone
2016-10-12 15:55:50 -07:00
Brad WarrenandBrad Warren 9d1a0b1d31 Create symlinks at runtime and don't use relative paths (#3600)
* Create symlinks at runtime in cli_test.py

* use test_util.vector_path rather than hardcoding path

* Reference #2716 in comment about too many lines in cli.py
2016-10-12 15:55:50 -07:00
Brad WarrenandPeter Eckersley f008fd0af9 Don't run nosetests from the root of our repo (#3620) 2016-10-11 19:15:11 -07:00
Brad WarrenandPeter Eckersley f5bf66ba36 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-11 17:50:11 -07:00
Brad WarrenandPeter Eckersley a5df9e5a0e Only verify required ports are available (#3608)
* only verify port is available when you actually need it

* refactor code to create achalls

* Test port checks are based on achall

* test that only the port for the requested challenge is checked in standalone
2016-10-10 18:44:39 -07:00
Brad WarrenandPeter Eckersley cb613ba7d3 Create symlinks at runtime and don't use relative paths (#3600)
* Create symlinks at runtime in cli_test.py

* use test_util.vector_path rather than hardcoding path

* Reference #2716 in comment about too many lines in cli.py
2016-10-10 13:17:49 -07:00
Brad WarrenandPeter Eckersley ff57c71802 Release 0.9.1 (#3595)
* fix requirements.txt surgery in response to shipping certbot-nginx (#3585)

* Make --quiet reduce the logging level (#3593)

* reduce logging level and ignore verbose flags in quiet mode

* Simplify setup_logging parameters

The extra parameters were there in the past when the letsencrypt-renewer was a
separate executable that also used this function. This is cruft that can be
removed.

* Add basic tests for setup_logging

* Release 0.9.1

* Bump version to 0.10.0
2016-10-06 16:58:50 -07:00
Brad WarrenandBrad Warren c6f7d740a0 Make --quiet reduce the logging level (#3593)
* reduce logging level and ignore verbose flags in quiet mode

* Simplify setup_logging parameters

The extra parameters were there in the past when the letsencrypt-renewer was a
separate executable that also used this function. This is cruft that can be
removed.

* Add basic tests for setup_logging
2016-10-06 14:32:40 -07:00
Brad WarrenandBrad Warren 6d6924dcd2 fix requirements.txt surgery in response to shipping certbot-nginx (#3585) 2016-10-06 14:32:40 -07:00
Brad WarrenandPeter Eckersley 0864f4e692 Make --quiet reduce the logging level (#3593)
* reduce logging level and ignore verbose flags in quiet mode

* Simplify setup_logging parameters

The extra parameters were there in the past when the letsencrypt-renewer was a
separate executable that also used this function. This is cruft that can be
removed.

* Add basic tests for setup_logging
2016-10-06 14:14:43 -07:00
Brad WarrenandPeter Eckersley 0b792e46b7 fix requirements.txt surgery in response to shipping certbot-nginx (#3585) 2016-10-05 18:16:03 -07:00
Brad WarrenandPeter Eckersley 76a92d4cde Release Certbot 0.9.0 (#3583)
* Release 0.9.0

* Bump version to 0.10.0
2016-10-05 10:13:28 -07:00
Brad WarrenandGitHub da22e64563 Allow tests to pass without dnspython (#3581)
* move skipUnless to test_util

* add skip_unless to acme test_util

* Make dns_resolver_tests work with and without dnspython

* make acme.challenges_test pass when dns is unavailable
2016-10-04 16:49:51 -07:00
Brad WarrenandPeter Eckersley 2146ec9535 Remove psutil dep (#3579)
* Build letsencrypt-auto-source/letsencrypt-auto to bring it up to date

* Remove psutil dep from certbot-auto (fixes #3341)
2016-10-04 14:48:06 -07:00
Brad WarrenandPeter Eckersley 769ebfce5e Remove pointless question (#3526)
* remove unhelpful question about servernames and default vhosts

* add prefix about names found in config files

* test we include configuration files prefix

* Tell the user what kind of conf files were missing domains

* Revert "Tell the user what kind of conf files were missing domains"

This reverts commit 1066a88dae.
2016-09-28 15:52:08 -07:00
Brad WarrenandGitHub 7f8fb07f99 Merge pull request #3504 from certbot/no-installers-error
Improve error message for "no installer plugin."
2016-09-19 12:04:37 -07:00
Brad WarrenandGitHub b1826d657f Merge pull request #3496 from certbot/cffix
Fixes cffi errors in Travis during oldest tests
2016-09-14 10:50:53 -07:00
Brad WarrenandGitHub f544b03911 Merge pull request #3458 from certbot/email-to-contact
Support both invalidEmail and invalidContact errors
2016-08-29 12:19:12 -07:00
Brad WarrenandGitHub a54d9061ba Merge pull request #3342 from TheNavigat/test-modification
Adding modification check against the current /letsencrypt-auto
2016-08-29 10:16:20 -07:00
Brad WarrenandGitHub 1e41641b49 Merge pull request #3165 from jsha/remove-unnecessary
Remove unnecessary check on registration returned.
2016-08-24 15:12:48 -07:00
Brad WarrenandGitHub aaa03c3bd1 Merge pull request #3435 from jpluimers/3416-fix-links-readme-resources
Fix the links for #3416 and align `README.rst` & `docs/resources.rst`
2016-08-24 14:27:18 -07:00
Brad WarrenandGitHub 5650560459 Merge pull request #3448 from DanCld/master
Fix apache logs dir for centos
2016-08-24 10:39:03 -07:00
Brad WarrenandGitHub ea6d70e376 Merge pull request #3450 from certbot/psutil-tests
Psutil tests
2016-08-24 08:54:16 -07:00
Brad WarrenandGitHub 5e2c741e2c Merge pull request #3418 from Betree/patch-1
Update README.rst
2016-08-16 16:26:44 -07:00
Brad WarrenandGitHub 8aadacbbb3 Merge pull request #3375 from yan12125/python3-certbot-unittests
Enable unit tests of certbot core on Python 3
2016-08-12 17:55:50 -07:00
Brad WarrenandGitHub d05f53bd53 Merge pull request #3390 from certbot/ignore-more
Add more ignored files to gitignore.
2016-08-11 11:49:21 -07:00