curl and libcurl 8.22.0

 Public curl releases:         276
 Command line options:         278
 curl_easy_setopt() options:   312
 Public functions in libcurl:  100
 Authors:                      1518
 Contributors:                 3786

This release includes the following changes:

 o gssapi: add support for Apple GSS Framework [72]
 o hardening: add API guards [64]
 o RFC 9421 HTTP Message Signatures support [108]
 o spnego: block NTLM fallback in SPNEGO negotiation [151]
 o TLS: drop support for TLS-SRP [71]
 o vquic: add option to use Apple fast UDP [137]

This release includes the following bugfixes:

 o altsvc: continue after unknown parameters [198]
 o asyn-thrdd: retry link-local ipv6 if missing scope id [118]
 o autotools: minor fixes and improvements [33]
 o build: always use local `inet_pton()`/`inet_ntop()` implementations [56]
 o build: assume POSIX `select()` is available [166]
 o build: clear `Require.private` for static-only builds in `libcurl.pc` [188]
 o build: drop `dirent.h` and `opendir()` detections on Windows [186]
 o build: drop detecting `gettimeofday()` on Windows [184]
 o build: drop superfluous `STDC_HEADERS` macro [51]
 o build: enable thread-safe `getaddrinfo()` for OpenBSD [35]
 o build: minor debug option message fixes/improvements [200]
 o build: require `!NDEBUG` for debug-enabled (aka development) builds [202]
 o build: strip duplicate spaces after `Libs.private:` in `libcurl.pc` [191]
 o build: strip trailing spaces from `libcurl.pc` [194]
 o cd2nroff: fix backslashes for 4-space indent lines [104]
 o cd2nroff: stricter checks for asterisks for italics [73]
 o cf-ngtcp2-cmn: de-duplicate `ngtcp2_conn_client_new()` call code [156]
 o cf-ngtcp2-cmn: initialize new callback ptr for ngtcp2 1.24.0+ [52]
 o cf-socket: avoid broken NetBSD SOCK_NONBLOCK [275]
 o cf-socket: disable TCP SYN retransmissions for localhost on Windows [164]
 o cfilters: fix event-based connection shutdown [91]
 o clock: save one call [286]
 o cmake/FindLibgsasl: fix to set `LIBGSASL_VERSION` with pkg-config detection [229]
 o cmake: check libgsasl version at configure time [277]
 o cmake: dedupe expressions into local vars in `cmake_uninstall.in.cmake` [9]
 o cmake: fix not to build `tunits` when `BUILD_CURL_EXE=OFF` [7]
 o cmake: flatten build tree, tidy up base dir variables [12]
 o cmake: minor improvements to `cmake_uninstall.in.cmake` [54]
 o cmake: optimize OpenSSL fork detection [228]
 o cmake: replace `remove` command with `rm` and pass arg safely [11]
 o cmake: robustify base path in local file reference [15]
 o cmake: stop probing unused `float.h` for `STDC_HEADERS` [10]
 o cmake: use built-in variable and target property dump functions with CMake 4.5+ [155]
 o config-riscos.h: delete handcrafted RISC OS config header, in favor of autotools [178]
 o config-win32.h: drop UWP, c-ares, simplify more [231]
 o config-win32.h: limit use to MSVC IDE Project builds [193]
 o configure: clarify --enable-debug option [133]
 o configure: fix misleading error messages [42]
 o configure: link `-lcrypt32` instead of `-lm` for wolfSSL on Windows [79]
 o configure: only check in the watt library if WATT_ROOT is set [120]
 o configure: remove double check for GnuTLS [21]
 o configure: set ldap lib to no by default for non-finds [18]
 o conncache: apply multi limits to transfers using a shared pool [41]
 o conncache: conn upkeep/alive: move and enhance [152]
 o conncache: connection alive checks intervals [20]
 o conncache: don't assume curl_off_t increment wrap-around [138]
 o conncache: guess maxconnects different [289]
 o connect: connection close tweaks [112]
 o connect: only set connect timer on first socket [206]
 o connection reuse: age check [261]
 o connection reuse: check SSL configs when doing a scheme upgrade [249]
 o connections: use admin handles only for maintenance [213]
 o content_encoding: exact-match the identity transfer-coding token [189]
 o content_encoding: give a clear error on multi-member gzip [46]
 o cookie: cookies set for an exact PSL domain is host-only [304]
 o cookie: improve TAB handling [258]
 o cookie: refuse to load cookies set against a PSL domain [139]
 o CREDENTIALS.md: remove comment about empty user/pass [50]
 o ctype: exclude control bytes from ISPRINT and ISGRAPH [119]
 o curl: help category cleanups [169]
 o curl_gssapi: document/update feature availability [145]
 o curl_threads: always use native threads/mutex on Windows [185]
 o curl_trc: remove unused expire timers [147]
 o curl_url_set.md: expand the CURLU_NO_AUTHORITY description [134]
 o curl_ws_meta.md: polish and better vocabulary [19]
 o CURLOPT_HEADERFUNCTION.md: document folded header unfolding [53]
 o CURLOPT_SOCKOPTFUNCTION.md: ALREADY_CONNECTED does not work for HTTP/3 [262]
 o CURLOPT_SSH_*_KEYFILE: used for setting up, then no more [48]
 o CURLOPT_UNRESTRICTED_AUTH.md: 'Authorization', not 'Authentication' [74]
 o CURLOPT_USERNAME.md: ambient username caveats [271]
 o CURLSHOPT_(UN)SHARE.md: do not modify shares while in use [44]
 o curlx_inet_ntop: return `CURLcode`, drop setting `errno` [237]
 o curlx_inet_pton: drop setting `errno` on error [236]
 o DEPRECATE.md: HTTP/2 Server Push gets removed in March 2027 [174]
 o dict: avoid busy-loop in sendf() when the socket is not writable [99]
 o dist: fix to drop test bundle .c files from the source tarball [305]
 o dnsd: fix bounds check in `read_https_alpn_part()` [143]
 o docs/INTERNALS.md -> docs/DEPENDENCIES.md [127]
 o docs: clarify that cookies need domain set to match [224]
 o docs: connection reuse behavior for socket callbacks [219]
 o docs: make 5 example snippets compile cleanly with clang [192]
 o docs: mention possible auth option conflicts [114]
 o docs: remove doubled word in SECURITY-ADVISORY.md [183]
 o DoH: improvements [203]
 o easy: fix unused global on non-Windows [292]
 o easy_lock: silence `portability-no-assembler` with clang-tidy 23.1.0+ [291]
 o FAQ: correct an option typo [278]
 o file: support directory listing on Windows [205]
 o filter: change time reporting [235]
 o FTP: fix TLS session reuse on the data connection [80]
 o ftp: reject control bytes in ACCT and alternative-to-user [26]
 o gitignore: maintenance updates [170]
 o gopher: fix partial sends of CRLF [288]
 o gopher: reject CR and LF in the selector [1]
 o h2 push: use squeaky clean easy handle [246]
 o h2: bootstrap max streams from multi handle if in use [132]
 o h3-proxy: fix NULL deref when non-:status header arrives before :status [167]
 o Happy Eyeballing v3: resolution delay of 25ms [232]
 o header api: add guards [168]
 o headers: name the arguments the way the definitions name them [234]
 o HISTORY.md: PSL support in 2015
 o HISTORY: add when c-ares support was introduced (2004)
 o HISTORY: September 1999: started using CVS
 o hostip: only cache negative resolves for authoritative answers [16]
 o hsts: only match the exact strings [269]
 o http digest: tie peer/credentials on input [264]
 o http2: make server push transfers inherit share from parent [81]
 o http2: remove assert in ingress processing [272]
 o http: avoid length underflow in Curl_compareheader [78]
 o http: custom Authorization: header overrides Negotiate [223]
 o http: fix non-tunneling proxy hostname use [116]
 o http: stop dropping large custom headers [69]
 o http: trim custom header name before the Authorization drop [17]
 o httpsrr: DoH with HTTPS, fix response handling [113]
 o idn: restore `MultiByteToWideChar()` `MB_ERR_INVALID_CHARS` flag [103]
 o imap: APPEND CRLF fix [256]
 o include: include <sys/select.h> when building for modern Linux. [308]
 o INSTALL.md: add building-from-source overview section [29]
 o INTERNALS.md: require quiche 0.20.0+ [101]
 o ipv6 scope_id: set from first peer [242]
 o keylog: add a random size argument to Curl_tls_keylog_write() [180]
 o ldap: base64-encode LDIF values beginning with colon or less-than [218]
 o ldap: reject control characters in URL-decoded filter values [196]
 o ldap: support empty username and password [106]
 o ldap: support insecure mode for Windows native LDAP [3]
 o lib1587: fix gcc `-Wconversion` with LibreSSL on Windows, test in CI [6]
 o lib2405: adjust for non-threaded builds [149]
 o lib: add "Curl_" prefix to two global functions [84]
 o lib: add multi_wakeup_internal [86]
 o lib: drop unused `system_win32.h` includes [290]
 o lib: fix 'ns' -> 'us' in trace messages [57]
 o lib: new easy option string storage [215]
 o lib: optimize struct layouts for reduced memory usage [212]
 o lib: ratelimit timestamps [14]
 o lib: silence gcc-16 compiler warnings `-Wmaybe-uninitialized` [243]
 o lib: update mentions of the legacy "sessionhandle" [157]
 o libcurl.md: emphasize that the output needs checking [259]
 o libcurl.pc: add `License` tag [190]
 o libcurl.pc: add Copyright tag to the pkgconf file
 o libcurl.pc: add the Link.ABI and Source tags [210]
 o macos sectrust: fail ocsp verify when not builtin [252]
 o Makefile.am: improve etags [257]
 o mbedtls: enforce verifyhost when verifypeer is disabled [208]
 o mbedtls: replace `memset()` with `psa_hash_operation_init()` [28]
 o md5: replace magic numbers with `MD5_DIGEST_LEN` [122]
 o mime.c: avoid integer overflow in base64 size calculation [105]
 o mime: reject CR and LF in mail part name and filename [30]
 o mod_curltest: fix compiler warnings [49]
 o mprintf: acknowledge %F [245]
 o mprintf: avoid never-ending loop for positive-infinite [247]
 o mprintf: fix long double output [250]
 o mqtt: reject control bytes in the topic [43]
 o multi: cap expire times to INT_MAX internally [216]
 o multi: forbid curl_easy_pause from within multi socket callback [22]
 o multi: hold timeout values in 'int' instead of 'long' [165]
 o multi: remove #if 0'ed code that uses old struct [150]
 o multi: shrink expire timer indices [199]
 o multi: timeout improvements [209]
 o multi: use index list for expire timeouts [197]
 o multi: xfer table initial size and growth [255]
 o multihandle: move two struct fields [163]
 o ngtcp2+openssL: fix early data [225]
 o ngtcp2: avoid NULL deref in cf_ngtcp2_send [260]
 o ngtcp2: clean up after ngtcp2 in `curl_global_cleanup` [126]
 o ngtcp2: let verify failures win over expiry processing errors [98]
 o openldap: handle Curl_sasl_continue() returns better [45]
 o openssl+sectrust: fix session reuse [4]
 o openssl+sectrust: move session verified set into result check [82]
 o openssl: avoid conn reuse if provider is used [214]
 o openssl: avoid strlen() on the data from OpenSSL [280]
 o openssl: aws-lc ocsp workaround [263]
 o openssl: drop unused pre-OpenSSL3 `ctx_option_t` typedef [8]
 o openssl: fix DER buffer leak in Apple SecTrust verification [217]
 o openssl: no server cert is only okay if also not pinned [226]
 o openssl: prefer modern API flavors for `EVP_MD_CTX` new/free [47]
 o openssl: replace stray legacy API variant with `EVP_DigestInit_ex()` [27]
 o os400: port latest header files changes to ILE/RPG interface [241]
 o os400: rewrite upper ebcdic wrappers using dynbuf [227]
 o progress: cleanup, less memory [179]
 o protocol: simpler Curl_getn_scheme runs faster [239]
 o proxy: CONNECT trailers handling [251]
 o psl: update a comment to understandable English [162]
 o pytest: update two H3 tests for nghttp3 1.18.0+ [158]
 o quic: upload improvements [276]
 o quiche: set the max field section size [100]
 o rtsp: refactor method handling and improve error checks [161]
 o runtests: allow comments in `setenv` section, merge sections in test433 [89]
 o runtests: fix `mode="warn"` tests passing unconditionally, fix test 1752 [66]
 o runtests: flush cached test parts when (re)loading a file [95]
 o runtests: restore `-k` option and actively process as no-op [32]
 o sasl: fix zero-length response encoding [36]
 o schannel: add ALPN support for mingw-w64 <9 and <VS2015 [295]
 o schannel: clear PFX password before free [222]
 o schannel: fix ALPN erroneously disabled [282]
 o schannel: fix error check logic in `get_client_cert()` file reader [144]
 o schannel: refresh stream sizes after renegotiation [248]
 o schannel: reuse the send buffer [195]
 o schannel: shut off experimental TLS 1.3 support for Win 10 [25]
 o scorecard: fix `max_upload` init value in `ul_parallel()` [142]
 o scripts/badwords.txt: do not recommend using 'will' in rewrites [141]
 o scripts: replace/extend `--` with `--end-of-options` in git commands [128]
 o scripts: use end-of-options marker in `cd`, `mkdir`, `mv`, `sha256sum` commands [34]
 o servers: fix HANDLE leak in UWP builds [65]
 o servers: fix to reverse `SA_RESTART` option for `sigaction()` on modern codepath [131]
 o setopt: allow setting a referer from CURLINFO_REFERER [254]
 o setopt: error for CURLOPT_SHARE when easy handle is used [68]
 o setopt: make NULL `CURLOPT_AWS_SIGV4` disable aws-sigv4 auth [270]
 o setopt: return OK earlier for the deprecated h2 dep options [77]
 o share unlink: forget connection [244]
 o smtp: reject CR and LF in the envelope address [37]
 o spacecheck: cap number of lines per file [111]
 o spnego_sspi: drop redundant UNICODE branch [297]
 o spnego_sspi: pass channel bindings on initial context [230]
 o src: safely clear certain buffers [125]
 o sshserver.pl: bump an sshd config to use its modern name [160]
 o ssls: fix potential memory leak on import [96]
 o sspi: add local helper macro to avoid UNICODE branching [296]
 o sspi: enable channel-binding in mingw-w64 <9 builds [306]
 o strcase: inline the raw case conversions [207]
 o sws: allow connection-monitor to log all disconnects [2]
 o sws: log the exact closing reason better, to help debugging tests [85]
 o terminal: Enhance terminal size detection for multiple outputs [115]
 o test 1560: test RFC4291 style IPv6 IPv4-mapped addresses [40]
 o test1560: allow to build and run without LDAP support [109]
 o test798: force IPv4 to avoid cross-runner port aliasing [97]
 o test: adjust test_06_13 for 0100::/64 being blackholed [13]
 o tests: address mutable class vars and naive datetime in Python code
 o tests: change whitespace and comments in Python test code
 o tests: convert unit test 1396 and 1398 into libtests [146]
 o tests: enable and fix some new Python ruff warnings [301]
 o tests: fix Content-Length mismatch in test 2064 [233]
 o tests: fix the FTP check for unexpected RST [117]
 o tests: fix type promotion on 32-bit arches in http test code [88]
 o tests: fix typo in assert message in http test
 o tests: improve exception handling in Python test code
 o tests: remove test1701 [58]
 o tests: simplify by removing unneeded Python code
 o tests: skip test 311 for wolfSSL 5.9.2 [63]
 o tests: target Python 3.8 as the minimum Python version
 o tests: use simpler constructions in Python code
 o thrdpool: retry failed thread starts while items wait [62]
 o thrdqueue: drop name strdups from Curl_thrdq_create [181]
 o tidy-up: `TEXT()` vs `_TEXT()` vs `_T()` use (Windows) [102]
 o tidy-up: comments, messages, formatting [172]
 o tidy-up: drop redundant includes [110]
 o tidy-up: fix Perl syntax and formatting nits [123]
 o tidy-up: fix typos in docs and comments [173]
 o tidy-up: formatting, messages and comments [253]
 o tidy-up: minor code fixes and improvements [171]
 o tidy-up: typos, comment nits [60]
 o timeval: make `Curl_freq` variable static (Windows) [90]
 o tool: checkfds, open on null device [307]
 o tool: do not flush on out-null [38]
 o tool: fix memory use in parallel mode [59]
 o tool: init progress bar on demand [39]
 o tool: remove duplicate setopts [94]
 o tool_cb_hdr: de-duplicate filename setter [24]
 o tool_cb_hdr: do not truncate etags output to stdout [273]
 o tool_cb_prg: avoid integer overflows [93]
 o tool_doswin: add stdin relay auth [130]
 o tool_doswin: don't use `TerminateThread` in stdin relay [238]
 o tool_doswin: fix stdin data truncation [274]
 o tool_msgs: make notef() respect --silent [220]
 o tool_operate: limit `is_using_schannel()` call to Windows [140]
 o tool_operate: only check for schannel if on windows [187]
 o tool_operate: remove call to abort() [23]
 o tool_paramhlp: --proto only supports one modifier [268]
 o tool_xattr: add support for Windows alternate data stream [129]
 o transfer: DID handling [281]
 o typecheck-gcc: allow passing `char[]` as callback data [153]
 o uint-spbset: reused empty chunks [67]
 o unit3214: fix to pass on systems with >=128-bit pointers [107]
 o url: fix handling of empty user in NTLM matching [221]
 o url: fix negotiate/ntlm connection reuse [176]
 o url: reject control codes in credentials set via CURLOPT [70]
 o urlapi: allow URLs to not have userauth (hostname) [92]
 o urlapi: avoid dedotdotify() if possible [182]
 o urlapi: clear password buffer on error path [121]
 o urlapi: do not keep an internal port string [31]
 o urlapi: improved return codes [148]
 o urlapi: preserve empty markers in relative URLs [61]
 o urldata: cleanups [175]
 o urldata: drop four strings from the aptr struct [136]
 o urldata: sort the connectdata struct fields by size [177]
 o VERSIONS.md: document Rock-solid curl releases [201]
 o vms: fix symbol typo and missing closing quotes in `config_h.com` [124]
 o vquic: add Curl_ prefix to some global functions [76]
 o vquic: initialize new callback slot for nghttp3 v1.18.0+ [87]
 o vquic: silence `-Wmissing-field-initializers` for nghttp3/ngtcp2 callback tables [159]
 o vquic: use ngtcp2 v1.25.0 new close2 callback [154]
 o vssh: keyfile use cleanups [83]
 o vssh: silence gcc-11 `-Wnull-dereference`, dedupe `CURL_EASY_STR()` calls [240]
 o vtls: move 'native_ca_store' ssl_config_data => ssl_primary_config [211]
 o vtls_scache: use case sensitive path match
 o VULN-DISCLOSURE-POLICY.md: issues that should be found by tests are LOW [5]
 o wcurl: import v2026.08.30 [279]
 o websocket: pause writing and meta data fix [135]
 o winsock: drop redundant version checks at initialization [284]
 o wolfssl: do not run Curl_wssl_setup_x509_store() twice [265]
 o wolfssl: fix build for wolfssl without bio chain support [75]
 o ws: fix write callback error handling [204]
 o ws: pause/unpause write handling [55]

