Commit graph

226 commits

Author SHA1 Message Date
Daniel Huang
e034b50363 Don't save keys/csr on dry run (#4380)
* Don't save keys/csr on dry run (#2495)

* Replace assertIsNone for py26

* Fix config defaults for compat tests
2017-03-18 13:42:54 -07:00
Erica Portnoy
050d272272 Merge pull request #4347 from kernelpanek/master
Fixes nginxparser to allow multiline quoted strings
2017-03-17 16:48:32 -07:00
Yen Chi Hsuan
4cad594b4b Python 3 compatibility for all tests (#4358) 2017-03-17 13:10:02 -07:00
Erica Portnoy
5fa2080558 If we fail to reload Nginx, write to temporary files instead of piping output (#4333)
Due to issues with piping and Nginx on Arch.
2017-03-15 17:05:52 -07:00
Richard Panek
f791af5afe New switch for QuotedStrings allows retainer of quotes but my test fails 2017-03-15 02:13:09 -06:00
kernelpanek
e715b49dd2 Don't unquote the results of the parse 2017-03-15 01:26:16 -06:00
kernelpanek
5758b1687d Fixes issue when parsing an Nginx configuration file containing multiline quoted strings 2017-03-15 00:25:26 -06:00
Brad Warren
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
Erica Portnoy
5e671682ca Candidate 0.12.0 (#4286)
* Release 0.12.0

* Bump version to 0.13.0
2017-03-02 15:26:24 -08:00
Damien Tournoud
44a6ec29c5 Fix direct usages of the root logger (#4236)
Some code uses `logging.debug` and `logging.info` instead of
the file-specific logger in `logger.debug` and `logger.info`.
2017-02-27 18:13:06 -08:00
Erica Portnoy
e5909d379c Don't crash on listen unix: (#4259)
Fixes #4225.

* don't crash on listen unix:

* correctly merge #4221
2017-02-27 13:35:29 -08:00
silverwind
b1a4280519 Show error details for the nginx config parser (#4221)
Nginx parser errors now include helpful details on where parsing has
actually failed.

Related: https://github.com/certbot/certbot/issues/3798
2017-02-22 18:50:56 -08:00
Brad Warren
a6b51f1edd Bump version to 0.12.0 2017-02-01 09:50:57 -08:00
Brad Warren
30bc68ccde
Release 0.11.0 2017-02-01 09:50:42 -08:00
Amjad Mashaal
1fd847e216 Adding checking name validity to the Apache plugin (#3639) 2017-02-01 07:12:51 -08:00
Josh Soref
6a39a42f45 Spelling (#4101)
* spelling: action

* spelling: artifacts

* spelling: asymmetric

* spelling: attempts

* spelling: bizarre

* spelling: certbot

* spelling: certificate

* spelling: certainly

* spelling: challenge

* spelling: client

* spelling: collated

* spelling: correct

* spelling: considered

* spelling: custom

* spelling: distinguish

* spelling: encoding

* spelling: enhancement

* spelling: equivalent

* spelling: execution

* spelling: existence

* spelling: failed

* spelling: handshake

* spelling: hyphen

* spelling: initialized

* spelling: initialization

* spelling: interpretation

* spelling: letsencrypt

* spelling: multiline

* spelling: multipart

* spelling: necessary

* spelling: otherwise

* spelling: output

* spelling: overridden

* spelling: positives

* spelling: preferable

* spelling: progress

* spelling: recommended

* spelling: referring

* spelling: relativity

* spelling: request

* spelling: requiring

* spelling: separate

* spelling: source

* spelling: specified

* spelling: standard

* spelling: successfully

* spelling: unparseable

* spelling: useful
2017-01-26 16:21:54 -08:00
Brad Warren
364a6d8a2d Release 0.10.0 (#4022)
* Release 0.10.0

* Bump version to 0.11.0
2017-01-11 12:01:33 -08:00
Erica Portnoy
c00568a518 Break on failure to deploy cert (#4003)
* Break on failure to deploy cert

* Add error message for unable to install cert

* Add unit test
2017-01-10 17:27:09 -08:00
Ondřej Surý
06e07ca49b pyparsing.restOfLine is not a function, don't call it (#3989) 2017-01-09 18:29:02 -08:00
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
Peter Eckersley
a8abde7d8d Merge remote-tracking branch 'origin/no-conflicting-declarations3' into no-conflicting-declarations3 2016-08-05 14:47:41 -07:00
Peter Eckersley
61b81b877d Merge remote-tracking branch 'origin/master' into no-conflicting-declarations3 2016-07-29 17:28:29 -07:00
Peter Eckersley
89758decbb Fix a test 2016-07-29 17:28:22 -07:00
Peter Eckersley
9e9c4dfcf5 fix test 2016-07-27 16:55:23 -07:00
Peter Eckersley
d55580025f Extra newlines & spacing 2016-07-27 16:29:30 -07:00
Peter Eckersley
2feeb50109 Fix spacing of nginx redirect blocks 2016-07-27 16:00:43 -07:00
schoen
94ea424638 Merge pull request #3287 from certbot/nginx-charset-map
Nginx charset_map and ${VARIABLE_SUBSTITUTION} parsing
2016-07-27 15:14:15 -07:00
Brad Warren
1060ea7c3d delint 2016-07-26 17:36:58 -07:00
Peter Eckersley
e1f560dca3 Neaten 2016-07-26 17:23:24 -07:00
Brad Warren
4eb38fe167 Make spaced list handle an insert past the end of the list 2016-07-26 17:09:01 -07:00
Brad Warren
f98470d4a0 Revert "UnspacedList._spaced_position: support the slice at the end fo the list"
This reverts commit 85d9ab4d5c.
2016-07-26 17:01:24 -07:00
Brad Warren
599ba1194f Merge branch 'master' into no-conflicting-declarations3 2016-07-26 16:47:25 -07:00
Ville Skyttä
c7b89c334b Use logger.warning instead of deprecated warn 2016-07-22 09:54:28 +03:00
Ville Skyttä
86b287b338 Use assertEqual instead of deprecated assertEquals 2016-07-22 09:54:28 +03:00
Peter Eckersley
85d9ab4d5c UnspacedList._spaced_position: support the slice at the end fo the list
- Which is needed for .insert()ing at the end, for instance.
2016-07-21 13:39:13 -07:00
Peter Eckersley
e5cb04ee7d A couple of fixes 2016-07-21 13:26:57 -07:00
Brad Warren
2ce5b195e5 check certbot 2016-07-18 18:23:54 -07:00
Brad Warren
ed4fc9d2f7 call _comment_directive 2016-07-18 18:20:21 -07:00
Brad Warren
5dd8f70e56 better newline logic 2016-07-18 18:19:14 -07:00
Brad Warren
bd21325fcd newline logic 2016-07-18 18:12:44 -07:00
Brad Warren
aa33c0fa83 does it work? 2016-07-18 15:33:28 -07:00
Brad Warren
5d7ef49fac _add_directive cleanup 2016-07-18 15:25:09 -07:00
Peter Eckersley
e3ab49a93b Rework "value" parser:
- Now handles any${VAR_SUBSTITUTION}inthemiddle/of/values
  - Don't use a single giant janky Regex; use small ones and have PyParsing
    combine them
2016-07-15 17:11:04 -07:00
Peter Eckersley
b6966fc05e lint 2016-07-15 17:11:04 -07:00
Peter Eckersley
7183896ed7 Preserve spaces before comments at the beginning of a file 2016-07-15 17:11:04 -07:00
Brad Warren
dbb2398270 Add _comment_spaced_block 2016-07-15 09:25:12 -07:00
Brad Warren
9c915b0ae4 Fix tests 2016-07-14 18:15:01 -07:00
Brad Warren
6b639679e8 Merge branch 'master' into no-conflicting-declarations 2016-07-14 17:26:39 -07:00
Peter Eckersley
b7cf928852 Parse charset_map correctly
(though we still don't emit it correctly...)
2016-07-13 17:17:45 -07:00
Peter Eckersley
68500cd436 Don't allow dollar_var to swalllow characters like "{" 2016-07-09 15:13:09 -07:00
Peter Eckersley
be8f0bc53b Do a better job of parsing map patterns 2016-06-30 15:29:38 -07:00