Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Aug 2026 19:55:42 +0000
From:      Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Cc:        Mark Johnston <markj@FreeBSD.org>
Subject:   git: 21101f52147e - stable/15 - libfetch: Fix handling of connection failures
Message-ID:  <6a6fa0be.27727.7adbfc0b@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch stable/15 has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=21101f52147ed077350c1d3a489007c02887eb0d

commit 21101f52147ed077350c1d3a489007c02887eb0d
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:54:45 +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 dabc8c4b16b3..8ae51d37481b 100644
--- a/lib/libfetch/common.c
+++ b/lib/libfetch/common.c
@@ -681,6 +681,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;


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a6fa0be.27727.7adbfc0b>