aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPConnectionController.h7
-rw-r--r--Source/SPConnectionController.m46
-rw-r--r--Source/SPConstants.h7
-rw-r--r--Source/SPPreferenceController.m12
-rw-r--r--Source/TableDocument.m38
5 files changed, 55 insertions, 55 deletions
diff --git a/Source/SPConnectionController.h b/Source/SPConnectionController.h
index 824c2f46..d0a70148 100644
--- a/Source/SPConnectionController.h
+++ b/Source/SPConnectionController.h
@@ -30,13 +30,6 @@
#import "SPKeychain.h"
#import "SPSSHTunnel.h"
-enum spconnection_types
-{
- SP_CONNECTION_TCPIP = 0,
- SP_CONNECTION_SOCKET = 1,
- SP_CONNECTION_SSHTUNNEL = 2
-};
-
@class BWAnchoredButtonBar;
@interface NSObject (BWAnchoredButtonBar)
diff --git a/Source/SPConnectionController.m b/Source/SPConnectionController.m
index d1bab4aa..27c5c8fd 100644
--- a/Source/SPConnectionController.m
+++ b/Source/SPConnectionController.m
@@ -109,8 +109,8 @@
[favoritesTable selectRowIndexes:[NSIndexSet indexSetWithIndex:tableRow] byExtendingSelection:NO];
[favoritesTable scrollRowToVisible:[favoritesTable selectedRow]];
} else {
- previousType = SP_CONNECTION_TCPIP;
- [self resizeTabViewToConnectionType:SP_CONNECTION_TCPIP animating:NO];
+ previousType = SPTCPIPConnection;
+ [self resizeTabViewToConnectionType:SPTCPIPConnection animating:NO];
}
// If the document is set to automatically connect, do so.
@@ -149,13 +149,13 @@
- (IBAction)initiateConnection:(id)sender
{
// Ensure that host is not empty if this is a TCP/IP or SSH connection
- if (([self type] == SP_CONNECTION_TCPIP || [self type] == SP_CONNECTION_SSHTUNNEL) && ![[self host] length]) {
+ if (([self type] == SPTCPIPConnection || [self type] == SPSSHTunnelConnection) && ![[self host] length]) {
NSBeginAlertSheet(NSLocalizedString(@"Insufficient connection details", @"insufficient details message"), NSLocalizedString(@"OK", @"OK button"), nil, nil, documentWindow, self, nil, nil, nil, NSLocalizedString(@"Insufficient details provided to establish a connection. Please enter at least the hostname.", @"insufficient details informative message"));
return;
}
// If SSH is enabled, ensure that the SSH host is not nil
- if ([self type] == SP_CONNECTION_SSHTUNNEL && ![[self sshHost] length]) {
+ if ([self type] == SPSSHTunnelConnection && ![[self sshHost] length]) {
NSBeginAlertSheet(NSLocalizedString(@"Insufficient connection details", @"insufficient details message"), NSLocalizedString(@"OK", @"OK button"), nil, nil, documentWindow, self, nil, nil, nil, NSLocalizedString(@"Insufficient details provided to establish a connection. Please enter the hostname for the SSH Tunnel, or disable the SSH Tunnel.", @"insufficient SSH tunnel details informative message"));
return;
}
@@ -205,7 +205,7 @@
}
// Initiate the SSH connection process for tunnels
- if ([self type] == SP_CONNECTION_SSHTUNNEL) {
+ if ([self type] == SPSSHTunnelConnection) {
[self performSelector:@selector(initiateSSHTunnelConnection) withObject:nil afterDelay:0.0];
return;
}
@@ -276,12 +276,12 @@
[progressIndicatorText display];
// Initialise to socket if appropriate.
- if ([self type] == SP_CONNECTION_SOCKET) {
+ if ([self type] == SPSocketConnection) {
mySQLConnection = [[MCPConnection alloc] initToSocket:[self socket] withLogin:[self user]];
// Otherwise, initialise to host, using tunnel if appropriate
} else {
- if ([self type] == SP_CONNECTION_SSHTUNNEL) {
+ if ([self type] == SPSSHTunnelConnection) {
mySQLConnection = [[MCPConnection alloc] initToHost:@"127.0.0.1"
withLogin:[self user]
usingPort:[sshTunnel localPort]];
@@ -338,10 +338,10 @@
} else if ([mySQLConnection getLastErrorID] == 1045) { // "Access denied" error
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"Unable to connect to host %@ because access was denied.\n\nDouble-check your username and password and ensure that access from your current location is permitted.\n\nMySQL said: %@", @"message of panel when connection to host failed due to access denied error"), [self host], [mySQLConnection getLastErrorMessage]];
[self failConnectionWithTitle:NSLocalizedString(@"Access denied!", @"connection failed due to access denied title") errorMessage:errorMessage detail:nil];
- } else if ([self type] == SP_CONNECTION_SOCKET && (![self socket] || ![[self socket] length]) && ![mySQLConnection findSocketPath]) {
+ } else if ([self type] == SPSocketConnection && (![self socket] || ![[self socket] length]) && ![mySQLConnection findSocketPath]) {
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"The socket file could not be found in any common location. Please supply the correct socket location.\n\nMySQL said: %@", @"message of panel when connection to socket failed because optional socket could not be found"), [mySQLConnection getLastErrorMessage]];
[self failConnectionWithTitle:NSLocalizedString(@"Socket not found!", @"socket not found title") errorMessage:errorMessage detail:nil];
- } else if ([self type] == SP_CONNECTION_SOCKET) {
+ } else if ([self type] == SPSocketConnection) {
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"Unable to connect via the socket, or the request timed out.\n\nDouble-check that the socket path is correct and that you have the necessary privileges, and that the server is running.\n\nMySQL said: %@", @"message of panel when connection to host failed"), [mySQLConnection getLastErrorMessage]];
[self failConnectionWithTitle:NSLocalizedString(@"Socket connection failed!", @"socket connection failed title") errorMessage:errorMessage detail:nil];
} else {
@@ -443,14 +443,14 @@
NSString *tunnelPort = [[[errorDetailText string] componentsMatchedByRegex:@"LOCALHOST:([0-9]+)" capture:1L] lastObject];
// Change the connection type to standard TCP/IP
- [self setType:SP_CONNECTION_TCPIP];
+ [self setType:SPTCPIPConnection];
// Change connection details
[self setPort:tunnelPort];
[self setHost:@"127.0.0.1"];
// Change to standard TCP/IP connection view
- [self resizeTabViewToConnectionType:SP_CONNECTION_TCPIP animating:YES];
+ [self resizeTabViewToConnectionType:SPTCPIPConnection animating:YES];
// Initiate the connection after half a second to give the connection view a chance to resize
[self performSelector:@selector(initiateConnection:) withObject:self afterDelay:0.5];
@@ -531,7 +531,7 @@
[self resizeTabViewToConnectionType:selectedTabView animating:YES];
// Update the host as appropriate
- if ((selectedTabView != SP_CONNECTION_SOCKET) && [[self host] isEqualToString:@"localhost"]) {
+ if ((selectedTabView != SPSocketConnection) && [[self host] isEqualToString:@"localhost"]) {
[self setHost:@""];
}
@@ -571,13 +571,13 @@
frameRect = [connectionResizeContainer frame];
switch (theType) {
- case SP_CONNECTION_TCPIP:
+ case SPTCPIPConnection:
targetResizeRect = [standardConnectionFormContainer frame];
break;
- case SP_CONNECTION_SOCKET:
+ case SPSocketConnection:
targetResizeRect = [socketConnectionFormContainer frame];
break;
- case SP_CONNECTION_SSHTUNNEL:
+ case SPSSHTunnelConnection:
targetResizeRect = [sshConnectionFormContainer frame];
break;
}
@@ -597,7 +597,7 @@
*/
- (BOOL) checkHost
{
- if ([self type] != SP_CONNECTION_SOCKET && [[self host] isEqualToString:@"localhost"]) {
+ if ([self type] != SPSocketConnection && [[self host] isEqualToString:@"localhost"]) {
NSBeginAlertSheet(NSLocalizedString(@"You have entered 'localhost' for a non-socket connection", @"title of error when using 'localhost' for a network connection"),
NSLocalizedString(@"Use 127.0.0.1", @"Use 127.0.0.1 button"), // Main button
NSLocalizedString(@"Connect via socket", @"Connect via socket button"), // Alternate button
@@ -621,7 +621,7 @@
{
[sheet orderOut:self];
if (returnCode == NSAlertAlternateReturn) {
- [self setType:SP_CONNECTION_SOCKET];
+ [self setType:SPSocketConnection];
[self setHost:@""];
} else {
[self setHost:@"127.0.0.1"];
@@ -665,7 +665,7 @@
if (connectionSSHKeychainItemAccount) [connectionSSHKeychainItemAccount release], connectionSSHKeychainItemAccount = nil;
// Update key-value properties from the selected favourite, using empty strings where not found
- [self setType:([self valueForKeyPath:@"selectedFavorite.type"] ? [[self valueForKeyPath:@"selectedFavorite.type"] intValue] : SP_CONNECTION_TCPIP)];
+ [self setType:([self valueForKeyPath:@"selectedFavorite.type"] ? [[self valueForKeyPath:@"selectedFavorite.type"] intValue] : SPTCPIPConnection)];
[self setName:([self valueForKeyPath:@"selectedFavorite.name"] ? [self valueForKeyPath:@"selectedFavorite.name"] : @"")];
[self setHost:([self valueForKeyPath:@"selectedFavorite.host"] ? [self valueForKeyPath:@"selectedFavorite.host"] : @"")];
[self setSocket:([self valueForKeyPath:@"selectedFavorite.socket"] ? [self valueForKeyPath:@"selectedFavorite.socket"] : @"")];
@@ -679,7 +679,7 @@
// Check whether the password exists in the keychain, and if so add it; also record the
// keychain details so we can pass around only those details if the password doesn't change
connectionKeychainItemName = [[keychain nameForFavoriteName:[self valueForKeyPath:@"selectedFavorite.name"] id:[self valueForKeyPath:@"selectedFavorite.id"]] retain];
- connectionKeychainItemAccount = [[keychain accountForUser:[self valueForKeyPath:@"selectedFavorite.user"] host:(([self type] == SP_CONNECTION_SOCKET)?@"localhost":[self valueForKeyPath:@"selectedFavorite.host"]) database:[self valueForKeyPath:@"selectedFavorite.database"]] retain];
+ connectionKeychainItemAccount = [[keychain accountForUser:[self valueForKeyPath:@"selectedFavorite.user"] host:(([self type] == SPSocketConnection)?@"localhost":[self valueForKeyPath:@"selectedFavorite.host"]) database:[self valueForKeyPath:@"selectedFavorite.database"]] retain];
[self setPassword:[keychain getPasswordForName:connectionKeychainItemName account:connectionKeychainItemAccount]];
if (![[self password] length]) {
[connectionKeychainItemName release], connectionKeychainItemName = nil;
@@ -717,18 +717,18 @@
{
NSString *thePassword, *theSSHPassword;
NSNumber *favoriteid = [NSNumber numberWithInt:[[NSString stringWithFormat:@"%f", [[NSDate date] timeIntervalSince1970]] hash]];
- NSString *favoriteName = [[self name] length]?[self name]:[NSString stringWithFormat:@"%@@%@", ([self user] && [[self user] length])?[self user]:@"anonymous", (([self type] == SP_CONNECTION_SOCKET)?@"localhost":[self host])];
+ NSString *favoriteName = [[self name] length]?[self name]:[NSString stringWithFormat:@"%@@%@", ([self user] && [[self user] length])?[self user]:@"anonymous", (([self type] == SPSocketConnection)?@"localhost":[self host])];
if (![[self name] length] && [self database] && ![[self database] isEqualToString:@""])
favoriteName = [NSString stringWithFormat:@"%@ %@", [self database], favoriteName];
// Ensure that host is not empty if this is a TCP/IP or SSH connection
- if (([self type] == SP_CONNECTION_TCPIP || [self type] == SP_CONNECTION_SSHTUNNEL) && ![[self host] length]) {
+ if (([self type] == SPTCPIPConnection || [self type] == SPSSHTunnelConnection) && ![[self host] length]) {
NSRunAlertPanel(NSLocalizedString(@"Insufficient connection details", @"insufficient details message"), NSLocalizedString(@"Insufficient details provided to establish a connection. Please provide at least a host.", @"insufficient details informative message"), NSLocalizedString(@"OK", @"OK button"), nil, nil);
return;
}
// If SSH is enabled, ensure that the SSH host is not nil
- if ([self type] == SP_CONNECTION_SSHTUNNEL && ![[self sshHost] length]) {
+ if ([self type] == SPSSHTunnelConnection && ![[self sshHost] length]) {
NSRunAlertPanel(NSLocalizedString(@"Insufficient connection details", @"insufficient details message"), NSLocalizedString(@"Please enter the hostname for the SSH Tunnel, or disable the SSH Tunnel.", @"message of panel when ssh details are incomplete"), NSLocalizedString(@"OK", @"OK button"), nil, nil);
return;
}
@@ -770,7 +770,7 @@
if (thePassword && ![thePassword isEqualToString:@""]) {
[keychain addPassword:thePassword
forName:[keychain nameForFavoriteName:favoriteName id:[NSString stringWithFormat:@"%i", [favoriteid intValue]]]
- account:[keychain accountForUser:[self user] host:(([self type] == SP_CONNECTION_SOCKET)?@"localhost":[self host]) database:[self database]]];
+ account:[keychain accountForUser:[self user] host:(([self type] == SPSocketConnection)?@"localhost":[self host]) database:[self database]]];
}
// Add the SSH password to keychain as appropriate
diff --git a/Source/SPConstants.h b/Source/SPConstants.h
index af884ac3..30645a7d 100644
--- a/Source/SPConstants.h
+++ b/Source/SPConstants.h
@@ -74,6 +74,13 @@ typedef enum {
SPImportExportQueryMode = 2
} SPQueryMode;
+// Connection types
+typedef enum {
+ SPTCPIPConnection = 0,
+ SPSocketConnection = 1,
+ SPSSHTunnelConnection = 2
+} SPConnectionType;
+
// Kill mode constants
extern NSString *SPKillProcessQueryMode;
extern NSString *SPKillProcessConnectionMode;
diff --git a/Source/SPPreferenceController.m b/Source/SPPreferenceController.m
index 3e938ff0..da5c03ae 100644
--- a/Source/SPPreferenceController.m
+++ b/Source/SPPreferenceController.m
@@ -336,7 +336,7 @@
// Remove passwords from the Keychain
[keychain deletePasswordForName:[keychain nameForFavoriteName:name id:favoriteid]
- account:[keychain accountForUser:user host:((type == SP_CONNECTION_SOCKET)?@"localhost":host) database:database]];
+ account:[keychain accountForUser:user host:((type == SPSocketConnection)?@"localhost":host) database:database]];
[keychain deletePasswordForName:[keychain nameForSSHForFavoriteName:name id:favoriteid]
account:[keychain accountForSSHUser:sshUser sshHost:sshHost]];
@@ -370,7 +370,7 @@
// Select the keychain passwords for duplication
keychainName = [keychain nameForFavoriteName:[favorite objectForKey:@"name"] id:[favorite objectForKey:@"id"]];
- keychainAccount = [keychain accountForUser:[favorite objectForKey:@"user"] host:((duplicatedFavoriteType == SP_CONNECTION_SOCKET)?@"localhost":[favorite objectForKey:@"host"]) database:[favorite objectForKey:@"database"]];
+ keychainAccount = [keychain accountForUser:[favorite objectForKey:@"user"] host:((duplicatedFavoriteType == SPSocketConnection)?@"localhost":[favorite objectForKey:@"host"]) database:[favorite objectForKey:@"database"]];
password = [keychain getPasswordForName:keychainName account:keychainAccount];
keychainSSHName = [keychain nameForSSHForFavoriteName:[favorite objectForKey:@"name"] id:[favorite objectForKey:@"id"]];
keychainSSHAccount = [keychain accountForSSHUser:[favorite objectForKey:@"sshUser"] sshHost:[favorite objectForKey:@"sshHost"]];
@@ -641,7 +641,7 @@
{
if ([cell isKindOfClass:[SPFavoriteTextFieldCell class]]) {
[cell setFavoriteName:[[[favoritesController arrangedObjects] objectAtIndex:index] objectForKey:@"name"]];
- if ([[[[favoritesController arrangedObjects] objectAtIndex:index] objectForKey:@"type"] intValue] == SP_CONNECTION_SOCKET) {
+ if ([[[[favoritesController arrangedObjects] objectAtIndex:index] objectForKey:@"type"] intValue] == SPSocketConnection) {
[cell setFavoriteHost:@"localhost"];
} else {
[cell setFavoriteHost:[[[favoritesController arrangedObjects] objectAtIndex:index] objectForKey:@"host"]];
@@ -673,7 +673,7 @@
// Retrieve and set the password.
NSString *keychainName = [keychain nameForFavoriteName:[currentFavorite objectForKey:@"name"] id:[currentFavorite objectForKey:@"id"]];
- NSString *keychainAccount = [keychain accountForUser:[currentFavorite objectForKey:@"user"] host:(([[currentFavorite objectForKey:@"type"] intValue] == SP_CONNECTION_SOCKET)?@"localhost":[currentFavorite objectForKey:@"host"]) database:[currentFavorite objectForKey:@"database"]];
+ NSString *keychainAccount = [keychain accountForUser:[currentFavorite objectForKey:@"user"] host:(([[currentFavorite objectForKey:@"type"] intValue] == SPSocketConnection)?@"localhost":[currentFavorite objectForKey:@"host"]) database:[currentFavorite objectForKey:@"database"]];
NSString *passwordValue = [keychain getPasswordForName:keychainName account:keychainAccount];
[standardPasswordField setStringValue:passwordValue];
[socketPasswordField setStringValue:passwordValue];
@@ -881,8 +881,8 @@
NSString *passwordValue;
NSString *oldKeychainName, *newKeychainName;
NSString *oldKeychainAccount, *newKeychainAccount;
- NSString *oldHostnameForPassword = ([[currentFavorite objectForKey:@"type"] intValue] == SP_CONNECTION_SOCKET) ? @"localhost" : [currentFavorite objectForKey:@"host"];
- NSString *newHostnameForPassword = ([[favoritesController valueForKeyPath:@"selection.type"] intValue] == SP_CONNECTION_SOCKET) ? @"localhost" : [favoritesController valueForKeyPath:@"selection.host"];
+ NSString *oldHostnameForPassword = ([[currentFavorite objectForKey:@"type"] intValue] == SPSocketConnection) ? @"localhost" : [currentFavorite objectForKey:@"host"];
+ NSString *newHostnameForPassword = ([[favoritesController valueForKeyPath:@"selection.type"] intValue] == SPSocketConnection) ? @"localhost" : [favoritesController valueForKeyPath:@"selection.host"];
// SQL passwords are indexed by name, host, user and database. If any of these
// have changed, or a standard password field has, alter the keychain item to match.
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 69fc54d5..fa07e143 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -421,14 +421,14 @@
connection = [NSDictionary dictionaryWithDictionary:[data objectForKey:@"connection"]];
if([connection objectForKey:@"type"]) {
- if([[connection objectForKey:@"type"] isEqualToString:@"SP_CONNECTION_TCPIP"])
- connectionType = SP_CONNECTION_TCPIP;
- else if([[connection objectForKey:@"type"] isEqualToString:@"SP_CONNECTION_SOCKET"])
- connectionType = SP_CONNECTION_SOCKET;
- else if([[connection objectForKey:@"type"] isEqualToString:@"SP_CONNECTION_SSHTUNNEL"])
- connectionType = SP_CONNECTION_SSHTUNNEL;
+ if([[connection objectForKey:@"type"] isEqualToString:@"SPTCPIPConnection"])
+ connectionType = SPTCPIPConnection;
+ else if([[connection objectForKey:@"type"] isEqualToString:@"SPSocketConnection"])
+ connectionType = SPSocketConnection;
+ else if([[connection objectForKey:@"type"] isEqualToString:@"SPSSHTunnelConnection"])
+ connectionType = SPSSHTunnelConnection;
else
- connectionType = SP_CONNECTION_TCPIP;
+ connectionType = SPTCPIPConnection;
[connectionController setType:connectionType];
[connectionController resizeTabViewToConnectionType:connectionType animating:NO];
@@ -454,10 +454,10 @@
[connectionController setPassword:pw];
}
- if(connectionType == SP_CONNECTION_SOCKET && [connection objectForKey:@"socket"])
+ if(connectionType == SPSocketConnection && [connection objectForKey:@"socket"])
[connectionController setSocket:[connection objectForKey:@"socket"]];
- if(connectionType == SP_CONNECTION_SSHTUNNEL) {
+ if(connectionType == SPSSHTunnelConnection) {
if([connection objectForKey:@"ssh_host"])
[connectionController setSshHost:[connection objectForKey:@"ssh_host"]];
if([connection objectForKey:@"ssh_user"])
@@ -2156,7 +2156,7 @@
*/
- (NSString *)host
{
- if ([connectionController type] == SP_CONNECTION_SOCKET) return @"localhost";
+ if ([connectionController type] == SPSocketConnection) return @"localhost";
NSString *theHost = [connectionController host];
if (!theHost) theHost = @"";
return theHost;
@@ -2170,7 +2170,7 @@
if ([connectionController name] && [[connectionController name] length]) {
return [connectionController name];
}
- if ([connectionController type] == SP_CONNECTION_SOCKET) {
+ if ([connectionController type] == SPSocketConnection) {
return [NSString stringWithFormat:@"%@@localhost", ([connectionController user] && [[connectionController user] length])?[connectionController user]:@"anonymous"];
}
return [NSString stringWithFormat:@"%@@%@", ([connectionController user] && [[connectionController user] length])?[connectionController user]:@"anonymous", [connectionController host]?[connectionController host]:@""];
@@ -2556,22 +2556,22 @@
[connection setObject:[self user] forKey:@"user"];
switch([connectionController type]) {
- case SP_CONNECTION_TCPIP:
- aString = @"SP_CONNECTION_TCPIP";
+ case SPTCPIPConnection:
+ aString = @"SPTCPIPConnection";
break;
- case SP_CONNECTION_SOCKET:
- aString = @"SP_CONNECTION_SOCKET";
+ case SPSocketConnection:
+ aString = @"SPSocketConnection";
[connection setObject:[connectionController socket] forKey:@"socket"];
break;
- case SP_CONNECTION_SSHTUNNEL:
- aString = @"SP_CONNECTION_SSHTUNNEL";
+ case SPSSHTunnelConnection:
+ aString = @"SPSSHTunnelConnection";
[connection setObject:[connectionController sshHost] forKey:@"ssh_host"];
[connection setObject:[connectionController sshUser] forKey:@"ssh_user"];
if([connectionController port] && [[connectionController port] length])
[connection setObject:[NSNumber numberWithInt:[[connectionController sshPort] intValue]] forKey:@"ssh_port"];
break;
default:
- aString = @"SP_CONNECTION_TCPIP";
+ aString = @"SPTCPIPConnection";
}
[connection setObject:aString forKey:@"type"];
@@ -2580,7 +2580,7 @@
NSString *pw = [self keychainPasswordForConnection:nil];
if(![pw length]) pw = [connectionController password];
[connection setObject:pw forKey:@"password"];
- if([connectionController type] == SP_CONNECTION_SSHTUNNEL)
+ if([connectionController type] == SPSSHTunnelConnection)
[connection setObject:[connectionController sshPassword] forKey:@"ssh_password"];
}