t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c
commit3c14419c6b2747fa0c60d8d63e5ff59b58327de3
authorJeff King <peff@peff.net>
Thu, 23 Feb 2023 11:06:44 +0000 (23 06:06 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Feb 2023 21:01:17 +0000 (23 13:01 -0800)
tree4f6f23ce1bd21ef87962ac64ec49e3d3394689b0
parent9d15b1e5df56dd4409766fe8ef55752436ca9f3d
t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c

Commit 73c49a4474 (t: run t5551 tests with both HTTP and HTTP/2,
2022-11-11) added Apache config to enable HTTP/2. However, it only
enabled the "h2c" protocol, which allows cleartext HTTP/2 (generally
based on an upgrade header during an HTTP/1.1 request). This is what
t5559 is generally testing, since by default we don't set up SSL/TLS.

However, it should be possible to run t5559 with LIB_HTTPD_SSL set. In
that case, Apache will advertise support for HTTP/2 via ALPN during the
TLS handshake. But we need to tell it support "h2" (the non-cleartext
version) to do so. Without that, then curl does not even try to do the
HTTP/1.1 upgrade (presumably because after seeing that we did TLS but
didn't get the ALPN indicator, it assumes it would be fruitless).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/lib-httpd/apache.conf