Skip to content
Browse files
#2979: Rename a method, because it is no longer limited to keychain
  • Loading branch information
dmoagx committed Feb 23, 2018
1 parent ca864a1 commit 586312b0c33ce751d7524ccb810c3b486fc7984e
@@ -729,7 +729,7 @@ - (void)_mysqlConnection:(MYSQL *)connection wantsPassword:(void (^)(const char
if (password) {
passwd = password;
else if ([delegate respondsToSelector:@selector(keychainPasswordForConnection:authPlugin:)]) {
else if ([delegate respondsToSelector:@selector(passwordForConnection:authPlugin:)]) {
// It's not clear what charset the plugin name is in:
// In the 5.5 libmysqlclient:
// * For the compiled-in plugins this will simply be the byte sequence as it was in the source code
@@ -743,7 +743,7 @@ - (void)_mysqlConnection:(MYSQL *)connection wantsPassword:(void (^)(const char
// * The plugin name in the client response will be encoded in the client's initial charset
// TODO We will just use latin1 for now, as it is the safest fallback
NSString *plugin = [NSString stringWithCString:pluginName encoding:NSISOLatin1StringEncoding];
passwd = [delegate keychainPasswordForConnection:self authPlugin:plugin];
passwd = [delegate passwordForConnection:self authPlugin:plugin];

// shortcut for empty/nil password
@@ -62,16 +62,16 @@
- (void)showErrorWithTitle:(NSString *)title message:(NSString *)message;

* Requests the keychain password for the connection.
* Requests the password for the connection.
* When a connection is being made to a server, it is best not to
* set the password on the class; instead, it should be kept within
* the secure store, and the other connection details (user, host)
* the secure store (Keychain), and the other connection details (user, host)
* can be used to look it up and supplied on demand.
* @param connection The connection instance to supply the password for
* @param pluginName The auth plugin libmysqlclients wants to use the password with
- (NSString *)keychainPasswordForConnection:(id)connection authPlugin:(NSString *)pluginName;
- (NSString *)passwordForConnection:(id)connection authPlugin:(NSString *)pluginName;

* Notifies the delegate that no underlying connection is available,
@@ -7133,9 +7133,9 @@ - (void)queryGaveError:(NSString *)error connection:(id)connection

* Invoked when the current connection needs a password from the Keychain.
* Invoked when the current connection needs a password.
- (NSString *)keychainPasswordForConnection:(SPMySQLConnection *)connection authPlugin:(NSString *)pluginName
- (NSString *)passwordForConnection:(SPMySQLConnection *)connection authPlugin:(NSString *)pluginName
//TODO check plugin name to see whether we want to fetch it from keychain
return [connectionController keychainPassword];
@@ -444,11 +444,11 @@ - (NSArray *)allStructureKeys
#pragma mark SPMySQLConnection delegate methods

* Forward keychain password requests to the database object.
* Forward password requests to the database object.
- (NSString *)keychainPasswordForConnection:(id)connection authPlugin:(NSString *)pluginName
- (NSString *)passwordForConnection:(id)connection authPlugin:(NSString *)pluginName
return [delegate keychainPasswordForConnection:connection authPlugin:pluginName];
return [delegate passwordForConnection:connection authPlugin:pluginName];

#pragma mark -

0 comments on commit 586312b

Please sign in to comment.