Commit graph

137 commits

Author SHA1 Message Date
Erik Rose
55b63fca0d Require setuptools>=1.0 in all packages that use the cryptography lib.
When pip-installing any of these packages, pip hit our permissive, any-version "setuptools" dependency first and then ignored all subsequent, more constrained ones, like cryptography's "setuptools>=1.0". See https://github.com/pypa/pip/issues/988. It thus, on a box with setuptools 0.9.8, stuck with that version. Then, at runtime, letsencrypt crashed because pkg_resources couldn't satisfy cryptography's setuptools>=1.0 requirement.

This change lets us pip-install our packages and have it work. We'll need to make sure our direct requirements (all of them) satisfy the more constrained requirements of our dependencies. Yes, it is disgusting.
2016-03-03 18:02:38 -05:00
Peter Eckersley
4000319c1d Merge pull request #2515 from thanatos/class-advice-impossible
Class advice impossible
2016-02-23 17:25:56 -08:00
Roy Wellington Ⅳ
9f372bfa38 Don't mix tabs & spaces in Python.
It's a bit silly, and might cause someone a lot of grief to debug.
2016-02-20 01:38:45 -08:00
Roy Wellington Ⅳ
e9d981aceb Change zope's classProvides to be a class decorator.
When attempting to import any module that uses
zope.interface.classProvides in Python 3, a TypeError is raised; it
reads:

    TypeError: Class advice impossible in Python3.  Use the @provider
    class decorator instead.

Following the listed advice seems to function in Python 3.
2016-02-20 00:41:01 -08:00
Roy Wellington Ⅳ
b6142c13d6 Change zope's implements to be a class decorator.
When attempting to import any module that uses zope.interface.implements
in Python 3, a TypeError is raised; it reads:

    TypeError: Class advice impossible in Python3.  Use the @implementer
    class decorator instead.

Following the listed advice seems to function in Python 3.
2016-02-20 00:37:40 -08:00
bmw
960114a08e Merge pull request #2282 from olabini/nginx_reverter_guarding
Guard reverter invocations and wrap in correct exceptions
2016-02-17 16:04:29 -08:00
Peter Eckersley
563c115044 Bump version to 0.5.0 2016-02-10 18:49:27 -08:00
Peter Eckersley
74063851e3
Release 0.4.0 2016-02-10 18:48:40 -08:00
Marcel Krüger
5289420692 Protect opened files against IO-exceptions 2016-01-29 20:40:28 +01:00
Marcel Krüger
90f9254fc3 Fix multiple snakeoil certs for nginx 2016-01-29 18:25:50 +01:00
Peter Eckersley
14af8dad5a Merge pull request #2293 from olabini/update_comments_for_ranked_matches
Update comment to clarify that the ranking takes into account SSL
2016-01-28 12:53:32 -08:00
Peter Eckersley
b6d0632a10 Bump version to 0.4.0 2016-01-27 17:05:25 -08:00
Peter Eckersley
cf218dd7f1
Release 0.3.0 2016-01-27 15:12:30 -08:00
Ola Bini
15182d5aa4
Add comments about the exceptions raised 2016-01-27 09:06:56 -05:00
Ola Bini
558f29bf83
Update comment to clarify that the ranking takes into account SSL 2016-01-27 09:03:09 -05:00
Ola Bini
e591a7666c
Guard reverter invocations and wrap in correct exceptions 2016-01-26 12:29:49 -05:00
bmw
30d8394535 Merge pull request #2199 from letsencrypt/0.2.0
Include 0.2.0 release in master's history, and bump version
2016-01-19 17:56:44 -08:00
bmw
8301f2f57b Merge pull request #1665 from erikrose/letsencrypt-auto-release
Make letsencrypt-auto release-suitable, self-upgrading, and self-contained.
2016-01-19 15:16:49 -08:00
Peter Eckersley
91d958aa59 Bump version to 0.2.1.dev0 2016-01-15 15:03:53 -08:00
Brad Warren
e59fcf7ddd
Release 0.2.0 2016-01-14 17:39:18 -08:00
Fan Jiang
7254ea5fb0 enable config_test in configurator prepare 2016-01-13 16:31:30 -05:00
Erik Rose
ed562645e0 Master master into letsencrypt-auto-release so Travis will build it. 2016-01-11 21:45:16 -05:00
Erik Rose
6c05197a43 Remove mock as an install requirement.
The motivation is to free us of a reliance on a rather modern version of setuptools, which caused le-auto failures for people on Wheezy and other older distros. (The alternative would have been to forcibly upgrade setuptools as the old le-auto did, but less is more.)

Mock is used only in tests, so we move it to tests_require. It will still be installed automatically when setup.py test is run. Give all packages a test_suite so this works.

The "testing" extra remains for optional packages not required for the nose tests but used in tox. However, the extra is much less useful now and is a candidate for deletion. We could roll the list of packages therein into the tox config so as not to favor any particular package.

Remove tests_require=install_requires, which I don't think does anything useful, since install requirements are implicitly installed when running setup.py test.

