Commit Graph
7328 Commits
Author SHA1 Message Date
Peter Eckersley 3e7f64dfe8 Pre-release variant of OCSP testing 2017-01-04 17:53:41 -08:00
Peter Eckersley f4baf1fc39 Fix test 2016-12-23 10:48:14 -08:00
Peter Eckersley c29878ace9 lint 2016-12-23 01:03:38 -08:00
Peter Eckersley c5bda903f2 Another instance of overlogging 2016-12-23 00:42:17 -08:00
Peter Eckersley 2fdbb8430a Don't log errors twice
- They're already being logged down in util.run_script
2016-12-23 00:40:10 -08:00
Peter Eckersley 21287b414f Finish unit tests for OCSP warning states 2016-12-23 00:24:47 -08:00
Peter Eckersley b02ce53354 Test farm tests for openssl-based revocation checking 2016-12-23 00:20:38 -08:00
Peter Eckersley 0bcbf1d0a7 WIP 2016-12-22 23:07:00 -08:00
Peter Eckersley 97081452e9 fixup 2016-12-22 18:52:20 -08:00
Peter Eckersley 0011a3b7d8 Start handling some weirder OCSP states 2016-12-22 18:51:17 -08:00
Peter Eckersley aaffe2f9ca Add openssl installation to some bootstrappers
- The others seem to either be platforms where openssl is part of the
   base system, or where I can't quickly confirm that it's safe to ask
   for installation of something called "openssl".

 - If we miss any platforms, the OCSP checking code in "certbot
   certificates" should fail gracefully.
2016-12-22 15:53:32 -08:00
Peter Eckersley 9aa93c05c1 Simplify the ocsp_revoked() return type
- we weren't reacting to None, so call it False instead
2016-12-22 15:35:29 -08:00
Peter Eckersley 19143d8303 Increase test coverage 2016-12-22 13:07:00 -08:00
Peter Eckersley 7014ab5fd0 lint 2016-12-21 23:20:19 -08:00
Peter Eckersley 61e822a897 Add a few more tests 2016-12-21 21:50:19 -08:00
Peter Eckersley e2d8630f5e py3fix 2016-12-21 14:42:35 -08:00
Peter Eckersley 0ed3213989 Remove --check-ocsp flag
- Might have been occasionally useful, but simplicity
 - Add some missing tests, remove some obsolete ones
