Commit d5ab5aa63c for openssl.org

commit d5ab5aa63c70b05217444dd9842d7cd42bec5a00
Author: Bob Beck <beck@openssl.org>
Date:   Fri Aug 7 18:45:25 2026 -0600

    Keep the HTTP reason codes visible in no-http builds

    no-http removes the HTTP client but still builds http_lib.c for URL
    parsing, and it raises HTTP reason codes; mkerr must not wrap
    httperr.h in OPENSSL_NO_HTTP, so HTTP joins SSL, ASYNC and DSO on
    the list of libraries whose error codes survive disabling.

    The committed httperr.h never had the guard -- it predates HTTP
    becoming disablable and was never regenerated -- so no-http builds
    have been quietly relying on the committed copy being stale.  The
    emitted header now matches the published one.

    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Andrew Dinh <andrewd@openssl.org>
    Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
    Merge-date: Tue Sep  1 14:03:07 2026
    Merged-from: https://github.com/openssl/openssl/pull/32243

diff --git a/util/mkerr.pl b/util/mkerr.pl
index 16976a0c80..b90cf86cbc 100755
--- a/util/mkerr.pl
+++ b/util/mkerr.pl
@@ -475,12 +475,15 @@ sub lib_disablable
     # Flag if the sub-library is disablable.
     # There are a few exceptions, where disabling the sub-library
     # doesn't actually remove the whole sub-library, but rather
-    # implements it with a NULL backend.
+    # implements it with a NULL backend or keeps part of it: no-http
+    # still builds http_lib.c for URL parsing, so the HTTP reason
+    # codes must remain visible.
     return do {
         # The 'once' warning does not know that require defines these.
         no warnings 'once';

         ($lib ne "SSL" && $lib ne "ASYNC" && $lib ne "DSO"
+         && $lib ne "HTTP"
          && (grep { $lib eq uc $_ } @configdata::disablables,
                                     @configdata::disablables_int));
     };