Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/acme
AgeCommit message (Collapse)Author
2021-06-01Release 1.16.0v1.16.01.16.xErica Portnoy
2021-05-27remove ancient comment (#8861)Brad Warren
2021-05-04Bump version to 1.16.0Brad Warren
2021-05-04Release 1.15.0v1.15.01.15.xBrad Warren
2021-05-03fix client email address (#8817)Brad Warren
client-dev@letsencrypt.org is no longer used by the Certbot team so this PR updates the email address in our packages to our current mailing list.
2021-04-29Update assertTrue/False to Python 3 precise asserts (#8792)Mads Jensen
* Update assertTrue/False to Python 3 precise asserts * Fix test failures * Fix test failures * More replacements * Update to Python 3 asserts in acme-module * Fix Windows test failure * Fix failures * Fix test failure * More replacements * Don't include the semgrep rules * Fix test failure
2021-04-08Use Python 3 style super (#8777)Brad Warren
This is one of the things that newer versions of `pylint` complains about. * git grep -l super\( | xargs sed -i 's/super([^)]*)/super()/g' * fix spacing
2021-04-06Bump version to 1.15.0Brad Warren
2021-04-06Release 1.14.0v1.14.01.14.xBrad Warren
2021-04-03Update a few type ignore comments (#8767)Brad Warren
Some are no longer needed and other's comments are out of date. For the changes to the acme nonce errors, `Exception` doesn't take kwargs. The error message about this our own classes isn't super helpful: ``` In [2]: BadNonce('nonce', 'error', foo='bar') --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-54555658ef99> in <module> ----> 1 BadNonce('nonce', 'error', foo='bar') TypeError: __init__() got an unexpected keyword argument 'foo' ``` but if you try this on `Exception` which these classes inherit from, you get: ``` In [4]: Exception(foo='bar') --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-4-028b924f74c5> in <module> ----> 1 Exception(foo='bar') TypeError: Exception() takes no keyword arguments ``` See https://github.com/python/typeshed/pull/2348 for more info. * remove outdated ignores * update locking ignore comment * don't accept kwargs
2021-04-02Upgrade to mypy 0.812 (#8748)Adrien Ferrand
Fixes #8425 This PR upgrades mypy to the latest version available, 0.812. Given the advanced type inference capabilities provided by this newer version, this PRs also fixes various type inconsistencies that are now detected. Here are the non obvious changes done to fix types: * typing in mixins has been solved using `Protocol` classes, as recommended by mypy (https://mypy.readthedocs.io/en/latest/more_types.html#mixin-classes, https://mypy.readthedocs.io/en/stable/protocols.html) * `cast` when we are playing with `Union` types This PR also disables the strict optional checks that have been enable by default in recent versions of mypy. Once this PR is merged, I will create an issue to study how these checks can be enabled. `typing.Protocol` is available only since Python 3.8. To keep compatibility with Python 3.6, I try to import the class `Protocol` from `typing`, and fallback to assign `object` to `Protocol` if that fails. This way the code is working with all versions of Python, but the mypy check can be run only with Python 3.8+ because it needs the protocol feature. As a consequence, tox runs mypy under Python 3.8. Alternatives are: * importing `typing_extensions`, that proposes backport of newest typing features to Python 3.6, but this implies to add a dependency to Certbot just to run mypy * redesign the concerned classes to not use mixins, or use them differently, but this implies to modify the code itself even if there is nothing wrong with it and it is just a matter of instructing mypy to understand in which context the mixins can be used * ignoring type for these classes with `# type: ignore` but we loose the benefit of mypy for them * Upgrade mypy * First step for acme * Cast for the rescue * Fixing types for certbot * Fix typing for certbot-nginx * Finalize type fixes, configure no optional strict check for mypy in tox * Align requirements * Isort * Pylint * Protocol for python 3.6 * Use Python 3.9 for mypy, make code compatible with Python 3.8< * Pylint and mypy * Pragma no cover * Pythonic NotImplemented constant * More type definitions * Add comments * Simplify typing logic * Use vararg tuple * Relax constraints on mypy * Add more type * Do not silence error if target is not defined * Conditionally import Protocol for type checking only * Clean up imports * Add comments * Align python version linting with mypy and coverage * Just ignore types in an unused module * Add comments * Fix lint
2021-03-23Added missing from typing imports. (#8724)Mads Jensen
2021-03-10Convert Python 2 type hints to Python 3 types annotations (#8640)Adrien Ferrand
Fixes #8427 This PR converts the Python 2 types hints into Python 3 types annotations. I have used the project https://github.com/ilevkivskyi/com2ann which has been designed for that specific purpose and did that very well. The only remaining things to do were to fix broken type hints that became wrong code after migration, and to fix lines too long with the new syntax. * Raw execution of com2ann * Fixing broken type annotations * Cleanup imports
2021-03-10Deprecate acme.typing_magic module, stop using it in certbot (#8643)Adrien Ferrand
* Deprecate acme.magic_typing, stop to use it in certbot * Isort * Add a changelog entry Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2021-03-03Bump version to 1.14.0Erica Portnoy
2021-03-03Release 1.13.0v1.13.01.13.xErica Portnoy
2021-02-27Remove broken test for typing import failure (#8692)Brad Warren
* remove broken test * fix coverage * don't worry about getattr test
2021-02-26Stop inheriting from object. It's unneeded on Python 3+. (#8675)Mads Jensen
2021-02-26Python 3 obsoletes explicit __ne__ methods (#8676)Mads Jensen
This shouldn't be needed as of Python 3+. https://stackoverflow.com/questions/4352244/should-ne-be-implemented-as-the-negation-of-eq-in-python#30676267
2021-02-22Remove import fallback for collections.abc (#8674)Mads Jensen
2021-02-09Remove dependency on six (#8650)Brad Warren
Fixes https://github.com/certbot/certbot/issues/8494. I left the `six` dependency pinned in `tests/letstest/requirements.txt` and `tools/oldest_constraints.txt` because `six` is still a transitive dependency with our current pinnings. The extra moving around of imports is due to me using `isort` to help me keep dependencies in sorted order after replacing imports of `six`. * remove some six usage in acme * remove six from acme * remove six.add_metaclass usage * fix six.moves.zip * fix six.moves.builtins.open * six.moves server fixes * 's/six\.moves\.range/range/g' * stop using six.moves.xrange * fix urllib imports * s/six\.binary_type/bytes/g * s/six\.string_types/str/g * 's/six\.text_type/str/g' * fix six.iteritems usage * fix itervalues usage * switch from six.StringIO to io.StringIO * remove six imports * misc fixes * stop using six.reload_module * no six.PY2 * rip out six * keep six pinned in oldest constraints * fix log_test.py * update changelog
2021-02-09Fix Sphinx manpage Building (#8646)sommersoft
* certbot docs: include & orphan 'man/cerbot.rst'; fixes manpage building * acme docs: include & orphan 'man/jws.rst'; fixes manpage building
2021-02-06Remove mock dependency (#8630)Brad Warren
Fixes https://github.com/certbot/certbot/issues/7913. I only added the deprecation warning to `certbot.tests.util` because that's the only place where I think someone could be using the `mock` module through our API. * remove external mock from acme * update Certbot's mock usage * remove mock dependency in plugins * remove external mock from compatibility test * add changelog entry
2021-02-06Remove requests[security] dependency (#8626)Brad Warren
Fixes https://github.com/certbot/certbot/issues/7901. * stop using requests[security] * add changelog entry * remove unused import
2021-02-02Bump version to 1.13.0Erica Portnoy
2021-02-02Release 1.12.0v1.12.01.12.xErica Portnoy
2021-01-26Drop Python 2 support (#8591)Adrien Ferrand
Fixes #8389 #8584. This PR makes the necessary modifications to officially drop Python 2 support in the Certbot project. I did not remove the specific Python 2 compatibility branches that has been added in various places in the codebase, to reduce the size of this PR and this will be done in a future one * Update classifiers and python_requires in setup.py * Remove warnings about Python 2 deprecation * Remove Azure jobs on Python 2.7 * Remove references to python 2 in documentation * Pin dnspython to 2.1.0 * Update changelog * Remove warning ignore
2021-01-25Switch oldest tests to Python 3 (#8590)Brad Warren
Fixes https://github.com/certbot/certbot/issues/8580. With this PR, it should now be possible to run the oldest tests natively on Linux, at least when using an older version of Python 3, which hasn't been possible in a long time. Unfortunately, this isn't possible on macOS which I opened https://github.com/certbot/certbot/issues/8589 to track. You can see the full test suite running with these changes at https://dev.azure.com/certbot/certbot/_build/results?buildId=3283&view=results. I took the version numbers for the packages I updated by searching for the oldest version of the dependency I think we should try and support based on the updated comments at the top of `oldest_constraints.txt`. While kind of annoying, I think it'd be a good idea for the reviewer to double check that I didn't make a mistake with the versions I used here. To find these versions, I used https://packages.ubuntu.com, https://packages.debian.org, and a CentOS 7 Docker image with EPEL 7 installed. For the latter, not all packages are available in Python 3 yet (which is something Certbot's EPEL package maintainers are working on) and in that case I didn't worry about the system because I think they can/will package the newest version available. If they end up hitting any issues here when trying to package Certbot on Python 3, we can always work with them to fix it. * remove py27 from oldest name * update min cryptography version * remove run_oldest_tests.sh * upgrade setuptools and pyopenssl * update cffi, pyparsing, and idna * expand oldest_constraints comments * clarify oldest comment * update min configobj version * update min parsedatetime version * quote tox env name * use Python 3.6 in the oldest tests * use Python 3.6 for oldest integration tests * properly pin asn1crypto * update min six version * set basepython for a nicer error message * remove outdated python 2 oldest constraints
2021-01-14Minor fix to logging message (#8605)Miltos
* Minor fix to logging message the `if socket_kwargs` will always evaluate to `true`. * Update acme/acme/crypto_util.py Co-authored-by: alexzorin <alex@zor.io>
2021-01-07Automatically Catch Sphinx Errors (#8530)sommersoft
* clean up some Sphinx warnings * first attempt at a doc-test pipeline job * fix formatting * fix test name * set env for bash * try bash vs script * maybe it didn't like me setting 'PATH'...derp * drop use of venv * sphinx-build isn't a py script * try activating venv * docs: remove unused html_static tags * clean up final sphinx build errors for certbot * clean up final sphinx build errors for acme * better names for docs pipeline * fix spelling * add docs_extras to setup.py * remove temp doc-testing pipeline; add template to main.yml * rearrange pipeline execution; run sphinx builds in one job * add documentation note to compat.os * add uninstall.rst as a sub-toctree to avoid build error
2021-01-05Bump version to 1.12.0Brad Warren
2021-01-05Release 1.11.0v1.11.01.11.xBrad Warren
2020-12-16Added certbot-ci to lint section. Silenced and fixed linting warnings. (#8450)Mads Jensen
2020-12-08Deprecate support for Python 2 (#8491)Adrien Ferrand
Fixes #8388 * Deprecate support for Python 2 * Ignore deprecation warning * Update certbot/CHANGELOG.md Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2020-12-04Removed some unused imports. (#8424)Mads Jensen
These were not annotated as something that should be ignored, and the test-suite passes with these changes.
2020-12-01Bump version to 1.11.0Brad Warren
2020-12-01Release 1.10.0v1.10.0Brad Warren
2020-11-19Add Python 3.9 support and tests (#8460)Brad Warren
Fixes https://github.com/certbot/certbot/issues/8134. * Test on Python 3.9. * Mention Python 3.9 support in changelog. * s/\( *'Pro.*3\.\)8\(',\)/\18\2\n\19\2/ * undo changes to tox.ini * Move more tests to Python 3.9 * Update PyYAML and packages which pinned it back * Upgrade typed-ast * Use <= to "pin" dnspython * Fix lint by telling pylint it cannot be trusted * Disable mypy on RFC plugin * add comment about <= support
2020-11-19Merge pull request #8444 from certbot/ecdsaBrad Warren
Integrate the ECDSA certificates feature on master
2020-11-13Use better asserts. Added notes to style guide. (#8451)Mads Jensen
2020-11-06Remove python_version setting from mypy.ini (#8426)Brad Warren
* Remove python_version from mypy.ini. * Fix magic_typing * Ignore msvcrt usage. * make mypy happier * clean up changes * Add type for reporter queue * More mypy fixes * Fix pyrfc3339 str. * Remove unused import. * Make certbot.util mypy work in both Pythons * Fix typo
2020-10-06Bump version to 1.10.0Erica Portnoy
2020-10-06Release 1.9.0v1.9.01.9.xErica Portnoy
2020-10-01Converted dict comprehensions to use literals. (#8342)Mads Jensen
2020-09-23Convert http links to https (#8287)Cameron Steel
* Convert http links to https * Fix remaining links
2020-09-19Use in dict rather than "in dict.keys()". Fix linting warnings about "not ↵Mads Jensen
in". (#8298) * Fixed a few linting warnings for if not x in y. These should have been caught by pylint, but weren't. * Replaced "x in y.keys()" with "x in y". It's much faster, and more Pythonic.
2020-09-11Remove deprecated `python setup.py test` call and update packager guide (#8262)Adrien Ferrand
Fixes #7585 This PR removes the specific configuration to configure the test runner included in `setuptools` to use pytest, the deprecated parameters related to setuptools testing in `setup.py`, and update the packaging guide to use `python -m pytest` instead of `python setup.py test`. The farm test `test_sdist.sh` is also updated to use directly pytest. This test is designed to reproduce the steps used by OS integrators when they package `certbot`, and ensure that we are not breaking something that will impact their work. We discussed with integrators from RHEL/CentOS and Debian, and they are fine with us testing sdist directly with pytest. One execution of the `test_sdist.sh` farm test with the modifications made by this PR can be seen here: https://dev.azure.com/certbot/certbot/_build/results?buildId=2606&view=results * Remove setuptools deprecated features about testing * Updating packaging guide * Add changelog entry
2020-09-08Bump version to 1.9.0Brad Warren
2020-09-08Release 1.8.0v1.8.01.8.xBrad Warren
2020-08-27Support Register Unsafely in Update (#8212)Daniel Drexler
* Allow user to remove email using update command Fixes #3162. Slight change to control flow to replace current email addresses with an empty list. Also add appropriate result message when an email is removed. * Update ACME to allow update to remove fields - New field type "UnFalseyField" that treats all non-None fields as non-empty - Contact changed to new field type to allow sending of empty contact field - Certbot update adjusted to use tuple instead of None when empty - Test updated to check more logic - Unrelated type hint added to keep pycharm gods happy * Moved some mocks into decorators * Restore default to `contact` but do not serialize - Add `to_partial_json` and `fields_to_partial_json` to Registration - Store private variable noting if the value of the `contact` field was provided by the user. - Change message when updating without email to reflect removal of all contact info. - Add note in changelog that `update_account` with the `--register-unsafely-without-email` flag will remove contact from an account. * Reverse logic for field handling on serialization Now forcably add contact when serilizing, but go back to base `jose` field type. * Responding to Review - change out of date name - update several comments - update `from_data` function of `Registration` - Update test to remove superfluous mock * Responding to review - Change comments to make from_data more clear - Remove code worried about None (omitempty has got my back) - Update test to be more reliable - Add typing import with comment to avoid pylint bug