From 7be8fdb64b91c08924aada5a4a1a94b957e1b0d2 Mon Sep 17 00:00:00 2001 From: tb Date: Sun, 18 Dec 2022 12:53:18 +0000 Subject: [PATCH] nc: skip connection info on failed or skipped udptest() In udp mode, nc would always print that the connected succeeded independently of whether that was actually the case. Don't do that. idea/ok mpf --- usr.bin/nc/netcat.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/usr.bin/nc/netcat.c b/usr.bin/nc/netcat.c index dc60158749b..3ee1670053d 100644 --- a/usr.bin/nc/netcat.c +++ b/usr.bin/nc/netcat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: netcat.c,v 1.223 2022/12/18 12:51:10 tb Exp $ */ +/* $OpenBSD: netcat.c,v 1.224 2022/12/18 12:53:18 tb Exp $ */ /* * Copyright (c) 2001 Eric Jackson * Copyright (c) 2015 Bob Beck. All rights reserved. @@ -700,16 +700,19 @@ main(int argc, char *argv[]) ret = 0; if (vflag || zflag) { + int print_info = 1; + /* For UDP, make sure we are connected. */ if (uflag) { - if (udptest(s) == -1) { + /* No info on failed or skipped test. */ + if ((print_info = udptest(s)) == -1) { ret = 1; continue; } } - - connection_info(host, portlist[i], - uflag ? "udp" : "tcp", ipaddr); + if (print_info == 1) + connection_info(host, portlist[i], + uflag ? "udp" : "tcp", ipaddr); } if (Fflag) fdpass(s); -- 2.20.1