mirror of
https://github.com/curl/curl.git
synced 2026-07-24 04:17:18 +03:00
vquic: moving related things into subdir
Move QUIC related implementations into the vquic directory. Rename files that implement a connection filter accordingly. Closes #21848
This commit is contained in:
parent
5d178de986
commit
22d979400a
19 changed files with 104 additions and 52 deletions
|
|
@ -121,17 +121,23 @@ LIB_VTLS_HFILES = \
|
|||
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 = \
|
||||
|
|
@ -152,11 +158,8 @@ LIB_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 \
|
||||
|
|
@ -287,11 +290,8 @@ LIB_HFILES = \
|
|||
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 \
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@
|
|||
#include "sendf.h"
|
||||
#include "select.h"
|
||||
#include "cf-h2-proxy.h"
|
||||
#include "capsule.h"
|
||||
|
||||
#define PROXY_H2_CHUNK_SIZE (16 * 1024)
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@
|
|||
#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"
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@
|
|||
#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"
|
||||
|
|
@ -65,6 +64,7 @@
|
|||
#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"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
#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"
|
||||
|
|
|
|||
|
|
@ -33,10 +33,9 @@
|
|||
#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,
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
#include "cfilters.h"
|
||||
#include "curl_trc.h"
|
||||
#include "bufq.h"
|
||||
#include "capsule.h"
|
||||
#include "vquic/capsule.h"
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
#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
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
#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
|
||||
|
|
@ -3397,12 +3397,12 @@ struct Curl_cftype Curl_cft_h3_proxy = {
|
|||
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;
|
||||
|
|
@ -3443,10 +3443,10 @@ out:
|
|||
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;
|
||||
|
|
@ -30,19 +30,17 @@
|
|||
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
|
||||
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
#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)
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
#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"
|
||||
|
|
@ -41,8 +41,9 @@
|
|||
#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"
|
||||
|
|
@ -788,6 +789,45 @@ CURLcode Curl_cf_quic_create(struct Curl_cfilter **pcf,
|
|||
#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)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,24 @@ CURLcode Curl_cf_quic_create(struct Curl_cfilter **pcf,
|
|||
|
||||
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 */
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
#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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue