]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
vquic: moving related things into subdir
authorStefan Eissing <stefan@eissing.org>
Tue, 2 Jun 2026 11:27:22 +0000 (13:27 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 2 Jun 2026 20:48:21 +0000 (22:48 +0200)
Move QUIC related implementations into the vquic directory. Rename
files that implement a connection filter accordingly.

Closes #21848

19 files changed:
lib/Makefile.inc
lib/cf-h2-proxy.c
lib/cf-ip-happy.c
lib/connect.c
lib/curl_trc.c
lib/http_proxy.c
lib/vquic/capsule.c [moved from lib/capsule.c with 99% similarity]
lib/vquic/capsule.h [moved from lib/capsule.h with 100% similarity]
lib/vquic/cf-capsule.c [moved from lib/cf-capsule.c with 99% similarity]
lib/vquic/cf-capsule.h [moved from lib/cf-capsule.h with 100% similarity]
lib/vquic/cf-ngtcp2-proxy.c [moved from lib/cf-h3-proxy.c with 99% similarity]
lib/vquic/cf-ngtcp2-proxy.h [moved from lib/cf-h3-proxy.h with 67% similarity]
lib/vquic/cf-ngtcp2.c [moved from lib/vquic/curl_ngtcp2.c with 99% similarity]
lib/vquic/cf-ngtcp2.h [moved from lib/vquic/curl_ngtcp2.h with 100% similarity]
lib/vquic/cf-quiche.c [moved from lib/vquic/curl_quiche.c with 99% similarity]
lib/vquic/cf-quiche.h [moved from lib/vquic/curl_quiche.h with 100% similarity]
lib/vquic/vquic.c
lib/vquic/vquic.h
tests/unit/unit3400.c

index 28647baff4a93efe0ca5748dd44cfc8f3d04705d..88ca0a1ef20a54e5d27483b42d299f13ee9e67af 100644 (file)
@@ -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      \
index f8e5acb0552f71034f30fc867db91d9adaad28dd..f12c094df43b4a0c9186b5c06e9bcbbb7974d0d4 100644 (file)
@@ -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)
 
index e2a49b82aaba2cf3de4782cbf3c56af41d871f30..4f1787e784583a4570165c8f409ee4a9e46ac890 100644 (file)
@@ -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"
index 119231a96a83513b878a968a610c1a32d5f2a184..8578aed73db284ac7cc81a291d8dc4be06ae4943 100644 (file)
@@ -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"
index d54c171a549d6ea5ebffa72d2a747743be573f3c..a30c87ad023f8a415c343f60368b6d830445dbff 100644 (file)
@@ -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"
index 17e834aaf262588beef136bd65c0f59419025786..8c3be63b12aae30a6ecaec2b49f69b917a77cfcd 100644 (file)
 #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,
similarity index 99%
rename from lib/capsule.c
rename to lib/vquic/capsule.c
index 1ba0ccfb849c6c94c8040a186fdf46cc2b901fab..2123526fff539ae588715552f4ef5524eb2cb3be 100644 (file)
@@ -36,7 +36,7 @@
 #include "cfilters.h"
 #include "curl_trc.h"
 #include "bufq.h"
-#include "capsule.h"
+#include "vquic/capsule.h"
 
 
 /**
similarity index 100%
rename from lib/capsule.h
rename to lib/vquic/capsule.h
similarity index 99%
rename from lib/cf-capsule.c
rename to lib/vquic/cf-capsule.c
index faf837dd6cfc8e7739a1a675732f1f11161f41dd..6b5d8f107e4a23cae8e0a1646b80ef174a2e7a8a 100644 (file)
@@ -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
similarity index 100%
rename from lib/cf-capsule.h
rename to lib/vquic/cf-capsule.h
similarity index 99%
rename from lib/cf-h3-proxy.c
rename to lib/vquic/cf-ngtcp2-proxy.c
index eee70e5e817f28ac4c2f077f438137df66f1a2e1..f449484292a93a3171b95d68fd0fed28490ee09e 100644 (file)
@@ -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;
similarity index 67%
rename from lib/cf-h3-proxy.h
rename to lib/vquic/cf-ngtcp2-proxy.h
index 40f0fccf0698c6652e8dcf862363328a8e659747..fc176fbab4096e5b417a5486110fe538b6e48830 100644 (file)
   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
 
similarity index 99%
rename from lib/vquic/curl_ngtcp2.c
rename to lib/vquic/cf-ngtcp2.c
index 796a5b782ae00941853a904af5489eadf3bdfac9..d27ffeaca036d80485fbba20fe9fa59f3e2c3b4e 100644 (file)
@@ -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)
similarity index 99%
rename from lib/vquic/curl_quiche.c
rename to lib/vquic/cf-quiche.c
index 04b4f7d6db2d39a0881d87edb8ab32c7371c4c24..5736341e1a6a41f41eb284d7b253fc7c29f08fa9 100644 (file)
@@ -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"
index dba907bbf090ebf7cda9e646d8bb8f20b2191d0a..2f0e0729516d77a4cd7939f583dee97d4bce0cbd 100644 (file)
@@ -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)
index e3d894f8c089aa282761dbf9bfaa9b8fc9006e42..fe53803be3d1730fef84fb97fc26f8b49179a3a8 100644 (file)
@@ -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 */
index 8df86c19f40086d57476573caa98515eeb1c4de7..03b70b0dcd869f6aaf80b675d383cc91b1df8b5b 100644 (file)
@@ -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)