From: Joel Depooter Date: Thu, 27 May 2021 01:33:34 +0000 (-0700) Subject: schannel: set ALPN length correctly for HTTP/2 X-Git-Tag: curl-7_78_0~254 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee97f176970c9667bfbdaab89bc637e77099d1df;p=thirdparty%2Fcurl.git 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 --- diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c index 2bcf11db25..3286a9e9fc 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);