diff options
author | Justin Anderson <jander@mit.edu> | 2008-10-14 19:48:06 +0000 |
---|---|---|
committer | Justin Anderson <jander@mit.edu> | 2008-10-14 19:48:06 +0000 |
commit | 4064fdeabc88ee5d45d64c8c3fc57e1393e529a3 (patch) | |
tree | dbf90f5aba6f55e6f10c7339814cc50e3306b48f /src/kim | |
parent | e44f7796e4e4db6b2d4a43820c917e0eea084b03 (diff) | |
download | krb5-4064fdeabc88ee5d45d64c8c3fc57e1393e529a3.zip krb5-4064fdeabc88ee5d45d64c8c3fc57e1393e529a3.tar.gz krb5-4064fdeabc88ee5d45d64c8c3fc57e1393e529a3.tar.bz2 |
Don't wipe out previously entered information with each new call from clients
ticket: 6143
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20868 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim')
-rw-r--r-- | src/kim/agent/mac/IPCClient.m | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/kim/agent/mac/IPCClient.m b/src/kim/agent/mac/IPCClient.m index c271740..e42ef99 100644 --- a/src/kim/agent/mac/IPCClient.m +++ b/src/kim/agent/mac/IPCClient.m @@ -76,6 +76,7 @@ enum krb_agent_client_state { self.authController = [[[AuthenticationController alloc] init] autorelease]; self.selectController.associatedClient = self; self.authController.associatedClient = self; + self.currentInfo = [NSMutableDictionary dictionary]; } return self; } @@ -84,6 +85,9 @@ enum krb_agent_client_state { { [self.selectController close]; [self.authController close]; + self.selectController = nil; + self.authController = nil; + self.currentInfo = nil; } - (void) didCancel @@ -109,7 +113,7 @@ enum krb_agent_client_state { - (kim_error) selectIdentity: (NSDictionary *) info { - self.currentInfo = [[info mutableCopy] autorelease]; + [self.currentInfo addEntriesFromDictionary:info]; self.state = ipc_client_state_select; [self.selectController setContent:self.currentInfo]; @@ -137,13 +141,12 @@ enum krb_agent_client_state { [KerberosAgentListener didSelectIdentity:self.currentInfo error:0]; // clean up state - self.currentInfo = nil; self.state = ipc_client_state_idle; } - (kim_error) enterIdentity: (NSDictionary *) info { - self.currentInfo = [[info mutableCopy] autorelease]; + [self.currentInfo addEntriesFromDictionary:info]; self.state = ipc_client_state_enter; [self.authController setContent:self.currentInfo]; @@ -164,7 +167,7 @@ enum krb_agent_client_state { - (kim_error) promptForAuth: (NSDictionary *) info { - self.currentInfo = [[info mutableCopy] autorelease]; + [self.currentInfo addEntriesFromDictionary:info]; self.state = ipc_client_state_auth_prompt; [self.authController setContent:self.currentInfo]; @@ -182,7 +185,7 @@ enum krb_agent_client_state { - (kim_error) changePassword: (NSDictionary *) info { - self.currentInfo = [[info mutableCopy] autorelease]; + [self.currentInfo addEntriesFromDictionary:info]; self.state = ipc_client_state_change_password; [self.authController setContent:self.currentInfo]; @@ -204,7 +207,7 @@ enum krb_agent_client_state { - (kim_error) handleError: (NSDictionary *) info { - self.currentInfo = [[info mutableCopy] autorelease]; + [self.currentInfo addEntriesFromDictionary:info]; self.state = ipc_client_state_handle_error; [self.authController setContent:self.currentInfo]; |