Commit graph

552 commits

Author SHA1 Message Date
Brad Warren
1fe201e320 Bump version to 2.6.0 2023-04-04 08:07:50 -07:00
Brad Warren
3c667e8fff
Release 2.5.0 2023-04-04 08:07:49 -07:00
Brad Warren
608d731e2b
Make mypy pass on our tests (#9648)
* make mypy pass on our tests

* fix grammar
2023-03-31 09:20:44 +11:00
Brad Warren
c987c3f3aa
remove boulder-integration.conf.sh (#9640) 2023-03-28 22:23:16 +00:00
Brad Warren
9e30e8afa9
make tests internal (#9638)
This is the certbot-nginx version of #9625.
2023-03-28 15:01:31 -07:00
alexzorin
f004383582
avoid pyOpenSSL 23.1.0 (#9631)
Our `NO_PIN` test [fails](https://dev.azure.com/certbot/certbot/_build/results?buildId=6542&view=logs&j=ce03f7c1-1e3f-5d55-28be-f084e7c62a50&t=597fea95-d44e-53a2-5b71-76ed20bd4dde) due to https://github.com/pyca/pyopenssl/issues/1199.

This PR might strictly not be necessary once a new release of `PyOpenSSL` is available? I suppose it depends whether they yank the release.
2023-03-27 11:27:48 -07:00
Brad Warren
c07b5efb7f
Rewrite lock_test.py (#9614)
`lock_test.py` is a weird, heavily customized, standalone testing relic that's giving me trouble because the name currently conflicts with `certbot/tests/lock_test.py`. Moving `certbot/tests` inside the Certbot package as discussed at https://github.com/certbot/certbot/issues/7909#issuecomment-1448675456 would avoid this, however, this is at least somewhat blocked on getting that test code passing lint and mypy checks again because we run those checks on the entirety of the Certbot package 🙃 Since `lock_test.py` could probably stand to be rewritten/refactored anyway, I took this approach.

What I did is I rewrote something largely equivalent to `lock_test.py` inside Certbot's unit tests. I chose not to do this in `certbot-ci` because its not necessary to have an ACME server available. We're no longer explicitly testing things with the nginx plugin here like we were in `lock_test.py`, however, we are checking that `prepare` is called on the plugin at the right time and I added comments about the importance of checking that we lock the directory during the call to `prepare` in the Apache and nginx test code.

As a bonus, this fixes https://github.com/certbot/certbot/issues/8121.
2023-03-15 12:54:20 -07:00
Will Greenberg
242c96527b Bump version to 2.5.0 2023-03-07 13:18:07 -08:00
Will Greenberg
eeb88c0855
Release 2.4.0 2023-03-07 13:18:06 -08:00
Alex Zorin
7c840a7dfd Revert "nginx: on encountering lua directives, produce a better warning (#9475)"
This reverts commit c178fa8c0b.
2023-02-25 08:45:19 +11:00
Brad Warren
a3c9371dc5
Use pytest assertions (#9585)
* run unittest2pytest

The command used here was `unittest2pytest -nw acme/tests certbot*/tests`.

* fix with pytest.raises

* add parens to fix refactoring

* <= not <
2023-02-16 16:02:02 +11:00
Will Greenberg
941119f05b Bump version to 2.4.0 2023-02-14 12:44:32 -08:00
Will Greenberg
d4b2d3202b
Release 2.3.0 2023-02-14 12:44:31 -08:00
Brad Warren
dc07dfd07b
Automatically run test files with pytest (#9576)
* Switch to pytest

git grep -l unittest.main | xargs sed -i 's/unittest.main()/sys.exit(pytest.main([__file__]))/g'
git ls-files -m | xargs -I {} sh -c "echo 'import sys\nimport pytest' >> '{}'"
isort --float-to-top .

* add pytest dep

* use sys.argv
2023-02-14 06:44:42 +11:00
Brad Warren
1bb09da270
Update and run isort (#9573)
I want to use isort as part of https://github.com/certbot/certbot/issues/9572 because I want to do it programmatically, however, I felt like the config needed to be tweaked a bit due to it not understanding what is and is not our own code.

This PR updates the isort config so it recognizes our own modules and runs `isort .` from the root of the repo to update everything.

* update isort config

* run "isort ."
2023-02-10 10:51:20 -08:00
alexzorin
be3bf316c0
Deprecate {csr, keys} dirs & automatically truncate lineages (#9537)
Based on my design [here](https://docs.google.com/document/d/1jGh_bZPnrhi96KzuIcyCJfnudl4m3pRPGkiK4fTo8e4/edit?usp=sharing). 

Fixes https://github.com/certbot/certbot/issues/4634 and https://github.com/certbot/certbot/issues/4635.

- [x] Deprecate `NamespaceConfig.csr_dir`,`NamespaceConfig.key_dir`, ~~`constants.CSR_DIR` and `constants.KEY_DIR`~~. (`constants` is `_internal` so we can just delete it eventually).
- [x] Update `certbot.crypto_util.generate_csr` and `.generate_key` to make `csr_dir` and `key_dir` optional, respectively.
- [x] Change `certbot._internal.client.Client.obtain_certificate` to no longer include `csr_dir` and `key_dir` to the `.generate_csr` and `.generate_key` calls, respectively.
- Automatically delete unwanted lineage items:
  - [x] In `certbot._internal.storage.RenewableCert`, add a function to truncate the lineage history according to the criteria (keep the current and the 5 prior certificates). 
      - [x] Add a test suite for `truncate` 
  - [x] In `certbot._internal.renewal.renew_cert`, call the lineage truncation function after the symlinks have been updated for the renewal.


* Stop writing new files to /csr and /keys

* storage: add lineage truncation

* remove unused code

* deprecate keys_dir and csr_dir

* update CHANGELOG

* just keep 5 prior certificates, dont be clever with expiry

* docs: remove reference to /archive and /keys

* filter {csr,key}_dir deprecations directly in tests
2023-01-19 17:21:26 -08:00
Brad Warren
32a233d93b Bump version to 2.3.0 2023-01-11 13:21:23 -08:00
Brad Warren
4ab4c9b65d
Release 2.2.0 2023-01-11 13:21:22 -08:00
Brad Warren
7240e06613 Bump version to 2.2.0 2022-12-07 06:51:42 -08:00
Brad Warren
5e193eb12f
Release 2.1.0 2022-12-07 06:51:41 -08:00
alexzorin
c178fa8c0b
nginx: on encountering lua directives, produce a better warning (#9475)
* nginx: capitalise product names in warning message properly

* nginx: don't crash on encountering lua directives, warn instead

* add tests

* undo excess newline

* fix oldest tests: use old camelCase function name

* add missing newline in new testdata

* add tests for _by_lua, which should parse fine
2022-11-30 12:03:51 +11:00
Will Greenberg
1e61513859 Bump version to 2.1.0 2022-11-21 09:59:06 -08:00
Will Greenberg
3d0c2abd3b
Release 2.0.0 2022-11-21 09:59:04 -08:00
Brad Warren
1c5e56d9c7
Claim Python 3.11 support and add tests (#9471)
* set up 3.11 tests

* fixup warnings

* sed -i "s/\( *'Pro.*3\.1\)0\(',\)/\10\2\n\11\2/" */setup.py

* update changelog
2022-11-18 07:55:27 +11:00
Brad Warren
d244013355
Upgrade pylint (#9470)
* upgrade pylint

* pylint --generate-rcfile > .pylintrc

* fixup pylintrc

* Remove unnecessary lambdas

* fix broad-except

* fix missing timeouts

* fix unit tests

* catch more generic exception
2022-11-17 18:21:14 +11:00
Alex Zorin
202db15274 fix new mypy complaints 2022-11-11 18:03:57 +11:00
Alex Zorin
d5d8739783 bump version to 2.0.0.dev0 2022-10-05 05:17:29 +11:00
Alex Zorin
4fcc0f7c2a Merge branch 'master' into 2.0-merge-master 2022-10-05 05:15:39 +11:00
Brad Warren
3eac48ba5a Bump version to 1.32.0 2022-10-04 07:41:45 -07:00
Brad Warren
d0fbde9126
Release 1.31.0 2022-10-04 07:41:44 -07:00
Will Greenberg
26d479d6e3
Remove external mock dependency (#9331)
* Remove external mock dependency

This also removes the "external-mock" test environment

* remove superfluous ignores

* remove mock warning ignore from pytest.ini

* drop deps on mock in oldest, drop dep on types-mock

Co-authored-by: Alex Zorin <alex@zorin.id.au>
2022-09-28 16:17:03 -07:00
Will Greenberg
614eaf6898 Bump version to 1.31.0 2022-09-07 11:09:12 -07:00
Will Greenberg
667b736879
Release 1.30.0 2022-09-07 11:09:11 -07:00
Will Greenberg
f1f526d63c Bump version to 1.30.0 2022-07-05 11:16:40 -07:00
Will Greenberg
befa4434ad
Release 1.29.0 2022-07-05 11:16:39 -07:00
alexzorin
49f21bcc9f
deps: bump pyOpenSSL in oldest pinnings (#9329) 2022-06-22 16:38:32 -07:00
Will Greenberg
4dd603f786 Bump version to 1.29.0 2022-06-07 12:43:12 -07:00
Will Greenberg
b9f9ebc4fc
Release 1.28.0 2022-06-07 12:43:11 -07:00
amplifi
5c111d0bd1
Cite Mozilla ssl-config in Apache/NGINX TLS configs (#8670) (#9295)
* Cite Mozilla ssl-config in Apache/nginx TLS configs (certbot#8670)

* Update CHANGELOG

* Add TLS config hashes to ALL_SSL_OPTIONS_HASHES

* Update wording in CHANGELOG
2022-05-13 10:59:49 -07:00
Will Greenberg
8d7ced5e12 Bump version to 1.28.0 2022-05-03 11:35:09 -07:00
Will Greenberg
373ff0e6e9
Release 1.27.0 2022-05-03 11:35:08 -07:00
Brad Warren
b9a7d771bc Bump version to 1.27.0 2022-04-05 10:43:01 -07:00
Brad Warren
5b8cc18456
Release 1.26.0 2022-04-05 10:43:00 -07:00
Erica Portnoy
429bc553a0 Bump version to 1.26.0 2022-03-16 11:17:55 -07:00
Erica Portnoy
44c097fc05
Release 1.25.0 2022-03-16 11:17:54 -07:00
Erica Portnoy
9d312af32a Bump version to 1.25.0 2022-03-01 12:34:54 -08:00
Erica Portnoy
3d3077e1f1
Release 1.24.0 2022-03-01 12:34:21 -08:00
Brad Warren
c1030c0d40
Drop Python 3.6 support (#9216)
* Remove deprecation warnings

* update ci

* update setup.py files

* update changelog

* update pinnings

* update requests and friends

* update setuptools pin

* update setuptools pin pt2

* update pytz

* upgrade pyparsing

* upgrade boto deps

* update deps and docs

* update pyproject.toml comment

* remove trailets pin

* remove explicit PYTHON_VERSION
2022-02-28 15:23:30 -08:00
Brad Warren
c96420dbe0
remove outdated setup.cfg files (#9201) 2022-02-17 22:17:21 +11:00
Mads Jensen
6f85eb928c
Use literals wherever possible. (#9194)
* Use literals wherever possible.

These were found with flake8-comprehensions.
2022-02-14 14:54:03 -08:00