aboutsummaryrefslogtreecommitdiff
path: root/src/kim
diff options
context:
space:
mode:
authorJustin Anderson <jander@mit.edu>2008-10-29 19:36:06 +0000
committerJustin Anderson <jander@mit.edu>2008-10-29 19:36:06 +0000
commitf3b81bb59566e6ded787f0485968bd9a8ff7d435 (patch)
treeac7d54523df5735adcf91250244788c18fa33d40 /src/kim
parent283fa8f6ab994d681f74abcc27dc5a4bfbf037c9 (diff)
downloadkrb5-f3b81bb59566e6ded787f0485968bd9a8ff7d435.zip
krb5-f3b81bb59566e6ded787f0485968bd9a8ff7d435.tar.gz
krb5-f3b81bb59566e6ded787f0485968bd9a8ff7d435.tar.bz2
KerberosAgent hangs changing pw for passwordless identities
Trying to change the password for an identity which only uses non-password authentication methods left KerberosAgent with a spinning progress indicator. Problem was with auth sheet not being ended. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20935 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim')
-rw-r--r--src/kim/agent/mac/AuthenticationController.h2
-rw-r--r--src/kim/agent/mac/AuthenticationController.m5
-rw-r--r--src/kim/agent/mac/IPCClient.m4
3 files changed, 11 insertions, 0 deletions
diff --git a/src/kim/agent/mac/AuthenticationController.h b/src/kim/agent/mac/AuthenticationController.h
index 3b223f7..b443d8a 100644
--- a/src/kim/agent/mac/AuthenticationController.h
+++ b/src/kim/agent/mac/AuthenticationController.h
@@ -100,6 +100,8 @@
- (IBAction) cancelTicketOptions: (id) sender;
- (IBAction) saveTicketOptions: (id) sender;
+- (IBAction) cancelAuthSheet: (id) sender;
+
- (void) authSheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo;
diff --git a/src/kim/agent/mac/AuthenticationController.m b/src/kim/agent/mac/AuthenticationController.m
index de49b11..07449f8 100644
--- a/src/kim/agent/mac/AuthenticationController.m
+++ b/src/kim/agent/mac/AuthenticationController.m
@@ -514,6 +514,11 @@
[NSApp endSheet:ticketOptionsSheet];
}
+- (IBAction) cancelAuthSheet: (id) sender
+{
+ [NSApp endSheet:[self window]];
+}
+
- (void) authSheetDidEnd: (NSWindow *) sheet
returnCode: (int) returnCode
contextInfo: (void *) contextInfo
diff --git a/src/kim/agent/mac/IPCClient.m b/src/kim/agent/mac/IPCClient.m
index 8b9eb21..53a7fe5 100644
--- a/src/kim/agent/mac/IPCClient.m
+++ b/src/kim/agent/mac/IPCClient.m
@@ -144,6 +144,10 @@ enum krb_agent_client_state {
[self.currentInfo addEntriesFromDictionary:info];
self.state = ipc_client_state_select;
+ if ([[self.authController window] isVisible]) {
+ [self.authController cancelAuthSheet:nil];
+ }
+
[self.selectController setContent:self.currentInfo];
[self.selectController showWindow:nil];