Changeset 4574

Show
Ignore:
Timestamp:
02/10/07 15:16:43 (2 years ago)
Author:
morris
Message:

Reassociate password in keychain when user changes username or hostname

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredClient/trunk/WCPreferences.h

    r4460 r4574  
    139139        NSMutableDictionary                                     *_toolbarItems; 
    140140        int                                                                     _selectedEvent; 
    141         BOOL                                                            _passwordTouched; 
     141        BOOL                                                            _bookmarkPasswordTouched; 
    142142         
    143143        NSTabViewItem                                           *_selectedTabViewItem; 
  • WiredClient/trunk/WCPreferences.m

    r4460 r4574  
    556556- (void)_unselectBookmark { 
    557557        NSMutableDictionary             *bookmark; 
     558        NSDictionary                    *oldBookmark; 
    558559        NSString                                *password; 
    559560        int                                             row; 
     
    564565                return; 
    565566         
    566         bookmark = [[WCSettings bookmarkAtIndex:row] mutableCopy]; 
     567        oldBookmark = [[WCSettings bookmarkAtIndex:row] retain]; 
     568        bookmark = [oldBookmark mutableCopy]; 
    567569        [bookmark setObject:[_bookmarksNameTextField stringValue] forKey:WCBookmarksName]; 
    568570        [bookmark setObject:[_bookmarksAddressTextField stringValue] forKey:WCBookmarksAddress]; 
     
    578580        } 
    579581         
    580         if(_passwordTouched) { 
     582        if(![[oldBookmark objectForKey:WCBookmarksAddress] isEqualToString:[bookmark objectForKey:WCBookmarksAddress]] || 
     583           ![[oldBookmark objectForKey:WCBookmarksLogin] isEqualToString:[bookmark objectForKey:WCBookmarksLogin]]) { 
     584                password = [[WCKeychain keychain] passwordForBookmark:oldBookmark]; 
     585                 
     586                if(password) { 
     587                        [[WCKeychain keychain] deletePasswordForBookmark:oldBookmark]; 
     588                        [[WCKeychain keychain] setPassword:password forBookmark:bookmark]; 
     589                } 
     590        } 
     591         
     592        if(_bookmarkPasswordTouched) { 
    581593                password = [_bookmarksPasswordTextField stringValue]; 
    582594                 
     
    588600                } 
    589601                 
    590                 _passwordTouched = NO; 
    591         } 
    592          
     602                _bookmarkPasswordTouched = NO; 
     603        } 
     604         
     605        [oldBookmark release]; 
    593606        [bookmark release]; 
    594607} 
     
    865878        } 
    866879        else if(object == _bookmarksPasswordTextField) { 
    867                 _passwordTouched = YES; 
     880                _bookmarkPasswordTouched = YES; 
    868881        } 
    869882        else if(object == _trackerBookmarksNameTextField) { 
  • WiredClient/trunk/WCSettings.m

    r4460 r4574  
    7171                                [[WCKeychain keychain] setPassword:password forBookmark:newBookmark]; 
    7272                         
    73                         [newBookmark setObject:@"" forKey:WCBookmarksPassword]; 
     73                        [newBookmark removeObjectForKey:WCBookmarksPassword]; 
    7474                } 
    7575         
  • WiredClient/trunk/WiredClient.xcodeproj/project.pbxproj

    r4462 r4574  
    420420                A564522D0A360D0700ADF4F5 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 
    421421                A56452300A360D0D00ADF4F5 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = German; path = German.lproj/Credits.rtf; sourceTree = "<group>"; }; 
    422                 A56452330A360D1500ADF4F5 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Localizable.strings; sourceTree = "<group>"; }; 
     422                A56452330A360D1500ADF4F5 /* German */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Localizable.strings; sourceTree = "<group>"; }; 
    423423                A56452360A360D2C00ADF4F5 /* German */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = German; path = German.lproj/AccountEditor.nib; sourceTree = "<group>"; }; 
    424424                A56452390A360D3200ADF4F5 /* German */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = German; path = German.lproj/Accounts.nib; sourceTree = "<group>"; };