From ee97f176970c9667bfbdaab89bc637e77099d1df Mon Sep 17 00:00:00 2001 From: Joel Depooter Date: Wed, 26 May 2021 18:33:34 -0700 Subject: schannel: set ALPN length correctly for HTTP/2 In a3268eca792f1 this code was changed to use the ALPN_H2 constant instead of the NGHTTP2_PROTO_ALPN constant. However, these constants are not the same. The nghttp2 constant included the length of the string, like this: "\x2h2". The ALPN_H2 constant is just "h2". Therefore we need to re-add the length of the string to the ALPN buffer. Closes #7138 --- lib/vtls/schannel.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/vtls/schannel.c') diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c index 2bcf11db2..3286a9e9f 100644 --- a/lib/vtls/schannel.c +++ b/lib/vtls/schannel.c @@ -874,6 +874,7 @@ schannel_connect_step1(struct Curl_easy *data, struct connectdata *conn, #ifdef USE_HTTP2 if(data->state.httpwant >= CURL_HTTP_VERSION_2) { + alpn_buffer[cur++] = ALPN_H2_LENGTH; memcpy(&alpn_buffer[cur], ALPN_H2, ALPN_H2_LENGTH); cur += ALPN_H2_LENGTH; infof(data, "schannel: ALPN, offering %s\n", ALPN_H2); -- cgit v1.2.1