Hi,

I'm trying to integrate Apache SSHD with my app and am running into a
strange issue. I can establish a connection and open a channel on a
subsystem, and then get the InputStreams and OutputStreams that correspond
to it. Data transferred over stderr and stdout seem to get transferred, but
anything written to stdin by the client is not getting to the server. The
client and server are both on localhost and using the SSHD library.

I've written two unit tests to demonstrate this - one that passes
(connect-stdout-stderr) and one that deadlocks (connect-stdin). The code is
in Clojure. I'd be very grateful if someone could point me in the right
direction to fix the failing test.

Thank you,
Matt

*Application code*:
https://github.com/matvore/hesokuri/blob/4d591abe22a3c24e8756b1316ef763be86b55225/src/hesokuri/ssh.clj
*Tests*:
https://github.com/matvore/hesokuri/blob/4d591abe22a3c24e8756b1316ef763be86b55225/test/hesokuri/test_hesokuri/ssh.clj

*Test log output:*
19:41:38:matvore-macbookpro2:~/hesokuri$ lein test :only
hesokuri.test-hesokuri.ssh/connect-stdin

lein test hesokuri.test-hesokuri.ssh
Apr 19, 2014 7:51:41 PM
org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration run
資訊: Trying to register BouncyCastle as a JCE provider
Apr 19, 2014 7:51:42 PM
org.apache.sshd.common.util.SecurityUtils$BouncyCastleRegistration run
資訊: Registration succeeded
Apr 19, 2014 7:51:42 PM org.apache.sshd.client.session.ClientSessionImpl
<init>
資訊: Client session created
Apr 19, 2014 7:51:42 PM org.apache.sshd.server.session.ServerSession <init>
資訊: Server session created from /127.0.0.1:63408
Apr 19, 2014 7:51:42 PM org.apache.sshd.client.session.ClientSessionImpl
readIdentification
資訊: Server version string: SSH-2.0-SSHD-CORE-0.10.1
Apr 19, 2014 7:51:42 PM org.apache.sshd.common.session.AbstractSession
negotiate
資訊: Kex: server->client aes128-ctr hmac-sha2-256 none
Apr 19, 2014 7:51:42 PM org.apache.sshd.common.session.AbstractSession
negotiate
資訊: Kex: client->server aes128-ctr hmac-sha2-256 none
Apr 19, 2014 7:51:42 PM org.apache.sshd.common.session.AbstractSession
negotiate
資訊: Kex: server->client aes128-ctr hmac-sha2-256 none
Apr 19, 2014 7:51:42 PM org.apache.sshd.common.session.AbstractSession
negotiate
資訊: Kex: client->server aes128-ctr hmac-sha2-256 none
Apr 19, 2014 7:51:43 PM
org.apache.sshd.server.session.ServerUserAuthService process
資訊: Session hesokuri_user@/127.0.0.1:63408 authenticated
Apr 19, 2014 7:51:43 PM clojure.tools.logging$eval532$fn__538 invoke
資訊: wait on promise...
Apr 19, 2014 7:51:43 PM clojure.tools.logging$eval532$fn__538 invoke
資訊: read line...
*(deadlock here)*

Reply via email to