/*errSecItemNotFound: no entry in the keychain. a harmless error.
*we don't ignore it if we're trying to set the password, though (because that would be strange).
*we don't get here at all for noErr (error will be nil).
*/
if(inPassword||(err!=errSecItemNotFound)){
NSDictionary*userInfo=[erroruserInfo];
NSLog(@"could not %@ password for account %@: %@ returned %ld (%@)",inPassword?@"set":@"remove",[self_accountNameForAccount:inAccount],[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_SECURITYFUNCTIONNAME],(long)err,[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_ERRORDESCRIPTION]);
}
}
}
/*!
* @brief Forget the password of an account
*
* @param inAccount account whose password should be forgotten
/*errSecItemNotFound: no entry in the keychain. a harmless error.
*we don't get here at all for noErr (error will be nil).
*/
if(err!=errSecItemNotFound){
NSDictionary*userInfo=[erroruserInfo];
NSLog(@"could not delete password for account %@: %@ returned %ld (%@)",[self_accountNameForAccount:inAccount],[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_SECURITYFUNCTIONNAME],(long)err,[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_ERRORDESCRIPTION]);
}
}
}
/*!
* @brief Retrieve the password of an account
*
* @param inAccount account whose password is desired
* @return account password, or nil if the password is not available
/*errSecItemNotFound: no entry in the keychain. a harmless error.
*we don't get here at all for noErr (error will be nil).
*/
if(err!=errSecItemNotFound){
NSDictionary*userInfo=[erroruserInfo];
NSLog(@"could not retrieve password for account %@: %@ returned %ld (%@)",[self_accountNameForAccount:inAccount],[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_SECURITYFUNCTIONNAME],(long)err,[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_ERRORDESCRIPTION]);
* @brief Retrieve the password of an account, prompting the user if necessary
*
* @param inAccount account whose password is desired
* @param promptOption An AIPromptOption determining whether and how a prompt for the password should be displayed if it is needed. This allows forcing or suppressing of the prompt dialogue.
* @param inTarget target to notify when password is available
* @param inSelector selector to notify when password is available
* @brief Changes the naming of the Keychain password entries from AdIM://Adium.{Service ID}.{Account internalObjectID} to AdIM://{Service ID}.{Account UID}.
NSLog(@"could not retrieve password for account %@: %@ returned %ld (%@)",[self_oldStyleAccountNameForAccount:account],[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_SECURITYFUNCTIONNAME],(long)err,[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_ERRORDESCRIPTION]);
/*errSecItemNotFound: no entry in the keychain. a harmless error.
*we don't get here at all for noErr (error will be nil).
*/
if(err!=errSecItemNotFound){
NSDictionary*userInfo=[erroruserInfo];
NSLog(@"could not delete password for account %@: %@ returned %ld (%@)",[self_oldStyleAccountNameForAccount:account],[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_SECURITYFUNCTIONNAME],(long)err,[userInfoobjectForKey:AIKEYCHAIN_ERROR_USERINFO_ERRORDESCRIPTION]);