aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPSSHTunnel.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-08-08 01:11:23 +0000
committerrowanbeentje <rowan@beent.je>2009-08-08 01:11:23 +0000
commit76563cf13092e21da3efd853c0721f782bbc0b83 (patch)
treee7020353ee9c18fa0439b75d97a4a1d657ce4ddd /Source/SPSSHTunnel.m
parent2297b13252ee7149606ecd4544898614f0ac9298 (diff)
downloadsequelpro-76563cf13092e21da3efd853c0721f782bbc0b83.tar.gz
sequelpro-76563cf13092e21da3efd853c0721f782bbc0b83.tar.bz2
sequelpro-76563cf13092e21da3efd853c0721f782bbc0b83.zip
Merge r1175 (public key fixes) into 0.9.6 release branch
Diffstat (limited to 'Source/SPSSHTunnel.m')
-rw-r--r--Source/SPSSHTunnel.m12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/SPSSHTunnel.m b/Source/SPSSHTunnel.m
index 60260f8d..a366256c 100644
--- a/Source/SPSSHTunnel.m
+++ b/Source/SPSSHTunnel.m
@@ -160,7 +160,7 @@
{
localPort = 0;
- if (connectionState != PROXY_STATE_IDLE || (!passwordInKeychain && !password)) return;
+ if (connectionState != PROXY_STATE_IDLE) return;
[debugMessages removeAllObjects];
[NSThread detachNewThreadSelector:@selector(launchTask:) toTarget: self withObject: nil ];
}
@@ -286,8 +286,10 @@
[taskEnvironment setObject:[[NSNumber numberWithInt:SPSSH_PASSWORD_USES_KEYCHAIN] stringValue] forKey:@"SP_PASSWORD_METHOD"];
[taskEnvironment setObject:keychainName forKey:@"SP_KEYCHAIN_ITEM_NAME"];
[taskEnvironment setObject:keychainAccount forKey:@"SP_KEYCHAIN_ITEM_ACCOUNT"];
- } else {
+ } else if (password) {
[taskEnvironment setObject:[[NSNumber numberWithInt:SPSSH_PASSWORD_ASKS_UI] stringValue] forKey:@"SP_PASSWORD_METHOD"];
+ } else {
+ [taskEnvironment setObject:[[NSNumber numberWithInt:SPSSH_NO_PASSWORD] stringValue] forKey:@"SP_PASSWORD_METHOD"];
}
[task setEnvironment:taskEnvironment];
@@ -536,7 +538,11 @@
case 1:
thePassword = [NSString stringWithString:[sshPasswordField stringValue]];
[sshPasswordField setStringValue:@""];
- [[delegate undoManager] removeAllActionsWithTarget:sshPasswordField];
+ if ([delegate respondsToSelector:@selector(setUndoManager:)] && [delegate undoManager]) {
+ [[delegate undoManager] removeAllActionsWithTarget:sshPasswordField];
+ } else if ([[parentWindow windowController] document] && [[[parentWindow windowController] document] undoManager]) {
+ [[[[parentWindow windowController] document] undoManager] removeAllActionsWithTarget:sshPasswordField];
+ }
requestedPassphrase = [[NSString alloc] initWithString:thePassword];
// Add to keychain if appropriate