[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    [PATCH 3/4] Don't use bb_lookup_port() for well known ports
From:       Sergey Ponomarev <stokito () gmail ! com>
Date:       2021-08-25 20:12:39
Message-ID: 20210825201240.98752-3-stokito () gmail ! com
[Download RAW message or body]

The bb_lookup_port() function may resolve port by its name.
But for FTP or TFTP no any names are expected because they work only with one protocol.
E.g. it doesn't make any sense to execute ftpget -P http.
All other programs like traceroute are just use xatou16().
Note that the bb_lookup_port() is still used for nc and tcpudp because there we do expect port names.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
---
 networking/ftpgetput.c | 3 ++-
 networking/tftp.c      | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/networking/ftpgetput.c b/networking/ftpgetput.c
index 30b3dabd1..b2c5dd485 100644
--- a/networking/ftpgetput.c
+++ b/networking/ftpgetput.c
@@ -328,7 +328,8 @@ int ftpgetput_main(int argc UNUSED_PARAM, char **argv)
 	/* We want to do exactly _one_ DNS lookup, since some
 	 * sites (i.e. ftp.us.debian.org) use round-robin DNS
 	 * and we want to connect to only one IP... */
-	lsa = xhost2sockaddr(argv[0], bb_lookup_port(port, "tcp", 21));
+	unsigned portnbr = port != NULL ? xatou16(port) : 21;
+	lsa = xhost2sockaddr(argv[0], portnbr);
 	if (verbose_flag) {
 		printf("Connecting to %s (%s)\n", argv[0],
 			xmalloc_sockaddr2dotted(&lsa->u.sa));
diff --git a/networking/tftp.c b/networking/tftp.c
index f5b4367ca..9ae14eed6 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -852,7 +852,7 @@ int tftp_main(int argc UNUSED_PARAM, char **argv)
 	if (!remote_file || !argv[0])
 		bb_show_usage();
 
-	port = bb_lookup_port(argv[1], "udp", 69);
+	port = argv[1] != NULL ? xatou16(argv[1]) : 69;
 	peer_lsa = xhost2sockaddr(argv[0], port);
 
 # if ENABLE_TFTP_DEBUG
-- 
2.30.2

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic