[libsoup] http2: do not include the default port in :authority pseudo-header
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsoup] http2: do not include the default port in :authority pseudo-header
- Date: Fri, 21 May 2021 14:01:36 +0000 (UTC)
commit 34a2d114bd0f8c5eb3528640896a19b3231d220b
Author: Carlos Garcia Campos <cgarcia igalia com>
Date: Fri May 21 15:10:23 2021 +0200
http2: do not include the default port in :authority pseudo-header
It makes authentication fail in some sites
libsoup/http2/soup-client-message-io-http2.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/libsoup/http2/soup-client-message-io-http2.c b/libsoup/http2/soup-client-message-io-http2.c
index 175454a8..31d29d29 100644
--- a/libsoup/http2/soup-client-message-io-http2.c
+++ b/libsoup/http2/soup-client-message-io-http2.c
@@ -819,7 +819,10 @@ send_message_request (SoupMessage *msg,
GUri *uri = soup_message_get_uri (msg);
char *host = soup_uri_get_host_for_headers (uri);
- char *authority = g_strdup_printf ("%s:%u", host, g_uri_get_port (uri));
+ char *authority = NULL;
+ if (!soup_uri_uses_default_port (uri))
+ authority = g_strdup_printf ("%s:%d", host, g_uri_get_port (uri));
+ const char *authority_header = authority ? authority : host;
char *path_and_query;
if (soup_message_get_is_options_ping (msg))
@@ -830,7 +833,7 @@ send_message_request (SoupMessage *msg,
const nghttp2_nv pseudo_headers[] = {
MAKE_NV3 (":method", soup_message_get_method (msg), NGHTTP2_NV_FLAG_NO_COPY_VALUE),
MAKE_NV2 (":scheme", g_uri_get_scheme (uri)),
- MAKE_NV2 (":authority", authority),
+ MAKE_NV2 (":authority", authority_header),
MAKE_NV2 (":path", path_and_query),
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]