summaryrefslogtreecommitdiff
path: root/lib/vtls/openssl.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-04-30 11:14:38 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-05-01 22:51:23 +0200
commitbe6e281cf2792b06b6d413d120b4a9381e4b0653 (patch)
treea2b34a119ec3081931cb90720a3af68c3e1ec3b3 /lib/vtls/openssl.c
parent5c8783d77f341d69e866bf0cd56836b4faea0a1f (diff)
downloadcurl-be6e281cf2792b06b6d413d120b4a9381e4b0653.tar.gz
multi: provide Curl_multiuse_state to update information
As soon as a TLS backend gets ALPN conformation about the specific HTTP version it can now set the multiplex situation for the "bundle" and trigger moving potentially queued up transfers to the CONNECT state.
Diffstat (limited to 'lib/vtls/openssl.c')
-rw-r--r--lib/vtls/openssl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index 5d2aac7d3..e50f929ef 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -48,6 +48,7 @@
#include "vtls.h"
#include "strcase.h"
#include "hostcheck.h"
+#include "multiif.h"
#include "curl_printf.h"
#include <openssl/ssl.h>
#include <openssl/rand.h>
@@ -2917,6 +2918,9 @@ static CURLcode ossl_connect_step2(struct connectdata *conn, int sockindex)
}
else
infof(data, "ALPN, server did not agree to a protocol\n");
+
+ Curl_multiuse_state(conn, conn->negnpn == CURL_HTTP_VERSION_2 ?
+ BUNDLE_MULTIPLEX : BUNDLE_NO_MULTIUSE);
}
#endif