aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPConnectionController.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPConnectionController.m')
-rw-r--r--Source/SPConnectionController.m29
1 files changed, 22 insertions, 7 deletions
diff --git a/Source/SPConnectionController.m b/Source/SPConnectionController.m
index f0bfecfe..7f67edcc 100644
--- a/Source/SPConnectionController.m
+++ b/Source/SPConnectionController.m
@@ -148,28 +148,37 @@ static NSComparisonResult _compareFavoritesUsingKey(id favorite1, id favorite2,
// If SSL keys have been supplied, verify they exist
if (([self type] == SPTCPIPConnection || [self type] == SPSocketConnection) && [self useSSL]) {
- if (sslKeyFileLocationEnabled && sslKeyFileLocation
- && ![[NSFileManager defaultManager] fileExistsAtPath:[sslKeyFileLocation stringByExpandingTildeInPath]])
+
+ if (sslKeyFileLocationEnabled && sslKeyFileLocation &&
+ ![[NSFileManager defaultManager] fileExistsAtPath:[sslKeyFileLocation stringByExpandingTildeInPath]])
{
[self setSslKeyFileLocationEnabled:NSOffState];
[self setSslKeyFileLocation:nil];
+
SPBeginAlertSheet(NSLocalizedString(@"SSL Key File not found", @"SSL key file check error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, [dbDocument parentWindow], self, nil, nil, NSLocalizedString(@"A SSL key file location was specified, but no file was found in the specified location. Please re-select the key file and try again.", @"SSL key file not found message"));
+
return;
}
- if (sslCertificateFileLocationEnabled && sslCertificateFileLocation
- && ![[NSFileManager defaultManager] fileExistsAtPath:[sslCertificateFileLocation stringByExpandingTildeInPath]])
+
+ if (sslCertificateFileLocationEnabled && sslCertificateFileLocation &&
+ ![[NSFileManager defaultManager] fileExistsAtPath:[sslCertificateFileLocation stringByExpandingTildeInPath]])
{
[self setSslCertificateFileLocationEnabled:NSOffState];
[self setSslCertificateFileLocation:nil];
+
SPBeginAlertSheet(NSLocalizedString(@"SSL Certificate File not found", @"SSL certificate file check error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, [dbDocument parentWindow], self, nil, nil, NSLocalizedString(@"A SSL certificate location was specified, but no file was found in the specified location. Please re-select the certificate and try again.", @"SSL certificate file not found message"));
+
return;
}
- if (sslCACertFileLocationEnabled && sslCACertFileLocation
- && ![[NSFileManager defaultManager] fileExistsAtPath:[sslCACertFileLocation stringByExpandingTildeInPath]])
+
+ if (sslCACertFileLocationEnabled && sslCACertFileLocation &&
+ ![[NSFileManager defaultManager] fileExistsAtPath:[sslCACertFileLocation stringByExpandingTildeInPath]])
{
[self setSslCACertFileLocationEnabled:NSOffState];
[self setSslCACertFileLocation:nil];
+
SPBeginAlertSheet(NSLocalizedString(@"SSL Certificate Authority File not found", @"SSL certificate authority file check error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, [dbDocument parentWindow], self, nil, nil, NSLocalizedString(@"A SSL Certificate Authority certificate location was specified, but no file was found in the specified location. Please re-select the Certificate Authority certificate and try again.", @"SSL CA certificate file not found message"));
+
return;
}
}
@@ -196,6 +205,7 @@ static NSComparisonResult _compareFavoritesUsingKey(id favorite1, id favorite2,
if (connectionKeychainItemName) {
if ([[keychain getPasswordForName:connectionKeychainItemName account:connectionKeychainItemAccount] isEqualToString:[self password]]) {
[self setPassword:[[NSString string] stringByPaddingToLength:[[self password] length] withString:@"sp" startingAtIndex:0]];
+
[[standardPasswordField undoManager] removeAllActionsWithTarget:standardPasswordField];
[[socketPasswordField undoManager] removeAllActionsWithTarget:socketPasswordField];
[[sshPasswordField undoManager] removeAllActionsWithTarget:sshPasswordField];
@@ -210,7 +220,8 @@ static NSComparisonResult _compareFavoritesUsingKey(id favorite1, id favorite2,
if ([[keychain getPasswordForName:connectionSSHKeychainItemName account:connectionSSHKeychainItemAccount] isEqualToString:[self sshPassword]]) {
[self setSshPassword:[[NSString string] stringByPaddingToLength:[[self sshPassword] length] withString:@"sp" startingAtIndex:0]];
[[sshSSHPasswordField undoManager] removeAllActionsWithTarget:sshSSHPasswordField];
- } else {
+ }
+ else {
[connectionSSHKeychainItemName release], connectionSSHKeychainItemName = nil;
[connectionSSHKeychainItemAccount release], connectionSSHKeychainItemAccount = nil;
}
@@ -227,6 +238,7 @@ static NSComparisonResult _compareFavoritesUsingKey(id favorite1, id favorite2,
// Initiate the SSH connection process for tunnels
if ([self type] == SPSSHTunnelConnection) {
[self performSelector:@selector(initiateSSHTunnelConnection) withObject:nil afterDelay:0.0];
+
return;
}
@@ -900,6 +912,9 @@ static NSComparisonResult _compareFavoritesUsingKey(id favorite1, id favorite2,
#pragma mark -
#pragma mark Accessors
+/**
+ * Returns the main outline view instance.
+ */
- (SPFavoritesOutlineView *)favoritesOutlineView
{
return favoritesOutlineView;