2016-12-21 14:38:26 -08:00
Peter Eckersley 76b8c53566 Tests for ocsp.py, and associated fixes 2016-12-21 14:38:26 -08:00
Peter Eckersley f495863da9 Check --check-ocsp flags, and test those checks 2016-12-21 14:38:26 -08:00
Peter Eckersley 509f4029bb more py3 fixes 2016-12-21 14:38:26 -08:00
Peter Eckersley 7d02b8dbd5 py3fix 2016-12-21 14:38:26 -08:00
Peter Eckersley fcf7387c3d Don't crash if openssl is missing 2016-12-21 14:38:26 -08:00
Peter Eckersley 011f6055d4 Better message 2016-12-21 14:38:26 -08:00
Peter Eckersley bf6084db61 With mixed staging/prod lineages, it might not be correct to stop OCSPing
- One lineage might fail, and a later one succeed
2016-12-21 14:38:26 -08:00
Peter Eckersley 15ed372df6 Fix existing tests 2016-12-21 14:38:26 -08:00
Peter Eckersley 03f312e653 Allow filtering of "certbot certificates output" with --config-name or -d 2016-12-21 14:38:26 -08:00
Peter Eckersley e5e5db24d7 CLI flag for controlling ocsp checking now works 2016-12-21 14:38:26 -08:00
Peter Eckersley 840c584cbd Make the OCSP checker a class
(Since it contains a reasonable amount of system state)
2016-12-21 14:38:26 -08:00
Peter Eckersley 7a18a124ce Better error handling 2016-12-21 14:38:26 -08:00
Peter Eckersley fe36e336a8 Run with both old and new versions of openssl 2016-12-21 14:38:26 -08:00
Peter Eckersley 245b84ab78 Format CLI to keep modern openssls happy
- This is somewhat ominous
2016-12-21 14:38:26 -08:00
Peter Eckersley ac02cd9cb8 ocsp checking needs -verify_other
https://community.letsencrypt.org/t/unable-to-verify-ocsp-response/7264
2016-12-21 14:38:26 -08:00
Peter Eckersley 40e29bb95f begin implementing OCSP checking for "certificates" 2016-12-21 14:38:20 -08:00
James KastenandPeter Eckersley 15d2a0ffde Import OCSP code from the historical cert_manager branch
(This is pde committing jdkasten's code)
2016-12-21 14:36:51 -08:00
Lior SabagandPeter Eckersley acc501d3a1 Fix typo (#3932) 2016-12-19 12:49:27 -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
Erica PortnoyandGitHub 81fd0cd32c Implement delete command (#3913)
* organize cert_manager.py

* add delete files to cert manager and storage

* add tests

* add to main and cli

* Clean up all related files we can find, even if some are missing.

* error messages, debug logs, and remove RenewerConfiguration

* add logs for failure to remove

* remove renewer_config_file
2016-12-15 20:23:02 -08:00
Erica PortnoyandPeter Eckersley 16361bfd06 test using os.path.sep not hardcoded / (#3920) 2016-12-15 19:41:42 -08:00
Erica PortnoyandBrad Warren 27525fb205 Use relative paths for livedir symlinks (#3914)
* Use relative paths for livedir symlinks

* switch directory back for the rest of the tests
2016-12-15 11:00:07 -08:00
Peter EckersleyandGitHub 107851ee9b Document defaults (#3863)
* Begin fixing incorrect defaults

* Fix more defaults

* Make more defaults correct

* Update cli-help.txt

(To show what this PR does)

* Lint

* Extend argparse rather than vendoring it

* lint

* Move sample User Agent generation into the same module as UA generation

* Revert cli-help.txt to previous release version

* Slightly more consistent linebreaks
2016-12-13 17:32:46 -08:00
Clif HouckandBrad Warren ad53c80c1e Fix certbox-nginx address equality check (#3886)
0.0.0.0, *, and '' are equivalent hosts to nginx. Changes Addr object's
equality testing to treat them as equal.

Fixes #3855
2016-12-13 14:38:57 -08:00
Peter EckersleyandGitHub 0464ba2c4b Implement our fancy new --help output (#3883)
* Start reorganising -h output

* Fix the --debug flag

  - Currently exceptions are often caught and burried in log files, even
    if this flag is provided!

* Explain the insanity

* Parallalelise nosetests from tox (#3836)

* Parallalelise nosetests from tox

* Parallelise even more things, break even more things

* Now unbreak all the tests that aren't ready for ||ism

* Try to pass tests!

 - Remove non-working hack in reporter_test
 - also be selective about ||ism in the cover environment

* Try again

* certbot-apache tests also work, given enough time

* Nginx may need more time in Travis's cloud

* Unbreak reporter_test under ||ism

* More timeout

* Working again?

* This goes way faster

* Another big win

* Split a couple more large test suites

* A last improvement

* More ||ism!

* ||ise lint too

* Allow nosetests to figure out how many cores to use

* simplify merge

* Mark the new CLI tests as ||izable

* Simplify reporter_test changes

* Rationalise ||ism flags

* Re-up coverage

* Clean up reporter tests

* Stop modifying testdata during tests

* remove unused os

* Improve the "certbot certificates" output (#3846)

* Begin making "certbot certificates" future safe

* Handle the case where a renewal conf file has no "server" entry

* Improvements, tweaks

* Capitalise on things

* Print the command summary for -h and -h all, but not otherwise

Also, update nginx not installed CLI hint

* Add a "certificates" help section

* Clean up usage string construction

* Greatly improve "certbot -h TOPIC"

  - subcommands now get their own usage headings if they want them
  - added "certbot -h commands"

* A few more cli formatting tests

* Auto-populate the verb subgroups from the docs

* Show the new help output

* Lint, tweak

* More lint, and cleanup

* Infinite lint

* Add rename to command summary; sort "-h commands" output

* Use fancy string formatting

* More space

* Implement --help manage

Also, implement a general mechanism for documenting subcommands within
topics

* Remove one comma

* Only create weird parser structures if -h is provided :)

* Update sample cli out

* Lint

* Revert cli-help.txt to previous release version

* Grammar & style
2016-12-13 14:19:47 -08:00
MaartenandPeter Eckersley dc81c291b4 Change link of haproxy plugin to new version (#3904)
Greenhost has rewritten their HAProxy plugin and it's hosted on a different location. The original URL also points to this new location: https://code.greenhost.net/open/letsencrypt-haproxy
2016-12-13 13:13:55 -08:00
Peter EckersleyandBrad Warren 2d7f6d7d92 Ensure apt-cache is always running in English if we're going to grep its output (#3900) 2016-12-12 17:20:52 -08:00
FrankandPeter Eckersley e6f24db624 Sort the names by domain (then subdomain) before showing them (#3892)
* Sort the names by domain (then subdomain) before showing them

* Sort the names in display + tests
2016-12-11 02:18:32 -08:00
Joona HoikkalaandPeter Eckersley e9f040e209 Make default renewal file permissions more strict (#3891) 2016-12-10 11:19:20 -08:00
Peter EckersleyandBrad Warren 22e0f5779a Fix --debug (#3877)
* Fix the --debug flag

  - Currently exceptions are often caught and burried in log files, even
    if this flag is provided!

* Explain the insanity

* Make things slightly nicer
2016-12-09 14:56:14 -08:00
Brad WarrenandPeter Eckersley 9bdb3d67bc make our linter happy (#3881) 2016-12-08 20:29:59 -08:00
Erica PortnoyandPeter Eckersley 4a4977a54d Make renew command respect the --cert-name flag (#3880)
* Renew command respects --cert-name flag

* Error out early if requested cert doesn't exist
2016-12-08 18:27:23 -08:00
Erica PortnoyandGitHub 0a7ca2f32e Implement the --cert-name flag to select a lineage by its name, and the rename verb. (#3785)
* Rename and simplify main functions

* pass certname to auth method

* find cert by certname flag

* Implement --cert-name command

* don't ask to confirm new cert when we have domains and no existing certs with the lineage name

* Refactor and add --new-cert-name flag

* add interactivity to rename verb

* allow noninteractive and more descriptive function names
2016-12-08 11:53:30 -08:00