read(/dev/ptyXX) fails w/ EIO?

From: The Chazman (chaz@devastator.extern.ucsd.edu)
Date: Wed May 10 2000 - 00:36:27 EST


I had hoped to find an answer to this one through lesser channels, but
all I've gotten is shrugs and thoughtful "that's a good one"s. So I'm
hoping the kernel gurus can shed some light on this...

I'm trying to set up a VPN based on ssh and ppp between two linux boxen
I help administrate. The two fail to establish a ppp connection. After
stracing the pppd and ssh client, I have found that ssh is failing to read
from the pty to which pppd is connected. After negotiating encryption
and login with the remote side, ssh drops into a select loop, waiting on
reads from network and stdin. Stdin (the master side of the pty) becomes
ready to read, since pppd has written an LCP request to the slave side of
the pty. ssh tries to read stdin. The read system call fails with EIO.
ssh removes stdin from its select fd set, and never reads it again. All
hope of the remote pppd hearing the local one is now gone.

So what would cause a read() from the master side of a pty to fail with
EIO, and how can I overcome this problem?

FYI: versions of relevant things I'm using...
kernel 2.2.14, configured for old-style (non-Unix98) pty's
pppd 2.3.5
ssh 1.2.25
libc 5.4.46 (all the relevant binaries link against this; the system
               in question doesn't even have a copy of glibc2 anywhere)
ld.so 1.9.9
pam 0.57

Thanks for your help.

                       Carl N Miller

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:15 EST