vtls/wolfssl.h \
vtls/x509asn1.h
-LIB_VQUIC_CFILES = \
- vquic/curl_ngtcp2.c \
- vquic/curl_quiche.c \
- vquic/vquic.c \
+LIB_VQUIC_CFILES = \
+ vquic/capsule.c \
+ vquic/cf-capsule.c \
+ vquic/cf-ngtcp2.c \
+ vquic/cf-ngtcp2-proxy.c \
+ vquic/cf-quiche.c \
+ vquic/vquic.c \
vquic/vquic-tls.c
-LIB_VQUIC_HFILES = \
- vquic/curl_ngtcp2.h \
- vquic/curl_quiche.h \
- vquic/vquic.h \
- vquic/vquic_int.h \
+LIB_VQUIC_HFILES = \
+ vquic/capsule.h \
+ vquic/cf-capsule.h \
+ vquic/cf-ngtcp2.h \
+ vquic/cf-ngtcp2-proxy.h \
+ vquic/cf-quiche.h \
+ vquic/vquic.h \
+ vquic/vquic_int.h \
vquic/vquic-tls.h
LIB_VSSH_CFILES = \
bufq.c \
bufref.c \
cf-dns.c \
- capsule.c \
- cf-capsule.c \
cf-h1-proxy.c \
cf-h2-proxy.c \
- cf-h3-proxy.c \
cf-haproxy.c \
cf-https-connect.c \
cf-ip-happy.c \
bufq.h \
bufref.h \
cf-dns.h \
- capsule.h \
- cf-capsule.h \
cf-h1-proxy.h \
cf-h2-proxy.h \
- cf-h3-proxy.h \
cf-haproxy.h \
cf-https-connect.h \
cf-ip-happy.h \
#include "sendf.h"
#include "select.h"
#include "cf-h2-proxy.h"
-#include "capsule.h"
#define PROXY_H2_CHUNK_SIZE (16 * 1024)
#include "cfilters.h"
#include "cf-dns.h"
#include "cf-ip-happy.h"
-#include "cf-h3-proxy.h"
#include "curl_addrinfo.h"
#include "curl_trc.h"
#include "multiif.h"
#include "cfilters.h"
#include "connect.h"
#include "cf-dns.h"
-#include "cf-capsule.h"
#include "cf-haproxy.h"
#include "cf-https-connect.h"
#include "cf-ip-happy.h"
#include "curlx/strparse.h"
#include "vtls/vtls.h" /* for vtls cfilters */
#include "vquic/vquic.h" /* for QUIC cfilters */
+#include "vquic/cf-capsule.h"
#include "progress.h"
#include "conncache.h"
#include "multihandle.h"
#include "http_proxy.h"
#include "cf-h1-proxy.h"
#include "cf-h2-proxy.h"
-#include "cf-h3-proxy.h"
#include "cf-haproxy.h"
#include "cf-https-connect.h"
#include "cf-ip-happy.h"
#include "cfilters.h"
#include "cf-h1-proxy.h"
#include "cf-h2-proxy.h"
-#include "cf-h3-proxy.h"
-#include "cf-capsule.h"
#include "connect.h"
#include "vauth/vauth.h"
+#include "vquic/vquic.h"
#include "curlx/strparse.h"
static CURLcode dynhds_add_custom(struct Curl_easy *data,
#include "cfilters.h"
#include "curl_trc.h"
#include "bufq.h"
-#include "capsule.h"
+#include "vquic/capsule.h"
/**
#include "curl_trc.h"
#include "curlx/dynbuf.h"
#include "bufq.h"
-#include "capsule.h"
-#include "cf-capsule.h"
+#include "vquic/capsule.h"
+#include "vquic/cf-capsule.h"
/* recv buffer: 4 chunks of 16KB = 64KB, enough for large datagrams */
#define CAPSULE_RECV_CHUNKS 4
#include "vquic/vquic-tls.h"
#include "vtls/vtls.h"
#include "vtls/vtls_scache.h"
-#include "cf-h3-proxy.h"
+#include "vquic/cf-ngtcp2-proxy.h"
#include "capsule.h"
/* A stream window is the maximum amount we need to buffer for
cf_h3_proxy_query,
};
-CURLcode Curl_cf_h3_proxy_create(struct Curl_cfilter **pcf,
- struct Curl_easy *data,
- struct connectdata *conn,
- struct Curl_sockaddr_ex *addr,
- uint8_t transport_in,
- uint8_t transport_out)
+CURLcode Curl_cf_ngtcp2_proxy_create(struct Curl_cfilter **pcf,
+ struct Curl_easy *data,
+ struct connectdata *conn,
+ struct Curl_sockaddr_ex *addr,
+ uint8_t transport_in,
+ uint8_t transport_out)
{
struct Curl_cfilter *cf = NULL;
struct cf_h3_proxy_ctx *ctx;
return result;
}
-CURLcode Curl_cf_h3_proxy_insert_after(struct Curl_cfilter *cf_at,
- struct Curl_easy *data,
- struct Curl_peer *dest,
- bool udp_tunnel)
+CURLcode Curl_cf_ngtcp2_proxy_insert_after(struct Curl_cfilter *cf_at,
+ struct Curl_easy *data,
+ struct Curl_peer *dest,
+ bool udp_tunnel)
{
struct Curl_cfilter *cf = NULL;
struct cf_h3_proxy_ctx *ctx;
defined(USE_PROXY_HTTP3) && defined(USE_NGHTTP3) && \
defined(USE_NGTCP2) && defined(USE_OPENSSL)
-CURLcode Curl_cf_h3_proxy_insert_after(struct Curl_cfilter *cf_at,
- struct Curl_easy *data,
- struct Curl_peer *dest,
- bool udp_tunnel);
+CURLcode Curl_cf_ngtcp2_proxy_insert_after(struct Curl_cfilter *cf_at,
+ struct Curl_easy *data,
+ struct Curl_peer *dest,
+ bool udp_tunnel);
-CURLcode Curl_cf_h3_proxy_create(struct Curl_cfilter **pcf,
- struct Curl_easy *data,
- struct connectdata *conn,
- struct Curl_sockaddr_ex *addr,
- uint8_t transport_in,
- uint8_t transport_out);
-
-extern struct Curl_cftype Curl_cft_h3_proxy;
+CURLcode Curl_cf_ngtcp2_proxy_create(struct Curl_cfilter **pcf,
+ struct Curl_easy *data,
+ struct connectdata *conn,
+ struct Curl_sockaddr_ex *addr,
+ uint8_t transport_in,
+ uint8_t transport_out);
#endif
#include "vquic/vquic-tls.h"
#include "vtls/vtls.h"
#include "vtls/vtls_scache.h"
-#include "vquic/curl_ngtcp2.h"
+#include "vquic/cf-ngtcp2.h"
#define QUIC_MAX_STREAMS (256 * 1024)
#include "vquic/vquic.h"
#include "vquic/vquic_int.h"
#include "vquic/vquic-tls.h"
-#include "vquic/curl_quiche.h"
+#include "vquic/cf-quiche.h"
#include "transfer.h"
#include "url.h"
#include "bufref.h"
#include "curlx/dynbuf.h"
#include "curlx/fopen.h"
#include "cfilters.h"
-#include "vquic/curl_ngtcp2.h"
-#include "vquic/curl_quiche.h"
+#include "vquic/cf-ngtcp2.h"
+#include "vquic/cf-ngtcp2-proxy.h"
+#include "vquic/cf-quiche.h"
#include "multiif.h"
#include "progress.h"
#include "rand.h"
#endif
}
+#if !defined(CURL_DISABLE_PROXY) && defined(USE_PROXY_HTTP3)
+
+CURLcode Curl_cf_h3_proxy_insert_after(struct Curl_cfilter *cf_at,
+ struct Curl_easy *data,
+ struct Curl_peer *dest,
+ bool udp_tunnel)
+{
+#if defined(USE_NGTCP2) && defined(USE_NGHTTP3)
+ return Curl_cf_ngtcp2_proxy_insert_after(cf_at, data, dest, udp_tunnel);
+#else
+ (void)cf_at;
+ return CURLE_NOT_BUILT_IN;
+#endif
+}
+
+CURLcode Curl_cf_h3_proxy_create(struct Curl_cfilter **pcf,
+ struct Curl_easy *data,
+ struct connectdata *conn,
+ struct Curl_sockaddr_ex *addr,
+ uint8_t transport_in,
+ uint8_t transport_out)
+{
+ (void)transport_in;
+ (void)transport_out;
+ DEBUGASSERT(transport_out == TRNSPRT_QUIC);
+#if defined(USE_NGTCP2) && defined(USE_NGHTTP3)
+ return Curl_cf_ngtcp2_proxy_create(pcf, data, conn, addr,
+ transport_in, transport_out);
+#else
+ *pcf = NULL;
+ (void)data;
+ (void)conn;
+ (void)addr;
+ return CURLE_NOT_BUILT_IN;
+#endif
+}
+
+#endif /* !CURL_DISABLE_PROXY && USE_PROXY_HTTP3 */
+
CURLcode Curl_conn_may_http3(struct Curl_easy *data,
const struct connectdata *conn,
unsigned char transport)
extern struct Curl_cftype Curl_cft_http3;
+#if !defined(CURL_DISABLE_PROXY) && defined(USE_PROXY_HTTP3)
+
+CURLcode Curl_cf_h3_proxy_insert_after(struct Curl_cfilter *cf_at,
+ struct Curl_easy *data,
+ struct Curl_peer *dest,
+ bool udp_tunnel);
+
+CURLcode Curl_cf_h3_proxy_create(struct Curl_cfilter **pcf,
+ struct Curl_easy *data,
+ struct connectdata *conn,
+ struct Curl_sockaddr_ex *addr,
+ uint8_t transport_in,
+ uint8_t transport_out);
+
+extern struct Curl_cftype Curl_cft_h3_proxy;
+
+#endif /* !CURL_DISABLE_PROXY && USE_PROXY_HTTP3 */
+
#else
#define Curl_vquic_init() 1
#endif /* !CURL_DISABLE_HTTP && USE_HTTP3 */
#include "unitcheck.h"
#include "bufq.h"
-#include "capsule.h"
+#include "vquic/capsule.h"
#if defined(USE_PROXY_HTTP3) && defined(USE_NGTCP2) && \
!defined(CURL_DISABLE_PROXY) && !defined(CURL_DISABLE_HTTP)