Commit graph

7676 commits

Author SHA1 Message Date
Brad Warren
fd8cd0cbdd Merge pull request #4743 from certbot/release-0.14.2
Release 0.14.2
2017-05-26 10:21:30 -07:00
Brad Warren
d9a2612d21
Release 0.14.2 2017-05-25 14:23:35 -07:00
Brad Warren
fbd0325673 Fixes #4719 (#4737) (#4740)
* Automatically delete temp log file when not used.

This allows close() calls in logging.shutdown() to cause the file to be
deleted when no logging output has been written to the file.

* Make certbot.log.MemoryHandler.flush() a noop.

This causes MemoryHandler.flush() calls in logging.shutdown to be a noop,
allowing us to control when the handler is actually flushed. This prevents log
records from being sent to a temporary file handler for things like
`certbot --version`.

* Keep reference to certbot.log.MemoryHandler.target

In Python 2.7+, the logging module only keeps weak references to created
logging handlers. Because of this, the MemoryHandler's target will not be
properly flushed and closed when logging.shutdown() is called on program exit
unless we keep a reference to it in the MemoryHandler.

* Fixes #4719.

This completes the changes necessary to fix #4719. Now temporary log files are
not created if sys.exit() is called before logging is fully set up. These files
are still created if Certbot crashes for any other reason.

* Document pre_arg_parse_except_hook args.

