Commit graph

41 commits

Author SHA1 Message Date
Brad Warren
35aba14d97 Update in response to changes in #4720. 2017-06-01 09:14:07 -07:00
Erica Portnoy
21565c0805 Mechanism for automatically updating options-ssl-apache.conf file
* add file update mechanism + tests to apache

* update with actual hashes, and update apache test to match since there aren't previous versions
2017-06-01 09:13:40 -07:00
Brad Warren
65f7f3e12b Modify special action types only once 2017-05-15 12:22:47 -07:00
Brad Warren
83064941bc Merge pull request #4607 from certbot/joohoi_multiple_vhosts2
Multiple vhosts 2
2017-05-02 17:55:38 -07:00
Joona Hoikkala
65c7a5a6f7 Add support for multivhosts in Apache
* Case sensitivity fixes

* Clean up merge leftovers

* Get correct vhost paths when appending to already existing multivhost -le-ssl.conf

* Test, lint and reverter fixes

* Make py26 happy

* Removed skeletons

* Changed new vhost matching

* Added span flag for augeas init

* Extract VirtualHost using aug_span

* Removed dead code

* Fix tests to mitigate not being able to reload Augeas span values after write

* Small fixes and test coverage

* Implementing changes requested in review
2017-05-02 15:56:55 -07:00
Brad Warren
6b26015752 Further Apache multivhost improvements
* Don't filter vhosts on path if you've done so already

* add get_internal_aug_path

* Use relative augeas paths to determine if a file contains multiple virtual hosts
2017-05-02 15:56:48 -07:00
Noah Swartz
f57f35b1dd Start work on multivhost support in Apache
* get through parsing

* not slice

* add mult vhost per file

* idx line backwards

* blocks be wrong

* always close ifmod

* let's not mess up indexes

* don't double add multi

* fix some lint, only dedupe multi

* tests

* fix lint

* in progress bit flip

* try to pick the right vhost

* take Dominic's suggestion

* don't redo search

* add ancestor

* we now support multiple vhosts

* yay

