certbot-dns-poweradmin 0.2.2__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/dependabot.yml +6 -0
  2. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/workflows/codeql.yml +3 -3
  3. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/workflows/publish.yml +4 -4
  4. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/workflows/test-publish.yml +2 -2
  5. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/workflows/test.yml +3 -3
  6. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.gitignore +3 -0
  7. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.pre-commit-config.yaml +1 -1
  8. certbot_dns_poweradmin-0.2.4/.release-please-manifest.json +3 -0
  9. certbot_dns_poweradmin-0.2.4/CHANGELOG.md +39 -0
  10. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/PKG-INFO +10 -6
  11. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/README.md +6 -2
  12. certbot_dns_poweradmin-0.2.4/certbot_dns_poweradmin/_internal/dns_poweradmin.py +481 -0
  13. certbot_dns_poweradmin-0.2.4/certbot_dns_poweradmin/_internal/tests/dns_poweradmin_test.py +793 -0
  14. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/poetry.lock +430 -433
  15. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/pyproject.toml +7 -5
  16. certbot_dns_poweradmin-0.2.2/.release-please-manifest.json +0 -3
  17. certbot_dns_poweradmin-0.2.2/CHANGELOG.md +0 -16
  18. certbot_dns_poweradmin-0.2.2/certbot_dns_poweradmin/_internal/dns_poweradmin.py +0 -341
  19. certbot_dns_poweradmin-0.2.2/certbot_dns_poweradmin/_internal/tests/dns_poweradmin_test.py +0 -339
  20. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/stepping_stone_logo.svg +0 -0
  21. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/.github/workflows/release.yml +0 -0
  22. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/DEVELOPMENT.md +0 -0
  23. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/LICENSE +0 -0
  24. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/certbot_dns_poweradmin/__init__.py +0 -0
  25. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/certbot_dns_poweradmin/_internal/__init__.py +0 -0
  26. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/certbot_dns_poweradmin/_internal/tests/__init__.py +0 -0
  27. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/certbot_dns_poweradmin/py.typed +0 -0
  28. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/release-please-config.json +0 -0
  29. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/setup.py +0 -0
  30. {certbot_dns_poweradmin-0.2.2 → certbot_dns_poweradmin-0.2.4}/tox.ini +0 -0
@@ -8,6 +8,8 @@ updates:
8
8
  day: "thursday"
9
9
  time: "14:00"
10
10
  timezone: "Europe/Vilnius"
11
+ cooldown:
12
+ default-days: 7
11
13
  commit-message:
12
14
  prefix: "chore(deps)"
13
15
  groups:
@@ -26,6 +28,8 @@ updates:
26
28
  day: "friday"
27
29
  time: "15:00"
28
30
  timezone: "Europe/Vilnius"
31
+ cooldown:
32
+ default-days: 7
29
33
  commit-message:
30
34
  prefix: "chore(deps)"
31
35
  groups:
@@ -41,6 +45,8 @@ updates:
41
45
  day: "sunday"
42
46
  time: "14:00"
43
47
  timezone: "Europe/Vilnius"
48
+ cooldown:
49
+ default-days: 7
44
50
  commit-message:
45
51
  prefix: "chore(deps)"
46
52
  groups:
@@ -27,15 +27,15 @@ jobs:
27
27
  language: [python, actions]
28
28
 
29
29
  steps:
30
- - uses: actions/checkout@v6
30
+ - uses: actions/checkout@v7.0.0
31
31
 
32
32
  - name: Initialize CodeQL
33
- uses: github/codeql-action/init@v4
33
+ uses: github/codeql-action/init@v4.36.2
34
34
  with:
35
35
  languages: ${{ matrix.language }}
36
36
  queries: security-extended,security-and-quality
37
37
 
38
38
  - name: Perform CodeQL Analysis
39
- uses: github/codeql-action/analyze@v4
39
+ uses: github/codeql-action/analyze@v4.36.2
40
40
  with:
41
41
  category: "/language:${{ matrix.language }}"
@@ -27,12 +27,12 @@ jobs:
27
27
  matrix:
28
28
  python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
29
29
  steps:
30
- - uses: actions/checkout@v6
30
+ - uses: actions/checkout@v7.0.0
31
31
  with:
32
32
  ref: ${{ inputs.tag || github.ref }}
33
33
 
34
34
  - name: Set up Python ${{ matrix.python-version }}
35
- uses: actions/setup-python@v6
35
+ uses: actions/setup-python@v6.3.0
36
36
  with:
37
37
  python-version: ${{ matrix.python-version }}
38
38
  allow-prereleases: true
@@ -57,12 +57,12 @@ jobs:
57
57
  needs: test
58
58
  runs-on: ubuntu-latest
59
59
  steps:
60
- - uses: actions/checkout@v6
60
+ - uses: actions/checkout@v7.0.0
61
61
  with:
62
62
  ref: ${{ inputs.tag || github.ref }}
63
63
 
64
64
  - name: Set up Python
