Config.in: timeout earlier when connecting to download servers

Some sites have broken DNS entries where some A or AAAA records point
to a nonexistent machine. This causes a long delay (~135sec here) before
a fallback to another IP is attempted. This is the case for example for
sigrok.org, which IPv6 entry is not reachable (at least from the few
locations I have access to, while other IPv6 servers are reachable).

Add a relatively small timeout on connect for the few download backends
where we can easily drive that setting:

  - for curl and wget, that timeout only applies when establishing the
    TCP connection, i.e. the three-way handshake;
  - for scp and sftp, that timeout also include the ssh handshake;
  - for svn, it is not explicit what the timeout is about, but the
    documentation states "Timeout for HTTP requests in seconds".

In modern times, we expect that we can indeed establish those handshakes
in less than 10s; anything taking longer is in practice an unreachable
site...

For other download mechanism (bzr, cvs, git, hg), as well as
post-processing helpers (cargo, go), it does not seem possible to set
such a timeout.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Yann E. MORIN
2025-02-03 10:34:06 +01:00
committed by Peter Korsgaard
parent dad34a1a22
commit 4bce3270d6

View File

@@ -114,15 +114,15 @@ menu "Commands"
config BR2_CURL config BR2_CURL
string "Curl command" string "Curl command"
default "curl -q --ftp-pasv --retry 3" default "curl -q --ftp-pasv --retry 3 --connect-timeout 10"
config BR2_WGET config BR2_WGET
string "Wget command" string "Wget command"
default "wget -nd -t 3" default "wget -nd -t 3 --connect-timeout=10"
config BR2_SVN config BR2_SVN
string "Subversion (svn) command" string "Subversion (svn) command"
default "svn --non-interactive" default "svn --non-interactive --config-option servers:global:http-timeout=10"
config BR2_BZR config BR2_BZR
string "Bazaar (bzr) command" string "Bazaar (bzr) command"
@@ -142,11 +142,11 @@ config BR2_LOCALFILES
config BR2_SCP config BR2_SCP
string "Secure copy (scp) command" string "Secure copy (scp) command"
default "scp" default "scp -o ConnectTimeout=10"
config BR2_SFTP config BR2_SFTP
string "Secure file transfer (sftp) command" string "Secure file transfer (sftp) command"
default "sftp" default "sftp -o ConnectTimeout=10"
config BR2_HG config BR2_HG
string "Mercurial (hg) command" string "Mercurial (hg) command"