diff options
Diffstat (limited to 'usr.bin/finger/net.c')
-rw-r--r-- | usr.bin/finger/net.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.bin/finger/net.c b/usr.bin/finger/net.c index 697e862..4f04c04 100644 --- a/usr.bin/finger/net.c +++ b/usr.bin/finger/net.c @@ -58,6 +58,7 @@ netfinger(name) char *name; { extern int lflag; + extern int Tflag; register FILE *fp; register int c, lastc; struct in_addr defaddr; @@ -119,6 +120,12 @@ netfinger(name) iov[msg.msg_iovlen].iov_base = "\r\n"; iov[msg.msg_iovlen++].iov_len = 2; + /* -T disables T/TCP: compatibility option to finger broken hosts */ + if (Tflag && connect(s, (struct sockaddr *)&sin, sizeof (sin))) { + perror("finger: connect"); + return; + } + if (sendmsg(s, &msg, MSG_EOF) < 0) { perror("finger: sendmsg"); close(s); |