aboutsummaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-rw-r--r--src/org/connectbot/transport/SSH.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/org/connectbot/transport/SSH.java b/src/org/connectbot/transport/SSH.java
index 9d08592..a54e091 100644
--- a/src/org/connectbot/transport/SSH.java
+++ b/src/org/connectbot/transport/SSH.java
@@ -131,6 +131,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
private int height;
private String useAuthAgent = HostDatabase.AUTHAGENT_NO;
+ private String agentLockPassphrase;
public class HostKeyVerifier implements ServerHostKeyVerifier {
public boolean verifyServerHostKey(String hostname, int port,
@@ -883,4 +884,26 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
public boolean removeIdentity(byte[] publicKey) {
return manager.removeKey(publicKey);
}
+
+ public boolean isAgentLocked() {
+ return agentLockPassphrase != null;
+ }
+
+ public boolean requestAgentUnlock(String unlockPassphrase) {
+ if (agentLockPassphrase == null)
+ return false;
+
+ if (agentLockPassphrase.equals(unlockPassphrase))
+ agentLockPassphrase = null;
+
+ return agentLockPassphrase == null;
+ }
+
+ public boolean setAgentLock(String lockPassphrase) {
+ if (agentLockPassphrase != null)
+ return false;
+
+ agentLockPassphrase = lockPassphrase;
+ return true;
+ }
}