curl 2026-04-29 (a05f3497)

Code extracted from:

    https://github.com/curl/curl.git

at commit a05f34973e6c4bb629d018f7cb51487be1c904d8 (curl-8_20_0).
This commit is contained in:
Curl Upstream authored and Brad King committed 2026-04-29 14:17:42 -04:00
1 parent c709040e9d
commit fe97809d5a
279 files changed
+14206 -10525

No files matched your search

+23 -7
View File
@@ -35,6 +35,7 @@
#define MAX_HTTPSRR_ALPNS 4
struct Curl_easy;
struct dynbuf;
struct Curl_https_rrinfo {
char *rrname; /* if NULL, the same as the URL hostname */
@@ -51,20 +52,26 @@ struct Curl_https_rrinfo {
size_t ipv6hints_len;
unsigned char alpns[MAX_HTTPSRR_ALPNS]; /* keytag = 1 */
/* store parsed alpnid entries in the array, end with ALPN_none */
int port; /* -1 means not set */
uint16_t port;
uint16_t priority;
BIT(no_def_alpn); /* keytag = 2 */
BIT(mandatory); /* keytag = 0 */
BIT(port_set); /* port value has been assigned */
BIT(complete); /* values have been successfully assigned */
};
CURLcode Curl_httpsrr_set(struct Curl_easy *data,
struct Curl_https_rrinfo *hi,
CURLcode Curl_httpsrr_set(struct Curl_https_rrinfo *rr,
uint16_t rrkey, const uint8_t *val, size_t vlen);
struct Curl_https_rrinfo *
Curl_httpsrr_dup_move(struct Curl_https_rrinfo *rrinfo);
struct Curl_https_rrinfo *Curl_httpsrr_dup_move(
struct Curl_https_rrinfo *rrinfo);
void Curl_httpsrr_cleanup(struct Curl_https_rrinfo *rrinfo);
/* TRUE if the record is applicable to the transfer and its connection. */
bool Curl_httpsrr_applicable(struct Curl_easy *data,
const struct Curl_https_rrinfo *rr);
/*
* Code points for DNS wire format SvcParams as per RFC 9460
*/
@@ -77,10 +84,19 @@ void Curl_httpsrr_cleanup(struct Curl_https_rrinfo *rrinfo);
#define HTTPS_RR_CODE_IPV6 0x06
#ifdef USE_ARES
CURLcode Curl_httpsrr_from_ares(struct Curl_easy *data,
const ares_dns_record_t *dnsrec,
CURLcode Curl_httpsrr_from_ares(const ares_dns_record_t *dnsrec,
struct Curl_https_rrinfo *hinfo);
#endif /* USE_ARES */
#ifdef CURLVERBOSE
CURLcode Curl_httpsrr_print(struct dynbuf *tmp,
struct Curl_https_rrinfo *rr);
void Curl_httpsrr_trace(struct Curl_easy *data,
struct Curl_https_rrinfo *rr);
#else
#define Curl_httpsrr_trace(a, b) Curl_nop_stmt
#endif
#endif /* USE_HTTPSRR */
#endif /* HEADER_CURL_HTTPSRR_H */