From 1b311c53a8e12e4261fd4dd970308a5c011f98aa Mon Sep 17 00:00:00 2001 From: Kent Sutherland Date: Tue, 8 Nov 2005 02:44:29 +0000 Subject: [PATCH] Implemented keychain support for Audioscrobbler in the preferences. It all seems to work. --- .../Preferences.nib/keyedobjects.nib | Bin 63128 -> 63291 bytes PreferencesController.h | 2 + PreferencesController.m | 205 +++++++++++++++--- 3 files changed, 182 insertions(+), 25 deletions(-) diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index 1ffd1ece7985aae756788d1812486c01f0c21500..48b08735c8c8825d0ba0af7704cf1fd03fc6156a 100755 GIT binary patch literal 63291 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

@eT_R^npdKpQfMx@l6)4Q2%v=fCI)HCby%$D zYhzAadOCQ^l8I87iN$nxgnDyd=I+E4lPL?ZdhRY|ZkjtoI%;GGCfrTm;_mM50nGN| zS_NVrN2Cd-m^-}qw@LVK%FN8ly0c(e5#r#yF`Qv3d&|cm4R!9H!g|KyL=1LpiS( z#MGaqxh-&`6~Vm;;12H%se?dF?3M(bT_t$Z;uq_H1g4;{bR;w9ifE_wC!{yQR}_3x z%zX)WsXNXv;F(*5`F=&6UzlQ*yYM9j+3m)FoXN(=55xIrW6PX55G zgBrcH3U>e})1r5{1CnkSXU`yr)-+?gSOj&6xo}+>*Tk*FmO@cdlFql3R?x&;Ub$uc z<~%p#h?GZnqAr3dcUkcV3@m&CQKg73&a=_Qz0|!7D8J41Ir2MVN2=WD;=Yq9_b_Dz zR~mOiTk(pBBxeUgh6>RdukF%i$)Yt;uO{NFa&Ku>P(LV?_dNIN7}WO(s8jcyrT!$({{eT7a{anEU>LER#rxG9=VbNZ31-IA*+ z-bj+&FLS-VhU@jCmR@(i2EFcn-Mz{EhI=zp)-q)SQyyo^yHyksxSz-OI~D@Ax)DbJ z7VxtUC5WR@dU*%6E8JXCGo4D^nf@ zjIy$&Zsug1Fa#Z(Tbyw2iad^`QU*bQzTX1T3Lz})~ z$`i3U!LEc;^p=w;Pg+Ir?q50Q{=`2>+{)+v9gF^k`%g|3Kmk@AKbvEOah4OtIS=tr zkHVCvneseSUSi7Yl?*=jPwt;Q4r$bSpuL|IKhFq*?^(&s;09TeCoDhgrKzSQ&ttgH zaf?=FM0qKu0z>_2q(sGH=R~;ASJ9{zUl8NJ7$09A1oThiM?9p$_!}{C zv)Rajc+vpQd&ueVDObI&@g#QUGLE$+X##``J!0plE5~z*r-i3w43Jlt@+x%9$Uu#C zOnHqdFAIg98O<&⁢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

4`g!-&vlpe(5Cg3zY!A!SnuAqeB=x(;f= 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 0) { + [df setObject:newAccount forKey:@"audioscrobblerUser"]; + if ([self keychainItemExistsForUser:currentAccount]) { + //Delete the current keychain item if there is one + [self deleteKeychainItemForUser:currentAccount]; + } + [self createKeychainItemForUser:newAccount andPassword:[audioscrobblerPasswordTextField stringValue]]; + } } else if ( [sender tag ] == 6030) { - //Set the password in the keychain - char *service = "Audioscrobbler"; - NSString *account = [df stringForKey:@"audioscrobblerUser"]; - SecKeychainItemRef item; - OSStatus status = SecKeychainFindGenericPassword(NULL, strlen(service), service, [account length], [account UTF8String], NULL, NULL, &item); - if (status == errSecItemNotFound) { - //Create the keychain - } else if (status == noErr) { - //Modify the current item - //SecKeychainItemFreeContent(NULL, item); - } else { - ITDebugLog(@"Audioscrobbler: Unable to retrieve keychain password."); + //Here we set the password for an existing keychain item or we create a new keychain item. + if ([[audioscrobblerUserTextField stringValue] length] > 0) { + NSString *account = [df stringForKey:@"audioscrobblerUser"]; + if ([self keychainItemExistsForUser:account]) { + //Update the current keychain item + [self setKeychainItemPassword:[sender stringValue] forUser:account]; + } else if ([[sender stringValue] length] > 0 && [[audioscrobblerUserTextField stringValue] length]) { + //Create a new keychain item + [self createKeychainItemForUser:account andPassword:[sender stringValue]]; + } } } else if ( [sender tag] == 6045) { [df setBool:SENDER_STATE forKey:@"audioscrobblerCacheSubmissions"]; @@ -321,15 +338,15 @@ static PreferencesController *prefs = nil; //Set the server password const char *instring = [[sender stringValue] UTF8String]; const char *password = "p4s5w0rdMT1.2"; - unsigned char *result; + char *result; NSData *hashedPass, *passwordStringHash; if ([[sender stringValue] length] == 0) { [df setObject:[NSData data] forKey:@"sharedPlayerPassword"]; return; } - result = SHA1(instring, strlen(instring), NULL); + result = (char *)SHA1((unsigned char *)instring, strlen(instring), NULL); hashedPass = [NSData dataWithBytes:result length:strlen(result)]; - result = SHA1(password, strlen(password), NULL); + result = (char *)SHA1((unsigned char *)password, strlen(password), NULL); passwordStringHash = [NSData dataWithBytes:result length:strlen(result)]; if (![hashedPass isEqualToData:passwordStringHash]) { [df setObject:hashedPass forKey:@"sharedPlayerPassword"]; @@ -400,8 +417,8 @@ static PreferencesController *prefs = nil; } } else if ( [sender tag] == 5150 ) { const char *instring = [[sender stringValue] UTF8String]; - unsigned char *result; - result = SHA1(instring, strlen(instring), NULL); + char *result; + result = (char *)SHA1((unsigned char *)instring, strlen(instring), NULL); [df setObject:[NSData dataWithBytes:result length:strlen(result)] forKey:@"connectPassword"]; } else if ( [sender tag] == 5110 ) { //Cancel @@ -440,8 +457,8 @@ static PreferencesController *prefs = nil; } else if ( [sender tag] == 6020 ) { //OK password entry, retry connect const char *instring = [[passwordPanelTextField stringValue] UTF8String]; - unsigned char *result; - result = SHA1(instring, strlen(instring), NULL); + char *result; + result = (char *)SHA1((unsigned char *)instring, strlen(instring), NULL); [df setObject:[NSData dataWithBytes:result length:strlen(result)] forKey:@"connectPassword"]; [passwordPanel orderOut:nil]; [NSApp stopModalWithCode:1]; @@ -624,7 +641,7 @@ static PreferencesController *prefs = nil; - (void)autoLaunchOK { - [[StatusWindow sharedWindow] setLocked:NO]; + [(StatusWindow *)[StatusWindow sharedWindow] setLocked:NO]; [[StatusWindow sharedWindow] vanish:self]; [[StatusWindow sharedWindow] setIgnoresMouseEvents:YES]; @@ -633,7 +650,7 @@ static PreferencesController *prefs = nil; - (void)autoLaunchCancel { - [[StatusWindow sharedWindow] setLocked:NO]; + [(StatusWindow *)[StatusWindow sharedWindow] setLocked:NO]; [[StatusWindow sharedWindow] vanish:self]; [[StatusWindow sharedWindow] setIgnoresMouseEvents:YES]; } @@ -673,6 +690,140 @@ static PreferencesController *prefs = nil; } } +/*************************************************************************/ +#pragma mark - +#pragma mark KEYCHAIN SUPPORT METHODS +/*************************************************************************/ + +- (SecKeychainItemRef)keychainItemForUser:(NSString *)user +{ + SecKeychainSearchRef search; + SecKeychainItemRef item; + OSStatus status; + SecKeychainAttribute attributes[3]; + SecKeychainAttributeList list; + + ITDebugLog(@"Audioscrobbler: Searching for keychain item for %@.", user); + attributes[0].tag = kSecAccountItemAttr; + attributes[0].data = (char *)[user UTF8String]; + attributes[0].length = [user length]; + attributes[1].tag = kSecDescriptionItemAttr; + attributes[1].data = AUDIOSCROBBLER_KEYCHAIN_KIND; + attributes[1].length = strlen(AUDIOSCROBBLER_KEYCHAIN_KIND); + attributes[2].tag = kSecLabelItemAttr; + attributes[2].data = AUDIOSCROBBLER_KEYCHAIN_SERVICE; + attributes[2].length = strlen(AUDIOSCROBBLER_KEYCHAIN_SERVICE); + list.count = 3; + list.attr = attributes; + + status = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &list, &search); + + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error searching for existing keychain item: %i", status); + } + + status = SecKeychainSearchCopyNext(search, &item); + + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error searching for existing keychain item: %i", status); + item = nil; + } + + CFRelease(search); + return item; +} + +- (BOOL)keychainItemExistsForUser:(NSString *)user +{ + SecKeychainItemRef item = [self keychainItemForUser:user]; + BOOL exists = (item != nil); + if (item) { + CFRelease(item); + } + return exists; +} + +- (BOOL)createKeychainItemForUser:(NSString *)user andPassword:(NSString *)password +{ + SecKeychainItemRef item; + OSStatus status; + SecKeychainAttribute attributes[3]; + SecKeychainAttributeList list; + + ITDebugLog(@"Audioscrobbler: Creating new keychain item for %@.", user); + attributes[0].tag = kSecAccountItemAttr; + attributes[0].data = (char *)[user UTF8String]; + attributes[0].length = [user length]; + attributes[1].tag = kSecDescriptionItemAttr; + attributes[1].data = AUDIOSCROBBLER_KEYCHAIN_KIND; + attributes[1].length = strlen(AUDIOSCROBBLER_KEYCHAIN_KIND); + attributes[2].tag = kSecLabelItemAttr; + attributes[2].data = AUDIOSCROBBLER_KEYCHAIN_SERVICE; + attributes[2].length = strlen(AUDIOSCROBBLER_KEYCHAIN_SERVICE); + list.count = 3; + list.attr = attributes; + + status = SecKeychainItemCreateFromContent(kSecGenericPasswordItemClass, &list, [password length], [password UTF8String], NULL, NULL, &item); + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error creating keychain item: %i", status); + } + return (status == noErr); +} + +- (BOOL)deleteKeychainItemForUser:(NSString *)user +{ + OSStatus status = errSecNotAvailable; + SecKeychainItemRef item = [self keychainItemForUser:user]; + if (item != nil) { + status = SecKeychainItemDelete(item); + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error deleting keychain item: %i", status); + } + CFRelease(item); + } + return (status == noErr); +} + +- (BOOL)setKeychainItemPassword:(NSString *)password forUser:(NSString *)user +{ + OSStatus status = errSecNotAvailable; + SecKeychainItemRef item = [self keychainItemForUser:user]; + if (item != nil) { + status = SecKeychainItemModifyContent(item, NULL, [password length], [password cString]); + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error deleting keychain item: %i", status); + } + CFRelease(item); + } + return (status == noErr); +} + +- (NSString *)getKeychainItemPasswordForUser:(NSString *)user +{ + OSStatus status = errSecNotAvailable; + SecKeychainItemRef item = [self keychainItemForUser:user]; + NSString *pass = nil; + if (item != nil) { + UInt32 length; + char *buffer; + status = SecKeychainItemCopyContent(item, NULL, NULL, &length, (void **)&buffer); + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error getting keychain item password: %i", status); + } else { + if ([NSString respondsToSelector:@selector(stringWithCString:encoding:)]) { + pass = [NSString stringWithCString:buffer encoding:NSASCIIStringEncoding]; + } else { + pass = [NSString stringWithCString:buffer]; + } + } + if (status != noErr) { + ITDebugLog(@"Audioscrobbler: Error deleting keychain item: %i", status); + } + CFRelease(item); + } + return pass; +} + /*************************************************************************/ #pragma mark - #pragma mark HOTKEY SUPPORT METHODS @@ -947,9 +1098,13 @@ static PreferencesController *prefs = nil; [audioscrobblerPasswordTextField setEnabled:NO]; [audioscrobblerUseCacheCheckbox setEnabled:NO]; } - [audioscrobblerUserTextField setStringValue:[df stringForKey:@"audioscrobblerUser"]]; - if ([[audioscrobblerUserTextField stringValue] length] > 0) { - [audioscrobblerPasswordTextField setStringValue:@"******"]; + NSString *audioscrobblerUser = [df stringForKey:@"audioscrobblerUser"]; + if (audioscrobblerUser != nil && [audioscrobblerUser length] > 0 && [self keychainItemExistsForUser:audioscrobblerUser]) { + NSString *password = [self getKeychainItemPasswordForUser:audioscrobblerUser]; + [audioscrobblerUserTextField setStringValue:audioscrobblerUser]; + if (password != nil) { + [audioscrobblerPasswordTextField setStringValue:password]; + } } [[NSNotificationCenter defaultCenter] addObserver:sharingTableView selector:@selector(reloadData) name:@"ITMTFoundNetService" object:nil]; -- 2.20.1