Test snapshot

John Horne J.Horne at plymouth.ac.uk
Wed Jul 12 20:32:35 EST 2000

On 12-Jul-00 at 01:14:58 Damien Miller wrote:
> On Tue, 11 Jul 2000, Nils Ellmenreich wrote:
>> thanks for the new snapshot. I just tried openssh-2000071103 on Sparc
>> Solaris 8 using gcc 2.95.2. Unfortunately, the bug I reported last week
>> is still there. The OpenSSH sshd sets up the terminal in such a way that
>> SIGINT is being ignored. You cannot Ctrl-C a sleep 5, say.
> Can any other Solaris users replicate this problem?
Yup, I can confirm...:-(  (Same software versions as well)

> A comparative truss of (say) telnetd vs ssh's terminat setup may help.
A simple 'stty -a' shows no differences (-ignbrk and brkint are present). A
truss of an ssh connection and a telnet connection does show differences
(obviously), but the important bit I guess is the sigaction(SIGINT..) bits.
Of which both seem okay:

(part of the telnet trace)
connect(4, 0xFFBEF894, 16, 1)                   = 0^M
open("/export/home/jhorne/.telnetrc", O_RDONLY) Err#2 ENOENT^M
Connected to 0.^M
write(1, " C o n n e c t e d   t o".., 16)      = 16^M
Escape character is '^]'.^M
write(1, " E s c a p e   c h a r a".., 26)      = 26^M
sigaction(SIGINT, 0xFFBEF428, 0xFFBEF4A8)       = 0^M
sigaction(SIGQUIT, 0xFFBEF428, 0xFFBEF4A8)      = 0^M
sigaction(SIGPIPE, 0xFFBEF428, 0xFFBEF4A8)      = 0^M
sigaction(SIGWINCH, 0xFFBEF428, 0xFFBEF4A8)     = 0^M
sigaction(SIGTSTP, 0xFFBEF428, 0xFFBEF4A8)      = 0^M
sigaction(SIGTSTP, 0xFFBEF390, 0xFFBEF410)      = 0^M
ioctl(0, TCGETA, 0xFFBEF43C)                    = 0^M
ioctl(0, TCSETSW, 0xFFBEF4C4)                   = 0^M
ioctl(0, FIONBIO, 0xFFBEF4C0)                   = 0^M
ioctl(1, FIONBIO, 0xFFBEF4C0)                   = 0^M
ioctl(4, FIONBIO, 0xFFBEF530)                   = 0^M
setsockopt(4, 65535, 256, 0xFFBEF538, 4, 1)     = 0^M

(and from ssh)
setsockopt(4, 65535, 8, 0xFFBEF6D4, 4, 1)       = 0^M
getsockname(4, 0xFFBEF558, 0xFFBEF554, 1)       = 0^M
setsockopt(4, 0, 3, 0xFFBEF6D0, 4, 1)           = 0^M
setsockopt(4, 6, 1, 0xFFBEF6D4, 4, 1)           = 0^M
write(4, "\0\0\005 aE8B1 L859AD313", 12)        = 12^M
brk(0x000F5C48)                                 = 0^M
brk(0x000F7C48)                                 = 0^M
sigaction(SIGINT, 0xFFBEF438, 0xFFBEF4B8)       = 0^M
sigaction(SIGQUIT, 0xFFBEF438, 0xFFBEF4B8)      = 0^M
sigaction(SIGTERM, 0xFFBEF438, 0xFFBEF4B8)      = 0^M
sigaction(SIGPIPE, 0xFFBEF438, 0xFFBEF4B8)      = 0^M
sigaction(SIGWINCH, 0xFFBEF438, 0xFFBEF4B8)     = 0^M
ioctl(0, TCGETS, 0xFFBEF4C0)                    = 0^M
ioctl(0, TCSETSW, 0xFFBEF4C0)                   = 0
fstat64(0, 0xFFBEF308)                          = 0
fcntl(0, F_SETFL, 0x00000080)                   = 0

As can be seen SIGINT is referenced similarly in both. It is only specified
once in both as well. Note that the use of SIGQUIT (using the control-|
keys) does work - a quit is generated. It is odd that SIGINT seems to be the
only problem.


John Horne, University of Plymouth, UK             Tel: +44 (0)1752 233914
E-mail: jhorne at plymouth.ac.uk
PGP key available from public key servers

More information about the openssh-unix-dev mailing list