This release includes the following known bugs:

 See https://curl.se/docs/knownbugs.html

For all changes ever done in curl:

 See https://curl.se/changes.html

Planned upcoming removals include:

 o HTTP/2 Server Push
 o local crypto implementations
 o NTLM
 o SMB

 See https://curl.se/dev/deprecate.html

This release would not have looked like this without help, code, reports and
advice from friends like these:

  11soda11, 1rhino2 on hackerone, accl on hackerone, AlanKingPL, Alb3e3,
  Alexey Samsonov, Alhuda Khan, Anton Karpov, anupamme, Arham Wani,
  Athos Ribeiro, Bartel Sielski, Bigtang on hackerone, Bill Mill,
  Bryan Henderson, Carlos Henrique Lima Melara, CatboxParadox,
  Christian Ullrich, Christoph Reiter, claudex on github, Collin Funk,
  cybertron10 on github, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
  dependabot[bot], ed0d2b2ce19451f2 on github, Emmanuel Ugwu, Eunsoo Kim,
  felix h, firexinghe on github, Fred Klassen, GLaDOS-418 on github,
  Graham Campbell, Hendrik Hübner, HwangRock, Igor Morgenstern, itzTanos29,
  Jace Laquerre, Jayanth Vennamreddy, Joel Depooter, Johannes Schindelin,
  John Verne, Keng-Yu Lin, Kieran Gannon, kit-ty-kate on github,
  Laurent Sabourin, Manuel Sánchez-Guijarro, Marcel Jamin, marco-jardim,
  Martin Dukek, martin-fzi on github, Matthew John Cheetham, Max Dymond,
  Memduh Çelik, Patrick Monnerat, Pavel Sobolev, pszemus on github,
  Ralf Mueller, Ramesh Adhikari, Rarylson Freitas, Ray Satiro, renovate[bot],
  Rito Rhymes, RMMoreton on github, Roger Leigh, Ron Kuper, Ross Burton,
  Sameeh Jubran, Sam James, Samuel Dainard, Samuel Henrique, Scott Talbert,
  sdgh179 on github, Sergei Zimmerman, smaeljaish on hackerone, Stanislav Fort,
  Stefan Eissing, Stephan Zeisberg, stze on hackerone, Thomas Chauchefoin,
  Viktor Szakats, xmoezzz on github, Yoshiro Yoneya, zaveshaa
  (85 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=22116
 [2] = https://curl.se/bug/?i=22158
 [3] = https://curl.se/bug/?i=22152
 [4] = https://curl.se/bug/?i=22235
 [5] = https://curl.se/bug/?i=22190
 [6] = https://curl.se/bug/?i=22195
 [7] = https://curl.se/bug/?i=22198
 [8] = https://curl.se/bug/?i=22197
 [9] = https://curl.se/bug/?i=22194
 [10] = https://curl.se/bug/?i=22191
 [11] = https://curl.se/bug/?i=22193
 [12] = https://curl.se/bug/?i=22192
 [13] = https://curl.se/bug/?i=22344
 [14] = https://curl.se/bug/?i=22292
 [15] = https://curl.se/bug/?i=22187
 [16] = https://curl.se/bug/?i=22302
 [17] = https://curl.se/bug/?i=22178
 [18] = https://curl.se/bug/?i=22308
 [19] = https://curl.se/bug/?i=22233
 [20] = https://curl.se/bug/?i=22169
 [21] = https://curl.se/bug/?i=22307
 [22] = https://curl.se/bug/?i=22179
 [23] = https://curl.se/bug/?i=22182
 [24] = https://curl.se/bug/?i=22232
 [25] = https://curl.se/bug/?i=22231
 [26] = https://curl.se/bug/?i=22301
 [27] = https://curl.se/bug/?i=22222
 [28] = https://curl.se/bug/?i=22220
 [29] = https://curl.se/bug/?i=22113
 [30] = https://curl.se/bug/?i=22247
 [31] = https://curl.se/bug/?i=22167
 [32] = https://curl.se/bug/?i=22100
 [33] = https://curl.se/bug/?i=22154
 [34] = https://curl.se/bug/?i=22150
 [35] = https://curl.se/bug/?i=22148
 [36] = https://curl.se/bug/?i=22218
 [37] = https://curl.se/bug/?i=22119
 [38] = https://curl.se/bug/?i=22165
 [39] = https://curl.se/bug/?i=22164
 [40] = https://curl.se/bug/?i=22136
 [41] = https://curl.se/bug/?i=22265
 [42] = https://curl.se/bug/?i=22300
 [43] = https://curl.se/bug/?i=22112
 [44] = https://curl.se/bug/?i=22217
 [45] = https://curl.se/bug/?i=22213
 [46] = https://curl.se/bug/?i=22156
 [47] = https://curl.se/bug/?i=22219
 [48] = https://curl.se/bug/?i=22211
 [49] = https://curl.se/bug/?i=22214
 [50] = https://curl.se/bug/?i=22212
 [51] = https://curl.se/bug/?i=22206
 [52] = https://curl.se/bug/?i=22205
 [53] = https://curl.se/bug/?i=22296
 [54] = https://curl.se/bug/?i=22201
 [55] = https://curl.se/bug/?i=22273
 [56] = https://curl.se/bug/?i=22170
 [57] = https://curl.se/bug/?i=22200
 [58] = https://curl.se/bug/?i=22280
 [59] = https://curl.se/bug/?i=22277
 [60] = https://curl.se/bug/?i=22294
 [61] = https://curl.se/bug/?i=22298
 [62] = https://curl.se/bug/?i=22303
 [63] = https://curl.se/bug/?i=22286
 [64] = https://curl.se/bug/?i=22237
 [65] = https://curl.se/bug/?i=22487
 [66] = https://curl.se/bug/?i=22388
 [67] = https://curl.se/bug/?i=22340
 [68] = https://curl.se/bug/?i=22253
 [69] = https://curl.se/bug/?i=22336
 [70] = https://curl.se/bug/?i=22236
 [71] = https://curl.se/bug/?i=21965
 [72] = https://curl.se/bug/?i=22052
 [73] = https://curl.se/bug/?i=22257
 [74] = https://curl.se/bug/?i=22256
 [75] = https://curl.se/bug/?i=22255
 [76] = https://curl.se/bug/?i=22254
 [77] = https://curl.se/bug/?i=22250
 [78] = https://curl.se/bug/?i=22338
 [79] = https://curl.se/bug/?i=22251
 [80] = https://curl.se/bug/?i=22225
 [81] = https://curl.se/bug/?i=22488
 [82] = https://curl.se/bug/?i=22248
 [83] = https://curl.se/bug/?i=22243
 [84] = https://curl.se/bug/?i=22245
 [85] = https://curl.se/bug/?i=22431
 [86] = https://curl.se/bug/?i=22272
 [87] = https://curl.se/bug/?i=22399
 [88] = https://curl.se/bug/?i=22210
 [89] = https://curl.se/bug/?i=22389
 [90] = https://curl.se/bug/?i=22346
 [91] = https://curl.se/bug/?i=22282
 [92] = https://curl.se/bug/?i=22279
 [93] = https://curl.se/bug/?i=22316
 [94] = https://curl.se/bug/?i=22433
 [95] = https://curl.se/bug/?i=22319
 [96] = https://curl.se/bug/?i=22323
 [97] = https://curl.se/bug/?i=22318
 [98] = https://curl.se/bug/?i=22317
 [99] = https://curl.se/bug/?i=22576
 [100] = https://curl.se/bug/?i=22331
 [101] = https://curl.se/bug/?i=22333
 [102] = https://curl.se/bug/?i=22334
 [103] = https://curl.se/bug/?i=22326
 [104] = https://curl.se/bug/?i=22393
 [105] = https://curl.se/bug/?i=22320
 [106] = https://curl.se/bug/?i=22162
 [107] = https://curl.se/bug/?i=22299
 [108] = https://curl.se/bug/?i=22386
 [109] = https://curl.se/bug/?i=22312
 [110] = https://curl.se/bug/?i=22374
 [111] = https://curl.se/bug/?i=22387
 [112] = https://curl.se/bug/?i=22379
 [113] = https://curl.se/bug/?i=22372
 [114] = https://curl.se/bug/?i=22648
 [115] = https://curl.se/bug/?i=22276
 [116] = https://curl.se/bug/?i=22382
 [117] = https://curl.se/bug/?i=22305
 [118] = https://curl.se/bug/?i=22330
 [119] = https://curl.se/bug/?i=22371
 [120] = https://curl.se/bug/?i=22380
 [121] = https://curl.se/bug/?i=21637
 [122] = https://curl.se/bug/?i=22377
 [123] = https://curl.se/bug/?i=22376
 [124] = https://curl.se/bug/?i=22375
 [125] = https://curl.se/bug/?i=21637
 [126] = https://curl.se/bug/?i=22363
 [127] = https://curl.se/bug/?i=22430
 [128] = https://curl.se/bug/?i=22369
 [129] = https://curl.se/bug/?i=22354
 [130] = https://curl.se/bug/?i=21467
 [131] = https://curl.se/bug/?i=22037
 [132] = https://curl.se/bug/?i=22418
 [133] = https://curl.se/bug/?i=22512
 [134] = https://curl.se/bug/?i=22515
 [135] = https://curl.se/bug/?i=22413
 [136] = https://curl.se/bug/?i=22603
 [137] = https://curl.se/bug/?i=22341
 [138] = https://curl.se/bug/?i=22569
 [139] = https://curl.se/bug/?i=22500
 [140] = https://curl.se/bug/?i=22568
 [141] = https://curl.se/bug/?i=22422
 [142] = https://curl.se/bug/?i=22421
 [143] = https://curl.se/bug/?i=22420
 [144] = https://curl.se/bug/?i=22415
 [145] = https://curl.se/bug/?i=22419
 [146] = https://curl.se/bug/?i=22471
 [147] = https://curl.se/bug/?i=22468
 [148] = https://curl.se/bug/?i=22337
 [149] = https://curl.se/bug/?i=22414
 [150] = https://curl.se/bug/?i=22467
 [151] = https://curl.se/bug/?i=21315
 [152] = https://curl.se/bug/?i=21806
 [153] = https://curl.se/bug/?i=22409
 [154] = https://curl.se/bug/?i=22270
 [155] = https://curl.se/bug/?i=22566
 [156] = https://curl.se/bug/?i=22401
 [157] = https://curl.se/bug/?i=22463
 [158] = https://curl.se/bug/?i=22397
 [159] = https://curl.se/bug/?i=22400
 [160] = https://curl.se/bug/?i=22460
 [161] = https://curl.se/bug/?i=22505
 [162] = https://curl.se/bug/?i=22502
 [163] = https://curl.se/bug/?i=22565
 [164] = https://curl.se/bug/?i=22494
 [165] = https://curl.se/bug/?i=22564
 [166] = https://curl.se/bug/?i=22448
 [167] = https://curl.se/bug/?i=22449
 [168] = https://curl.se/bug/?i=22530
 [169] = https://curl.se/bug/?i=22447
 [170] = https://curl.se/bug/?i=22445
 [171] = https://curl.se/bug/?i=22444
 [172] = https://curl.se/bug/?i=22443
 [173] = https://curl.se/bug/?i=22647
 [174] = https://curl.se/bug/?i=22490
 [175] = https://curl.se/bug/?i=22604
 [176] = https://curl.se/bug/?i=22528
 [177] = https://curl.se/bug/?i=22678
 [178] = https://curl.se/bug/?i=22598
 [179] = https://curl.se/bug/?i=22547
 [180] = https://curl.se/bug/?i=22560
 [181] = https://curl.se/bug/?i=22555
 [182] = https://curl.se/bug/?i=22557
 [183] = https://curl.se/bug/?i=22642
 [184] = https://curl.se/bug/?i=22594
 [185] = https://curl.se/bug/?i=22593
 [186] = https://curl.se/bug/?i=22588
 [187] = https://curl.se/bug/?i=22552
 [188] = https://curl.se/bug/?i=22548
 [189] = https://curl.se/bug/?i=22541
 [190] = https://curl.se/bug/?i=22545
 [191] = https://curl.se/bug/?i=22544
 [192] = https://curl.se/bug/?i=22638
 [193] = https://curl.se/bug/?i=22595
 [194] = https://curl.se/bug/?i=22536
 [195] = https://curl.se/bug/?i=22540
 [196] = https://curl.se/bug/?i=22524
 [197] = https://curl.se/bug/?i=22473
 [198] = https://curl.se/bug/?i=22644
 [199] = https://curl.se/bug/?i=22591
 [200] = https://curl.se/bug/?i=22532
 [201] = https://curl.se/bug/?i=22636
 [202] = https://curl.se/bug/?i=22484
 [203] = https://curl.se/bug/?i=22514
 [204] = https://curl.se/bug/?i=22627
 [205] = https://curl.se/bug/?i=22577
 [206] = https://curl.se/bug/?i=22587
 [207] = https://curl.se/bug/?i=22672
 [208] = https://curl.se/bug/?i=22475
 [209] = https://curl.se/bug/?i=22584
 [210] = https://curl.se/bug/?i=22519
 [211] = https://curl.se/bug/?i=22668
 [212] = https://curl.se/bug/?i=22585
 [213] = https://curl.se/bug/?i=22567
 [214] = https://curl.se/bug/?i=22665
 [215] = https://curl.se/bug/?i=22628
 [216] = https://curl.se/bug/?i=22579
 [217] = https://curl.se/bug/?i=22631
 [218] = https://curl.se/bug/?i=22339
 [219] = https://curl.se/bug/?i=20521
 [220] = https://curl.se/bug/?i=22623
 [221] = https://curl.se/bug/?i=22629
 [222] = https://curl.se/bug/?i=22721
 [223] = https://curl.se/bug/?i=22610
 [224] = https://curl.se/bug/?i=22621
 [225] = https://curl.se/bug/?i=22649
 [226] = https://curl.se/bug/?i=22660
 [227] = https://curl.se/bug/?i=22675
 [228] = https://curl.se/bug/?i=22664
 [229] = https://curl.se/bug/?i=22662
 [230] = https://curl.se/bug/?i=22466
 [231] = https://curl.se/bug/?i=22613
 [232] = https://curl.se/bug/?i=22612
 [233] = https://curl.se/bug/?i=22611
 [234] = https://curl.se/bug/?i=22550
 [235] = https://curl.se/bug/?i=22587
 [236] = https://curl.se/bug/?i=22607
 [237] = https://curl.se/bug/?i=22229
 [238] = https://curl.se/bug/?i=22383
 [239] = https://curl.se/bug/?i=22658
 [240] = https://curl.se/bug/?i=22656
 [241] = https://curl.se/bug/?i=22695
 [242] = https://curl.se/bug/?i=22717
 [243] = https://curl.se/bug/?i=22651
 [244] = https://curl.se/bug/?i=22718
 [245] = https://curl.se/bug/?i=22719
 [246] = https://curl.se/bug/?i=22715
 [247] = https://curl.se/bug/?i=22713
 [248] = https://curl.se/bug/?i=22692
 [249] = https://curl.se/bug/?i=22710
 [250] = https://curl.se/bug/?i=22706
 [251] = https://curl.se/bug/?i=22708
 [252] = https://curl.se/bug/?i=22690
 [253] = https://curl.se/bug/?i=22774
 [254] = https://curl.se/bug/?i=22709
 [255] = https://curl.se/bug/?i=22705
 [256] = https://curl.se/bug/?i=22702
 [257] = https://curl.se/bug/?i=22680
 [258] = https://curl.se/bug/?i=22699
 [259] = https://curl.se/bug/?i=22700
 [260] = https://curl.se/bug/?i=22698
 [261] = https://curl.se/bug/?i=22671
 [262] = https://curl.se/bug/?i=22696
 [263] = https://curl.se/bug/?i=22694
 [264] = https://curl.se/bug/?i=22683
 [265] = https://curl.se/bug/?i=22689
 [268] = https://curl.se/bug/?i=22687
 [269] = https://curl.se/bug/?i=22643
 [270] = https://curl.se/bug/?i=22681
 [271] = https://curl.se/bug/?i=22768
 [272] = https://curl.se/bug/?i=22776
 [273] = https://curl.se/bug/?i=22685
 [274] = https://curl.se/bug/?i=22682
 [275] = https://curl.se/bug/?i=22586
 [276] = https://curl.se/bug/?i=22669
 [277] = https://curl.se/bug/?i=22667
 [278] = https://curl.se/bug/?i=22679
 [279] = https://curl.se/bug/?i=22758
 [280] = https://curl.se/bug/?i=22767
 [281] = https://curl.se/bug/?i=22763
 [282] = https://curl.se/bug/?i=22739
 [284] = https://curl.se/bug/?i=22754
 [286] = https://curl.se/bug/?i=22761
 [288] = https://curl.se/bug/?i=22714
 [289] = https://curl.se/bug/?i=22759
 [290] = https://curl.se/bug/?i=22757
 [291] = https://curl.se/bug/?i=22751
 [292] = https://curl.se/bug/?i=22750
 [295] = https://curl.se/bug/?i=22739
 [296] = https://curl.se/bug/?i=22738
 [297] = https://curl.se/bug/?i=22737
 [301] = https://curl.se/bug/?i=22726
 [304] = https://curl.se/bug/?i=22730
 [305] = https://curl.se/bug/?i=22686
 [306] = https://curl.se/bug/?i=22725
 [307] = https://curl.se/bug/?i=22716
 [308] = https://curl.se/bug/?i=22635
