Dear all,
the problem could be reproduced for many of the libssh2 code examples, all
that I tested, but I will focuse in ssh2.c, which I studied most.
(OS ist Ubuntu Oneiric)
First SSH keyfile authentication runs flawless when done in a terminal. The
server is OpenSSH_5.8p1, built from source for better tracing of the
problem.
So far I could identify the sore spot as a read access (of the OpenSSH
server) by atomicio resulting in an EPIPE error, but I still don't get a
good clue how this might point to what's the difference in behaviour of
libssh2 to a terminal window...
So far I, know the read takes place
in monitor_wrap.c::mm_request_receive(), which, probably more interesting,
is called by a loop in monitor.c::monitor_read(), where a the sequence can
be indentified by its monitor_reqtype's,
In succeeding case with terminal,
1) MONITOR_REQ_SIGN
2) MONITOR_REQ_PWNAM
3) MONITOR_REQ_AUTHSERV
4) MONITOR_REQ_KEYALLOWED
5) MONITOR_REQ_KEYALLOWED // 2nd...
6) MONITOR_REQ_KEYVERIFY // success...
With libssh2, the 5th step (MONITOR_REQ_KEYALLOWED) is abandoned in the
beginning by the described EPIPE error.
Does anybody have any idea??
Thanks a lot in advance, Nick
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2012-04-24