svn commit: r1935039 - httpd/httpd/trunk/modules/http2

[email protected] Fri, 05 Jun 2026 16:38:04 -0000
Newsgroups gmane.comp.apache.cvs
Message-ID <178067748435.3201775.12811825972067476725@svn03-he-fi>
Author: jorton
Date: Fri Jun  5 16:38:04 2026
New Revision: 1935039

Log:
Partial revert of r1934913 in ./modules/http2 to retain
backwards-compatibility with 2.4.x builds for that module.

Modified:
   httpd/httpd/trunk/modules/http2/h2_c2.c
   httpd/httpd/trunk/modules/http2/h2_proxy_session.c
   httpd/httpd/trunk/modules/http2/h2_stream.c

Modified: httpd/httpd/trunk/modules/http2/h2_c2.c
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_c2.c	Fri Jun  5 16:24:49 2026	(r1935038)
+++ httpd/httpd/trunk/modules/http2/h2_c2.c	Fri Jun  5 16:38:04 2026	(r1935039)
@@ -461,8 +461,13 @@ static void check_early_hints(request_re
           }
           old_status = r->status;
           old_line = r->status_line;
+#ifdef HTTP_EARLY_HINTS
           r->status = HTTP_EARLY_HINTS;
           r->status_line = ap_get_status_line(r->status);
+#else
+          r->status = 103;
+          r->status_line = "103 Early Hints";
+#endif
           ap_send_interim_response(r, 1);
           r->status = old_status;
           r->status_line = old_line;

Modified: httpd/httpd/trunk/modules/http2/h2_proxy_session.c
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_proxy_session.c	Fri Jun  5 16:24:49 2026	(r1935038)
+++ httpd/httpd/trunk/modules/http2/h2_proxy_session.c	Fri Jun  5 16:38:04 2026	(r1935039)
@@ -293,6 +293,14 @@ static int on_frame_recv(nghttp2_session
                             forward = 1;
                         } 
                         break;
+#ifndef HTTP_EARLY_HINTS
+                    case 103:
+                        /* workaround until we get this into http protocol base
+                         * parts. without this, unknown codes are converted to
+                         * 500... */
+                        r->status_line = "103 Early Hints";
+                        break;
+#endif
                     default:
                         r->status_line = ap_get_status_line(r->status);
                         break;

Modified: httpd/httpd/trunk/modules/http2/h2_stream.c
==============================================================================
--- httpd/httpd/trunk/modules/http2/h2_stream.c	Fri Jun  5 16:24:49 2026	(r1935038)
+++ httpd/httpd/trunk/modules/http2/h2_stream.c	Fri Jun  5 16:38:04 2026	(r1935039)
@@ -1709,7 +1709,11 @@ static apr_status_t stream_do_response(h
     }
     h2_session_set_prio(stream->session, stream, stream->pref_priority);
 
+#ifdef HTTP_EARLY_HINTS
     if (resp->status == HTTP_EARLY_HINTS
+#else
+    if (resp->status == 103
+#endif
         && !h2_config_sgeti(stream->session->s, H2_CONF_EARLY_HINTS)) {
         /* suppress sending this to the client, it might have triggered
          * pushes and served its purpose nevertheless */