65
- uses: actions/setup-python@v6
65
+ uses: actions/setup-python@v6.3.0
66
66
  with:
67
67
  python-version: "3.12"
68
68
 
@@ -10,10 +10,10 @@ jobs:
10
10
  publish:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7.0.0
14
14
 
15
15
  - name: Set up Python
16
- uses: actions/setup-python@v6
16
+ uses: actions/setup-python@v6.3.0
17
17
  with:
18
18
  python-version: "3.12"
19
19
 
@@ -18,10 +18,10 @@ jobs:
18
18
  python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
19
19
 
20
20
  steps:
21
- - uses: actions/checkout@v6
21
+ - uses: actions/checkout@v7.0.0
22
22
 
23
23
  - name: Set up Python ${{ matrix.python-version }}
24
- uses: actions/setup-python@v6
24
+ uses: actions/setup-python@v6.3.0
25
25
  with:
26
26
  python-version: ${{ matrix.python-version }}
27
27
  allow-prereleases: true
@@ -46,7 +46,7 @@ jobs:
46
46
 
47
47
  - name: Upload coverage to Codecov
48
48
  if: matrix.python-version == '3.12'
49
- uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6
49
+ uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v6
50
50
  with:
51
51
  files: ./coverage.xml
52
52
  fail_ci_if_error: false
@@ -12,6 +12,9 @@ build/
12
12
  .pytest_cache/
13
13
  .coverage
14
14
  htmlcov/
15
+ .tox/
16
+ .mypy_cache/
17
+ .ruff_cache/
15
18
 
16
19
  # IDE
17
20
  .idea/
@@ -9,7 +9,7 @@ repos:
9
9
  - id: check-added-large-files
10
10
 
11
11
  - repo: https://github.com/astral-sh/ruff-pre-commit
12
- rev: v0.15.14
12
+ rev: v0.15.20
13
13
  hooks:
14
14
  - id: ruff
