Commit graph

536 commits

Author SHA1 Message Date
Patrick Figel
2bc0c31f2e Trim trailing whitespace during challenge self-verification
fixes #1322
2015-11-21 08:59:35 +01:00
Peter Eckersley
ca05b35a24 Merge pull request #1412 from kuba/pep8
pep8 love
2015-11-12 00:29:15 -08:00
Rémy Léone
e64149cae8 Redeclared names without usage 2015-11-11 13:27:09 +01:00
Jakub Warmuz
0dbb235961
Merge remote-tracking branch 'github/letsencrypt/master' into acme-standalone-log 2015-11-08 06:51:34 +00:00
Jakub Warmuz
c18f0b7073
Add rtype docs 2015-11-08 06:34:28 +00:00
Jakub Warmuz
37574e60e1
hexdigest lower() 2015-11-08 06:29:48 +00:00
Jakub Warmuz
8208470395
More docs about ports 2015-11-08 06:26:22 +00:00
Jakub Warmuz
6d32c2e5a4
Rename DVSNIRequestHandler to BaseRequestHandlerWithLogging. 2015-11-07 23:00:43 +00:00
Jakub Warmuz
1f6f6a7451
Logging in HTTP01RequestHandler: more and not to sys.stderr. 2015-11-07 22:57:39 +00:00
Jakub Warmuz
465efc9601
Custom acme.messages.Error (fixes #946). 2015-11-07 20:01:29 +00:00
Jakub Warmuz
d0a2b38457
pep8 for docs/conf.py 2015-11-07 19:36:08 +00:00
Jakub Warmuz
bbb7606fe1
Kill dvsni in acme 2015-11-07 18:35:41 +00:00
Jakub Warmuz
2266baf775
Renames around DVSNIServer 2015-11-07 18:24:17 +00:00
Jakub Warmuz
b864c77b62
Add tls-sni-01 to acme 2015-11-07 14:24:43 +00:00
Jakub Warmuz
c805ebc2bf
Use KEY in DVSNI tests 2015-11-07 14:24:43 +00:00
Jakub Warmuz
3a5f7a026b
Fix old reference to SimpleHTTP 2015-11-07 14:24:43 +00:00
Jakub Warmuz
dc60cdbc7d
User-Agent support in acme (default: acme-python, fixes #1351).
In order to override the default (`acme-python`), clients (including
Let's Encrypt: #858, #1397) should create a custom
acme.clietn.ClientNetwork object and pass it to
acme.client.Client.__init__.
2015-11-07 08:55:54 +00:00
Brad Warren
3532404705 Nit fix 2015-11-02 17:18:44 -08:00
Jakub Warmuz
99c5c2034f
Revert "Quickfix for misterious abstract-class-little-used"
This reverts commit 01bc073111.
2015-11-01 11:19:35 +00:00
Jakub Warmuz
44adeadf1b
Merge remote-tracking branch 'github/letsencrypt/master' into http-01 2015-11-01 11:09:59 +00:00
Jakub Warmuz
1d36a15ab7
Kill simpleHttp in acme 2015-11-01 11:01:22 +00:00
Jakub Warmuz
ea3611afe6
http-01 for standalone 2015-11-01 11:01:22 +00:00
Jakub Warmuz
01bc073111
Quickfix for misterious abstract-class-little-used 2015-11-01 11:01:22 +00:00
Jakub Warmuz
602f0b2dbe
Add http-01 to acme 2015-11-01 11:01:22 +00:00
Jakub Warmuz
d2c5b87b95
Fix documentation for account{,_public}_key docs in acme.challenges.
account_key and account_public_key are JWK, not ComparableKey.
2015-10-31 19:50:10 +00:00
Jakub Warmuz
dc81575527
Factor out _TokenDVChallenge. 2015-10-31 19:50:10 +00:00
Jakub Warmuz
f8185c1913
Add Python 2.6 setup.py classifiers. 2015-10-31 11:47:25 +00:00
bmw
c8999f86a1 Merge pull request #1200 from kuba/bugs/1085
Remove serve_forever2/shutdown2 (reduces probability of #1085).
2015-10-29 18:20:36 -07:00
bmw
971fa153ea Merge pull request #1169 from kuba/acme-example-client
Update ACME example client
2015-10-29 16:27:44 -07:00
bmw
d23a7fd40d Merge pull request #1203 from kuba/offline-unittests2
Offline unittest v2.
2015-10-29 15:45:48 -07:00
Jakub Warmuz
4cc0610679
Remove serve_forever2/shutdown2 (reduces probability of #1085).
I'm not even sure why `serve_forever2` and `shutdown2` were introduced
in the first place... It probably follows from my misconception about
the SocketServer module. After having studied the module again, I come
to the conclusion that we can get rid of my crap, simultanously
reducing probability of #1085 (hopefully down to 0)!

`server_forever` is used throughout tests instead of `handle_request`,
because `shutdown`, following docs, "must be called while
serve_forever() is running in another thread, or it will deadlock",
and our `probe_sni` HTTP request is already enough to kill single
`handle_request`.

We don't need to use any busy waiting block or `sleep` between serve
and shutdown; studying CPython source code leads to the conclusion
that the following construction is non-blocking:

```python
import threading, SocketServer
s = SocketServer.TCPServer(("", 0), None)
t = threading.Thread(target=s.shutdown)
t.start()
s.serve_forever()  # returns immediately
t.join()  # returns immediately
```
2015-10-29 21:02:21 +00:00
Jakub Warmuz
c3fbed1f81
Offline unittest v2.
Supersedes https://github.com/letsencrypt/letsencrypt/pull/1183.
2015-10-29 08:19:54 +00:00
Jakub Warmuz
d5a5224dbd
No newlines in JWK thumbprint (fixes #1165) 2015-10-28 08:20:58 +00:00
Jakub Warmuz
323f9a10a1
Update example ACME client to work with Boulder 2015-10-28 07:27:52 +00:00
Jakub Warmuz
f42515ebe4
Include example ACME client in docs 2015-10-28 07:16:40 +00:00
Jakub Warmuz
e8cfedb34d
Move example ACME client to acme subpkg 2015-10-28 07:10:53 +00:00
Till Maas
e5f06bacbd Add missing newline to standalone README 2015-10-27 20:12:34 +01:00
Jakub Warmuz
cd07d3aa27
MANIFEST: include examples dir for acme 2015-10-24 13:39:38 +00:00
Jakub Warmuz
3202f35a90
Merge remote-tracking branch 'github/letsencrypt/master' into py2.6-3 2015-10-22 05:42:01 +00:00
Jakub Warmuz
ca464c25fb Split JOSE API docs 2015-10-21 17:06:36 -07:00
Jakub Warmuz
5b757bdff2 Split ACME API docs 2015-10-21 17:06:36 -07:00
Jakub Warmuz
fe49889b16 Per subpkg requirements.txt for RTD 2015-10-21 17:06:36 -07:00
Jakub Warmuz
f922b9b694 Split docs into subpkgs (fixes #969) 2015-10-21 17:06:36 -07:00
Jakub Warmuz
946ee63238 docs_extra for subpkgs 2015-10-21 17:06:36 -07:00
Jakub Warmuz
5fe5d69192 Include docs in subpkgs tarballs 2015-10-21 17:06:36 -07:00
Jakub Warmuz
baa6c4aeec gitignores for various doc files 2015-10-21 17:06:36 -07:00
Jakub Warmuz
86f01d1fa9 sphinx: copyright 2014-2015 2015-10-21 17:06:36 -07:00
Jakub Warmuz
dfdb64c505 sphinx: default_role py:obj 2015-10-21 17:06:36 -07:00
Jakub Warmuz
1f0cbda9fc Unify autodoc options 2015-10-21 17:06:36 -07:00
Jakub Warmuz
1a6fc9ce76 RTD theme everywhere! 2015-10-21 17:06:36 -07:00
Jakub Warmuz
607ea59fd3 Add extensions for subpkgs docs 2015-10-21 17:06:35 -07:00
Jakub Warmuz
635008f5e6 Configure intersphinx 2015-10-21 17:06:35 -07:00
Jakub Warmuz
b9868d3c97 sphinx-quickstart for subpkgs
```
sphinx-quickstart --dot _ --project acme-python --author Let's Encrypt Project -v 0 --release 0 --language en --suffix .rst --master index --ext-autodoc --ext-intersphinx --ext-todo --ext-coverage --ext-viewcode --makefile --batchfile acme/docs
sphinx-quickstart --dot _ --project letsencrypt-apache --author Let's Encrypt Project -v 0 --release 0 --language en --suffix .rst --master index --ext-autodoc --ext-intersphinx --ext-todo --ext-coverage --ext-viewcode --makefile --batchfile letsencrypt-apache/docs
sphinx-quickstart --dot _ --project letsencrypt-nginx --author Let's Encrypt Project -v 0 --release 0 --language en --suffix .rst --master index --ext-autodoc --ext-intersphinx --ext-todo --ext-coverage --ext-viewcode --makefile --batchfile letsencrypt-nginx/docs
sphinx-quickstart --dot _ --project letshelp-letsencrypt --author Let's Encrypt Project -v 0 --release 0 --language en --suffix .rst --master index --ext-autodoc --ext-intersphinx --ext-todo --ext-coverage --ext-viewcode --makefile --batchfile letshelp-letsencrypt/docs
sphinx-quickstart --dot _ --project letsencrypt-compatibility-test --author Let's Encrypt Project -v 0 --release 0 --language en --suffix .rst --master index --ext-autodoc --ext-intersphinx --ext-todo --ext-coverage --ext-viewcode --makefile --batchfile letsencrypt-compatibility-test/docs
```
2015-10-21 17:06:35 -07:00
Jakub Warmuz
934301abc6 Fix ACME module description 2015-10-21 17:06:35 -07:00
Jakub Warmuz
e52922b11e
Fix getsockname usage with IPv6 2015-10-20 20:44:18 +00:00
Jakub Warmuz
11495c5820
Better logging for start/stop acme.standalone servers. 2015-10-20 20:16:12 +00:00
Jakub Warmuz
f2792d0fb8
Merge remote-tracking branch 'github/letsencrypt/master' into py2.6-3 2015-10-18 19:31:16 +00:00
Jakub Warmuz
7a9ceaae2e
lint 2015-10-18 12:33:06 +00:00
Jakub Warmuz
4090085b17
Avoid race conditions in acme.standalone_test. 2015-10-18 12:22:54 +00:00
Jakub Warmuz
09fa1153d9
Merge remote-tracking branch 'github/letsencrypt/master' into py2.6-3 2015-10-17 07:28:04 +00:00
Jakub Warmuz
e7809563b1
Address first batch of Seth's review comments. 2015-10-15 17:23:43 +00:00
Jakub Warmuz
244a020b0a
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-14 17:26:35 +00:00
Jacob Hoffman-Andrews
d5fd9986de Add rateLimited error type. 2015-10-14 09:26:59 -07:00
Jakub Warmuz
c4042e6ce8
Busy wait loop for testing serve_forever2
This fixes race conditions, such as those in
https://travis-ci.org/letsencrypt/letsencrypt/jobs/84990239:

+ nosetests -c /dev/null --with-cover --cover-tests --cover-package acme --cover-min-percentage=100 acme
.......................................................................................................................................................................................................................................................................................................................................................Exception in thread Thread-5:
Traceback (most recent call last):
  File "/opt/python/2.7.9/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/opt/python/2.7.9/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/python/2.7.9/lib/python2.7/SocketServer.py", line 271, in handle_request
    timeout = self.socket.gettimeout()
  File "/opt/python/2.7.9/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
  File "/opt/python/2.7.9/lib/python2.7/socket.py", line 170, in _dummy
    raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor
.127.0.0.1 - - [12/Oct/2015 20:08:23] "GET /foo HTTP/1.1" 404 -
.127.0.0.1 - - [12/Oct/2015 20:08:23] "GET / HTTP/1.1" 200 -
.127.0.0.1 - - [12/Oct/2015 20:08:23] "GET /.well-known/acme-challenge/eHh4eHh4eHh4eHh4eHh4eA HTTP/1.1" 200 -
.....
Name                           Stmts   Miss  Cover   Missing
------------------------------------------------------------
acme.py                            0      0   100%
acme/challenges.py               215      0   100%
acme/challenges_test.py          366      0   100%
acme/client.py                   215      0   100%
acme/client_test.py              308      0   100%
acme/crypto_util.py               92      0   100%
acme/crypto_util_test.py          53      0   100%
acme/errors.py                    19      0   100%
acme/errors_test.py               18      0   100%
acme/fields.py                    32      0   100%
acme/fields_test.py               41      0   100%
acme/jose.py                       8      0   100%
acme/jose/b64.py                  15      0   100%
acme/jose/b64_test.py             38      0   100%
acme/jose/errors.py               12      0   100%
acme/jose/errors_test.py           8      0   100%
acme/jose/interfaces.py           39      0   100%
acme/jose/interfaces_test.py      73      0   100%
acme/jose/json_util.py           170      0   100%
acme/jose/json_util_test.py      214      0   100%
acme/jose/jwa.py                 105      0   100%
acme/jose/jwa_test.py             58      0   100%
acme/jose/jwk.py                 114      0   100%
acme/jose/jwk_test.py             96      0   100%
acme/jose/jws.py                 205      0   100%
acme/jose/jws_test.py            145      0   100%
acme/jose/util.py                114      0   100%
acme/jose/util_test.py           126      0   100%
acme/jws.py                       17      0   100%
acme/jws_test.py                  27      0   100%
acme/messages.py                 184      0   100%
acme/messages_test.py            198      0   100%
acme/other.py                     21      0   100%
acme/other_test.py                48      0   100%
acme/standalone.py               102      1    99%   58
acme/standalone_test.py          109      0   100%
acme/test_util.py                 28      0   100%
acme/util.py                       3      0   100%
acme/util_test.py                  7      0   100%
------------------------------------------------------------
TOTAL                           3643      1    99%
nose.plugins.cover: ERROR: TOTAL Coverage did not reach minimum required: 100%
2015-10-13 07:09:28 +00:00
Jakub Warmuz
73ae361559
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-12 19:36:46 +00:00
Jakub Warmuz
a1a6120abf
Add py3 trove classifiers for acme 2015-10-11 16:03:32 +00:00
Jakub Warmuz
7a153ebf50
Revert "Release 0.0.0.dev20151008"
This reverts commit 9e1477faa4.
2015-10-11 07:05:35 +00:00
bmw
013d5d2ea9 Merge pull request #929 from kuba/bugs/928
Fix #928 test_json_dumps_pretty py3 compat.
2015-10-09 15:38:29 -07:00
Jakub Warmuz
304414a214
Remove SimpleHTTP TLS from acme. 2015-10-08 21:10:12 +00:00
Jakub Warmuz
6dfb75b96f
Fix #928 test_json_dumps_pretty py3 compat. 2015-10-08 20:32:25 +00:00
Jakub Warmuz
9e1477faa4
Release 0.0.0.dev20151008 2015-10-08 19:28:55 +00:00
Jakub Warmuz
f0214ddf9a
Merge commit 'a2c41ca7f539303cb413ba3e73d3669633063150' into standalone2 2015-10-07 19:07:44 +00:00
Jakub Warmuz
f0c11152d2
ACMEServerMixin.__init__ 2015-10-07 19:00:47 +00:00
Jakub Warmuz
c6ebfae15e
Unify quotes 2015-10-06 21:11:52 +00:00
Jakub Warmuz
3dac62f20e
json_dumps_pretty: prettier separators. 2015-10-06 21:11:52 +00:00
Jakub Warmuz
7e1b7ff7ae
Add naive JWK Thumbprint implementation 2015-10-06 21:05:43 +00:00
Jakub Warmuz
c3e28fa909
Merge remote-tracking branch 'github/letsencrypt/master' into mock-2.6 2015-10-05 19:31:05 +00:00
Jakub Warmuz
ea45fc6504
TestSimpleServer: don't rely on symlinks 2015-10-04 19:15:05 +00:00
Jakub Warmuz
df04938f6a
Standalone 2.0: add detection for unsupported SimpleHTTP TLS platform. 2015-10-04 19:14:58 +00:00
Jakub Warmuz
517a74f432
standalone 2.0: lint, docs, cleanup. 2015-10-04 17:21:35 +00:00
Jakub Warmuz
22b1514f51
server_forever2/shutdown2 2015-10-04 12:14:10 +00:00
Jakub Warmuz
560d12a40c
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-04 10:24:47 +00:00
Jakub Warmuz
7644613171
Update Copyright notice in subpackages LICENSE.
This corresponds to changes in #871.
2015-10-04 10:10:41 +00:00
Jakub Warmuz
4ef7a6e63f
Merge remote-tracking branch 'github/letsencrypt/master' into release 2015-10-04 10:08:38 +00:00
Jakub Warmuz
3f08932479
Merge remote-tracking branch 'github/letsencrypt/master' into mock-2.6 2015-10-04 08:41:01 +00:00
Jakub Warmuz
0ffef20a20
UnrecognizedChallenge: fix tests and lint. 2015-09-29 07:02:33 +00:00
Jakub Warmuz
ad1fce03f7
UnrecognizedChallenge (fixes #855).
Overrides quick fix from #856.
2015-09-29 06:47:15 +00:00
James Kasten
5238f53092 DVChallenge -> Challenge 2015-09-28 16:03:03 -07:00
James Kasten
67ec4d09ee Put in dummy challenge 2015-09-28 15:53:42 -07:00
James Kasten
fa992faf52 Fix pylint and add test 2015-09-28 15:24:51 -07:00
Richard Barnes
ab98d5c39f Ignore unknown challenge types 2015-09-28 17:14:33 -04:00
Jakub Warmuz
5d8e9a3d68
Fix various doc generation issues 2015-09-27 21:07:40 +00:00
Jakub Warmuz
d621df3320
Make zipsafe 2015-09-27 11:10:34 +00:00
Jakub Warmuz
45a0cd2799
Fix include_package_data. 2015-09-27 08:11:40 +00:00
Jakub Warmuz
9883f8965d
Add dummy README.rst files 2015-09-27 06:23:13 +00:00
Jakub Warmuz
033ed589cc
Development Status :: 3 - Alpha 2015-09-27 06:23:13 +00:00
Jakub Warmuz
b6819ad05b
Add general classifiers to all setup.py scripts. 2015-09-27 06:23:13 +00:00
Jakub Warmuz
b5036e36ad
Unify setup.py: description/url/author/author_email. 2015-09-27 06:23:12 +00:00
Jakub Warmuz
20131de9fb
Add licences to all subpackages. 2015-09-27 06:23:12 +00:00
Jakub Warmuz
746016be6c
Sync version strings to 0.1.0.dev0, pin same repo deps. 2015-09-27 06:23:12 +00:00
Jakub Warmuz
daa459f277
Add acme.standalone 2015-09-26 16:50:59 +00:00
Jakub Warmuz
1b24fdae84
acme: challenges helpers 2015-09-26 16:50:59 +00:00
Jakub Warmuz
d73b600eeb
acme: _serve_sni -> SSLSocket 2015-09-26 16:50:59 +00:00
Jakub Warmuz
08c0c4aeba
Explicit dependency on setuptools (pkg_resources). 2015-09-26 10:52:28 +00:00
Peter Eckersley
bde5a1fe17 Merge branch 'treat_duplicate_as_renewal' into kuba_chain 2015-09-15 17:51:58 -07:00
bmw
a150828a79 Merge pull request #753 from kuba/dns-v4
acme: v4 DNS challenge
2015-09-14 16:21:38 -04:00
Jakub Warmuz
33c2aed021
Merge remote-tracking branch 'github/letsencrypt/master' into lint 2015-09-11 07:15:10 +00:00
Jakub Warmuz
b3ade6abe4
Revert "Revocation: expect application/json (boulder#771)."
This reverts commit 39aff967a5.
2015-09-10 20:43:20 +00:00
Jakub Warmuz
39aff967a5
Revocation: expect application/json (boulder#771). 2015-09-10 20:17:13 +00:00
Jakub Warmuz
cc607480ae
acme: fetch_chain for multiple up links 2015-09-10 20:12:32 +00:00
Jakub Warmuz
94fa851b01
Merge branch 'acme-directory' into revocation 2015-09-09 20:45:57 +00:00
Jakub Warmuz
817ab468d1
py3 compat: str(exc) instead of exc.message 2015-09-09 20:21:33 +00:00
Jakub Warmuz
302e3ceb7d
Revocation: integration testable 2015-09-09 20:04:28 +00:00
Jakub Warmuz
bf754b6302
Add ACME Directory Resource 2015-09-09 17:22:20 +00:00
James Kasten
d7b1af2a31 Merge pull request #750 from hlieberman/fix-spelling
Fix minor spelling errors in the code.
2015-09-09 00:00:03 -04:00
James Kasten
01b1172df2 Merge pull request #751 from hlieberman/urllib3-injection
Make urllib3 injection more version specific.
2015-09-08 23:55:42 -04:00
James Kasten
b0085cd47b Merge pull request #704 from kuba/py3
Bring back Python 3 support for acme
2015-09-08 23:54:23 -04:00
Harlan Lieberman-Berg
10460eb285 Add no cover pragma, URL for documentation. 2015-09-06 13:58:50 -04:00
Jakub Warmuz
dbf5d086bd
v4 DNS challenge 2015-09-06 11:47:56 +00:00
Jakub Warmuz
89c99a1f34
pep8 acme 2015-09-06 09:19:26 +00:00
Jakub Warmuz
138f1d1b28
lint: space check for dict-separator 2015-09-06 08:30:49 +00:00
Harlan Lieberman-Berg
503afebd54 Make urllib3 injection more version specific. 2015-09-05 22:47:25 -04:00
Harlan Lieberman-Berg
dc4cc23377 Fix minor spelling errors in the code. 2015-09-05 22:35:34 -04:00
Jakub Warmuz
8163e055a1
Disable test_probe_connection_error (problems with Python 3). 2015-09-02 18:50:59 +00:00
Jakub Warmuz
c6e4c7dea1
setup.py: update/fix deps. 2015-09-01 19:57:41 +00:00
Jakub Warmuz
a74eff5fbd
Revert "Revert PR #708."
This reverts commit 70e311b43f.
2015-08-28 06:40:19 +00:00
Jacob Hoffman-Andrews
70e311b43f Revert PR #708.
https://github.com/letsencrypt/letsencrypt/pull/708 broke the Boulder CI build
because Travis runs Ubuntu 12.04, which has an older setuptools. See
https://github.com/letsencrypt/boulder/issues/681.
2015-08-27 13:38:32 -07:00
James Kasten
091af07c1c Merge pull request #706 from kuba/uri-shift
Shift URIs around (acme-spec#134, fixes #576).
2015-08-27 13:53:50 -04:00
Jakub Warmuz
fc4990cf16
Fix typo 2015-08-26 21:05:08 +00:00
Jakub Warmuz
217b40379f
Merge branch 'master' into mock-2.6 2015-08-25 06:36:56 +00:00
Jakub Warmuz
5154cc92d6
Merge branch 'master' into uri-shift 2015-08-25 06:36:42 +00:00
Jakub Warmuz
7f6d4c5f84
Merge branch 'master' into py3 2015-08-25 06:35:35 +00:00
James Kasten
48467a1b38 Merge pull request #707 from kuba/log-http-req-params
Log HTTP request params (including contents).
2015-08-24 17:10:00 -04:00
James Kasten
8a6dfb1516 Merge pull request #703 from kuba/docs
Fix various Sphinx warnings, errors
2015-08-24 17:08:53 -04:00
Jakub Warmuz
089528ed2a
Fix ambiguous cross-references in docs 2015-08-22 14:37:32 +00:00
Jakub Warmuz
e9c79edb19
Fix various Sphinx build problems 2015-08-22 14:30:59 +00:00
Jakub Warmuz
60aa1b2ecb
Log HTTP request params (including contents). 2015-08-22 12:36:52 +00:00
Jakub Warmuz
79853fa098
Shift URIs around (acme-spec#134, fixes #576). 2015-08-22 12:20:38 +00:00
Jakub Warmuz
a7df468347
mock<1.1.0 only for py2.6. 2015-08-22 11:01:28 +00:00
Harlan Lieberman-Berg
bc530e457e Fix minor misspelling error. 2015-08-22 02:51:24 +02:00
Jakub Warmuz
4d30ec07fb
Update test name to match acme v04 semantics. 2015-08-19 20:38:03 +00:00
Jakub Warmuz
504b290726
Fix py3 compat in acme. 2015-08-19 20:35:30 +00:00
Brad Warren
0aaf9f2be7 Updated tests to update challenge changes 2015-08-13 18:41:49 -07:00
Brad Warren
14c150ae17 Fixed unit tests and lint 2015-08-05 15:39:31 -07:00
Jakub Warmuz
eacf658003
py3 compat 2015-07-31 22:45:48 +00:00
Jakub Warmuz
68d34391dd
Fix test_good_token 2015-07-31 22:15:56 +00:00
Jakub Warmuz
57110f4c18
acme: simplehttp v04 2015-07-31 21:30:08 +00:00
Jakub Warmuz
ceed8a71c1
DeserializationError: more meaningful message 2015-07-31 21:19:07 +00:00
Jakub Warmuz
ca5823ffd8
acme: progress with v03 Simple HTTP challenge. 2015-07-29 20:58:54 +00:00
Jakub Warmuz
a55991055e
Human meaningful exception message for decoding fields with minimum length. 2015-07-25 18:17:53 +00:00
Jakub Warmuz
de3b48640b
Doc fixes. 2015-07-25 15:48:14 +00:00
Jakub Warmuz
e0651ad050
Remove Recovery Token. 2015-07-25 12:00:04 +00:00
Brad Warren
83ad476a6d Improved logging and error handling 2015-07-23 17:09:09 -07:00
Brad Warren
c927f0c89a Finished basic Apache test framework 2015-07-22 18:25:09 -07:00
Jakub Warmuz
2028c3a454
Remove obsolete comment. 2015-07-19 12:59:10 +00:00
Jakub Warmuz
00298173a2
Merge branch 'dvsni-verify' into dvsni-v03
Conflicts:
	acme/acme/challenges.py
	acme/acme/challenges_test.py
	letsencrypt/achallenges.py
	letsencrypt/crypto_util.py
	letsencrypt/plugins/common.py
	letsencrypt/tests/achallenges_test.py
2015-07-18 17:58:22 +00:00
Jakub Warmuz
61e19c9882
DVSNIResponse.gen_cert, fix verify_cert, add tests. 2015-07-18 12:54:33 +00:00
Jakub Warmuz
f3538cd114
Add comment about _DEFAULT_DVSNI_SSL_METHOD. 2015-07-18 07:33:46 +00:00
Jakub Warmuz
33d7f205fa
Merge remote-tracking branch 'github/letsencrypt/master' into dvsni-verify
Conflicts:
	acme/acme/challenges.py
2015-07-18 06:51:26 +00:00
Jakub Warmuz
fcc470d0a2
Fix "reg vs new-reg" encoding problem. 2015-07-17 14:59:32 +00:00
Jakub Warmuz
d618a66c2e
Remove old protocol ChallengeResponse code. 2015-07-17 14:59:32 +00:00
Jakub Warmuz
b943fab35a
Require argparse only in Python 2.6.
Fixes packaging issues.
2015-07-15 15:38:30 +00:00
Jakub Warmuz
d7d98d79ce
please pylint 2015-07-13 20:24:16 +00:00
Jakub Warmuz
bfe6adf215
py3 compat 2015-07-13 20:19:32 +00:00
Jakub Warmuz
deacfc8a74
Merge remote-tracking branch 'github/letsencrypt/master' into dvsni-verify 2015-07-13 19:27:13 +00:00
Jakub Warmuz
c546dddd7f
Add DVSNIResponse.verify_cert. 2015-07-13 19:26:26 +00:00
Jakub Warmuz
9f31976928
Add acme.crypto_util._serve_sni and ServeProbeSNITest. 2015-07-13 19:26:25 +00:00
Jakub Warmuz
c2a8195f19
Move _pyopenssl_cert_or_req_san to acme. 2015-07-13 11:02:27 +00:00
Jakub Warmuz
ccc6a3212b
Simple DVSNI verification 2015-07-12 19:11:55 +00:00
Jakub Warmuz
1bb6763595
acme: Update DVSNI to v03. 2015-07-12 17:23:37 +00:00
Jakub Warmuz
5859e87ced
b64encode: no support for bytearray (py2.6 problems) 2015-07-12 15:20:25 +00:00
Jakub Warmuz
c0ba26776a
Support for py3.3+ in acme 2015-07-12 11:53:18 +00:00
Jakub Warmuz
a876a664df
Add py3 tox tests for acme.jose 2015-07-12 11:37:56 +00:00
Jakub Warmuz
802b9d4a43
Support for py3.3+ in acme.jose. 2015-07-12 11:37:56 +00:00
Jakub Warmuz
b9df69af9f
Basic dev/test setup for separate package subdirectories. 2015-07-10 16:38:42 +00:00
Jakub Warmuz
2f9cd68807
Move acme and plugins to respective subdirectories.
for x in acme letsencrypt_nginx letsencrypt_apache; do git mv $x _$x; mkdir $x; git mv _$x $x/$x; done
2015-07-10 16:18:15 +00:00
Jakub Warmuz
b0c72410ba
Unified vector loading in letsencrypt. 2015-07-10 15:49:18 +00:00
Jakub Warmuz
0e474436c4
Unified vector loading in acme. 2015-07-10 15:16:58 +00:00
Jakub Warmuz
19c73249ca
Sort vectors: acme/testdata, separate acme and letsencrypt. 2015-07-10 15:16:48 +00:00
James Kasten
cb3863b5fd Merge pull request #593 from kuba/account-resource-json
Rewrite accounts and registration
2015-07-10 00:37:17 -07:00
Jakub Warmuz
15f443dced
assert_called_once -> assertEqual(1, *.call_count) 2015-07-10 06:42:02 +00:00
Jakub Warmuz
517c9bd736
Fix new-regr -> new-reg typo 2015-07-09 19:04:41 +00:00
Jakub Warmuz
35c21d4cf4
Enforce "resource" field in request objects.
Corresponds to:
- https://github.com/letsencrypt/boulder/pull/442
- https://github.com/letsencrypt/acme-spec/pull/156
2015-07-09 13:37:25 +00:00
Jakub Warmuz
1bc9e7cb64
Registration: drop singular email/phone 2015-07-09 06:53:06 +00:00
Jakub Warmuz
0d087788da
Accept new_reg in acme.client.Client.register. 2015-07-08 19:23:12 +00:00
Jakub Warmuz
7470bc8db6
RegistrationResource: return any phone/email from phones/emails or None. 2015-07-08 19:23:06 +00:00
Jakub Warmuz
36eafde213
Use ComparableRSAKey autowrap throughout the code base. 2015-07-08 12:07:05 +00:00
Jakub Warmuz
a7817de4ab
Rewrite JWK.load, JWKRSA autowraps ComparableRSAKey. 2015-07-08 12:00:16 +00:00
Jakub Warmuz
90b27ff9cf
ComparableX509Test for cert and CSR 2015-07-07 17:00:08 +00:00
Jakub Warmuz
9ab40444b6
More Python data model fixes for acme. 2015-07-07 08:15:33 +00:00
Jakub Warmuz
20a08b50f2
ComparableX509 and ComparableX509Req: __eq__, __ne__, __hash__ data model fixes. 2015-07-07 08:05:41 +00:00
Jakub Warmuz
9197fa6b5c
acme: M2Crypto -> pyOpenSSL 2015-07-06 12:18:17 +00:00
Jakub Warmuz
e0293d81f3
acme: drop PyCrypto and use cryptography instead.
- Use cryptography in acme.jose.jwa/jwk.
- Change Crypto.Random to os.urandom,
  c.f. https://cryptography.io/en/latest/random-numbers/?highlight=urandom
2015-07-05 20:36:20 +00:00
Jakub Warmuz
4407210e01
Fix --no-verify-ssl in HEAD, refactor acme.client_tests.
Fix #521 by introducing MissingNonceError, which by shows response
headers when printed to STDOUT. More sensible solution (a'la #523) is
blocked by boulder#417 (HTTP 405 response for HEAD).

Split out ClientNetworkWithMockedResponseTest from ClientNetworkTest,
which improves readability and makes it easier to test (less mocks).
2015-07-03 09:46:30 +00:00
Jakub Warmuz
2b32b94c0b
acme.client.ClientNetwork 2015-07-03 09:46:24 +00:00
James Kasten
e140eca4f3 Merge pull request #570 from kuba/simplehttp
SimpleHTTP fixes
2015-07-02 09:19:21 -07:00
Jakub Warmuz
2ec451d00b
IConfig.simple_http_port (fixes #542). 2015-06-29 07:58:36 +00:00
Jakub Warmuz
29e56d442f
Fix line-too-long 2015-06-29 07:56:22 +00:00
Jakub Warmuz
ce32de023d
Move simple_http_simple_verify to SimpleHTTPResponse.simple_verify. 2015-06-29 07:56:21 +00:00
Jakub Warmuz
36752a3dab
simpleHttp needs text/plain or absent. 2015-06-29 07:53:28 +00:00
Jakub Warmuz
a0acf7c703
acme.verify.simple_http_simple_verify 2015-06-29 07:50:31 +00:00
Jakub Warmuz
cfbd33809e
Remove acme.util 2015-06-28 09:27:17 +00:00
Jakub Warmuz
4ce4e2f930
logger = logging.getLogger(__name__) 2015-06-25 19:55:22 +00:00
Seth Schoen
d4bdba9726 Merge branch 'acme-spec-158' of https://github.com/kuba/lets-encrypt-preview
Resolved conflict in errors.py (LetsEncryptContAuthError renamed
to ContAuthError)

Conflicts:
	letsencrypt/errors.py
2015-06-23 15:55:13 -07:00
Jakub Warmuz
4fb1685b55
Update error codes, add "error" field to ChallengeBody (acme-spec#158). 2015-06-23 17:57:11 +00:00
Jakub Warmuz
57f67c4109
Rewrap after errors rename, doc fixes. 2015-06-22 22:43:42 +00:00
James Kasten
655331c9cf Merge pull request #532 from kuba/logging-without-cli
Logging improvements (without touching CLI)
2015-06-22 18:32:47 -04:00
Jakub Warmuz
8e39a3a0ef
Collate multi-line logs, use logging.exception, other fixes. 2015-06-22 22:05:27 +00:00
Jakub Warmuz
28f5c7d666
logs: collate omitted empty fields 2015-06-22 22:05:27 +00:00
Jakub Warmuz
e17bd684bb
Debug log received response for GET/POST 2015-06-22 22:05:27 +00:00
Jakub Warmuz
b6ef25e911
Fix review comments (typo, inheritance fix). 2015-06-22 22:02:43 +00:00
Jakub Warmuz
bff89936af
Merge remote-tracking branch 'github/letsencrypt/master' into acme-resource-json
Conflicts:
	acme/messages_test.py
2015-06-22 21:03:57 +00:00
Jakub Warmuz
e0a1e8f4e8
JSONDeSerializable acme.messages.Resource.
Provides API necessary to implement JSON-based account storage as
described at
https://github.com/letsencrypt/lets-encrypt-preview/pull/362#issuecomment-97946817
2015-06-22 20:41:45 +00:00
Jakub Warmuz
d970987b79
Fix comment typo 2015-06-22 20:30:17 +00:00
Jakub Warmuz
52d6e9b674
acme-spec#118 revoke. 2015-06-22 20:26:52 +00:00
Jakub Warmuz
1720864b44
acme.client: locally disable too-many-instance-attributes. 2015-06-22 19:55:47 +00:00
Jakub Warmuz
b4d63cbbb3
Move letsencrypt.network to acme.client. 2015-06-22 04:52:08 +00:00
Jakub Warmuz
a278d53f52
Rename messages2 to messages. 2015-06-22 04:52:08 +00:00
Jakub Warmuz
aa6faadb5c
Add ChallangeResponseTest 2015-06-22 04:52:08 +00:00
Jakub Warmuz
c208e810ee
Remove old messages schemata. 2015-06-22 04:52:07 +00:00
Jakub Warmuz
c5d4f91bf7
Remove old messages and network 2015-06-22 04:52:07 +00:00
Jakub Warmuz
8afc26a736
Fix typo 2015-06-19 04:10:51 +00:00
Jakub Warmuz
896d2be1db
SimpleHTTP.tls -> SimpleHTTPResponse.tls bug, MAX_PATH_LEN, good_path, scheme 2015-06-14 17:32:25 +00:00
Jakub Warmuz
d53120f25f
Fix SimpleHTTP tests and omitempty bug. 2015-06-12 09:21:30 +00:00
Jakub Warmuz
bc9373929a
Add SimpleHTTP.tls 2015-06-12 08:23:43 +00:00
Jakub Warmuz
7f5abba83e
Rename SimpleHTTPS to SimpleHTTP. 2015-06-12 08:23:32 +00:00
Jakub Warmuz
fd39479810
Add an anti-replay nonce facility (fixes: #488). 2015-06-11 12:21:26 +00:00
Seth Schoen
58156a29d3 Fix typos 2015-05-19 17:06:06 -07:00
Jakub Warmuz
ac0868b6de
acme.messages2.Error title is omitempty 2015-05-19 20:13:55 +00:00
Jakub Warmuz
cd6b9bc9c7
Fix coverage for acme.messages2.Error 2015-05-19 20:09:11 +00:00
Jakub Warmuz
0018bc0500
Error: typ/title no omitempty 2015-05-19 19:50:00 +00:00
Jakub Warmuz
41115bfc77
Spec and Boulder compatibility fixes.
Relevant acme-spec:
- https://github.com/letsencrypt/acme-spec/issues/127
- https://github.com/letsencrypt/acme-spec/pull/119
- https://github.com/letsencrypt/acme-spec/issues/98
- https://github.com/letsencrypt/acme-spec/issues/92

Relevant boulder:
- https://github.com/letsencrypt/boulder/pull/170
- https://github.com/letsencrypt/boulder/issues/128
2015-05-19 19:42:53 +00:00
Jakub Warmuz
c7aff67132
Merge branch 'bugs/402' into pkgs_sep_prep 2015-05-10 19:18:27 +00:00
Jakub Warmuz
b4c747a283
Merge branch 'bugs/402' into pkgs_sep_prep
Conflicts:
	letsencrypt/tests/client_test.py
	tox.ini
2015-05-10 17:56:41 +00:00
Jakub Warmuz
41e86df252
Move letsencrypt.client to letsencrypt 2015-05-10 12:32:05 +00:00
Jakub Warmuz
3a6bd7123d
Move acme to top-level 2015-05-10 12:26:17 +00:00