]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
update to mod_md v2.6.9
authorStefan Eissing <icing@apache.org>
Fri, 10 Apr 2026 08:44:53 +0000 (08:44 +0000)
committerStefan Eissing <icing@apache.org>
Fri, 10 Apr 2026 08:44:53 +0000 (08:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1932945 13f79535-47bb-0310-9956-ffa450edef68

changes-entries/md_v2.6.9.txt [new file with mode: 0644]
modules/md/md_acme.c
modules/md/md_version.h

diff --git a/changes-entries/md_v2.6.9.txt b/changes-entries/md_v2.6.9.txt
new file mode 100644 (file)
index 0000000..3db80f3
--- /dev/null
@@ -0,0 +1,3 @@
+  *) mod_md: update to version 2.6.9
+     - Pebble 2.9+ reports another error when terms of service agreement is
+       not set. Treating all "userActionRequired" errors as permanent now.
index 099d3a450ee9527ae633880f6726284db6650695..a62438da4df6bf0a8dd1982e89d0d1dfda8d936b 100644 (file)
@@ -49,6 +49,7 @@ struct acme_problem_status_t {
 };
 
 static acme_problem_status_t Problems[] = {
+    { "acme:error:agreementRequired",            APR_EGENERAL, 1 },
     { "acme:error:badCSR",                       APR_EINVAL,   1 },
     { "acme:error:badNonce",                     APR_EAGAIN,   0 },
     { "acme:error:badSignatureAlgorithm",        APR_EINVAL,   1 },
@@ -61,7 +62,7 @@ static acme_problem_status_t Problems[] = {
     { "acme:error:serverInternal",               APR_EGENERAL, 0 },
     { "acme:error:unauthorized",                 APR_EACCES,   0 },
     { "acme:error:unsupportedIdentifier",        APR_BADARG,   1 },
-    { "acme:error:userActionRequired",           APR_EAGAIN,   0 },
+    { "acme:error:userActionRequired",           APR_EGENERAL, 1 },
     { "acme:error:badRevocationReason",          APR_EINVAL,   1 },
     { "acme:error:caa",                          APR_EGENERAL, 0 },
     { "acme:error:dns",                          APR_EGENERAL, 0 },
@@ -182,22 +183,24 @@ static apr_status_t inspect_problem(md_acme_req_t *req, const md_http_response_t
             
             req->resp_json = problem;
             ptype = md_json_gets(problem, MD_KEY_TYPE, NULL); 
-            pdetail = md_json_gets(problem, MD_KEY_DETAIL, NULL);
-            req->rv = problem_status_get(ptype);
-            md_result_problem_set(req->result, req->rv, ptype, pdetail,
-                                  md_json_getj(problem, MD_KEY_SUBPROBLEMS, NULL));
-            
-            
-            
-            if (APR_STATUS_IS_EAGAIN(req->rv)) {
-                md_log_perror(MD_LOG_MARK, MD_LOG_DEBUG, req->rv, req->p,
-                              "acme reports %s: %s", ptype, pdetail);
-            }
-            else {
-                md_log_perror(MD_LOG_MARK, MD_LOG_WARNING, req->rv, req->p,
-                              "acme problem %s: %s", ptype, pdetail);
+
+            if (ptype) {
+                req->rv = problem_status_get(ptype);
+                pdetail = md_json_gets(problem, MD_KEY_DETAIL, NULL);
+
+                md_result_problem_set(req->result, req->rv, ptype, pdetail,
+                                      md_json_getj(problem, MD_KEY_SUBPROBLEMS, NULL));
+
+                if (APR_STATUS_IS_EAGAIN(req->rv)) {
+                    md_log_perror(MD_LOG_MARK, MD_LOG_DEBUG, req->rv, req->p,
+                                  "acme reports %s: %s", ptype, pdetail);
+                }
+                else {
+                    md_log_perror(MD_LOG_MARK, MD_LOG_WARNING, req->rv, req->p,
+                                  "acme problem %s: %s", ptype, pdetail);
+                }
+                return req->rv;
             }
-            return req->rv;
         }
     }
     
index 010437229ae95f71cdfe01d5e15fcda4110c75dc..1cd6b82e899246388e9ba85e5147846bcd84e269 100644 (file)
@@ -27,7 +27,7 @@
  * @macro
  * Version number of the md module as c string
  */
-#define MOD_MD_VERSION "2.6.8"
+#define MOD_MD_VERSION "2.6.9-git"
 
 /**
  * @macro
@@ -35,7 +35,7 @@
  * release. This is a 24 bit number with 8 bits for major number, 8 bits
  * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
  */
-#define MOD_MD_VERSION_NUM 0x020608
+#define MOD_MD_VERSION_NUM 0x020609
 
 #define MD_ACME_DEF_URL         "https://acme-v02.api.letsencrypt.org/directory"