Skip to content

Commit 770c189

Browse files
committed
Move method -keychainPassword from SPDatabaseDocument to SPConnectionController since all it did was request info from the connection controller
1 parent fcb696a commit 770c189

File tree

3 files changed

+17
-20
lines changed

3 files changed

+17
-20
lines changed

Source/SPConnectionController.h

+2
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@
221221
@property (readonly, assign) BOOL isConnecting;
222222
@property (readonly, assign) BOOL isEditingConnection;
223223

224+
- (NSString *)keychainPassword;
225+
224226
// Connection processes
225227
- (IBAction)initiateConnection:(id)sender;
226228
- (IBAction)cancelConnection:(id)sender;

Source/SPConnectionController.m

+12
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,18 @@ @implementation SPConnectionController
176176
@synthesize isConnecting;
177177
@synthesize isEditingConnection;
178178

179+
- (NSString *)keychainPassword
180+
{
181+
NSString *kcItemName = [self connectionKeychainItemName];
182+
// If no keychain item is available, return an empty password
183+
if (!kcItemName) return nil;
184+
185+
// Otherwise, pull the password from the keychain using the details from this connection
186+
NSString *kcPassword = [keychain getPasswordForName:kcItemName account:[self connectionKeychainItemAccount]];
187+
188+
return kcPassword;
189+
}
190+
179191
#pragma mark -
180192
#pragma mark Connection processes
181193

Source/SPDatabaseDocument.m

+3-20
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ - (void)_loadTableTask;
119119

120120
- (void) closeAndDisconnect;
121121

122-
- (NSString *)keychainPassword;
123122
- (NSString *)keychainPasswordForSSHConnection:(SPMySQLConnection *)connection;
124123

125124
@end
@@ -4672,7 +4671,7 @@ - (NSDictionary *) stateIncludingDetails:(NSDictionary *)detailsToReturn
46724671
[connection setObject:[self database] forKey:@"database"];
46734672

46744673
if (includePasswords) {
4675-
NSString *pw = [self keychainPassword];
4674+
NSString *pw = [connectionController keychainPassword];
46764675
if (!pw) pw = [connectionController password];
46774676
if (pw) [connection setObject:pw forKey:@"password"];
46784677

@@ -4871,7 +4870,7 @@ - (BOOL)setState:(NSDictionary *)stateDetails fromFile:(BOOL)spfBased
48714870
if ([connection objectForKey:@"password"])
48724871
[connectionController setPassword:[connection objectForKey:@"password"]];
48734872
else {
4874-
NSString *pw = [self keychainPassword];
4873+
NSString *pw = [connectionController keychainPassword];
48754874
if (pw) [connectionController setPassword:pw];
48764875
}
48774876

@@ -7138,23 +7137,7 @@ - (void)queryGaveError:(NSString *)error connection:(id)connection
71387137
- (NSString *)keychainPasswordForConnection:(SPMySQLConnection *)connection authPlugin:(NSString *)pluginName
71397138
{
71407139
//TODO check plugin name to see whether we want to fetch it from keychain
7141-
return [self keychainPassword];
7142-
}
7143-
7144-
- (NSString *)keychainPassword
7145-
{
7146-
NSString *kcItemName = [connectionController connectionKeychainItemName];
7147-
// If no keychain item is available, return an empty password
7148-
if (!kcItemName) return nil;
7149-
7150-
// Otherwise, pull the password from the keychain using the details from this connection
7151-
SPKeychain *keychain = [[SPKeychain alloc] init];
7152-
7153-
NSString *password = [keychain getPasswordForName:kcItemName account:[connectionController connectionKeychainItemAccount]];
7154-
7155-
[keychain release];
7156-
7157-
return password;
7140+
return [connectionController keychainPassword];
71587141
}
71597142

71607143
/**

0 commit comments

Comments
 (0)