(cherry picked from commit 93310fe67c)
2017-05-25 14:07:40 -07:00
Brad Warren
c5d11d333f Merge pull request #4674 from certbot/0.14.x+1
Release 0.14.1
2017-05-16 14:33:43 -07:00
Brad Warren
78e3bd6e8c
Release 0.14.1 2017-05-16 10:03:51 -07:00
ohemorange
44ab49bcd6 Allow Nginx to insert include files with comments inside (#4666) (#4668)
* add failing test case

* allow include files to insert comments

* lint
2017-05-15 18:04:16 -07:00
Brad Warren
98905fd470 Merge pull request #4669 from certbot/0.14.x-stuff
0.14.x stuff
2017-05-15 17:00:15 -07:00
Brad Warren
8c313449f9 Make 42d07d7 more closely follow repo conventions
(cherry picked from commit d467295d2a)
2017-05-15 15:40:04 -07:00
Joona Hoikkala
b33669edac Force augeas file reload to recalculate span indicies
(cherry picked from commit f5b61d56bd)
2017-05-15 15:39:55 -07:00
Brad Warren
25d9fbd657 Modify special action types only once
(cherry picked from commit 65f7f3e12b)
2017-05-15 15:39:18 -07:00
Ryan Pineo
7cbbf20b0c support version 0.12.0 of configargparse
fixes #4648

(cherry picked from commit 42d07d756d)
2017-05-15 15:39:12 -07:00
Brad Warren
4be7efbf74
Release 0.14.0 2017-05-04 16:52:13 -07:00
Brad Warren
0db668f67b remove unnecessary closes causing logging problems (#4616) 2017-05-04 16:35:37 -07:00
Brad Warren
4d0cf8000a make a copy of keys in all python versions (#4614)
* make a copy of keys in all python versions

* documentation++
2017-05-03 18:42:47 -07:00
Brad Warren
13c88f1c02 Properly handle EOF in input (#4612)
* properly handle eof

* cleanup InputWithTimeoutTest

* add test_eof

* add comment about mimicking getpass
2017-05-03 14:44:15 -07:00
ohemorange
a5bd0cf50c Add a test for #4557 (#4609) 2017-05-02 18:37:54 -07:00
ohemorange
7016874243 Switch to using include directive for Nginx constants (#4557)
* Switch to using include directive for Nginx constants

* remove deprecated comment

* give better error message when attempting to insert an existing directive

* make code more readable

* add docstrings

* allow a duplicated directive if it's identical

* comment out precisely repeated directives

* add comments
2017-05-02 17:56:56 -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
Peter Eckersley
2613a8b579 Continue work on Apache multivhost
* Apache: do not assume directives will be CamelCased

* Fixup

* Elaborate

* Simplify the definition of vh_p
2017-05-02 15:38:49 -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
79d5c890c3 Add a timeout to prompts (#4601)
* Add input_with_timeout

* use input_with_timeout
2017-05-01 14:55:31 -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
Benjamin Qin
4ca702f6fb Update doc using.rst to correct a sample script (#4582)
'More information about renewal....' should not be part of the code block.
2017-05-01 09:43:07 -07:00
ohemorange
5885b09e13 Merge pull request #4354 from certbot/more-ua
Add extra information to user-agent
2017-04-28 19:17:39 -07:00
Peter Eckersley
72b6179e0e Remove vestigial thingy 2017-04-28 18:46:01 -07:00
Peter Eckersley
f6c02728e4 Address review comments 2017-04-28 18:42:03 -07:00
Peter Eckersley
0a4ee306a9 Fix UA flag setting (and set more of them) 2017-04-28 18:02:34 -07:00
Brad Warren
8fa12bef8e Tell the world we're Python 3 compatible (#4568)
* Mention python 3 support in setup.py

* Build universal (py2 and py3 compatible) wheels

* Mention Python 3.3+ support in docs

* we work on python 3.6 too
2017-04-28 16:06:45 -07:00
Brad Warren
89af460792 Reuse dynamic install_requires. (#4554)
* Revert "Make argparse dependency unconditional. (#2249)"

  This reverts commit 8f10103496.

* Update comment about environment markers
2017-04-28 15:03:50 -07:00
yomna
72fa27514e fix for issue 4132: increasing server_names_hash_bucket_size if necessary (#4496)
* increases server_names_hash_bucket_size if it's too low in your nginx conf

* switching from k,v pairwise indices -> inner_line

* simply using bucket_directive
2017-04-27 10:46:33 -07:00
ohemorange
1611df4120 Allow empty nginx blocks (#4555)
* modify test config file to allow valid config that fails to parse in parser.py

* make failing tests pass by fixing the problem
2017-04-26 18:44:06 -07:00
Noah Swartz
5f9c6539d5 make a list of contributors (#4508)
* make a list of contributors

* make all links websites

* alphebetize and remove extra file

* remove ref to contributors

* add one more!

* sort using linux sort command
2017-04-26 14:57:23 -07:00
schoen
0c4e813a72 Demote PEM generation to logger.debug (#4549) 2017-04-26 10:54:40 -07:00
Zach Shepherd
b41472afce Enhance display.util to support input validation (#4372)
* display: support validation of user input

To avoid each caller of `display.input` and `display.directory_select`
needing to implement validation logic, this allows for a validator to be
supplied as a part of the call.

Following the existing pattern from `webroot`, this validator is expected
to throw a `Error` when it encounters invalid input. The user then
receives a `notification` is re-prompted.

Testing Done:
 * tox -e py27
 * tox -e lint

* plugins: update webroot to use display's validation functionality

This change updates the webroot plugin to use the now-built-in validation
functionality in display, reducing duplicated code.

Testing Done:
 * tox -e py27
 * tox -e lint

* display: move validation logic to ops

To avoid adding complexity to `IDisplay` methods, move validation logic
to helper methods in `display.ops`.

Testing Done:
 * tox -e py27
 * tox -e lint
2017-04-24 17:36:00 -07:00
Noah Swartz
b079d0da2f Merge pull request #4542 from certbot/dnstypo
fix the word plugin
2017-04-24 13:10:48 -07:00
Kubilay Kocak
419c541b18 Update FreeBSD package entries (#4538)
Add port/package URL for py-acme

Use Freshports URL's instead of SVNWeb (repository) links as they provide (binary) package installation installation as well as further port/package information such as vulnerabilities, revision history and bug reports for each port respectively.
2017-04-24 11:58:00 -07:00
Noah Swartz
c6da818d93 fix the word plugin 2017-04-24 11:54:20 -07:00
Jacob Hoffman-Andrews
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
Noah Swartz
fff34fc790 Merge pull request #4509 from certbot/challenges-docs
Attempt to document challenge types
2017-04-20 17:59:19 -07:00
Yen Chi Hsuan
779af8db1e Extend tools/venv3.sh to support full certbot development (#4532) 2017-04-20 09:09:20 -07:00
Brad Warren
372d201111 use say now that if QUIET statement was moved (#4530) 2017-04-19 14:11:18 -07:00
Josh Soref
c13b2eae9b Make it easier to honor --quiet (#4292)
* say -- echo which honors quiet

* error -- echo which does not honor quiet

* switch non error echos to say

* switch error echos to error

* run letsencrypt-auto-source/build.py
2017-04-19 09:11:38 -07:00
Jacob Hoffman-Andrews
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
Arthur Gautier
b0600483fd interface: IConfig is missing fields used in client.py (#4453)
Signed-off-by: Arthur Gautier <baloo@gandi.net>
2017-04-18 11:18:56 -07:00
Brad Warren
36891033dd Set HOME if it's not defined in certbot-auto (#4503)
* set HOME if it's not defined

* use ~root rather than /root
2017-04-17 14:39:08 -07:00
Noah Swartz
2bdf8cf505 Merge pull request #4492 from certbot/changelog_cleanup
fixed up the changelog
2017-04-17 13:38:55 -07:00
Noah Swartz
4c0e82f426 fix typo 2017-04-17 13:12:46 -07:00
Peter Eckersley
1ed50497eb [certbot-auto]: "renew" implies --non-interactive (#4500) 2017-04-17 11:41:24 -07:00