On Thu, Jan 17, 2002 at 01:51:54PM +0300, you [Alexander V. Lukyanov] claimed:
> On Thu, Jan 17, 2002 at 12:23:57AM +0200, Ville Herva wrote:
> > So openssh seems to be playing some tty tricks.
> 
> It should not matter, because lftp creates a pseudo-tty and makes it
> controlling terminal for ssh. What is your OS? I have only tested
> pseudo-tty on linux and solaris, maybe on your system it fails to become
> controlling terminal.

In fact it is able to log in, but hangs in the FISH protocol initialization.
Strange that ssh1 works. I also tried to change shell from zsh to bash, but
it didn't help. No special startup files (.zshrc or .bashrc).

Here is the strace (of what I imagine relevant syscalls):

strace -e trace='!getpgrp,ioctl,gettimeofday,poll,wait4,rt_sigprocmask,rt_sigaction' 
-s 64 -p 23836
read(0, "\r", 1)                        = 1
write(1, "\n", 1)                       = 1
time([1011477140])                      = 1011477140
time([1011477140])                      = 1011477140
time([1011477140])                      = 1011477140
brk(0x818e000)                          = 0x818e000
getcwd("/tmp", 256) = 34
rt_sigaction(SIGCHLD, {SIG_DFL}, {0x808f38c, [], 0x4000000}, 8) = 0
open("/dev/ptyp0", O_RDWR|O_NOCTTY|O_LARGEFILE) = 3
open("/dev/ttyp0", O_RDWR|O_NOCTTY|O_LARGEFILE) = 4
chmod("/dev/ttyp0", 0600)               = -1 EPERM (Operation not permitted)
fork()                                  = 23844
close(4)                                = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
--- SIGCHLD (Child exited) ---
sigreturn()                             = ? (mask now [])
kill(-23844, SIGCONT)                   = 0
brk(0x8193000)                          = 0x8193000
read(3, 0x818c9c0, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x818c9c0, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
write(1, "\r", 1)                       = 1
write(1, "`ls\' at 0 [Connecting...]\r", 26) = 26
read(3, 0x818c9c0, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x818c9c0, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x818c9c0, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, "test@linux\'s password: ", 16384) = 23
brk(0x819a000)                          = 0x819a000
read(3, 0x8192a80, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
write(3, "xxxxxxxxxx\n", 11)            = 11
read(3, 0x8192a80, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, "FISH:\n", 16384)               = 6
getpid()                                = 23836
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0x8192a58, 16384)               = -1 EAGAIN (Resource temporarily unavailable)
<...>

I tried to strace both ssh and lftp with strace -f, but it seemed not to
work. At least I never saw the "read(3, "FISH:\n", 16384)" bit with strace
-f. Hmm, I guess this needs more debugging.


-- v --

[EMAIL PROTECTED]

Reply via email to