Fix tests to pass with mock removed. We had to stop them pulling down LE from PyPI, since the current version there (0.1.1) requires mock and explodes when `letsencrypt` is run.
2016-01-11 21:26:41 -05:00
Peter Eckersley
bf4793039a Merge remote-tracking branch 'origin/master' into pyopenssl 2016-01-10 02:39:54 -08:00
Peter Eckersley
684ff01124 Merge pull request #2094 from twstrike/enforce-required-fields
Warn the user when --chain-path or --fullchain-path are missing but are required [minor revision requested]
2016-01-09 10:55:33 -08:00
Brad Warren
0f239e0029 Add comment about dependency version 2016-01-07 13:04:29 -05:00
Reinaldo de Souza Jr
e7da21eec0 Makes NginxParser aware of directive
Fixes #2059
2016-01-07 11:57:00 -05:00
Reinaldo de Souza Jr
858dadd85b Update error message
This is supposed to not happen once #1391 is fixed.
2016-01-06 13:36:52 -05:00
Peter Eckersley
ab9fa6c4c0 Merge pull request #2095 from twstrike/coverage
Add more tests to nginx plugin
2016-01-06 07:53:25 -08:00
Reinaldo de Souza Jr
20829e05ed Add missing test condition for prepare() 2016-01-05 15:15:29 -05:00
Reinaldo de Souza Jr
adcb7934ae Improve choose_vhost() test by verifying the output file 2016-01-05 14:55:10 -05:00
Reinaldo de Souza Jr
cf74446b58 Add test for redirect enhancement 2016-01-05 14:54:48 -05:00
Reinaldo de Souza Jr
5b5051b6ce The notes should display the fullchain_path
See d01b17f1 and dd8c6d65
2016-01-05 14:45:23 -05:00
Reinaldo de Souza Jr
e8fc2eca01 nginx plugin requires fullchain_path 2016-01-05 14:45:23 -05:00
Reinaldo de Souza Jr
74237d1010 Requires chain_path for nginx versions supporting OCSP stapling
--chain-path config is not mandatory, so we require this property if nginx
supports OCSP stapling.

Alternatively, we could disable OCSP stapling on supported nginx versions if
--chain-path is missing.
2016-01-05 14:45:23 -05:00
Jacob Hoffman-Andrews
e722a38197 Clarify parser check for duplicate values. 2016-01-04 11:18:13 -08:00
Jacob Hoffman-Andrews
8f984bd24f Better Nginx error handling.
Raise MisconfigurationError on restart failure, so we don't attempt to continue
with an authorization we know will fail.

Log at debug level the config files that are about to be written out, so it's
easier to debug restart failures.

Fix https://github.com/letsencrypt/letsencrypt/issues/942:
Error out if adding a conflicting directive.

Remove unnecessarily-inserted access_log and error_log directives. These were
added to make integration testing easier but are no longer needed. Incidentally
this makes the plugin work with some configs where it wouldn't have worked
previously.

Change the semantics of add_server_directives with replace=True so only the
first instance of a given directive is replaced, not all of them. This works
fine with the one place in the code that calls add_server_directives with
replace=True, because all of the involved directives aren't allowed to be
duplicated in a given block.

Make add_http_directives do inserts into the structure itself, since its needs
were significantly different than the more general add_server_directives. This
also allows us to narrow the scope of the `block.insert(0, directive)` hack that
we inserted to work around https://trac.nginx.org/nginx/ticket/810, since it's
only necessary for http blocks.
2016-01-01 23:09:44 -08:00
Jakub Warmuz
7a6e084e3a
Unbreak master 2015-12-03 15:55:17 +00:00
Peter Eckersley
5747ab7fd9
Release 0.1.0 2015-12-02 15:55:43 -08:00
Peter Eckersley
90a8b555b1 Merge pull request #1471 from fmarier/nginxparser-license
Move the nginxparser copyright statement to letsencrypt-nginx
2015-11-28 10:46:08 -08:00
bmw
8cf63c493f Merge pull request #1568 from erikrose/kill-dvsni
Remove remaining "DVSNI" wording, changing it to reference TLS-SNI-01, which it changed into.
2015-11-25 15:30:02 -05:00
Erik Rose
e75dc96559 Stop calling things that don't implement IAuthenticator authenticators. 2015-11-25 12:44:17 -05:00
Erik Rose
8147216f1a Fix some underline lengths in docs. 2015-11-25 12:43:29 -05:00
Francois Marier
f504b0622d Add the nginxparser copyright statement to letsencrypt-nginx 2015-11-23 14:58:37 -08:00
Erik Rose
1d30bba0c2 Correct pep8 errors across codebase. 2015-11-19 13:23:38 -05:00
Erik Rose
9205b9c987 Remove remaining "DVSNI" wording, changing it to reference TLS-SNI-01, which it changed into. Close #1417.
Also make _get_addrs() private, since it's called only internally.
2015-11-19 13:23:07 -05:00
bmw
ff293cecf1 Merge pull request #1462 from sieben/dict_litteral
Dict can be litteral
2015-11-18 18:22:45 -08:00
Peter Eckersley
ee70cfbc9a Merge pull request #1372 from bit/nginx
nginx: add redirect for HTTP traffic
2015-11-17 12:38:08 -08:00
Peter Eckersley
53eaf7ce1e Merge pull request #1388 from bit/bug942
nginx: Only insert directive if its not already in block
2015-11-17 08:54:31 -08:00
j
a790038a9f nginx: add redirect for HTTP traffic 2015-11-17 02:45:02 +01:00