Commit Graph
100 Commits
Author SHA1 Message Date
Jacob Hoffman-AndrewsandBrad Warren 3608abb01a Remove unnecessary account ID match check. (#7416)
* Remove unnecessary account ID match check.

Right now the Account object calculates an ID using md5. This is
unnecessary and causes problems on FIPS systems that forbid md5. It's
just as good to pick a random series of bytes for the ID, since the ID
gets read out of renewal/foo.conf.

However, if we switched the algorithm right now, we could wind up
breaking forward compatibility / downgradeability, since older versions
would run into this check.

Removing this check now lays the ground to change the ID-calculation
algorithm in the future.

Related to #1948 and
https://github.com/certbot/certbot/pull/1013#issuecomment-149983479.

* Remove test.

* Remove unused import.
2019-10-02 14:44:25 -07:00
Jacob Hoffman-AndrewsandBrad Warren 7527a6c959 Remove "beta" label from Apache plugin. (#6537) 2018-11-28 19:01:05 -08:00
Jacob Hoffman-AndrewsandGitHub 8f7209de14 Silence spammy integration test cases. (#5934) 2018-09-12 16:35:43 -07:00
Jacob Hoffman-AndrewsandBrad Warren 0672e63176 Remove main components from Alpha. (#6187)
acme, certbot, and the Nginx and Apache plugins should no longer be considered alpha-quality.
2018-07-10 13:52:58 -07:00
Jacob Hoffman-AndrewsandGitHub a03c68fc83 Clean up boulder-fetch a bit. (#6032)
The value for FAKE_DNS is now always the same because Boulder's
docker-compose hardcodes it, so skip some sed.

Set a time limit on how long we'll wait for boulder to come up.
2018-05-24 10:53:21 -07:00
Jacob Hoffman-AndrewsandBrad Warren 4304ff0d62 Bring up just the boulder container. (#6031)
Boulder recently added a "netaccess" container which may conflict.
2018-05-23 11:33:21 -07:00
Jacob Hoffman-Andrewsandsydneyli bf30226c69 Restore parallel waiting to Route53 plugin (#5712)
* Bring back parallel updates to route53.

* Re-add try

* Fix TTL.

* Remove unnecessary wait.

* Add pylint exceptions.

* Add dummy perform.

* review.feedback

* Fix underscore.

* Fix lint.
2018-04-25 15:09:50 -07:00
Jacob Hoffman-AndrewsandBrad Warren e48898a8c8 ACMEv2: Add Order support
This adds two new classes in messages: Order and OrderResource. It also adds methods to ClientV2 to create orders, and poll orders then request issuance.

The CSR is stored on the OrderResource so it can be carried along and submitted when it's time to finalize the order.
2018-02-15 19:12:15 -08:00
Jacob Hoffman-AndrewsandBrad Warren 789be8f9bc Change "Attempting to parse" warning to info. (#5557)
* Change "Attempting to parse" warning to info.

This message shows up on every renewal run when the config was updated
by a newer version of Certbot than the one being run. For instance, if a
user has the certbot packages installed from PPA (currently 0.18.2), but
runs certbot-auto once to try out the latest version (0.21.1), they will
start getting this message via email every 12 hours.
2018-02-12 14:55:41 -08:00
Jacob Hoffman-AndrewsandBrad Warren 530a9590e6 Add sudo to certbot-auto instructions. (#5501) 2018-02-07 14:08:03 -08:00
Jacob Hoffman-AndrewsandBrad Warren 9baf75d6c8 client.py changes for ACMEv2 (#5287)
* Implement ACMEv2 signing of POST bodies.

* Add account, and make acme_version explicit.

* Remove separate NewAccount.

* Rename to add v2.

* Add terms_of_service_agreed.

* Split out wrap_in_jws_v2 test.

* Re-add too-many-public-methods.

* Split Client into ClientBase / Client / ClientV2

* Use camelCase for newAccount.

* Make acme_version optional parameter on .post().

This allows us to instantiate a ClientNetwork before knowing the version.

* Add kid unconditionally.
2018-02-06 16:45:33 -08:00
Jacob Hoffman-Andrews 72b63ca5ac Use "certificate" instead of "cert" in docs. 2018-02-01 13:14:43 -08:00
Jacob Hoffman-AndrewsandBrad Warren 0a4f926b16 Remove Default Detector log line. (#5372)
This produces a super-long log line that wraps to 30-60 lines, depending on
screen width. Even though it's just at debug level, it clutters up the integration
test output without providing proportional debugging value.

* Remove Default Detector log line.

This produces about 30 lines of log output. Even though it's just at debug
level, it clutters up the integration test output without providing proportional
debugging value.

* Add more useful logs.
2018-01-24 15:01:42 -08:00
Jacob Hoffman-AndrewsandBrad Warren 8c4f016b2d In ACMEv2, challenges have "url" instead of "uri". To handle this smoothly, Challenge's uri field becomes private (_uri), and is joined by _url. Serialization and deserialization will preserve whichever one was set. The uri name is taken over by an @property that returns whichever of the two is set. I chose not to enforce that they shouldn't both be present because it would just add unnecessary code and brittleness with no stability benefit.
* Make url a virtual field.

* Add @property annotation.
2017-12-04 20:51:19 -08:00
Jacob Hoffman-AndrewsandBrad Warren 73ba9af442 Don't echo Boulder logs on failure. (#5290)
The extensive logs made it hard to spot the actual failure.
2017-12-04 11:20:53 -08:00
Jacob Hoffman-AndrewsandGitHub 7319cc975a Quiet pip install output. (#5288)
pip install generates a lot of lines of output that make it harder to see what
tox is running in general. This adds the -q flag to pip install.

At the same time, add `set -x` in install_and_test.sh and pip_install.sh so they
echo the commands they are running. This makes it a little clearer what's going
on in tests.

I didn't put `set -x` at the top or in the shebang, because moving it lower lets
us avoid echoing some of the messy if/then setup statements in these scripts,
which focussed attention on the pip install command.
2017-12-01 23:40:09 -08:00
Jacob Hoffman-AndrewsandGitHub 8ce6ee5f3e Remove all but one BOULDER_INTEGRATION, and macOS (#5270)
These tests are retained in the test-everything branch, which has a Travis cron
job to run nightly.

Removing these speeds up the Certbot Travis builds dramatically for two reasons:
 - The Boulder integration tests are slow (10-12 minutes), and it's exceedingly
   rare for them to fail on one Python environment but not another.
 - The macOS tests take a very long time to run, because they need to wait for
   build slots on the limited number of macOS instances, which are often in high
   demand.
2017-12-01 16:10:16 -08:00
Jacob Hoffman-AndrewsandBrad Warren 8fd1d0d19e Small Travis cleanups (#5273)
* Test with no hosts.

* Simplify build matrix.

* Remove after_failure.
2017-11-28 18:22:01 -08:00
Jacob Hoffman-AndrewsandGitHub a6cecd784b [#4535] - Unwrap 'max retries exceeded' errors (#4733)
Fixes #4535 

Extracts the relevant fields using a regex. We considered catching
specific exception types, and referencing their fields, but the types
raised by `requests` are not well documented and may not be long
term stable. If the regex fails to match, for instance due to a change
in the exception message, the new exception message will just be
passed through.
2017-10-19 14:16:59 -07:00
Jacob Hoffman-AndrewsandBrad Warren b3004fe6cf Handle critical SAN extension. (#4931)
* Handle critical SAN extension.

* Add testdata/critical-san.pem.
2017-07-18 15:57:00 -07:00
Jacob Hoffman-AndrewsandBrad Warren d327c1c28f Tweak non-root error message. (#4944)
For most people, the right answer will be "run as root," so we should emphasize
that over the "how to run as non-root" instructions.
2017-07-18 12:47:10 -07:00
Jacob Hoffman-AndrewsandBrad Warren cd34c4272d Improve text of manual plugin. (#4810) 2017-06-09 10:09:45 -07:00
Jacob Hoffman-AndrewsandBrad Warren 76ecb7035f Remove "alpha" and "beta" qualifiers from docs. (#4808) 2017-06-09 08:35:04 -07:00
Jacob Hoffman-Andrewsandohemorange 10bac107ee Add an account deactivate utility script. (#4254)
* Add an account deactivate utility script.

This is handy if you created an account with a tool other than Certbot, and want
to deactivate the account.

* Move deactivate.py to tools.

* Add test for ConflictError.

* Fix lint error.

* Document how to set server.
2017-05-17 14:24:59 -07:00
Jacob Hoffman-AndrewsandBrad Warren 686f5d6c81 Move 'jwk' and 'alg' fields to protected header. (#4677)
* Move 'jwk' and 'alg' fields to protected header.

Previously, these were in the unprotected JWS header, which Boulder currently
allows. However, the next version of the spec doesn't allow anything in the
unprotected header. Moving these fields now allows server implementers who are
implementing the Certbot/Boulder version of ACME
(https://github.com/letsencrypt/boulder/blob/master/docs/acme-divergences.md) to
use JOSE libraries that don't support unprotected headers.

Fixes #4417.

* Only protect existing headers.
2017-05-17 13:46:52 -07:00
Jacob Hoffman-AndrewsandBrad Warren b3116af5b4 Add url and kid to jws. (#4340)
* Add url and kid to jws.

This will be required in order to implement the latest ACME spec, which uses
these protected header fields.

* Add comments and fix lint.

* Enforce mutual exclusivity of jwk and kid.
2017-04-21 18:49:57 -07:00
Jacob Hoffman-AndrewsandBrad Warren d54cb3c59d Improve Account.repr() (#4325)
* Include more detail in Account's repr.

In particular, regr and meta.

* Fix test.

* Review feedback.

* Lint

* Test prefix only.
2017-04-18 17:09:22 -07:00
Jacob Hoffman-Andrews a08e9599f5 Review feedback. 2017-04-07 10:15:52 -07:00
Jacob Hoffman-AndrewsandBrad Warren d557c39c99 Remove obsolete fields from Registration. (#4339)
Authorizations and certificates were in the original spec but have since been
deleted.
2017-04-07 09:52:12 -07:00
Jacob Hoffman-AndrewsandBrad Warren cacee80c51 Move make_csr into acme.crypto_util (#4165)
It's relatively finicky to make a CSR appropriate to pass to poll_and_request_issuance. I think most users want to be able to give a list of domains and a private key, and get back a CSR. This branch adds that functionality to crypto_util.

Note that the two new functions take arguments, and return values, as PEM-encoded buffers. This is a departure from some existing ACME interfaces that take PyOpenSSL types. I've discussed with the Certbot team, and we agree that this is broadly the direction the ACME API should take, so that users of the module don't need to import PyOpenSSL themselves, or use its primitives.

* Add make_csr.

* accept privkey

* Tweak API.

* Remove make_csr from certbot package.

* Skip test in older Pythons.

* Move get_Extensions call under protection.

* Remove assertIn because not backwards-compatible.

* Fix encoding, and use PEM.

* Fix test

* Fix tests on py35.

* Fix error in test.

* Make import_csr_file always return PEM.

Also delete get_sans_from_csr (unused) and get_names_from_csr (newly unused).

* Fix function doc.

* Fix indent

* Fix call of obtain_certificate_from_Csr

* lint

* Handle review feedback.

* Fix test.
2017-04-07 09:43:33 -07:00
Jacob Hoffman-AndrewsandGitHub d5f1edf2bb Dump Boulder logs on integration test failures. (#4442)
Might help debug #4363.

Also:

make "bash" vs "sh" explicit
move the paranoia flags (-ex) from the shebang into the body
add -u (fail on unset variables)
change _common to work with -u
remove some env vars that were no longer used
remove shebang from _common.sh because it's meant to be sourced, not run
2017-03-29 16:48:08 -07:00
Jacob Hoffman-Andrews e73c29374a Change to source. 2017-03-29 14:32:02 -07:00
Jacob Hoffman-Andrews db0a4f9039 Document tests/integration/_common.sh.
This makes it much easier to run certbot during development.
2017-03-28 16:15:09 -07:00
Jacob Hoffman-Andrews 2e102ec9f7 Review feedback. 2017-03-25 11:39:19 -07:00
Jacob Hoffman-Andrews 8850bd126b Final review feedback. 2017-03-17 13:30:47 -07:00
Jacob Hoffman-Andrews 3f7efbfa3c Sleep after wait; stack trace 2017-03-17 13:26:42 -07:00
Jacob Hoffman-AndrewsandPeter Eckersley b23a1377e0 Clarify documentation for low-memory machines. (#4305)
* Clarify documentation for low-memory machines.

* Restore py26/py27 requirement.
2017-03-17 13:17:08 -07:00
Jacob Hoffman-AndrewsandPeter Eckersley 672f206309 Improve plugin-writing docs. (#4329)
Move "Writing your own plugin" under Code components and layout, with the other
plugin docs.

Include instructions on how to install a plugin into a virtualenv and how to check
for its presence.

Document that users can install third-party plugins systemwide, but not with
certbot-auto.

Remove obsolete information from Authenticators section and make the section
more informative.

Remove IDisplay sub-section since it repeats information in the main "Plugin
architecture" section.
2017-03-17 13:13:45 -07:00
Jacob Hoffman-Andrews d67de61ad8 Move sleep(TTL) into perform.
This means we only do it once, even when there are many hostnames.
2017-03-15 11:38:26 -07:00
Jacob Hoffman-Andrews cb720b0618 Address review feedback. 2017-03-15 11:32:47 -07:00
Jacob Hoffman-AndrewsandBrad Warren 018a304cd6 Remove Link rel=next for authzs and new-certs. (#4303)
An early version of the spec indicated that clients should process issuance
sequentially, following Link rel=next from an account URL to an authz URL, to a
new-cert URL. However, the spec has long since moved to putting these URLs in
the directory.

Certbot nominally supports either; This change consolidates on always using the
directory, simplifying things and making the transition to the latest ACME spec
easier.

* Revert "Revert "Remove Link rel=next for authzs and new-certs." (#4277)"

This reverts commit 11ec1eb911.

* Save new_authzr_uri with account for older clients.

* Add test that new_authzr_uri exists in regr.

* Restore backwards compatibility for new_authzr_uri.

* Fix account_test.

* Add test for deprecated URI argument to request_challenges.

* Review feedback.

* Fix test

* Add omitempty to new_cert_uri.
2017-03-14 21:44:57 -07:00
Jacob Hoffman-Andrews 4a3aa8dd11 Remove documentation about creating IAM users. 2017-03-14 17:57:47 -07:00
Jacob Hoffman-Andrews b3a28869c8 Respond to review feedback. 2017-03-14 17:50:51 -07:00
Jacob Hoffman-Andrews 1143ab7446 Documentation and efficiency changes.
These are from certbot/certbot#4174

Add more documentation, and help for NoCredentialsError.
Allow multiple DNS records to be provisioned at once and waited for together.
Fix doc strings to use "Certbot" instead of "Let's Encrypt."
Set TTL to 0.
Create a single boto3 session rather than one per API call.
Use pagination in Route53 API in case there are many domains.
Add a maximum wait time for update to propagate (10 minutes).
2017-03-11 10:39:42 -08:00
Jacob Hoffman-Andrews ee4e7c4f71 Improve packaging guide.
Correct tagging format.
Add request for random offsets for renewal.
Make all bulleted lists consistent.
Remove obsolete `letsencrypt` package for Fedora.
Remove discouraged letshelp-certbot package.
2017-03-06 18:36:37 -08:00
Jacob Hoffman-AndrewsandBrad Warren ea578870da ipdb can now be run without pip installing. (#4257) 2017-03-03 10:37:31 -08:00
Jacob Hoffman-AndrewsandBrad Warren 53117b0ce0 Remove UnexpectedUpdate exceptions. (#4197)
* Remove UnexpectedUpdate exceptions.

These exceptions trigger when the server sends the client back an object with a
field that doesn't exactly match what the client previously sent.

This causes unnecessary breakage in various cases, doesn't prevent any problems,
and isn't required by spec.

* Back out all UnexpectedUpdate removals except registration update.
2017-03-02 17:27:29 -08:00
Jacob Hoffman-AndrewsandBrad Warren a92ca8e97c Add default timeout to ClientNetwork. (#4217)
In https://community.letsencrypt.org/t/letsencrypt-cli-hangs-on-certificate-request/27211,
a community member pointed out that Certbot seems to hang when there are
routing problems.
2017-02-22 18:48:01 -08:00
Jacob Hoffman-AndrewsandGitHub ebf5170d12 Update testing docs. (#4211)
Recommend faster-running commands with clearer output first, building up to
slow, noisy, `tox` last.

Remove outdated Boulder testing advice, and outdated Boulder testing scripts
(Vagrantfile, mac-bootstrap.sh, boulder-start.sh). Update Boulder testing
section.

Fill out "directory structure" section of contributing guide a little better.
2017-02-16 12:39:17 -08:00
Jacob Hoffman-AndrewsandGitHub 6a8113fa87 Remove reference to #certbot on OFTC
The #letsencrypt channel on Freenode is much more active, and is the defacto place for questions about Certbot. Users posting questions on #certbot on OFTC are not getting prompt answers.
2017-02-16 10:24:48 -08:00
Jacob Hoffman-AndrewsandGitHub 94aa562cf2 Use latest Boulder for Travis tests. (#4180) 2017-02-14 21:19:18 -08:00
Jacob Hoffman-AndrewsandErica Portnoy 1380e59f56 Remove Link rel=next for authzs and new-certs. (#4194)
An early version of the spec indicated that clients should process issuance
sequentially, following Link rel=next from an account URL to an authz URL, to a
new-cert URL. However, the spec has long since moved to putting these URLs in
the directory.

Certbot nominally supports either; This change consolidates on always using the
directory, simplifying things and making the transition to the latest ACME spec
easier.
2017-02-13 19:50:33 -08:00
Jacob Hoffman-AndrewsandGitHub d9a467f401 Remove erroneous advice (#4212)
Per @patf at https://community.letsencrypt.org/t/-/21318/2:

> [The message about account recovery] is not really true anymore - account recovery via email was planned to be added at some point, but has been removed from the spec since.
2017-02-13 09:54:33 -08:00
Jacob Hoffman-AndrewsandBrad Warren db4c88856a Fix non-ASCII domain check. (#3727)
* Fix non-ASCII domain check.

Previously, the code would convert to utf-8, check for non-ASCII, and then try
to use .format() to interpolate the result into an error message. This would
generate a second error that would cause the whole message to get dropped, and
the program to silently exit. The problem can be succinctly observed like so:

$ python
>>> "{0}".format("ウェブ.crud.net")
'\xe3\x82\xa6\xe3\x82\xa7\xe3\x83\x96.crud.net'
>>> "{0}".format(u"ウェブ.crud.net")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Note for the curious: This problem only seems to happen with .format():

>>> "%s" % ("ウェブ.crud.net")
'\xe3\x82\xa6\xe3\x82\xa7\xe3\x83\x96.crud.net'
>>> "%s" % (u"ウェブ.crud.net")
u'\u30a6\u30a7\u30d6.crud.net'
2016-11-02 16:14:14 -07:00
Jacob Hoffman-AndrewsandGitHub 88076e46c7 Improve debug logs. (#3126)
Print request and response bodies with newlines, rather than all on one line.
Remove "Omitted empty field" log, which gets logged meaninglessly for every JSON
serialization.
Remove duplicated logging of responses.
Log the base64 version of the nonce, rather than turning it into bytes and
logging the backslash-escaped version of those bytes.
Only pass -vv in tests.
2016-10-26 18:07:33 -07:00
Jacob Hoffman-AndrewsandBrad Warren e6686fbdb5 Update Where Are My Certs section. (#3419)
* Update Where Are My Certs section.

This combines the `cert.pem` and `chain.pem` sections into a single paragraph,
making it clearer that they are closely connected. It also adds text indicating
that they are less common and moves them below the section for `fullchain.pem`.

* Update "Getting Help" section.

* Add link to document missing intermediate.

* Remove incorrect line about ordering.

Also remove "(as the filename suggests)," and clarify file ordering in the
fullchain.pem section.
2016-10-12 15:55:50 -07:00
Jacob Hoffman-AndrewsandPeter Eckersley 2415092a78 Update Where Are My Certs section. (#3419)
* Update Where Are My Certs section.

This combines the `cert.pem` and `chain.pem` sections into a single paragraph,
making it clearer that they are closely connected. It also adds text indicating
that they are less common and moves them below the section for `fullchain.pem`.

* Update "Getting Help" section.

* Add link to document missing intermediate.

* Remove incorrect line about ordering.

Also remove "(as the filename suggests)," and clarify file ordering in the
fullchain.pem section.
2016-10-10 18:36:58 -07:00
Jacob Hoffman-AndrewsandBrad Warren 4358c81f06 Improve CHANGES.rst. (#3541)
Link to a more accurate / useful GitHub page.

Partial fix for #3420.

* Improve CHANGES.rst.
2016-09-27 12:08:32 -07:00
Jacob Hoffman-AndrewsandBrad Warren 1d552630fc Update CONTRIBUTING.md to be more welcoming. (#3540) 2016-09-26 16:44:27 -07:00
Jacob Hoffman-Andrews 2bdf1258ad Include log retention count to 1000.
This is a quick fix to https://github.com/certbot/certbot/issues/3382, so that
Python log rotation is less likely to delete files before logrotate can get to
them. Specifically, if logrotate's config says to preserve fewer than 1000 logs,
it will do the right thing.
2016-09-19 15:43:26 -07:00
Jacob Hoffman-Andrews 3eaafcecad Use cli_command to print. 2016-09-16 18:45:21 -07:00
Jacob Hoffman-Andrews 6e0a68f844 Improve error message for "no installer plugin." 2016-09-16 14:21:13 -07:00
Jacob Hoffman-Andrews 2c411056fa Remove obsolete test. 2016-08-19 11:54:35 -07:00
Jacob Hoffman-Andrews 20f9f5ce45 Merge branch 'master' of github.com:certbot/certbot into remove-unnecessary 2016-08-19 10:09:39 -07:00
Jacob Hoffman-Andrews cb9921f4b1 Add more ignored files to gitignore. 2016-08-10 11:14:39 -07:00
Jacob Hoffman-Andrews e49a41be34 Change "hacking" to "getting started" in the docs 2016-08-08 12:17:42 -07:00
Jacob Hoffman-Andrews f8a07a8f46 Provide nonroot guidance when logging gets EACCES. 2016-06-13 11:53:32 -07:00
Jacob Hoffman-Andrews 4f2a8f86d8 Remove unnecessary check on registration returned.
Right now the ACME client checks that the returned registration matches the
registation posted, but there's no guarantee this will always be the case, and
this only introduces unnecessary fragility.
2016-06-13 11:52:36 -07:00
Jacob Hoffman-Andrews 91cd19158e Improve user experience for linting.
Don't run pep8 for directories that we don't actually enforce pep8 on.
Install dependencies with -q.
Don't print reports, they make it hard to find the actual errors.
Remove deprecated fields from acme .pylintrc, they cause unnecessary messages
about deprecation.
2016-06-04 22:53:51 -07:00
Jacob Hoffman-Andrews 0fb3704dce Use a real branch name. 2016-05-25 15:43:54 -07:00
Jacob Hoffman-Andrews 94588b1a91 Check out a specific version of Boulder.
A recent Boulder change broke integration tests, this fixes it.
2016-05-25 15:23:56 -07:00
Jacob Hoffman-Andrews c01e2c259a Check out Boulder master instead of branch. 2016-05-24 15:38:03 -07:00
Jacob Hoffman-Andrews ed802a6648 Fix BOULDERPATH 2016-05-23 18:47:52 -07:00
Jacob Hoffman-Andrews 2cfcfd6988 Run Boulder via docker-compose in tests.
This removes a lot of setup code we used to need in order to get Boulder to run,
and should reduce brittleness of tests based on Boulder changes.

This also unblocks Boulder from upgrading to MariaDB 10.1 in integration tests,
since changing to 10.1 syntax for user creation would break the current certbot
integration tests (which run 10.0).
2016-05-23 18:40:25 -07:00
Jacob Hoffman-Andrews 8f696b3ad7 Reuse HTTP connections. (#2855)
Fixes #2778
2016-05-15 13:48:51 -07:00
Jacob Hoffman-Andrews 6f9e28fcca Allow unrecognized fields in directory. 2016-05-11 11:11:52 -07:00
Jacob Hoffman-Andrews 88499238ed Merge pull request #2797 from kuba/omitempty-error-type-detail
ACME: omitempty Error.detail, Error.type (fixes #2289)
2016-05-11 09:50:09 -07:00
Jacob Hoffman-Andrews cae9a81a8c Add boulder-mysql and boulder-rabbitmq hosts. 2016-04-04 16:39:24 -07:00
Jacob Hoffman-Andrews 82beb6f705 Update must-staple help. 2016-03-16 16:25:41 -07:00
Jacob Hoffman-Andrews 675e6e212a Add --must-staple flag. 2016-03-15 21:14:25 -07:00
Jacob Hoffman-Andrews 0a04efe40c Fix lint error and remove extra format() 2016-01-05 17:23:32 -08:00
Jacob Hoffman-Andrews 4adc282631 Fix formatting of error messages. 2016-01-05 11:02:58 -08:00
Jacob Hoffman-Andrews f7fad9a4af Show error detail to the user.
Previously this code would show the user a hardcoded message based on the error
type, but it's much more useful to show the error detail field, which often
helps debug the problem.
2016-01-05 10:51:59 -08: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
Jacob Hoffman-Andrews c45e394824 Merge pull request #1679 from kuba/unbreak-master-20151203
Unbreak master
2015-12-03 08:08:20 -08:00
Jacob Hoffman-Andrews 4072ff3e1a Run RabbitMQ setup during test setup.
This was recently introduced on the Boulder side.

Note: long-term we want to have the client tests run the same setup steps as
Boulder does, with the same script. This is a quick fix to unbreak the build.
2015-11-30 19:58:38 -08:00
Jacob Hoffman-Andrews ef131b9bb9 Specify how long after updating SA it takes effect. 2015-11-25 23:28:58 -08:00
Jacob Hoffman-Andrews c0b6305f1c Merge pull request #1017 from kuba/simplehttp-5002
Clean up after simplehttp port change to 5002.
2015-10-17 23:55:12 -07:00
Jacob Hoffman-Andrews b9b2114b33 Merge pull request #994 from kuba/simplehttp-5002
Integration tests: SimpleHTTP on port 5002.
2015-10-15 15:14:39 -07:00
Jacob Hoffman-Andrews 22b8446efb Get precompiled Goose from GithHub.
Rather than fetching from bitbucket and building. Bitbucket is often down, and
building from scratch is slow. Github is sometimes down, but at least now we
have our eggs in one basket.
2015-10-15 14:32:52 -07:00
Jacob Hoffman-Andrews 63d76ed21e Merge pull request #974 from letsencrypt/ratelimited
Add rateLimited error type.
2015-10-14 09:45:12 -07:00
Jacob Hoffman-Andrews d5fd9986de Add rateLimited error type. 2015-10-14 09:26:59 -07:00
Jacob Hoffman-Andrews 216e589d46 Replace lambda with comprehension. 2015-10-11 12:30:02 -07:00
Jacob Hoffman-Andrews f16489f762 Go back to hasattr and add a test. 2015-10-11 12:19:39 -07:00
Jacob Hoffman-Andrews 06c85d6b5a Fix line-wrapped function indents. 2015-10-11 11:30:11 -07:00
Jacob Hoffman-Andrews f0cfd69cdc Respond to review feedback. 2015-10-11 11:28:39 -07:00
Jacob Hoffman-Andrews cd52fc02b9 Add a sleep to let Nginx finish reloading. 2015-10-11 11:20:21 -07:00
Jacob Hoffman-Andrews dd8c6d6548 Nginx improvements
Add a server_names_hash_bucket_size directive during challenges to fix an nginx
crash on restart (Fixes #922).

Use fullchain instead of chain (Fixes #610).

Implement OCSP stapling (Fixes #937, Fixes #931).

Hide Boulder output in integration tests to make them more readable.
2015-10-11 10:20:08 -07:00
Jacob Hoffman-Andrews 84418516c9 Limit Travis runs to master and PRs. 2015-10-10 13:31:35 -07:00