vquic: drop msh3

It has never been properly functional in curl while there are several
alternatives that are.

Closes #17729
This commit is contained in:
Daniel Stenberg 2025-06-24 08:34:58 +02:00
parent c4430c542a
commit 91138b014d
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
32 changed files with 22 additions and 1612 deletions

View file

@ -110,7 +110,6 @@ LIB_VTLS_HFILES = \
vtls/x509asn1.h
LIB_VQUIC_CFILES = \
vquic/curl_msh3.c \
vquic/curl_ngtcp2.c \
vquic/curl_osslq.c \
vquic/curl_quiche.c \
@ -118,7 +117,6 @@ LIB_VQUIC_CFILES = \
vquic/vquic-tls.c
LIB_VQUIC_HFILES = \
vquic/curl_msh3.h \
vquic/curl_ngtcp2.h \
vquic/curl_osslq.h \
vquic/curl_quiche.h \

View file

@ -307,9 +307,9 @@ tcpkeepalive(struct Curl_easy *data,
* Assign the address `ai` to the Curl_sockaddr_ex `dest` and
* set the transport used.
*/
CURLcode Curl_sock_assign_addr(struct Curl_sockaddr_ex *dest,
const struct Curl_addrinfo *ai,
int transport)
static CURLcode sock_assign_addr(struct Curl_sockaddr_ex *dest,
const struct Curl_addrinfo *ai,
int transport)
{
/*
* The Curl_sockaddr_ex structure is basically libcurl's external API
@ -406,7 +406,7 @@ CURLcode Curl_socket_open(struct Curl_easy *data,
/* if the caller does not want info back, use a local temp copy */
addr = &dummy;
result = Curl_sock_assign_addr(addr, ai, transport);
result = sock_assign_addr(addr, ai, transport);
if(result)
return result;
@ -949,7 +949,7 @@ static CURLcode cf_socket_ctx_init(struct cf_socket_ctx *ctx,
ctx->sock = CURL_SOCKET_BAD;
ctx->transport = transport;
result = Curl_sock_assign_addr(&ctx->addr, ai, transport);
result = sock_assign_addr(&ctx->addr, ai, transport);
if(result)
return result;

View file

@ -91,14 +91,6 @@ void Curl_sndbuf_init(curl_socket_t sockfd);
#define Curl_sndbuf_init(y) Curl_nop_stmt
#endif
/**
* Assign the address `ai` to the Curl_sockaddr_ex `dest` and
* set the transport used.
*/
CURLcode Curl_sock_assign_addr(struct Curl_sockaddr_ex *dest,
const struct Curl_addrinfo *ai,
int transport);
/**
* Creates a cfilter that opens a TCP socket to the given address
* when calling its `connect` implementation.

View file

@ -203,10 +203,6 @@
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define to enable HTTP3 support (experimental, requires NGTCP2, quiche or
MSH3) */
#undef USE_HTTP3
/* Version number of package */
#undef VERSION

View file

@ -761,9 +761,6 @@ ${SIZEOF_TIME_T_CODE}
/* Define to 1 if you have the quiche_conn_set_qlog_fd function. */
#cmakedefine HAVE_QUICHE_CONN_SET_QLOG_FD 1
/* to enable msh3 */
#cmakedefine USE_MSH3 1
/* if Unix domain sockets are enabled */
#cmakedefine USE_UNIX_SOCKETS 1

View file

@ -986,7 +986,7 @@ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf,
#if (defined(USE_NGTCP2) && defined(USE_NGHTTP3)) || \
(defined(USE_OPENSSL_QUIC) && defined(USE_NGHTTP3)) || \
defined(USE_QUICHE) || defined(USE_MSH3)
defined(USE_QUICHE)
#ifdef CURL_WITH_MULTI_SSL
#error "MultiSSL combined with QUIC is not supported"

View file

@ -25,10 +25,6 @@
***************************************************************************/
#include "curl_setup.h"
#if defined(USE_MSH3) && !defined(_WIN32)
#include <pthread.h>
#endif
#include "bufq.h"
#include "dynhds.h"
#include "ws.h"

View file

@ -84,6 +84,7 @@ int Curl_pipe(curl_socket_t socks[2], bool nonblocking)
#ifndef CURL_DISABLE_SOCKETPAIR
#ifdef HAVE_SOCKETPAIR
#ifdef USE_SOCKETPAIR
int Curl_socketpair(int domain, int type, int protocol,
curl_socket_t socks[2], bool nonblocking)
{
@ -104,6 +105,7 @@ int Curl_socketpair(int domain, int type, int protocol,
#endif
return 0;
}
#endif /* USE_SOCKETPAIR */
#else /* !HAVE_SOCKETPAIR */
#ifdef _WIN32
/*

View file

@ -66,8 +66,9 @@ int Curl_pipe(curl_socket_t socks[2], bool nonblocking);
#define SOCKETPAIR_TYPE SOCK_STREAM
#endif
#define wakeup_create(p,nb)\
Curl_socketpair(SOCKETPAIR_FAMILY, SOCKETPAIR_TYPE, 0, p, nb)
#define USE_SOCKETPAIR
#define wakeup_create(p,nb) \
Curl_socketpair(SOCKETPAIR_FAMILY, SOCKETPAIR_TYPE, 0, p, nb)
#endif /* USE_EVENTFD */

File diff suppressed because it is too large Load diff

View file

@ -1,46 +0,0 @@
#ifndef HEADER_CURL_VQUIC_CURL_MSH3_H
#define HEADER_CURL_VQUIC_CURL_MSH3_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
* SPDX-License-Identifier: curl
*
***************************************************************************/
#include "../curl_setup.h"
#ifdef USE_MSH3
#include <msh3.h>
void Curl_msh3_ver(char *p, size_t len);
CURLcode Curl_cf_msh3_create(struct Curl_cfilter **pcf,
struct Curl_easy *data,
struct connectdata *conn,
const struct Curl_addrinfo *ai);
bool Curl_conn_is_msh3(const struct Curl_easy *data,
const struct connectdata *conn,
int sockindex);
#endif /* USE_MSQUIC */
#endif /* HEADER_CURL_VQUIC_CURL_MSH3_H */

View file

@ -35,7 +35,6 @@
#include "../curlx/dynbuf.h"
#include "../cfilters.h"
#include "../curl_trc.h"
#include "curl_msh3.h"
#include "curl_ngtcp2.h"
#include "curl_osslq.h"
#include "curl_quiche.h"
@ -76,8 +75,6 @@ void Curl_quic_ver(char *p, size_t len)
Curl_osslq_ver(p, len);
#elif defined(USE_QUICHE)
Curl_quiche_ver(p, len);
#elif defined(USE_MSH3)
Curl_msh3_ver(p, len);
#endif
}
@ -691,8 +688,6 @@ CURLcode Curl_cf_quic_create(struct Curl_cfilter **pcf,
return Curl_cf_osslq_create(pcf, data, conn, ai);
#elif defined(USE_QUICHE)
return Curl_cf_quiche_create(pcf, data, conn, ai);
#elif defined(USE_MSH3)
return Curl_cf_msh3_create(pcf, data, conn, ai);
#else
*pcf = NULL;
(void)data;

View file

@ -219,8 +219,8 @@ static void ossl_provider_cleanup(struct Curl_easy *data);
#define OSSL_PACKAGE "BoringSSL"
#elif defined(OPENSSL_IS_AWSLC)
#define OSSL_PACKAGE "AWS-LC"
#elif (defined(USE_NGTCP2) && defined(USE_NGHTTP3) && \
!defined(OPENSSL_QUIC_API2)) || defined(USE_MSH3)
#elif (defined(USE_NGTCP2) && defined(USE_NGHTTP3) && \
!defined(OPENSSL_QUIC_API2))
#define OSSL_PACKAGE "quictls"
#else
#define OSSL_PACKAGE "OpenSSL"