15
15
  args: [--fix]
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.4"
3
+ }
@@ -0,0 +1,39 @@
1
+ # Changelog
2
+
3
+ ## [0.2.4](https://github.com/poweradmin/certbot-dns-poweradmin/compare/v0.2.3...v0.2.4) (2026-07-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * sanitize redirect Location and reason phrase in errors, reject API keys with whitespace/line breaks ([fd78639](https://github.com/poweradmin/certbot-dns-poweradmin/commit/fd7863945f4872a917b76a0ad3843dba98f321ba))
9
+
10
+ ## [0.2.3](https://github.com/poweradmin/certbot-dns-poweradmin/compare/v0.2.2...v0.2.3) (2026-07-06)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * quote TXT content for API v1, add timeouts, harden response parsing and error reporting ([310e97f](https://github.com/poweradmin/certbot-dns-poweradmin/commit/310e97fc26fab6ea4ee3f0fba6553619e61741ff))
16
+ * reject query/fragment in API URL, accept uppercase api_version, skip boolean zone IDs ([dad6e36](https://github.com/poweradmin/certbot-dns-poweradmin/commit/dad6e361d486734736f215db21ce06f1645c88f2))
17
+ * reject redirects and bad API URLs, skip disabled records, encode record IDs, close session ([6bc1b97](https://github.com/poweradmin/certbot-dns-poweradmin/commit/6bc1b974e5d33cea2ebd91ae0170335e291ac2dd))
18
+ * skip unusable record IDs, escape embedded quotes in TXT content, truncate long API error hints ([a047217](https://github.com/poweradmin/certbot-dns-poweradmin/commit/a047217c6ce1c3096123d375c0e54004ddcaad74))
19
+ * strip control chars from API error hints, validate pre-quoted TXT content, close client after cleanup, distinct 304 error ([8b00f81](https://github.com/poweradmin/certbot-dns-poweradmin/commit/8b00f81e92521aa4cedb09869da4be54f2f3627c))
20
+
21
+
22
+ ### Documentation
23
+
24
+ * update compatibility table and API URL troubleshooting in README ([d39650f](https://github.com/poweradmin/certbot-dns-poweradmin/commit/d39650fe30b8af4c98c377377db7187c9e2f7e05))
25
+
26
+ ## [0.2.2](https://github.com/poweradmin/certbot-dns-poweradmin/compare/v0.2.1...v0.2.2) (2026-05-30)
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * distinguish API HTTP errors from not-found in lookups ([30dbe54](https://github.com/poweradmin/certbot-dns-poweradmin/commit/30dbe54239b8c2cd5777fe35ca379d693421f447))
32
+ * distinguish API HTTP errors from not-found in zone/record lookups ([beefe4d](https://github.com/poweradmin/certbot-dns-poweradmin/commit/beefe4def76b0b193d811200a09c7c429f18c4aa))
33
+
34
+ ## [0.2.1](https://github.com/poweradmin/certbot-dns-poweradmin/compare/v0.2.0...v0.2.1) (2026-05-10)
35
+
36
+
37
+ ### Security
38
+
39
+ * bump `requests` to 2.33.1, `urllib3` to 2.7.0, `pyopenssl` to 26.2.0 to address CWE-120 (pyopenssl buffer overflow), CWE-377 (requests insecure temp file), CWE-770 / CWE-409 (urllib3 resource exhaustion / data amplification) ([1148295](https://github.com/poweradmin/certbot-dns-poweradmin/commit/114829569f571c9ecd0645294c6b773312b12e71))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: certbot-dns-poweradmin
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: PowerAdmin DNS Authenticator plugin for Certbot
5
5
  Project-URL: Homepage, https://github.com/poweradmin/certbot-dns-poweradmin
6
6
  Project-URL: Bug Reports, https://github.com/poweradmin/certbot-dns-poweradmin/issues
@@ -8,7 +8,7 @@ Project-URL: Source, https://github.com/poweradmin/certbot-dns-poweradmin
8
8
  Author-email: Edmondas Girkantas <edmondas@girkantas.lt>
9
9
  License-Expression: Apache-2.0
10
10
  License-File: LICENSE
11
- Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Development Status :: 4 - Beta
12
12
  Classifier: Intended Audience :: System Administrators
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
14
  Classifier: Operating System :: OS Independent
@@ -25,17 +25,17 @@ Classifier: Topic :: System :: Systems Administration
25
25
  Requires-Python: >=3.10
26
26
  Requires-Dist: acme>=5.1.0
27
27
  Requires-Dist: certbot>=5.1.0
28
- Requires-Dist: pyopenssl>=26.0.0
29
28
  Requires-Dist: requests>=2.33.1
30
- Requires-Dist: urllib3>=2.6.0
31
29
  Provides-Extra: dev
32
30
  Requires-Dist: mypy>=1.13.0; extra == 'dev'
31
+ Requires-Dist: pyopenssl>=26.0.0; extra == 'dev'
33
32
  Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
34
33
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
35
34
  Requires-Dist: requests-mock>=1.11.0; extra == 'dev'
36
35
  Requires-Dist: ruff>=0.8.0; extra == 'dev'
37
36
  Requires-Dist: tox>=4.0.0; extra == 'dev'
38
37
  Requires-Dist: types-requests>=2.32.0; extra == 'dev'
38
+ Requires-Dist: urllib3>=2.6.0; extra == 'dev'
39
39
  Description-Content-Type: text/markdown
40
40
 
41
41
  # certbot-dns-poweradmin
@@ -53,7 +53,7 @@ This plugin automates the process of completing a `dns-01` challenge by creating
53
53
 
54
54
  | Plugin Version | Poweradmin Version | Python | Certbot |
55
55
  |---|---|---|---|
56
- | 0.2.0 | 4.1.0+ | >= 3.10 | >= 5.1.0 |
56
+ | 0.2.x | 4.1.0+ | >= 3.10 | >= 5.1.0 |
57
57
  | 0.1.x | 4.1.0 - 4.2.x | >= 3.10 | >= 5.1.0 |
58
58
 
59
59
  ## Installation
@@ -190,7 +190,11 @@ certbot plugins # should show dns-poweradmin
190
190
 
191
191
  ### API connection issues
192
192
 
193
- - Verify your API URL is correct and accessible
193
+ - Use the base URL of your PowerAdmin installation as `dns_poweradmin_api_url`
194
+ (e.g. `https://poweradmin.example.com`), including the `https://` scheme and
195
+ without the `/api` path — the plugin appends `/api/v1` or `/api/v2` itself
196
+ - The URL must not redirect (e.g. `http://` to `https://`); the plugin refuses
197
+ redirects and asks you to configure the final URL directly
194
198
  - Check that your API key has the required permissions
195
199
 
196
200
  ## Sponsors
@@ -13,7 +13,7 @@ This plugin automates the process of completing a `dns-01` challenge by creating
13
13
 
14
14
  | Plugin Version | Poweradmin Version | Python | Certbot |
15
15
  |---|---|---|---|
16
- | 0.2.0 | 4.1.0+ | >= 3.10 | >= 5.1.0 |
16
+ | 0.2.x | 4.1.0+ | >= 3.10 | >= 5.1.0 |
17
17
  | 0.1.x | 4.1.0 - 4.2.x | >= 3.10 | >= 5.1.0 |
18
18
 
19
19
  ## Installation
@@ -150,7 +150,11 @@ certbot plugins # should show dns-poweradmin
150
150
 
151
151
  ### API connection issues
152
152
 
153
- - Verify your API URL is correct and accessible
153
+ - Use the base URL of your PowerAdmin installation as `dns_poweradmin_api_url`
154
+ (e.g. `https://poweradmin.example.com`), including the `https://` scheme and
155
+ without the `/api` path — the plugin appends `/api/v1` or `/api/v2` itself
156
+ - The URL must not redirect (e.g. `http://` to `https://`); the plugin refuses
157
+ redirects and asks you to configure the final URL directly
154
158
  - Check that your API key has the required permissions
155
159
 
156
160
  ## Sponsors