Skip to content

Commit 61757bd

Browse files
authored
Updates clj-ssh to latest JSch 0.2.9 (#68)
1 parent 7b075db commit 61757bd

File tree

3 files changed

+24
-30
lines changed

3 files changed

+24
-30
lines changed

project.clj

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
(def agentproxy-version "0.0.9")
2-
3-
(defproject clj-commons/clj-ssh "0.5.16-SNAPSHOT"
1+
(defproject clj-commons/clj-ssh "0.6.0-SNAPSHOT"
42
:description "Library for using SSH from clojure."
53
:url "https://github.com/clj-commons/clj-ssh"
64
:license {:name "Eclipse Public License"
75
:url "http://www.eclipse.org/legal/epl-v10.html"}
86
:dependencies [[org.clojure/tools.logging "1.2.4"
97
:exclusions [org.clojure/clojure]]
10-
[com.jcraft/jsch.agentproxy.usocket-jna ~agentproxy-version]
11-
[com.jcraft/jsch.agentproxy.usocket-nc ~agentproxy-version]
12-
[com.jcraft/jsch.agentproxy.sshagent ~agentproxy-version]
13-
[com.jcraft/jsch.agentproxy.pageant ~agentproxy-version]
14-
[com.jcraft/jsch.agentproxy.core ~agentproxy-version]
15-
[com.jcraft/jsch.agentproxy.jsch ~agentproxy-version]
16-
[com.jcraft/jsch "0.1.55"]]
8+
[com.github.mwiede/jsch "0.2.9"]
9+
[net.java.dev.jna/jna "5.13.0"]
10+
[com.kohlschutter.junixsocket/junixsocket-core "2.6.2" :extension "pom"]]
1711
:jvm-opts ["-Djava.awt.headless=true"]
1812
:profiles {:provided {:dependencies [[org.clojure/clojure "1.10.1"]]}})
13+

src/clj_ssh/agent.clj

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,34 @@
33
(:require
44
[clojure.tools.logging :as logging])
55
(:import
6-
com.jcraft.jsch.JSch
7-
[com.jcraft.jsch.agentproxy
8-
AgentProxyException Connector RemoteIdentityRepository]
9-
[com.jcraft.jsch.agentproxy.connector
10-
PageantConnector SSHAgentConnector]
11-
com.jcraft.jsch.agentproxy.usocket.JNAUSocketFactory))
6+
[com.jcraft.jsch
7+
JSch AgentProxyException AgentIdentityRepository
8+
PageantConnector SSHAgentConnector JUnixSocketFactory]))
129

1310
(defn sock-agent-connector
1411
[]
15-
(when (SSHAgentConnector/isConnectorAvailable)
16-
(try
17-
(let [usf (JNAUSocketFactory.)]
18-
(SSHAgentConnector. usf))
19-
(catch AgentProxyException e
20-
(logging/warnf
21-
e "Failed to load JNA connector, although SSH_AUTH_SOCK is set")))))
12+
(try
13+
(let [con (SSHAgentConnector.)]
14+
(when (.isAvailable con)
15+
con))
16+
(catch AgentProxyException e
17+
(logging/warnf
18+
e "Failed to load JNA connector, although SSH_AUTH_SOCK is set"))))
2219

2320
(defn pageant-connector
2421
[]
25-
(when (PageantConnector/isConnectorAvailable)
26-
(try
27-
(PageantConnector.)
28-
(catch AgentProxyException e
29-
(logging/warn
30-
e "Failed to load Pageant connector, although running on windows")))))
22+
(try
23+
(let [con (PageantConnector.)]
24+
(when (.isAvailable con)
25+
con))
26+
(catch AgentProxyException e
27+
(logging/warn
28+
e "Failed to load Pageant connector, although running on windows"))))
3129

3230
(defn connect
3331
"Connect the specified jsch object to the system ssh-agent."
3432
[^JSch jsch]
3533
(when-let [connector (or (sock-agent-connector) (pageant-connector))]
3634
(doto jsch
3735
;(.setConfig "PreferredAuthentications" "publickey")
38-
(.setIdentityRepository (RemoteIdentityRepository. connector)))))
36+
(.setIdentityRepository (AgentIdentityRepository. connector)))))

src/clj_ssh/ssh.clj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@
236236
(^boolean setPassphrase [_ ^bytes passphrase] (.. kpair (decrypt passphrase)))
237237
(getPublicKeyBlob [_] (.. kpair getPublicKeyBlob))
238238
(^bytes getSignature [_ ^bytes data] (.. kpair (getSignature data)))
239+
(^bytes getSignature [_ ^bytes data ^String alg] (.. kpair (getSignature data alg)))
239240
(getAlgName [_]
240241
(String. (reflect/call-method KeyPair 'getKeyTypeName [] kpair)))
241242
(getName [_] identity)

0 commit comments

Comments
 (0)