The branch main has been updated by markj:

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

commit b02e02958dad2d5ce3675cbc18b9a94635d09e66
Author:     Mark Johnston <[email protected]>
AuthorDate: 2026-07-27 18:58:34 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2026-07-27 23:03:16 +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
---
 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;

Reply via email to