git: b56bd4c44494 - stable/14 - libfetch: Fix handling of connection failures
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Aug 2026 19:55:48 UTC
The branch stable/14 has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=b56bd4c444948f6e353c489cf4f17e0c05dbd46b
commit b56bd4c444948f6e353c489cf4f17e0c05dbd46b
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-07-27 18:58:34 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-08-02 19:55:00 +0000
libfetch: Fix handling of connection failures
After commit 848f360c8f9a, if one tries to connect to a closed port,
fetch reports "Operation now in progress", which is rather confusing.
Return a more useful error message, restoring the old behaviour.
Fixes: 848f360c8f9a ("libfetch: Apply timeout to connection attempts")
Reviewed by: des
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D58481
(cherry picked from commit b02e02958dad2d5ce3675cbc18b9a94635d09e66)
---
lib/libfetch/common.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/libfetch/common.c b/lib/libfetch/common.c
index 31b4997780b2..accb6bec6124 100644
--- a/lib/libfetch/common.c
+++ b/lib/libfetch/common.c
@@ -682,6 +682,10 @@ fetch_connect(const char *host, int port, int af, int verbose)
delta.tv_usec / 1000;
}
}
+ if (pfd.revents & POLLHUP) {
+ errno = ECONNREFUSED;
+ break;
+ }
if (pfd.revents == POLLOUT) {
/* connection established */
err = 0;