Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-certbot-apache for
openSUSE:Factory checked in at 2026-02-09 19:28:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot-apache (Old)
and /work/SRC/openSUSE:Factory/.python-certbot-apache.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-apache"
Mon Feb 9 19:28:34 2026 rev:52 rq:1332025 version:5.3.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-certbot-apache/python-certbot-apache.changes
2026-01-17 14:55:13.372360144 +0100
+++
/work/SRC/openSUSE:Factory/.python-certbot-apache.new.1670/python-certbot-apache.changes
2026-02-09 19:28:45.419697958 +0100
@@ -1,0 +2,6 @@
+Mon Feb 9 12:57:47 UTC 2026 - Markéta Machová <[email protected]>
+
+- update to version 5.3.0
+ * sync with the main certbot package
+
+-------------------------------------------------------------------
Old:
----
certbot_apache-5.2.2.tar.gz
New:
----
certbot_apache-5.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-certbot-apache.spec ++++++
--- /var/tmp/diff_new_pack.HGLVF8/_old 2026-02-09 19:28:48.191813881 +0100
+++ /var/tmp/diff_new_pack.HGLVF8/_new 2026-02-09 19:28:48.207814550 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-certbot-apache
-Version: 5.2.2
+Version: 5.3.0
Release: 0
Summary: Apache plugin for Certbot
License: Apache-2.0
++++++ certbot_apache-5.2.2.tar.gz -> certbot_apache-5.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/certbot_apache-5.2.2/PKG-INFO
new/certbot_apache-5.3.0/PKG-INFO
--- old/certbot_apache-5.2.2/PKG-INFO 2025-12-10 18:08:13.336300600 +0100
+++ new/certbot_apache-5.3.0/PKG-INFO 2026-02-03 18:51:46.594960500 +0100
@@ -1,8 +1,8 @@
Metadata-Version: 2.4
Name: certbot-apache
-Version: 5.2.2
+Version: 5.3.0
Summary: Apache plugin for Certbot
-Author-email: Certbot Project <[email protected]>
+Author: Certbot Project
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/certbot/certbot
Classifier: Development Status :: 5 - Production/Stable
@@ -25,8 +25,8 @@
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
-Requires-Dist: acme>=5.2.2
-Requires-Dist: certbot>=5.2.2
+Requires-Dist: acme>=5.3.0
+Requires-Dist: certbot>=5.3.0
Requires-Dist: python-augeas
Provides-Extra: dev
Requires-Dist: apacheconfig>=0.3.2; extra == "dev"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/certbot_apache-5.2.2/pyproject.toml
new/certbot_apache-5.3.0/pyproject.toml
--- old/certbot_apache-5.2.2/pyproject.toml 2025-12-10 18:08:09.000000000
+0100
+++ new/certbot_apache-5.3.0/pyproject.toml 2026-02-03 18:51:42.000000000
+0100
@@ -10,7 +10,7 @@
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [
- { name = "Certbot Project", email = "[email protected]" },
+ { name = "Certbot Project" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/certbot_apache-5.2.2/setup.py
new/certbot_apache-5.3.0/setup.py
--- old/certbot_apache-5.2.2/setup.py 2025-12-10 18:08:09.000000000 +0100
+++ new/certbot_apache-5.3.0/setup.py 2026-02-03 18:51:43.000000000 +0100
@@ -1,6 +1,6 @@
from setuptools import setup
-version = '5.2.2'
+version = '5.3.0'
install_requires = [
# We specify the minimum acme and certbot version as the current plugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache/_internal/configurator.py
new/certbot_apache-5.3.0/src/certbot_apache/_internal/configurator.py
--- old/certbot_apache-5.2.2/src/certbot_apache/_internal/configurator.py
2025-12-10 18:08:09.000000000 +0100
+++ new/certbot_apache-5.3.0/src/certbot_apache/_internal/configurator.py
2026-02-03 18:51:42.000000000 +0100
@@ -2442,7 +2442,7 @@
###########################################################################
# Challenges Section
###########################################################################
- def get_chall_pref(self, unused_domain: str) ->
Sequence[type[challenges.HTTP01]]:
+ def get_chall_pref(self, unused_identifier: str) ->
Sequence[type[challenges.HTTP01]]:
"""Return list of challenge preferences."""
return [challenges.HTTP01]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache/_internal/http_01.py
new/certbot_apache-5.3.0/src/certbot_apache/_internal/http_01.py
--- old/certbot_apache-5.2.2/src/certbot_apache/_internal/http_01.py
2025-12-10 18:08:09.000000000 +0100
+++ new/certbot_apache-5.3.0/src/certbot_apache/_internal/http_01.py
2026-02-03 18:51:42.000000000 +0100
@@ -4,6 +4,7 @@
from typing import TYPE_CHECKING
from acme.challenges import KeyAuthorizationChallengeResponse
+from acme import messages
from certbot import errors
from certbot.achallenges import KeyAuthorizationAnnotatedChallenge
from certbot.compat import filesystem
@@ -52,6 +53,9 @@
"""Perform all HTTP-01 challenges."""
if not self.achalls:
return []
+ if any(achall.identifier.typ == messages.IDENTIFIER_IP for achall in
self.achalls):
+ raise errors.ConfigurationError(
+ "Apache authenticator not supported for IP address
certificates")
# Save any changes to the configuration as a precaution
# About to make temporary changes to the config
self.configurator.save("Changes before challenge setup", True)
@@ -82,7 +86,7 @@
# Search for VirtualHosts matching by name
for chall in self.achalls:
- selected_vhosts += self._matching_vhosts(chall.domain)
+ selected_vhosts += self._matching_vhosts(chall.identifier.value)
# Ensure that we have one or more VirtualHosts that we can continue
# with. (one that listens to port configured with --http-01-port)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/configurator_test.py
new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/configurator_test.py
---
old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/configurator_test.py
2025-12-10 18:08:09.000000000 +0100
+++
new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/configurator_test.py
2026-02-03 18:51:42.000000000 +0100
@@ -9,7 +9,7 @@
import pytest
-from acme import challenges
+from acme import challenges, messages
from certbot import achallenges
from certbot import crypto_util
from certbot import errors
@@ -1193,17 +1193,20 @@
challenges.HTTP01(
token=b"jIq_Xy1mXGN37tb4L6Xj_es58fW571ZNyXekdZzhh7Q"),
"pending"),
- domain="encryption-example.demo", account_key=account_key)
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="encryption-example.demo"),
+ account_key=account_key)
achall2 = achallenges.KeyAuthorizationAnnotatedChallenge(
challb=acme_util.chall_to_challb(
challenges.HTTP01(
token=b"uqnaPzxtrndteOqtrXb0Asl5gOJfWAnnx6QJyvcmlDU"),
"pending"),
- domain="certbot.demo", account_key=account_key)
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="certbot.demo"),
+ account_key=account_key)
achall3 = achallenges.KeyAuthorizationAnnotatedChallenge(
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=(b'x' * 16)), "pending"),
- domain="example.org", account_key=account_key)
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="example.org"),
+ account_key=account_key)
return account_key, (achall1, achall2, achall3)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/dualnode_test.py
new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/dualnode_test.py
---
old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/dualnode_test.py
2025-12-10 18:08:09.000000000 +0100
+++
new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/dualnode_test.py
2026-02-03 18:51:42.000000000 +0100
@@ -337,10 +337,10 @@
self.block.secondary.find_blocks = find_blocks_secondary
blocks = self.block.find_blocks("anything")
+ assert len(blocks) == 1
for block in blocks:
- with self.subTest(block=block):
- assert block.primary == block.secondary
- assert block.primary is not block.secondary
+ assert block.primary == block.secondary
+ assert block.primary is not block.secondary
def test_find_dirs_no_pass_equal(self):
notpassing1 = [augeasparser.AugeasDirectiveNode(name="notpassing",
@@ -357,10 +357,10 @@
self.block.secondary.find_directives = find_dirs_secondary
directives = self.block.find_directives("anything")
+ assert len(directives) == 1
for directive in directives:
- with self.subTest(directive=directive):
- assert directive.primary == directive.secondary
- assert directive.primary is not directive.secondary
+ assert directive.primary == directive.secondary
+ assert directive.primary is not directive.secondary
def test_find_comments_no_pass_equal(self):
notpassing1 = [augeasparser.AugeasCommentNode(comment="notpassing",
@@ -377,10 +377,10 @@
self.block.secondary.find_comments = find_coms_secondary
comments = self.block.find_comments("anything")
+ assert len(comments) == 1
for comment in comments:
- with self.subTest(comment=comment):
- assert comment.primary == comment.secondary
- assert comment.primary is not comment.secondary
+ assert comment.primary == comment.secondary
+ assert comment.primary is not comment.secondary
def test_find_blocks_no_pass_notequal(self):
notpassing1 = [augeasparser.AugeasBlockNode(name="notpassing",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/http_01_test.py
new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/http_01_test.py
--- old/certbot_apache-5.2.2/src/certbot_apache/_internal/tests/http_01_test.py
2025-12-10 18:08:09.000000000 +0100
+++ new/certbot_apache-5.3.0/src/certbot_apache/_internal/tests/http_01_test.py
2026-02-03 18:51:42.000000000 +0100
@@ -5,7 +5,7 @@
import pytest
-from acme import challenges
+from acme import challenges, messages
from certbot import achallenges
from certbot import errors
from certbot.compat import filesystem
@@ -37,7 +37,8 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((chr(ord('a') + i).encode() *
16))),
"pending"),
- domain=self.vhosts[i].name, account_key=self.account_key))
+
identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value=self.vhosts[i].name),
+ account_key=self.account_key))
modules = ["ssl", "rewrite", "authz_core", "authz_host"]
for mod in modules:
@@ -50,6 +51,16 @@
def test_empty_perform(self):
assert len(self.http.perform()) == 0
+ def test_ip_address_perform(self):
+ self.http.achalls = [achallenges.KeyAuthorizationAnnotatedChallenge(
+ challb=acme_util.chall_to_challb(
+ challenges.HTTP01(token=((b'a' * 16))),
+ "pending"),
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_IP,
value="127.0.0.1"),
+ account_key=self.account_key)]
+ with pytest.raises(errors.ConfigurationError):
+ self.http.perform()
+
@mock.patch("certbot_apache._internal.configurator.ApacheConfigurator.enable_mod")
def test_enable_modules_apache_2_4(self, mock_enmod):
del self.config.parser.modules["authz_core_module"]
@@ -83,12 +94,14 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'a' * 16))),
"pending"),
- domain=vhost.name, account_key=self.account_key),
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value=vhost.name),
+ account_key=self.account_key),
achallenges.KeyAuthorizationAnnotatedChallenge(
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'b' * 16))),
"pending"),
- domain=next(iter(vhost.aliases)), account_key=self.account_key)
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value=next(iter(vhost.aliases))),
+ account_key=self.account_key)
]
self.common_perform_test(achalls, [vhost])
@@ -99,7 +112,8 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'a' * 16))),
"pending"),
- domain="something.nonexistent", account_key=self.account_key)]
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="something.nonexistent"),
+ account_key=self.account_key)]
self.common_perform_test(achalls, vhosts)
def test_configure_multiple_vhosts(self):
@@ -110,7 +124,8 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'a' * 16))),
"pending"),
- domain="duplicate.example.com", account_key=self.account_key)]
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="duplicate.example.com"),
+ account_key=self.account_key)]
self.common_perform_test(achalls, vhosts)
def test_configure_name_and_blank(self):
@@ -121,7 +136,8 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'a' * 16))),
"pending"),
- domain=domain, account_key=self.account_key),
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value=domain),
+ account_key=self.account_key),
]
self.common_perform_test(achalls, vhosts)
@@ -148,7 +164,8 @@
challb=acme_util.chall_to_challb(
challenges.HTTP01(token=((b'a' * 16))),
"pending"),
- domain="certbot.demo", account_key=self.account_key)]
+ identifier=messages.Identifier(typ=messages.IDENTIFIER_FQDN,
value="certbot.demo"),
+ account_key=self.account_key)]
vhosts[0].enabled = False
self.common_perform_test(achalls, vhosts)
matches = self.config.parser.find_dir(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache.egg-info/PKG-INFO
new/certbot_apache-5.3.0/src/certbot_apache.egg-info/PKG-INFO
--- old/certbot_apache-5.2.2/src/certbot_apache.egg-info/PKG-INFO
2025-12-10 18:08:13.000000000 +0100
+++ new/certbot_apache-5.3.0/src/certbot_apache.egg-info/PKG-INFO
2026-02-03 18:51:46.000000000 +0100
@@ -1,8 +1,8 @@
Metadata-Version: 2.4
Name: certbot-apache
-Version: 5.2.2
+Version: 5.3.0
Summary: Apache plugin for Certbot
-Author-email: Certbot Project <[email protected]>
+Author: Certbot Project
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/certbot/certbot
Classifier: Development Status :: 5 - Production/Stable
@@ -25,8 +25,8 @@
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
-Requires-Dist: acme>=5.2.2
-Requires-Dist: certbot>=5.2.2
+Requires-Dist: acme>=5.3.0
+Requires-Dist: certbot>=5.3.0
Requires-Dist: python-augeas
Provides-Extra: dev
Requires-Dist: apacheconfig>=0.3.2; extra == "dev"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot_apache-5.2.2/src/certbot_apache.egg-info/requires.txt
new/certbot_apache-5.3.0/src/certbot_apache.egg-info/requires.txt
--- old/certbot_apache-5.2.2/src/certbot_apache.egg-info/requires.txt
2025-12-10 18:08:13.000000000 +0100
+++ new/certbot_apache-5.3.0/src/certbot_apache.egg-info/requires.txt
2026-02-03 18:51:46.000000000 +0100
@@ -1,5 +1,5 @@
-acme>=5.2.2
-certbot>=5.2.2
+acme>=5.3.0
+certbot>=5.3.0
python-augeas
[dev]