Commit graph

157 commits

Author SHA1 Message Date
Clif Houck
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
Brad Warren
9bdb3d67bc make our linter happy (#3881) 2016-12-08 20:29:59 -08:00
Peter Eckersley
59c602d9ca 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
2016-12-06 20:39:16 -08:00
Erica Portnoy
f0a7bb0e33 Mark Nginx vhosts as ssl when any vhost is on ssl at that address (#3856)
* Move parse_server to be a method of NginxParser

* add super equal method to more correctly check addr equality in nginx should we support ipv6 in nginx in the future

* add addr:normalized_tuple method

* mark addresses listening sslishly due to another server block listening sslishly on that address

* test turning on ssl globally

* add docstring

* lint and remove extra file
2016-12-05 19:17:04 -08:00
Blake Griffith
65d9e997e5 Refactor cli_test.py and main_test.py (#3828)
* Begin breaking out cli_test.py

* simplify main

* refactor porse tests

* move determine account tests to main_test.py

* move duplicate cert test to main_test.py

* move cli stuff out of the way

* add test_renewal.py

* move error test into error_handler_test.py

* move test_read_file

* move test_no_gui out of MainTest

* move test_install_abspath to parsetest

* Move main tests into main_test.py

* move cli tests back into cli_test.py

* clean up cli_test.py

* move punycode test to util_test.py

* Fix NameError from missing plugins_disco

* Fix linting errors

* test_renewal.py -> renewal_test.py

* rm not_cli_test.py

* Move main._handle_exception test to main_test.py

* Move renewal import in renewal_test.py

from @ohemorange comments

* certbot.tests.test_util -> certbot.tests.util

* Fix issues from rebasing.

* Fix testing issue with option_was_set

* fix linting issue
2016-12-05 15:22:14 -08:00
Nick Fong
dd8772b608 Remove get_all_certs_keys() from Apache and Nginx (#3768)
- Remove get_all_certs_keys() implementation in
    - certbot-apache/certbot_apache/configurator.py
- Remove corresponding tests for get_all_certs_keys() in
    - certbot-apache/certbot_apache/tests/configurator_test.py
- Remove get_all_certs_keys() implementation in
    - certbot-nginx/certbot_nginx/configurator.py
    - certbot-nginx/certbot_nginx/parser.py
- Remove corresponding tests for get_all_certs_keys() in:
    - certbot-nginx/certbot_nginx/tests/configurator_test.py
    - certbot-nginx/certbot_nginx/tests/parser_test.py

Resolves #3762
2016-11-08 17:19:05 -08:00
Erica Portnoy
df10a6431b Don't re-add redirects if one exists (#3751)
* Don't re-add redirects if one exists

* coverage

* make coverage happy

* don't re-add comment, and clean code
2016-11-07 15:48:46 -08:00
kaiyou
82c69815d1 Fix writing pem files with Python3 (#3757)
* Standardize arguments name for mode and chmod in the util API

* Handle OpenSSL pem as bytes objects only for Python3 compatibility

* Handle OpenSSL pem as bytes objects only (remaining bits)

* Manipulate bytes objects only when testing PEM-related functions

* Fix argument order when calling util.unique_file
2016-11-07 14:22:20 -08:00
Erica Portnoy
ce252bd6c9 Allow certbot to get a cert for default_servers (#3652)
* Allow certbot to get a cert for default_servers

* Add to_string method for not printing default_server
2016-10-21 13:56:53 -07:00
Erica Portnoy
4bc3c747cb Mark parsed Nginx addresses as listening sslishly when an ssl on directive is included in the server block. (#3607) 2016-10-10 19:04:35 -07:00
Brad Warren
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
Erica Portnoy
c9bc034512 Update Nginx redirect enhancement process to modify appropriate blocks (#3546)
* Cache the vhost we find during nginx deployment for OCSP enhancement.

* Refactor to pass domain into enhancement functions

* Add https redirect to most name-matching block listening non-sslishly.

* Redirect enhancement chooses the vhost most closely matching target_name that is listening to port 80 without using ssl.

* Add default listen 80 directive when it is implicitly defined
2016-09-29 16:16:07 -07:00
Erica Portnoy
9f2dfc15fe Restructure how Nginx parser re-finds vhosts, and disable creating new server blocks. (#3528)
* Restructure add_server_directives to take a vhost as argument. This is the first step towards fixing vhost selection in nginx.

* Save path to vhost in file while parsing in get_vhosts().

* Disable creating a new server block when no names match.

* Make parser select vhost based on information in the vhost it found previously, rather than searching again for a match.

* Make add_server_directives update the passed vhost

* Update boulder config to pass test

* Add testing code for the _do_for_subarray function

* documentation and formatting updates
2016-09-26 13:13:29 -07:00
Peter Eckersley
2434b4a549 Merge pull request #3507 from certbot/only-suggest-valid-names
Only suggest names LE will accept
2016-09-22 14:23:19 -07:00
Brad Warren
93a9e8c836 list 'staple-ocsp' as supported in nginx 2016-09-21 15:48:24 -07:00
Brad Warren
8b553fa88f tie oscp stapling to enhancements system 2016-09-21 15:38:37 -07:00
Brad Warren
307b2e5307 Reject domains with only one label 2016-09-16 16:53:25 -07:00
Brad Warren
275e3f748e filter names returned by get_all_names 2016-09-16 16:47:02 -07:00
Gordin
f1ff5516d1 Fixed hash_bucket_size detection for nginx 2016-08-28 20:29:22 +02:00
Peter Eckersley
7fd249acfe Merge pull request #3383 from certbot/no-conflicting-declarations3
Avoid importing conflicting security policy directives
2016-08-18 14:11:49 -07:00
Peter Eckersley
df61b0e349 Check for comments more accurately 2016-08-18 13:56:15 -07:00
Brad Warren
9fd003cd66 Mark the Nginx plugin as alpha 2016-08-17 16:37:01 -07:00
Brad Warren
4e1830b372 hide the nginx plugin 2016-08-17 16:27:23 -07:00
Brad Warren
73fdc08d83 don't hardcode certbot comment 2016-08-16 21:04:28 -07:00
Brad Warren
449487e8cb Catch all pyparsing exceptions 2016-08-16 19:34:16 -07:00
Brad Warren
465aa38143 Revert "Catch all pyparsing exceptions"
This reverts commit 7fb5cf1cf5.
2016-08-16 19:33:19 -07:00
Brad Warren
1aa18a3bad Add test to prevent regressing and not copying ssl_options to /etc/letsencrypt 2016-08-16 19:10:57 -07:00
Brad Warren
5ec22438ff Make sure mod_ssl_conf exists so it can be parsed 2016-08-16 19:04:05 -07:00
Brad Warren
971d6d7540 Don't hardcode comment added by Certbot 2016-08-16 18:50:18 -07:00
Brad Warren
76d17bfd0f Avoid modifying parsed ssl_options 2016-08-16 18:40:05 -07:00
Brad Warren
76c2fe579a Make _comment_directive more defensive 2016-08-16 18:30:45 -07:00
Brad Warren
671d7ee194 Fix up COMMENT constants 2016-08-16 17:45:43 -07:00
Brad Warren
3d4f822be0 Handle case where block is empty -- not sure if it ever happens, but let's not error out unnecessarily 2016-08-16 16:41:23 -07:00
Brad Warren
ae23800e53 Comment code that confused bmw 2016-08-16 16:37:40 -07:00
Brad Warren
7fb5cf1cf5 Catch all pyparsing exceptions 2016-08-16 15:46:31 -07:00
Brad Warren
0b0eca323c Remove extra newline 2016-08-16 15:36:41 -07:00
Seth Schoen
cfc8ce9db4 Add function docstring 2016-08-10 17:01:34 -07:00
Peter Eckersley
9c168017ae That was not the correct magic 2016-08-08 18:17:02 -07:00
Peter Eckersley
b5fa0fbad7 This is reportedly the correct magic 2016-08-08 18:08:11 -07:00
Peter Eckersley
712bd9ee6b Copy nginx options file into integration testing environment 2016-08-08 17:58:22 -07:00
Peter Eckersley
0504882e08 Always newline config edits
Even if they're transient
2016-08-08 17:50:20 -07:00
Seth Schoen
e77a3ed7b9 Return individual key, not entire config dictionary! 2016-08-08 17:22:53 -07:00
Peter Eckersley
f0c2ed3059 Lint, improve coverage, rm unused code 2016-08-08 15:45:49 -07:00
Peter Eckersley
da7e429125 Work around horrible spaciness API usage bug 2016-08-08 15:14:06 -07:00
Peter Eckersley
7deb1f0ad6 Fix bug with UnpsacedList.insert to final position
- which only applied when the list actually contained spaces
2016-08-08 12:15:18 -07:00
Peter Eckersley
0ade03b7bf Merge remote-tracking branch 'origin/master' into no-conflicting-declarations3 2016-08-05 15:41:54 -07:00
Peter Eckersley
460f49778f Fix tests for our new spacey, commented world 2016-08-05 15:37:01 -07:00
Peter Eckersley
cdc894601c Tolerate our own added newlines 2016-08-05 15:36:40 -07:00
Peter Eckersley
3a2df72bce Add newlines to the ends of blocks more correctly 2016-08-05 15:36:24 -07:00
Seth Schoen
ae6ca4d4ca Minimal fake os_constant() for nginx constants.py 2016-08-05 15:13:04 -07:00