diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2021-06-21 16:07:39 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2021-06-21 16:11:57 +0000 |
commit | 224c772ca59a1234b48658358a8f043e4cd09f7c (patch) | |
tree | 715dad8f0a0f145383d60cf023343eb4bfbffef3 | |
parent | 06250515cff552217d14145e8932cb1a543a7e07 (diff) | |
download | src-224c772ca59a1234b48658358a8f043e4cd09f7c.tar.gz src-224c772ca59a1234b48658358a8f043e4cd09f7c.zip |
telnet(1): add quiet mode ("telnet -Q")
Reviewed By: imp, phk
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
X-NetApp-PR: #54
Differential Revision: https://reviews.freebsd.org/D30819
-rw-r--r-- | contrib/telnet/telnet/commands.c | 18 | ||||
-rw-r--r-- | contrib/telnet/telnet/main.c | 6 | ||||
-rw-r--r-- | contrib/telnet/telnet/telnet.1 | 9 |
3 files changed, 25 insertions, 8 deletions
diff --git a/contrib/telnet/telnet/commands.c b/contrib/telnet/telnet/commands.c index 21e973209d9b..c52af2a81a67 100644 --- a/contrib/telnet/telnet/commands.c +++ b/contrib/telnet/telnet/commands.c @@ -122,6 +122,7 @@ static char line[256]; static char saveline[256]; static int margc; static char *margv[20]; +int quiet_mode; #ifdef OPIE #include <sys/wait.h> @@ -2042,7 +2043,8 @@ static int status(int argc, char *argv[]) { if (connected) { - printf("Connected to %s.\n", hostname); + if (!quiet_mode) + printf("Connected to %s.\n", hostname); if ((argc < 2) || strcmp(argv[1], "notmuch")) { int mode = getconnmode(); @@ -2071,7 +2073,8 @@ status(int argc, char *argv[]) } else { printf("No connection.\n"); } - printf("Escape character is '%s'.\n", control(escape)); + if (!quiet_mode) + printf("Escape character is '%s'.\n", control(escape)); (void) fflush(stdout); return 1; } @@ -2264,7 +2267,8 @@ tn(int argc, char *argv[]) memset(&su, 0, sizeof su); su.sun_family = AF_UNIX; strncpy(su.sun_path, hostp, sizeof su.sun_path); - printf("Trying %s...\n", hostp); + if (!quiet_mode) + printf("Trying %s...\n", hostp); net = socket(PF_UNIX, SOCK_STREAM, 0); if ( net < 0) { perror("socket"); @@ -2373,7 +2377,8 @@ tn(int argc, char *argv[]) } } do { - printf("Trying %s...\n", sockaddr_ntop(res->ai_addr)); + if (!quiet_mode) + printf("Trying %s...\n", sockaddr_ntop(res->ai_addr)); net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); setuid(getuid()); if (net < 0) { @@ -2491,7 +2496,10 @@ tn(int argc, char *argv[]) (void) call(status, "status", "notmuch", 0); telnet(user); (void) NetClose(net); - ExitString("Connection closed by foreign host.\n",1); + if (quiet_mode) + ExitString("",1); + else + ExitString("Connection closed by foreign host.\n",1); /*NOTREACHED*/ fail: if (res0 != NULL) diff --git a/contrib/telnet/telnet/main.c b/contrib/telnet/telnet/main.c index befb3eecee66..8ebcc0a86259 100644 --- a/contrib/telnet/telnet/main.c +++ b/contrib/telnet/telnet/main.c @@ -63,6 +63,7 @@ char *ipsec_policy_out = NULL; #endif extern int tos; +extern int quiet_mode; int family = AF_UNSPEC; @@ -152,7 +153,7 @@ main(int argc, char *argv[]) #define IPSECOPT #endif while ((ch = getopt(argc, argv, - "468B:EKLNS:X:acde:fFk:l:n:rs:uxy" IPSECOPT)) != -1) + "468B:EKLNQS:X:acde:fFk:l:n:rs:uxy" IPSECOPT)) != -1) #undef IPSECOPT { switch(ch) { @@ -184,6 +185,9 @@ main(int argc, char *argv[]) case 'N': doaddrlookup = 0; break; + case 'Q': + quiet_mode = 1; + break; case 'S': #ifdef HAS_GETTOS diff --git a/contrib/telnet/telnet/telnet.1 b/contrib/telnet/telnet/telnet.1 index b7004ee94a5d..015401030f23 100644 --- a/contrib/telnet/telnet/telnet.1 +++ b/contrib/telnet/telnet/telnet.1 @@ -28,7 +28,7 @@ .\" @(#)telnet.1 8.6 (Berkeley) 6/1/94 .\" $FreeBSD$ .\" -.Dd August 7, 2020 +.Dd June 21, 2021 .Dt TELNET 1 .Os .Sh NAME @@ -38,7 +38,7 @@ protocol .Sh SYNOPSIS .Nm -.Op Fl 468EFKLNacdfruxy +.Op Fl 468EFKLNQacdfruxy .Op Fl B Ar baudrate .Op Fl S Ar tos .Op Fl X Ar authtype @@ -108,6 +108,11 @@ option to be negotiated on output. .It Fl N Prevents IP address to name lookup when destination host is given as an IP address. +.It Fl Q +Quiet mode. +This suppresses the messages +.Nm +would normally output upon connecting or disconnecting. .It Fl S Ar tos Sets the IP type-of-service (TOS) option for the telnet connection to the value |