Date: Fri, 30 Apr 2010 19:52:35 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/contrib/telnet/telnet commands.c externs.h network.c sys_bsd.c telnet.c terminal.c Message-ID: <201004301952.o3UJqoKU054933@repoman.freebsd.org>
index | next in thread | raw e-mail
jilles 2010-04-30 19:52:35 UTC
FreeBSD src repository
Modified files:
contrib/telnet/telnet commands.c externs.h network.c sys_bsd.c
telnet.c terminal.c
Log:
SVN rev 207449 on 2010-04-30 19:52:35Z by jilles
telnet: Fix infinite loop if local output generates SIGPIPE.
Instead of catching SIGPIPE and jumping out of the signal handler with
longjmp, ignore it and handle write errors to the local output by exiting
from there. I have changed the error message to mention the local output
instead of NetBSD's wrong "Connection closed by foreign host". Write errors
to the network were already handled by exiting immediately and this now
applies to EPIPE too.
The code assumed that SIGPIPE could only be generated by the network
connection; if it was generated by the local output, it would longjmp out of
the signal handler and write an error message which caused another SIGPIPE.
PR: 19773
Obtained from: NetBSD
MFC after: 1 week
Revision Changes Path
1.36 +1 -2 src/contrib/telnet/telnet/commands.c
1.13 +0 -1 src/contrib/telnet/telnet/externs.h
1.8 +1 -1 src/contrib/telnet/telnet/network.c
1.13 +1 -9 src/contrib/telnet/telnet/sys_bsd.c
1.17 +0 -1 src/contrib/telnet/telnet/telnet.c
1.8 +14 -2 src/contrib/telnet/telnet/terminal.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004301952.o3UJqoKU054933>
