summaryrefslogtreecommitdiff
path: root/lib/curl_log.c
diff options
context:
space:
mode:
authorStefan Eissing <stefan@eissing.org>2023-04-06 09:54:57 +0200
committerDaniel Stenberg <daniel@haxx.se>2023-04-06 13:04:46 +0200
commit4ae2d9f24d3ba506f828df69357ac80b346348de (patch)
treeb4c9d1866849d2707dff6532316cf04bb1ec0397 /lib/curl_log.c
parent8f50e393ab0d2305cb5fc1aa4b47fd9d83f415dc (diff)
downloadcurl-4ae2d9f24d3ba506f828df69357ac80b346348de.tar.gz
proxy: http2 proxy tunnel implementation
- currently only on debug build and when env variable CURL_PROXY_TUNNEL_H2 is present. - will ALPN negotiate with the proxy server and switch tunnel filter based on the protocol negotiated. - http/1.1 tunnel code moved into cf-h1-proxy.[ch] - http/2 tunnel code implemented in cf-h2-proxy.[ch] - tunnel start and ALPN set remains in http_proxy.c - moving all haproxy related code into cf-haproxy.[ch] VTLS changes - SSL filters rely solely on the "alpn" specification they are created with and no longer check conn->bits.tls_enable_alpn. - checks on which ALPN specification to use (or none at all) are done in vtls.c when creating the filter. Testing - added a nghttpx forward proxy to the pytest setup that speaks HTTP/2 and forwards all requests to the Apache httpd forward proxy server. - extending test coverage in test_10 cases - adding proxy tests for direct/tunnel h1/h2 use of basic auth. - adding test for http/1.1 and h2 proxy tunneling to pytest Closes #10780
Diffstat (limited to 'lib/curl_log.c')
-rw-r--r--lib/curl_log.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/curl_log.c b/lib/curl_log.c
index 2301cff12..71024cfc6 100644
--- a/lib/curl_log.c
+++ b/lib/curl_log.c
@@ -38,6 +38,9 @@
#include "connect.h"
#include "http2.h"
#include "http_proxy.h"
+#include "cf-h1-proxy.h"
+#include "cf-h2-proxy.h"
+#include "cf-haproxy.h"
#include "cf-https-connect.h"
#include "socks.h"
#include "strtok.h"
@@ -160,6 +163,10 @@ static struct Curl_cftype *cf_types[] = {
#endif
#if !defined(CURL_DISABLE_PROXY)
#if !defined(CURL_DISABLE_HTTP)
+ &Curl_cft_h1_proxy,
+#ifdef USE_NGHTTP2
+ &Curl_cft_h2_proxy,
+#endif
&Curl_cft_http_proxy,
#endif /* !CURL_DISABLE_HTTP */
&Curl_cft_haproxy,