Commit Graph
7471 Commits
Author SHA1 Message Date
Joona HoikkalaandJacob Hoffman-Andrews e02d641490 Docker changes for easier testing (#4249)
These changes allow developers to run tests directly from the host machine using Docker, and to enable ipdb inside the container.

docker-compose.yml is upgraded to version 2 format. This means that you need docker-engine version >= 1.10.0 instead of previous requirement of version >= 1.9.1. The reason for this is to be able to use custom Dockerfile (Dockerfile-dev in this case) in build context.

ipdb has been added to dev dependencies to be able to be able to debug the code without installing it on every docker run. This is also what we recommend for debugging in the developer documentation, so there really is no reason not to install it with the dev dependencies.

setuptools is being upgraded to a newer version to be able to run coverage tests. This was using the older version of setuptools for some reason, and without the upgrade, coverage tests would fail horribly. Upgrading remedies the situation.

Few examples: 

Run unit tests for certbot-apache
`docker-compose run --rm --service-ports development bash -c 'cd src;nosetests -v certbot-apache'`

Run coverage tests
`docker-compose run --rm --service-ports development bash -c 'cd src;./tox.cover.sh'`

Run linter
`docker-compose run --rm --service-ports development bash -c 'cd src;tox -e lint'`
2017-02-24 11:40:03 -08:00
Joona HoikkalaandBrad Warren 28cbd6e7d3 Fix for case sensitivity when looking for vhosts (#4193) 2017-02-23 20:28:36 -08:00
Erica PortnoyandBrad Warren 52ce335ff0 lineage_for_certname should return None if there is no existing renewal file (#4243)
* lineage_for_certname should return None if there is no existing renewal file

* add unit test

* add regression test to integration test

* revent boulder-start to boulder-fetch
2017-02-23 18:31:23 -08:00
silverwindandBrad Warren 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
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
Erica PortnoyandBrad Warren 5bab6b512f Refactor main (#4127)
* Refactor main to simplify logic

* Update tests and comments

* Correct main test

* increase timeout limit

* reset timeout limit

* call renew_cert in appropriate main test

* Update docstrings and revert signatures of _report_new_cert and _suggest_donation_of_appropriate

* replace renew_cert logic

* update tests

* rename _csr_obtain_cert and add a check to _report_new_cert
2017-02-22 13:08:56 -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 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
Chad Whitacre b0ee98a5c3 Satisfy linter 2017-02-13 09:04:15 -05:00
Chad Whitacre 90bbd93b05 Fix test 2017-02-13 08:49:35 -05:00
Erica PortnoyandGitHub 3b9db79fd3 Merge pull request #4092 from certbot/managing-docs
Add information about cert management to the docs
2017-02-10 17:41:13 -08:00
Chad WhitacreandGitHub 14ce872b6b Remove erroneous advice
Per @pfg at https://community.letsencrypt.org/t/-/21318/2:

> This 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-10 17:44:11 -05:00
Erica Portnoy b316a13f22 oxford comma 2017-02-09 14:40:02 -08:00
Erica Portnoy 08a546fa8d remove trailing whitespace 2017-02-09 14:38:38 -08:00
Erica Portnoy 8b5c87f983 revert factual errors 2017-02-09 13:13:33 -08:00
Erica Portnoy 92816275a6 plaintextify 2017-02-09 12:59:06 -08:00
Peter EckersleyandGitHub 299512aa2b Merge pull request #4162 from certbot/candidate-0.11.1-2
Release Certbot 0.11.1
2017-02-07 15:09:09 -08:00
Brad Warren 245170ebe5 Bump version to 0.12.0
(cherry picked from commit f4eabe0908456b7ab2aef0ae03b5dc1db73d5805)
2017-02-01 20:56:31 -08:00
Brad Warren 99818bc6b7 Release 0.11.1
(cherry picked from commit 426a804561)
2017-02-01 20:56:23 -08:00
Ben WolfeandBrad Warren f12dc84271 Certbot spelling correction (#4157) 2017-02-01 18:37:59 -08:00
Brad WarrenandGitHub dd8253b3d6 fixes #4083 (#4148) 2017-02-01 18:14:47 -08:00
Brad WarrenandGitHub b5d4e0bf6a fix bug when certbot is ran without any arguments (#4151) 2017-02-01 18:02:21 -08:00
Brad WarrenandGitHub 0070489843 Merge pull request #4147 from certbot/candidate-0.11.0
Update autos and versions to 0.11.0
2017-02-01 17:42:20 -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 v0.11.0 2017-02-01 09:50:42 -08:00
Peter EckersleyandBrad Warren aa389cf8aa Revert "uncomment assertion (#4072)" (#4110)
Revert "uncomment assertion (#4072)"
2017-02-01 09:32:24 -08:00
Amjad MashaalandBrad Warren 1fd847e216 Adding checking name validity to the Apache plugin (#3639) 2017-02-01 07:12:51 -08:00
Brad WarrenandGitHub 20be8b327d Provide a way to opt-in to EFF e-mail (#4082)
* Add eff email flags

* add eff_sign_up

* add requests dep to certbot

* make pylint happy

* Add EFF subscribe uri

* add POST to EFF and write tests

* log EFF e-mail submission

* Add eff module and tests

* cleanup client tests

* offer subscription when changing e-mail

* cleanup client.py and tests

* expand e-mail prompt
2017-01-31 17:08:21 -08:00
Brad WarrenandPeter Eckersley 7f3c732bbf Cleanup test farm tests and add test_sdists (#4089)
* add get_certbot_version.sh

* Use get_certbot_version.sh in build.py

* make test_leauto_upgrades.sh more robust

* auto upgrades break tests

* OCSP experimental is not needed anymore

* Add test_sdists.sh

* Use LE_AUTO_VERSION, not repo version

* install OS deps earlier

* use readlink not realpath

* undo changes to build.py

* Factor out version code from build.py

* Use version.py in test_sdists

* Remove get_certbot_version

* workaround setuptools breakage
2017-01-30 19:37:23 -08:00
Brad WarrenandGitHub be5bcfe463 Remove optional dependencies (#4088)
* Stop using already_listening in standalone

* remove already_listening

* remove psutil entirely

* fix #595

* Add basic perform test

* make pep8 happy

* Add test_perform_eacces

* add _setup_perform_error

* Add test_perform_unexpected_socket_error

* add test_perform_eaddrinuse_no_retry

* add test_perform_eaddrinuse_retry

* cleanup tests

* stop using dnspython

* don't install dns extras in tox

* remove dns extras from setup.py

* Add simple_verify back to DNS response

* remove dnspython from oldest tests
2017-01-30 16:55:54 -08:00
Brad WarrenandGitHub 240438eec7 Incorporate feedback from 4113 (#4115) 2017-01-30 09:44:55 -08:00
Erica PortnoyandBrad Warren a1b1ae25ae Don't be unnecessarily inefficient when finding a cert by name. (#4128)
* Make lineage_for_certname and domains_for_certname O(1)

* update tests
2017-01-27 15:16:19 -08:00
Brad WarrenandGitHub caa7e4e3f0 fix tools/venv.sh (#4126) 2017-01-27 14:06:40 -08:00
Josh SorefandBrad Warren 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
Peter Conrad bf7ce31302 Restructuring and editing using.rst to incorporate new command docs better. 2017-01-26 15:53:48 -08:00
Brad WarrenandGitHub fe03c5a14c fix integration tests (#4111) 2017-01-26 14:08:22 -08:00
Brad WarrenandGitHub 4e297b0248 Release 0.10.2 (#4120)
* Release 0.10.2

(cherry picked from commit 535b04be23)

* Bump version to 0.11.0

(cherry picked from commit 01f84df0641a98bb57b4b7be7980c3c1afe375d5)
2017-01-26 12:03:12 -08:00
Brad WarrenandGitHub 4d860b37b0 Preserve preferred-challenges on renewal (#4112)
* use challenge type strings, not objectS

* Factor out parse_preferred_challenges

* restore pref_challs

* save pref_challs

* Make CheckCertCount more flexible

* improve integration tests

* Make pref_challs more flexible
2017-01-25 18:40:22 -08:00
Brad WarrenandGitHub 2f50dfd7be Merge pull request #4113 from certbot/auto-retry
Automatically retry after getting badNonce error
2017-01-25 17:33:21 -08:00
Brad Warren c650c9a709 add test_post_successful_retry 2017-01-25 15:10:24 -08:00
Brad Warren 46d9809fa1 add test_post_failed_retry 2017-01-25 15:08:01 -08:00
Brad Warren a5da551965 fix stylistic nits with POST retry 2017-01-25 14:10:19 -08:00
Frederic BLANCandBrad Warren b6fecca7ba fixes #2244 2017-01-25 13:38:00 -08:00
Brad WarrenandPeter Eckersley 578815a20a uncomment assertion (#4072) 2017-01-24 14:39:27 -08:00
Brad WarrenandPeter Eckersley 44f2d4aa20 Fix modification-check.sh (#4091)
* Run build.py

* Restore letsencrypt-auto after running build

* Remove temp_dir before exiting

* add missing $
2017-01-24 14:37:41 -08:00
Brad WarrenandPeter Eckersley 6a55de45ba Fix letsencrypt auto source (#4093)
* Some shells don't like ==

* run build.py
2017-01-23 17:55:59 -08:00
Erica Portnoy a1702e766d Add information about cert management to the docs 2017-01-20 11:35:40 -08:00
Nick FongandBrad Warren 02615c2ac6 Silence Package Manager Output when certbot-auto invoked with --quiet (#3776)
* Add quiet flags to package manager invocations

Add the following flags when 'certbot-auto --quiet' is invoked:
- Add '-qq' to calls to 'apt-get' in Debian
- Add '--quiet' to calls to 'yum' or 'dnf' in CentOS or Fedora
- Add '--quiet' to calls to 'urpmi' in Mageia
- Add '--quiet' to calls to 'pkg install' in FreeBSD

* Fix $QUIET flag in bootstrappers

- Set the value of $QUIET properly (i.e. s/$QUIET/QUIET when setting the
  variable) in
  - deb_common.sh
  - mageia_common.sh
  - rpm_common.sh
- Actually use $QUIET when running $tool in rpm_common.sh

* Add handling of $QUIET to Arch and Open Suse

* Add logic to set --non-interactive if --quiet

* Add missing $QUIET_FLAG to rpm_common.sh

* Run build.py

* Limit --help to 80 cols

* Update indentation within bootstrappers

* Add $QUIET_FLAG to second call to `urpmi` (redux)
2017-01-20 09:40:36 -08:00