Commit Graph
6 Commits
Author SHA1 Message Date
jcoffey-dev eb38603dbc Time out every HTTP connection instead of waiting forever
No ureq agent set a timeout, and ureq sets none by default, so a connection
dropped silently mid-transfer (a NAT or load-balancer idle drop) hung a JMAP,
DAV, EWS or Graph run, or an export, with no error, and the retry logic never
got a chance to run. IMAP and ManageSieve already had read timeouts.

Every agent now takes its settings from a new net module: 30s to connect,
60s to send the request headers, 5 minutes for the server's first byte, and
30 minutes for a whole response body, which ureq counts as one budget for the
body rather than per read: enough for the 512 MiB limit at about 300 KB/s.
A JMAP upload's send budget grows with its size, from a 2 minute floor at an
assumed 64 KiB/s worst case.

A timeout is a transport error, and every client already retries those, so a
stalled transfer is now abandoned and retried. Tests pin that down for each
client. The TLS setup the seven agents repeated moves to one helper.
2026-09-30 11:25:34 -07:00
Maurus Decimus 5dc92c7329 Migrate to encodify 2026-09-28 10:45:15 +02:00
Maurus Decimus 1cc633f39c v1.0.8 (fixes #29 fixes #30 fixes #31) 2026-08-16 12:29:05 +02:00
Maurus Decimus 846fc88f7e Improve verbosity (closes #4 closes #19) 2026-07-18 11:41:08 +02:00
Maurus Decimus 9fc9178b67 Crypto provider test fixes 2026-07-17 18:53:09 +02:00
Maurus Decimus 576073f8c9 Initial commit 2026-05-29 18:02:15 +02:00