Changeset 77
- Timestamp:
- 12/27/05 14:56:25 (3 years ago)
- Files:
-
- trunk/AgentController.m (modified) (2 diffs)
- trunk/Controller.m (modified) (6 diffs)
- trunk/Libs/SSHAgent.m (modified) (3 diffs)
- trunk/Libs/SSHTunnel.m (modified) (1 diff)
- trunk/PreferenceViews/KeysView.m (modified) (2 diffs)
- trunk/PreferenceViews/PreferenceView.m (modified) (1 diff)
- trunk/PreferenceViews/SecurityView.m (modified) (5 diffs)
- trunk/SSHKeychain.xcodeproj/project.pbxproj (modified) (2 diffs)
- trunk/UpdateController.m (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/AgentController.m
r76 r77 556 556 [theTool setArgument:path]; 557 557 558 /* Set the SSH_ASKPASS + DISPLAY environment variables, so the tool can ask for a passphrase. */558 /* Set the SSH_ASKPASS + DISPLAY environment variables, so the tool can ask for a passphrase. */ 559 559 [theTool setEnvironmentVariable:@"SSH_ASKPASS" withValue: 560 560 [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"PassphraseRequester"]]; … … 701 701 [task setLaunchPath:@"/bin/ps"]; 702 702 [task setArguments:[NSArray arrayWithObject:@"wxo command"]]; 703 [task setStandardOutput:thePipe];703 [task setStandardOutput:thePipe]; 704 704 705 705 [task launch]; trunk/Controller.m
r75 r77 82 82 ]; 83 83 84 84 85 85 [[NSUserDefaults standardUserDefaults] registerDefaults:defaults]; 86 86 87 87 path = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/Contents/Info.plist"]; 88 88 dict = [[[NSMutableDictionary alloc] initWithContentsOfFile:path] autorelease]; 89 89 90 90 if(dict == nil) 91 91 { 92 92 dict = [NSMutableDictionary dictionary]; 93 93 } 94 94 95 95 if([[NSUserDefaults standardUserDefaults] integerForKey:DisplayString] == 1) 96 96 { … … 111 111 NSLog(@"DEBUG: utime on bundlePath failed."); 112 112 exit(0); 113 } 113 } 114 114 115 115 theTask = [[NSTask alloc] init]; … … 250 250 if(![[NSFileManager defaultManager] fileExistsAtPath:macOSXDir isDirectory:&isDirectory]) 251 251 { 252 [[NSFileManager defaultManager] createDirectoryAtPath:macOSXDir attributes:nil];252 [[NSFileManager defaultManager] createDirectoryAtPath:macOSXDir attributes:nil]; 253 253 } 254 254 … … 257 257 { 258 258 [[NSFileManager defaultManager] removeFileAtPath:macOSXDir handler:nil]; 259 [[NSFileManager defaultManager] createDirectoryAtPath:macOSXDir attributes:nil];259 [[NSFileManager defaultManager] createDirectoryAtPath:macOSXDir attributes:nil]; 260 260 } 261 261 … … 364 364 NSString *passphrase, *firstQuestion; 365 365 NSMutableDictionary *dict; 366 BOOL consultKeychain = NO;366 BOOL consultKeychain = NO; 367 367 368 368 ProcessSerialNumber focusSerialNumber; … … 387 387 if([question hasPrefix:firstQuestion]) 388 388 { 389 consultKeychain = YES;389 consultKeychain = YES; 390 390 accountName = [[[[question substringFromIndex:[firstQuestion length]] 391 componentsSeparatedByString:@": "] objectAtIndex:0] cString];392 }393 394 else395 {396 if([question hasSuffix:@"'s password: "])397 {398 consultKeychain = [[NSUserDefaults standardUserDefaults] boolForKey:AddInteractivePasswordString];399 accountName = [[[question componentsSeparatedByString:@"'s"] objectAtIndex:0] cString];400 }401 402 else403 {404 if([question hasPrefix:@"The authenticity of host"])405 {406 [passphraseIsRequestedLock lock];407 passphraseIsRequested = NO;408 [passphraseIsRequestedLock unlock];409 410 if(interaction)411 {412 int r = NSRunAlertPanel(local(@"UnknownHostKey"), question, local(@"No"), local(@"Yes"), nil);413 NSString *response = ( r == NSAlertAlternateReturn) ? @"yes" : @"no";414 return response;415 }416 417 else418 {419 return @"no";420 }421 }422 }423 }424 425 if(consultKeychain)426 {391 componentsSeparatedByString:@": "] objectAtIndex:0] cString]; 392 } 393 394 else 395 { 396 if([question hasSuffix:@"'s password: "]) 397 { 398 consultKeychain = [[NSUserDefaults standardUserDefaults] boolForKey:AddInteractivePasswordString]; 399 accountName = [[[question componentsSeparatedByString:@"'s"] objectAtIndex:0] cString]; 400 } 401 402 else 403 { 404 if([question hasPrefix:@"The authenticity of host"]) 405 { 406 [passphraseIsRequestedLock lock]; 407 passphraseIsRequested = NO; 408 [passphraseIsRequestedLock unlock]; 409 410 if(interaction) 411 { 412 int r = NSRunAlertPanel(local(@"UnknownHostKey"), question, local(@"No"), local(@"Yes"), nil); 413 NSString *response = ( r == NSAlertAlternateReturn) ? @"yes" : @"no"; 414 return response; 415 } 416 417 else 418 { 419 return @"no"; 420 } 421 } 422 } 423 } 424 425 if(consultKeychain) 426 { 427 427 serviceName = "SSHKeychain"; 428 428 trunk/Libs/SSHAgent.m
r76 r77 43 43 currentAgent = self; 44 44 45 [[NSNotificationCenter defaultCenter] addObserver:self46 selector:@selector(keysOnAgentStatusChange:) name:@"AgentFilled" object:nil];47 48 [[NSNotificationCenter defaultCenter] addObserver:self49 selector:@selector(keysOnAgentStatusChange:) name:@"AgentEmptied" object:nil];50 51 [[NSNotificationCenter defaultCenter] addObserver:self52 selector:@selector(keysOnAgentStatusChange:) name:@"KeysOnAgentUnknown" object:nil];45 [[NSNotificationCenter defaultCenter] addObserver:self 46 selector:@selector(keysOnAgentStatusChange:) name:@"AgentFilled" object:nil]; 47 48 [[NSNotificationCenter defaultCenter] addObserver:self 49 selector:@selector(keysOnAgentStatusChange:) name:@"AgentEmptied" object:nil]; 50 51 [[NSNotificationCenter defaultCenter] addObserver:self 52 selector:@selector(keysOnAgentStatusChange:) name:@"KeysOnAgentUnknown" object:nil]; 53 53 54 54 socketPathLock = [[NSLock alloc] init]; … … 792 792 - (void)keysOnAgentStatusChange:(NSNotification *)notification 793 793 { 794 if([[notification name] isEqualToString:@"AgentEmptied"])795 {794 if([[notification name] isEqualToString:@"AgentEmptied"]) 795 { 796 796 [keysOnAgentLock lock]; 797 797 if(keysOnAgent) … … 803 803 804 804 [keysOnAgentLock unlock]; 805 }805 } 806 806 807 807 else if([[notification name] isEqualToString:@"AgentFilled"]) 808 {808 { 809 809 [keysOnAgentLock lock]; 810 810 keysOnAgent = [[[SSHAgent currentAgent] currentKeysOnAgent] retain]; trunk/Libs/SSHTunnel.m
r64 r77 254 254 [arguments addObject:@"-g"]; 255 255 } 256 257 [arguments addObject:@"-o"];258 [arguments addObject:@"PreferredAuthentications=hostbased,publickey,password,keyboard-interactive"];256 257 [arguments addObject:@"-o"]; 258 [arguments addObject:@"PreferredAuthentications=hostbased,publickey,password,keyboard-interactive"]; 259 259 260 260 if((tunnelUser) && (![tunnelUser isEqualToString:@""])) trunk/PreferenceViews/KeysView.m
r28 r77 251 251 [newKeyGenerateButton setEnabled:YES]; 252 252 253 if([[NSFileManager defaultManager] isReadableFileAtPath:path] == NO)253 if([[NSFileManager defaultManager] isReadableFileAtPath:path] == NO) 254 254 { 255 255 [newKeyProgressText setTextColor:[NSColor redColor]]; … … 336 336 337 337 - (NSString *)panel:(id)sender userEnteredFilename:(NSString *)filename confirmed:(BOOL)okFlag 338 { 338 { 339 339 if((okFlag == YES) && ([[NSFileManager defaultManager] fileExistsAtPath:[sender filename]])) 340 340 { trunk/PreferenceViews/PreferenceView.m
r3 r77 33 33 34 34 - (void)warningPanelWithTitle:(NSString *)title andMessage:(NSString *)message 35 { 35 { 36 36 NSRunAlertPanel(title, message, nil, nil, nil); 37 37 } trunk/PreferenceViews/SecurityView.m
r64 r77 17 17 [addKeysOnConnection setState:[[NSUserDefaults standardUserDefaults] boolForKey:AddKeysOnConnectionString]]; 18 18 [askForConfirmation setState:[[NSUserDefaults standardUserDefaults] boolForKey:AskForConfirmationString]]; 19 [addInteractivePasswordsToKeychain setState:[[NSUserDefaults standardUserDefaults] boolForKey:AddInteractivePasswordString]];19 [addInteractivePasswordsToKeychain setState:[[NSUserDefaults standardUserDefaults] boolForKey:AddInteractivePasswordString]]; 20 20 21 21 [onSleep selectItemAtIndex:[onSleep indexOfItemWithTag:[prefs integerForKey:OnSleepString]]]; … … 77 77 [prefs setBool:[addKeysOnConnection state] forKey:AddKeysOnConnectionString]; 78 78 [prefs setBool:[askForConfirmation state] forKey:AskForConfirmationString]; 79 [prefs setBool:[addInteractivePasswordsToKeychain state] forKey:AddInteractivePasswordString];79 [prefs setBool:[addInteractivePasswordsToKeychain state] forKey:AddInteractivePasswordString]; 80 80 81 81 [prefs setInteger:[[onSleep selectedItem] tag] forKey:OnSleepString]; … … 93 93 [prefs setBool:YES forKey:AddKeysOnConnectionString]; 94 94 [prefs setBool:NO forKey:AskForConfirmationString]; 95 [prefs setBool:NO forKey:AddInteractivePasswordString];95 [prefs setBool:NO forKey:AddInteractivePasswordString]; 96 96 97 97 [prefs setInteger:1 forKey:OnSleepString]; … … 147 147 [prefs setBool:YES forKey:AddKeysOnConnectionString]; 148 148 [prefs setBool:NO forKey:AskForConfirmationString]; 149 [prefs setBool:NO forKey:AddInteractivePasswordString];149 [prefs setBool:NO forKey:AddInteractivePasswordString]; 150 150 151 151 [prefs setInteger:1 forKey:OnSleepString]; … … 160 160 [addKeysOnConnection setState:[prefs boolForKey:AddKeysOnConnectionString]]; 161 161 [askForConfirmation setState:[prefs boolForKey:AskForConfirmationString]]; 162 [addInteractivePasswordsToKeychain setState:[prefs boolForKey:AddInteractivePasswordString]];162 [addInteractivePasswordsToKeychain setState:[prefs boolForKey:AddInteractivePasswordString]]; 163 163 164 164 [onSleep selectItemAtIndex:[onSleep indexOfItemWithTag:[prefs integerForKey:OnSleepString]]]; trunk/SSHKeychain.xcodeproj/project.pbxproj
r63 r77 136 136 32CA4F630368D1EE00C91783 /* SSHKeychain_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSHKeychain_Prefix.pch; sourceTree = "<group>"; }; 137 137 8D1107320486CEB800E47090 /* SSHKeychain.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SSHKeychain.app; sourceTree = BUILT_PRODUCTS_DIR; }; 138 CC08A64506A876B300C578A3 /* PreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferenceController.h; sourceTree = "<group>"; };139 CC08A64606A876B300C578A3 /* PreferenceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferenceController.m; sourceTree = "<group>"; };140 CC14663E06AD2DBF0083071B /* PreferenceView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PreferenceView.h; path = PreferenceViews/PreferenceView.h; sourceTree = "<group>"; };141 CC14669406AD2E2E0083071B /* GeneralView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = GeneralView.h; path = PreferenceViews/GeneralView.h; sourceTree = "<group>"; };142 CC14669506AD2E2E0083071B /* GeneralView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = GeneralView.m; path = PreferenceViews/GeneralView.m; sourceTree = "<group>"; };143 CC1466D506AD354A0083071B /* PreferenceView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PreferenceView.m; path = PreferenceViews/PreferenceView.m; sourceTree = "<group>"; };138 CC08A64506A876B300C578A3 /* PreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferenceController.h; sourceTree = "<group>"; usesTabs = 1; }; 139 CC08A64606A876B300C578A3 /* PreferenceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferenceController.m; sourceTree = "<group>"; usesTabs = 1; }; 140 CC14663E06AD2DBF0083071B /* PreferenceView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PreferenceView.h; path = PreferenceViews/PreferenceView.h; sourceTree = "<group>"; usesTabs = 1; }; 141 CC14669406AD2E2E0083071B /* GeneralView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = GeneralView.h; path = PreferenceViews/GeneralView.h; sourceTree = "<group>"; usesTabs = 1; }; 142 CC14669506AD2E2E0083071B /* GeneralView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = GeneralView.m; path = PreferenceViews/GeneralView.m; sourceTree = "<group>"; usesTabs = 1; }; 143 CC1466D506AD354A0083071B /* PreferenceView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PreferenceView.m; path = PreferenceViews/PreferenceView.m; sourceTree = "<group>"; usesTabs = 1; }; 144 144 CC341CE006ACF1F300E32630 /* preference_general.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_general.tiff; sourceTree = "<group>"; }; 145 145 CC341CE606ACF3AD00E32630 /* preference_keys.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_keys.tiff; sourceTree = "<group>"; }; 146 146 CC341D0B06AD012C00E32630 /* preference_environment.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_environment.tiff; sourceTree = "<group>"; }; 147 CC40C2D106A6813E00AE58DD /* SSHTunnel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHTunnel.h; path = Libs/SSHTunnel.h; sourceTree = "<group>"; };148 CC4FC46006AD4A0C00B59C21 /* KeysView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = KeysView.h; path = PreferenceViews/KeysView.h; sourceTree = "<group>"; };149 CC4FC46106AD4A0C00B59C21 /* KeysView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = KeysView.m; path = PreferenceViews/KeysView.m; sourceTree = "<group>"; };150 CC586C4F06C3D56A00D73261 /* SecurityView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SecurityView.h; path = PreferenceViews/SecurityView.h; sourceTree = "<group>"; };151 CC586C5006C3D56A00D73261 /* SecurityView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SecurityView.m; path = PreferenceViews/SecurityView.m; sourceTree = "<group>"; };147 CC40C2D106A6813E00AE58DD /* SSHTunnel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHTunnel.h; path = Libs/SSHTunnel.h; sourceTree = "<group>"; usesTabs = 1; }; 148 CC4FC46006AD4A0C00B59C21 /* KeysView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = KeysView.h; path = PreferenceViews/KeysView.h; sourceTree = "<group>"; usesTabs = 1; }; 149 CC4FC46106AD4A0C00B59C21 /* KeysView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = KeysView.m; path = PreferenceViews/KeysView.m; sourceTree = "<group>"; usesTabs = 1; }; 150 CC586C4F06C3D56A00D73261 /* SecurityView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SecurityView.h; path = PreferenceViews/SecurityView.h; sourceTree = "<group>"; usesTabs = 1; }; 151 CC586C5006C3D56A00D73261 /* SecurityView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SecurityView.m; path = PreferenceViews/SecurityView.m; sourceTree = "<group>"; usesTabs = 1; }; 152 152 CC604C2306AE6B1700B9CEBB /* preference_tunnels.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_tunnels.tiff; sourceTree = "<group>"; }; 153 CC604C2C06AE932C00B9CEBB /* EnvironmentView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = EnvironmentView.h; path = PreferenceViews/EnvironmentView.h; sourceTree = "<group>"; };154 CC604C2D06AE932C00B9CEBB /* EnvironmentView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = EnvironmentView.m; path = PreferenceViews/EnvironmentView.m; sourceTree = "<group>"; };155 CC6C191307421C8700CB0A18 /* UpdateController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UpdateController.h; sourceTree = "<group>"; };156 CC6C191407421C8700CB0A18 /* UpdateController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = UpdateController.m; sourceTree = "<group>"; };157 CCC3B47006B149E100B3A68B /* DisplayView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DisplayView.h; path = PreferenceViews/DisplayView.h; sourceTree = "<group>"; };158 CCC3B47106B149E100B3A68B /* DisplayView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = DisplayView.m; path = PreferenceViews/DisplayView.m; sourceTree = "<group>"; };153 CC604C2C06AE932C00B9CEBB /* EnvironmentView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = EnvironmentView.h; path = PreferenceViews/EnvironmentView.h; sourceTree = "<group>"; usesTabs = 1; }; 154 CC604C2D06AE932C00B9CEBB /* EnvironmentView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = EnvironmentView.m; path = PreferenceViews/EnvironmentView.m; sourceTree = "<group>"; usesTabs = 1; }; 155 CC6C191307421C8700CB0A18 /* UpdateController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UpdateController.h; sourceTree = "<group>"; usesTabs = 1; }; 156 CC6C191407421C8700CB0A18 /* UpdateController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = UpdateController.m; sourceTree = "<group>"; usesTabs = 1; }; 157 CCC3B47006B149E100B3A68B /* DisplayView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DisplayView.h; path = PreferenceViews/DisplayView.h; sourceTree = "<group>"; usesTabs = 1; }; 158 CCC3B47106B149E100B3A68B /* DisplayView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = DisplayView.m; path = PreferenceViews/DisplayView.m; sourceTree = "<group>"; usesTabs = 1; }; 159 159 CCC9E27506A58DB600422E9E /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = English; path = English.lproj/Credits.html; sourceTree = "<group>"; }; 160 160 CCC9E27706A58DB600422E9E /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; … … 192 192 CCC9E42906A6763E00422E9E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; }; 193 193 CCC9E4FA06A6766400422E9E /* SystemUIPlugin.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemUIPlugin.framework; path = /System/Library/PrivateFrameworks/SystemUIPlugin.framework; sourceTree = "<absolute>"; }; 194 CCC9E53B06A6802000422E9E /* SSHAgent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHAgent.h; path = Libs/SSHAgent.h; sourceTree = "<group>"; };195 CCC9E53C06A6802000422E9E /* SSHAgent.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHAgent.m; path = Libs/SSHAgent.m; sourceTree = "<group>"; };196 CCC9E53D06A6802000422E9E /* SSHKey.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHKey.h; path = Libs/SSHKey.h; sourceTree = "<group>"; };197 CCC9E53E06A6802000422E9E /* SSHKey.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHKey.m; path = Libs/SSHKey.m; sourceTree = "<group>"; };198 CCC9E53F06A6802000422E9E /* SSHKeychain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHKeychain.h; path = Libs/SSHKeychain.h; sourceTree = "<group>"; };199 CCC9E54006A6802000422E9E /* SSHKeychain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHKeychain.m; path = Libs/SSHKeychain.m; sourceTree = "<group>"; };200 CCC9E54106A6802000422E9E /* SSHTool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHTool.h; path = Libs/SSHTool.h; sourceTree = "<group>"; };201 CCC9E54206A6802000422E9E /* SSHTool.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHTool.m; path = Libs/SSHTool.m; sourceTree = "<group>"; };202 CCC9E54306A6802000422E9E /* SSHTunnel.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHTunnel.m; path = Libs/SSHTunnel.m; sourceTree = "<group>"; };203 CCCDD4A306A576CF00B68ED1 /* AgentController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AgentController.h; sourceTree = "<group>"; };204 CCCDD4A406A576CF00B68ED1 /* AgentController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AgentController.m; sourceTree = "<group>"; };205 CCCDD4A506A576CF00B68ED1 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; };206 CCCDD4A606A576CF00B68ED1 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = Controller.m; sourceTree = "<group>"; };194 CCC9E53B06A6802000422E9E /* SSHAgent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHAgent.h; path = Libs/SSHAgent.h; sourceTree = "<group>"; usesTabs = 1; }; 195 CCC9E53C06A6802000422E9E /* SSHAgent.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHAgent.m; path = Libs/SSHAgent.m; sourceTree = "<group>"; usesTabs = 1; }; 196 CCC9E53D06A6802000422E9E /* SSHKey.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHKey.h; path = Libs/SSHKey.h; sourceTree = "<group>"; usesTabs = 1; }; 197 CCC9E53E06A6802000422E9E /* SSHKey.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHKey.m; path = Libs/SSHKey.m; sourceTree = "<group>"; usesTabs = 1; }; 198 CCC9E53F06A6802000422E9E /* SSHKeychain.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHKeychain.h; path = Libs/SSHKeychain.h; sourceTree = "<group>"; usesTabs = 1; }; 199 CCC9E54006A6802000422E9E /* SSHKeychain.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHKeychain.m; path = Libs/SSHKeychain.m; sourceTree = "<group>"; usesTabs = 1; }; 200 CCC9E54106A6802000422E9E /* SSHTool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SSHTool.h; path = Libs/SSHTool.h; sourceTree = "<group>"; usesTabs = 1; }; 201 CCC9E54206A6802000422E9E /* SSHTool.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHTool.m; path = Libs/SSHTool.m; sourceTree = "<group>"; usesTabs = 1; }; 202 CCC9E54306A6802000422E9E /* SSHTunnel.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = SSHTunnel.m; path = Libs/SSHTunnel.m; sourceTree = "<group>"; usesTabs = 1; }; 203 CCCDD4A306A576CF00B68ED1 /* AgentController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AgentController.h; sourceTree = "<group>"; usesTabs = 1; }; 204 CCCDD4A406A576CF00B68ED1 /* AgentController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AgentController.m; sourceTree = "<group>"; usesTabs = 1; }; 205 CCCDD4A506A576CF00B68ED1 /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Controller.h; sourceTree = "<group>"; usesTabs = 1; }; 206 CCCDD4A606A576CF00B68ED1 /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = Controller.m; sourceTree = "<group>"; usesTabs = 1; }; 207 207 CCCDD4A706A576CF00B68ED1 /* PassphraseRequester.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PassphraseRequester.m; sourceTree = "<group>"; }; 208 CCCDD4AA06A576CF00B68ED1 /* TunnelController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TunnelController.h; sourceTree = "<group>"; };209 CCCDD4AB06A576CF00B68ED1 /* TunnelController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = TunnelController.m; sourceTree = "<group>"; };208 CCCDD4AA06A576CF00B68ED1 /* TunnelController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TunnelController.h; sourceTree = "<group>"; usesTabs = 1; }; 209 CCCDD4AB06A576CF00B68ED1 /* TunnelController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = TunnelController.m; sourceTree = "<group>"; usesTabs = 1; }; 210 210 CCDA608806ACEFD900E2A5B3 /* preference_display.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_display.tiff; sourceTree = "<group>"; }; 211 211 CCDA608906ACEFD900E2A5B3 /* preference_security.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = preference_security.tiff; sourceTree = "<group>"; }; 212 CCE66DE206B15AEA002A5BEE /* TunnelsView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TunnelsView.h; path = PreferenceViews/TunnelsView.h; sourceTree = "<group>"; };213 CCE66DE306B15AEA002A5BEE /* TunnelsView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = TunnelsView.m; path = PreferenceViews/TunnelsView.m; sourceTree = "<group>"; };212 CCE66DE206B15AEA002A5BEE /* TunnelsView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TunnelsView.h; path = PreferenceViews/TunnelsView.h; sourceTree = "<group>"; usesTabs = 1; }; 213 CCE66DE306B15AEA002A5BEE /* TunnelsView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = TunnelsView.m; path = PreferenceViews/TunnelsView.m; sourceTree = "<group>"; usesTabs = 1; }; 214 214 /* End PBXFileReference section */ 215 215 trunk/UpdateController.m
r76 r77 113 113 andMessage:local(@"NewVersionAvailable")]; 114 114 } 115 }115 } 116 116 117 117 else if([warnings boolValue] == YES)