* add docstrings
2017-05-02 15:38:27 -07:00
Brad Warren
5ca8f7c5b9 Add lockfile (#4449)
* add lock_file

* cleanup lock file

* Add LockFile tests

* add lock_dir

* add lock_dir_until_exit

* add set_up_core_dir and move lock_dir_until_exit

* Move lock_and_call to certbot.test.util

* Add lock to Apache

* Add lock to the Nginx plugin

* Improve permissions error message

* sort plugins

* add test_prepare_order

* provide more actionable permissions error

* Document and catch use of OSError

* don't lock a directory twice

* add conditional dependency on ordereddict

* Add lock_test

* expand sorted plugins comment

* Add lock_test to lint

* make make_lineage more conventional and flexible

* enhance lock_test.py

* add lock_test to tox

* Readd success message

* make py26 happy

* add test_acquire_without_deletion
2017-05-01 14:49:12 -07:00
Sagi Kedmi
26a7023b8d Change QSA to NE in HTTPS redirection (#4204)
* Change QSA to NE in HTTPS redirection

* Seamless transition to new HTTPS redirection RewriteRule
2017-03-02 16:49:34 -08:00
Yen Chi Hsuan
7d02e129f9 Fix certbot-apache tests on Python 3 (#4172) 2017-02-24 18:21:21 -08:00
Amjad Mashaal
1fd847e216 Adding checking name validity to the Apache plugin (#3639) 2017-02-01 07:12:51 -08:00
Brad Warren
9c9004aff1 Stop IDisplay AssertionErrors (#4010)
Fixes #3996.

I'm pretty confident this PR solves the problem. I've audited all calls to IDisplay methods and the assertions done in certbot.display.util are now done in all our unit tests.

With that said, it wouldn't hurt to have someone else double check I didn't miss anything. The easiest way to do this is to grep for IDisplay in our code and ensure all calls to IDisplay methods are valid. This means every method call other than notification (because a notification call is always OK) either provides a value for default or force_interactive. This is defined in interfaces.py.

I've also been considering removing the assertion that's been causing us trouble here from our release. The only argument I have for not doing so is it may hinder 3rd party plugin development. When they use IDisplay, they have the same problem as we do with prompting users without a TTY. Not keeping this assertion in makes it more likely they won't notice the issue and Certbot will crash on an unsuspecting user.

With that said, none of our known 3rd party plugins use IDisplay at all.

* Provide force_interactive in _get_certname

* Use force_interactive when asking for webroot

* Factor IDisplay assertion into it's own function

* Add util.patch_get_utility()

* Allow custom path to patch_get_utiity

* Change GetEmailTest to use patch_get_utility

* Use new_callable to create new objects

* Modify tests to use patch_get_utility

* Improve FreezableMock documentation

* Add user facing error to TTY magic

* Comment out assert_valid_call

* Add test_input_assertion_fail2()
2017-01-10 16:25:33 -08:00
Brad Warren
28ce10fef5 Don't add ServerAlias directives when the domain is already covered by a wildcard (#3917)
* correctly match * and ? in ServerAlias directives

* update Apache wildcard test

* Consolidate wildcard matching and remove bad test

* Test Apache vhost selection with wildcards

* Added few more tests to proof vhost selection
2016-12-20 15:53:52 -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
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
Joona Hoikkala
14f3710250
Added check for /files/ 2016-08-10 10:39:10 +03:00
Joona Hoikkala
51191c2ea5
Added linter exception 2016-08-10 01:50:40 +03:00
Joona Hoikkala
6c3ae10f9b
Added test case 2016-08-10 01:39:53 +03:00
Joona Hoikkala
f4948855f0
Added None check and according test 2016-08-10 01:24:21 +03:00
Ville Skyttä
86b287b338 Use assertEqual instead of deprecated assertEquals 2016-07-22 09:54:28 +03:00
Brad Warren
2e50b38b45 Merge pull request #3182 from certbot/issue_2983
Handle commas in apache filenames (Issue 2983)
2016-07-15 16:31:16 -07:00
Noah Swartz
8f1a141d2a incorporate brad's comments 2016-07-11 13:20:31 -07:00
Blake Griffith
9bc50d4a47 Try to fix travis-ci lint failure 2016-07-11 12:44:21 -05:00
Peter Eckersley
c051826ea2 Merge pull request #3261 from certbot/apache-path-fallback
Apache plugin PATH fallback
2016-07-08 16:59:28 -07:00
Peter Eckersley
0bedeb449a Refactor path_surgery into plugins.util so that nginx can call it 2016-07-08 14:03:21 -07:00
Peter Eckersley
757a8ddae7 Fixes & tests 2016-07-08 13:21:37 -07:00
sagi
7459360780 Add more test cases 2016-07-01 22:08:37 +00:00
sagi
15ba12ed46 Parsing State Machine + some tests 2016-07-01 21:06:16 +00:00
Noah Swartz
b64da855a2 lint 2016-06-29 11:55:22 -07:00
Noah Swartz
395843f3f4 fix coverage 2016-06-29 11:06:18 -07:00
Noah Swartz
a9679e2c25 create regression test 2016-06-28 18:08:38 -07:00
Noah Swartz
2884a7fcb7 Merge branch 'master' into issue_2983 2016-06-28 17:57:10 -07:00
Noah Swartz
78b30539fa augeas tests 2016-06-28 17:56:31 -07:00
Joona Hoikkala
5a872b829d
Added tests 2016-06-20 08:57:51 +03:00
Joona Hoikkala
e263132283
Refactor and lint fixes 2016-06-06 12:44:49 +03:00
Joona Hoikkala
7239361342
Test coverage for NoInstallationError 2016-06-06 12:36:54 +03:00
Blake Griffith
f0dc0de40a Catch more le_util usage in certbot-apache 2016-05-26 13:43:00 -05:00
Noah Swartz
686e60b4bf Merge pull request #3033 from certbot/reredirect
Fix warning about already enabled redirect in Apache
2016-05-19 16:12:25 -07:00
Sagi Kedmi
ad76de2502 OCSP Stapling Enhancement for Apache (#2723)
Currently supports only Apache >=2.3.3.
letsencrypt --staple-ocsp -d dumpbits.com [no problem to set it on for apache => 2.3.3]
To check OCSP Stapling:
[~]$ echo QUIT | openssl s_client -connect dumpbits.com:443 -status 2>/dev/null | grep -A 31 'OCSP Resp'
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
    Produced At: Mar 26 17:54:00 2016 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 7EE66AE7729AB3FCF8A220646C16A12D6071085D
      Issuer Key Hash: A84A6A63047DDDBAE6D139B7A64565EFF3A8ECA1
      Serial Number: 032A2108AAA650E6EE2E6B041C03C2612A19
    Cert Status: good
    This Update: Mar 26 17:00:00 2016 GMT
    Next Update: Apr  2 17:00:00 2016 GMT

    Signature Algorithm: sha256WithRSAEncryption
         64:f2:71:02:6a:97:d9:eb:13:c1:5c:7a:f5:eb:26:89:3b:40:
         e3:08:82:f7:71:d4:fa:61:4a:8e:4a:7d:e9:53:84:e9:3a:89:
         67:66:08:d9:0e:79:65:9a:8d:dc:fb:07:cc:93:4f:eb:4e:3c:
         cc:7f:cd:fd:db:8f:c3:25:c3:54:87:a9:9c:35:6f:c1:39:31:
         e0:b1:f6:b1:3d:52:5d:db:bb:69:0f:23:05:fe:33:29:1f:ff:
         c6:af:17:a5:98:58:50:3a:48:93:5c:09:4b:f3:91:36:48:31:
         ed:ee:47:4d:66:c3:25:cf:56:b7:f4:48:80:eb:b8:f0:27:b1:
         97:18:b4:88:71:c6:55:5d:bb:25:16:48:98:85:8a:12:8d:64:
         bf:51:df:39:b1:44:91:e1:f2:c6:c3:7d:23:2b:d2:0f:4c:7f:
         57:b1:c9:ae:ec:32:b5:6a:87:bd:83:43:f1:f7:3c:8c:11:5c:
         9d:a5:12:fa:e6:79:87:45:c6:1d:46:c8:14:1e:8d:d1:de:7a:
         0d:e4:53:f2:c9:b6:e5:6e:cb:91:14:bb:04:38:36:4f:71:55:
         e1:ff:71:c7:a6:31:ed:db:6c:0f:d7:f5:ef:0c:6e:08:6b:e0:
         37:cf:ca:a5:67:89:c2🇩🇪8e:36:6d:2f:41:7f:9f:10:c6🇩🇪
         4d:b1:2d:09
======================================
2016-05-19 16:04:18 -07:00
Brad Warren
66a1399920 Add tests for multidomain vhost redirects 2016-05-19 09:40:17 -07:00
Brad Warren
2002511f81 s/letsencrypt/certbot letsencrypt-apache 2016-04-13 16:30:57 -07:00
Renamed from letsencrypt-apache/letsencrypt_apache/tests/configurator_test.py (Browse further)