]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Support legacy KerberosAgent preference for save passwords
authorAlexandra Ellwood <lxs@mit.edu>
Mon, 29 Sep 2008 21:39:42 +0000 (21:39 +0000)
committerAlexandra Ellwood <lxs@mit.edu>
Mon, 29 Sep 2008 21:39:42 +0000 (21:39 +0000)
and a new preference in the KIM preferences.
Updated test harness for save password arguments.

ticket: 6055

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20782 dc483132-0cff-0310-8789-dd5450dbe970

src/kim/agent/mac/ServerDemux.m
src/kim/lib/mac/kim_os_identity.c
src/kim/lib/mac/kim_os_preferences.c
src/kim/lib/mac/kim_os_private.h

index a70a668c438d8d236eacc247acf8ccfc28791cb1..c09d7ec8529e5d50080e2437f81d8638fa7ba8b0 100644 (file)
@@ -302,7 +302,7 @@ static int32_t kim_handle_request_auth_prompt (mach_port_t   in_client_port,
     }    
     
     if (!err) {
-        NSLog (@"Got auth prompt with identity '%s', type '%d', hide '%d', title '%s', message '%s', description '%s'",
+        NSLog (@"Got auth prompt with identity '%s', type '%d', allow_save_reply '%d', hide '%d', title '%s', message '%s', description '%s'",
                identity_string, type, hide_reply, title, message, description);
         err = kim_handle_reply_auth_prompt (in_reply_port, "ydobon", 0, 0);
 #warning Send auth prompt message to main thread with 2 ports and arguments
index fba941820a16963976f34fe34dac56730391a775..3044b21acec08275a4ae3f9bc96d782df8e392cc 100644 (file)
@@ -38,16 +38,30 @@ kim_boolean kim_os_identity_allow_save_password (void)
     CFPropertyListRef disable_pref = NULL;
     
     disable_pref = CFPreferencesCopyValue (CFSTR ("SavePasswordDisabled"), 
-                                           CFSTR ("edu.mit.Kerberos.KerberosAgent"),
+                                           KIM_PREFERENCES_FILE,
                                            kCFPreferencesAnyUser,
                                            kCFPreferencesAnyHost);
     if (!disable_pref) {
         disable_pref = CFPreferencesCopyValue (CFSTR ("SavePasswordDisabled"), 
-                                               CFSTR ("edu.mit.Kerberos.KerberosAgent"),
+                                               KIM_PREFERENCES_FILE,
                                                kCFPreferencesAnyUser,
                                                kCFPreferencesCurrentHost);        
     }
     
+    if (!disable_pref) {
+        disable_pref = CFPreferencesCopyValue (CFSTR ("SavePasswordDisabled"), 
+                                               KA_PREFERENCES_FILE,
+                                               kCFPreferencesAnyUser,
+                                               kCFPreferencesAnyHost);        
+    }
+    
+    if (!disable_pref) {
+        disable_pref = CFPreferencesCopyValue (CFSTR ("SavePasswordDisabled"), 
+                                               KA_PREFERENCES_FILE,
+                                               kCFPreferencesAnyUser,
+                                               kCFPreferencesCurrentHost);        
+    }
+
     disabled = (disable_pref && 
                 CFGetTypeID (disable_pref) == CFBooleanGetTypeID () &&
                 CFBooleanGetValue (disable_pref));
index a915046a3c950f9a7a572bcb3cf4f9f41f887764..152132c04952519f37cc7692ece51fe6b8e44bd0 100644 (file)
@@ -28,9 +28,6 @@
 
 #include "kim_os_private.h"
 
-#define KIM_PREFERENCES_FILE CFSTR("edu.mit.Kerberos.IdentityManagement")
-#define KLL_PREFERENCES_FILE CFSTR("edu.mit.Kerberos.KerberosLogin")
-
 #define kim_os_preference_any_identity "KIM_IDENTITY_ANY"
 
 #pragma mark -
index f4a6710da4ebc5033ca00220a2ac56bf3771535d..039502a7e940b7e25e90577f3802b7dc06564307 100644 (file)
 
 #define kim_os_agent_bundle_id "edu.mit.Kerberos.KerberosAgent"
 
+#define KIM_PREFERENCES_FILE CFSTR("edu.mit.Kerberos.IdentityManagement")
+#define KLL_PREFERENCES_FILE CFSTR("edu.mit.Kerberos.KerberosLogin")
+#define KA_PREFERENCES_FILE  CFSTR("edu.mit.Kerberos.KerberosAgent")
+
 kim_error kim_os_library_lock_for_bundle_lookup (void);
 kim_error kim_os_library_unlock_for_bundle_lookup (void);