xbps/lib/fetch
Duncaen 9f52a7837f lib/fetch: add happy eyeballs connect algorithm (RFC6555/RFC8305)
Connect to the addresses from `getaddrinfo(3)`,
alternating between address family,
starting with ipv6 and wait `fetchConnDelay`
between each connection attempt.

If a connection is established within the attempts,
use this connection and close all others.

If `connect(3)` returns `ENETUNREACH`, don't attempt more
connections with the failing address family.

If there are no more addresses to attempt,
wait for `fetchConnTimeout` and return the first established
connection.

If no connection was established within the timeouts,
close all sockets and return -1 and set errno to
`ETIMEDOUT`.
2019-04-19 22:58:50 +02:00
..
common.c lib/fetch: add happy eyeballs connect algorithm (RFC6555/RFC8305) 2019-04-19 22:58:50 +02:00
common.h lib/fetch: default port, error checks and authentication support 2016-09-02 17:50:05 +02:00
errlist.sh Implemented support for working with remote repositories. 2009-10-27 01:46:00 +01:00
fetch.c lib/fetch: add happy eyeballs connect algorithm (RFC6555/RFC8305) 2019-04-19 22:58:50 +02:00
fetch.h lib/fetch: add happy eyeballs connect algorithm (RFC6555/RFC8305) 2019-04-19 22:58:50 +02:00
file.c libfetch: misc cleanups due to nbcompat removal. 2014-12-28 03:34:36 +01:00
ftp.c Fix compilation in ftp.c 2017-08-22 18:03:32 -04:00
ftp.errors Implemented support for working with remote repositories. 2009-10-27 01:46:00 +01:00
http.c lib/fetch/http.c: ignore headers after CONNECT response 2019-04-08 13:34:23 +02:00
http.errors libfetch: merge some features from FreeBSD: 2015-10-24 07:52:30 +02:00