Author: gkruse Date: 2006-03-05 08:34:13 +0100 (Sun, 05 Mar 2006) New Revision: 97 Modified: KisMACng/CHANGES KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/classes.nib KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/info.nib KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/objects.nib KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/classes.nib KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/info.nib KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/objects.nib KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.h KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.m KisMACng/Sources/WaveDrivers/WaveDriverAirportExtreme.m Log: Add option to enable Airport Extreme Monitor Mode forever. You must reboot for this to take effect. Spanish translation needed for nib file. M Sources/WaveDrivers/WaveDriverAirportExtreme.m M Sources/Preferences/PreferencePanes/PrefsDriver.h M Sources/Preferences/PreferencePanes/PrefsDriver.m M CHANGES M Resources/Nibs/Spanish.lproj/PrefsDriver.nib/objects.nib M Resources/Nibs/Spanish.lproj/PrefsDriver.nib/info.nib M Resources/Nibs/Spanish.lproj/PrefsDriver.nib/classes.nib M Resources/Nibs/English.lproj/PrefsDriver.nib/objects.nib M Resources/Nibs/English.lproj/PrefsDriver.nib/info.nib M Resources/Nibs/English.lproj/PrefsDriver.nib/classes.nib Modified: KisMACng/CHANGES =================================================================== --- KisMACng/CHANGES 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/CHANGES 2006-03-05 07:34:13 UTC (rev 97) @@ -1,3 +1,5 @@ +R97: Add option to enable Airport Extreme Monitor Mode forever + R96: Fix Altivec WPA Wordlist crack on ppc that I broke in R91. This accelerated wpa crack does not work on intel but I'll leave the code there in case anyone wants to investigate further. Also added a words / sec status to the wpa crack dialog that I used for benchmarking while debigging this problem. R95: Hopfully fix the last of the build issues some people are having (including growl link issues) Modified: KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/classes.nib =================================================================== --- KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/classes.nib 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/classes.nib 2006-03-05 07:34:13 UTC (rev 97) @@ -11,10 +11,17 @@ SUPERCLASS = NSObject; }, { - ACTIONS = {selAddDriver = id; selAll = id; selNone = id; selRemoveDriver = id; }; + ACTIONS = { + enableAEForever = id; + selAddDriver = id; + selAll = id; + selNone = id; + selRemoveDriver = id; + }; CLASS = PrefsDriver; LANGUAGE = ObjC; OUTLETS = { + "_aeForever" = NSButton; "_channelSel" = NSMatrix; "_driver" = NSPopUpButton; "_driverTable" = NSTableView; Modified: KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/info.nib =================================================================== --- KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/info.nib 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/info.nib 2006-03-05 07:34:13 UTC (rev 97) @@ -3,19 +3,19 @@ <plist version="1.0"> <dict> <key>IBDocumentLocation</key> - <string>275 320 356 240 0 0 1280 832 </string> + <string>166 -8 356 240 0 0 1280 832 </string> <key>IBEditorPositions</key> <dict> <key>109</key> - <string>161 298 495 534 0 0 1280 832 </string> + <string>392 233 495 589 0 0 1280 832 </string> </dict> <key>IBFramework Version</key> - <string>349.0</string> + <string>443.0</string> <key>IBOpenObjects</key> <array> <integer>109</integer> </array> <key>IBSystem Version</key> - <string>7C107</string> + <string>8H14</string> </dict> </plist> Modified: KisMACng/Resources/Nibs/English.lproj/PrefsDriver.nib/objects.nib =================================================================== (Binary files differ) Modified: KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/classes.nib =================================================================== --- KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/classes.nib 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/classes.nib 2006-03-05 07:34:13 UTC (rev 97) @@ -11,10 +11,17 @@ SUPERCLASS = NSObject; }, { - ACTIONS = {selAddDriver = id; selAll = id; selNone = id; selRemoveDriver = id; }; + ACTIONS = { + enableAEForever = id; + selAddDriver = id; + selAll = id; + selNone = id; + selRemoveDriver = id; + }; CLASS = PrefsDriver; LANGUAGE = ObjC; OUTLETS = { + "_aeForever" = NSButton; "_channelSel" = NSMatrix; "_driver" = NSPopUpButton; "_driverTable" = NSTableView; Modified: KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/info.nib =================================================================== --- KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/info.nib 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/info.nib 2006-03-05 07:34:13 UTC (rev 97) @@ -7,11 +7,15 @@ <key>IBEditorPositions</key> <dict> <key>109</key> - <string>161 298 495 534 0 0 1280 832 </string> + <string>387 223 506 599 0 0 1280 832 </string> </dict> <key>IBFramework Version</key> - <string>439.0</string> + <string>443.0</string> + <key>IBOpenObjects</key> + <array> + <integer>109</integer> + </array> <key>IBSystem Version</key> - <string>8C46</string> + <string>8H14</string> </dict> </plist> Modified: KisMACng/Resources/Nibs/Spanish.lproj/PrefsDriver.nib/objects.nib =================================================================== (Binary files differ) Modified: KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.h =================================================================== --- KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.h 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.h 2006-03-05 07:34:13 UTC (rev 97) @@ -26,6 +26,8 @@ IBOutlet NSMatrix *_dumpFilter; IBOutlet NSTextField *_dumpDestination; + + IBOutlet NSButton *_aeForever; } - (IBAction)selAddDriver:(id)sender; @@ -33,5 +35,6 @@ - (IBAction)selAll:(id)sender; - (IBAction)selNone:(id)sender; +- (IBAction)enableAEForever:(id)sender; @end Modified: KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.m =================================================================== --- KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.m 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Sources/Preferences/PreferencePanes/PrefsDriver.m 2006-03-05 07:34:13 UTC (rev 97) @@ -9,6 +9,7 @@ #import "PrefsDriver.h" #import "WaveHelper.h" #import "WaveDriver.h" +#import "WaveDriverAirportExtreme.h" @implementation PrefsDriver @@ -74,6 +75,7 @@ int val, startCorrect = 0; [_frequence setFloatValue: [[controller objectForKey:@"frequence" ] floatValue]]; + [_aeForever setState: [[controller objectForKey:@"aeForever" ] intValue]]; if ([_driverTable numberOfSelectedRows]) { d = [self getCurrentSettings]; @@ -155,6 +157,7 @@ unsigned int x, y; [controller setObject:[NSNumber numberWithFloat: [_frequence floatValue]] forKey:@"frequence"]; + [controller setObject:[NSNumber numberWithInt:[_aeForever state]] forKey:@"aeForever"]; if (i < 0) return YES; d = [[self getCurrentSettings] mutableCopy]; @@ -303,5 +306,22 @@ [self setValueForSender:_channelSel]; } +- (IBAction)enableAEForever:(id)sender { + if (NSAppKitVersionNumber < 824.11) { + NSLog(@"MacOS is not 10.4.2! AppKitVersion: %f < 824.11", NSAppKitVersionNumber); + + NSRunCriticalAlertPanel( + NSLocalizedString(@"Could not enable Monitor Mode for Airport Extreme.", "Error dialog title"), + NSLocalizedString(@"Incompatible MacOS version! You will need at least MacOS 10.4.2!.", "Error dialog description"), + OK, nil, nil); + return; + } + [WaveDriverAirportExtreme setMonitorMode: [_aeForever state]]; + [self setValueForSender:sender]; + NSRunCriticalAlertPanel( + NSLocalizedString(@"You Must Reboot.", "Error dialog title"), + NSLocalizedString(@"You must reboot after changing this setting for it to take effect.", "Error dialog description"), + OK, nil, nil); +} @end Modified: KisMACng/Sources/WaveDrivers/WaveDriverAirportExtreme.m =================================================================== --- KisMACng/Sources/WaveDrivers/WaveDriverAirportExtreme.m 2006-03-02 22:23:50 UTC (rev 96) +++ KisMACng/Sources/WaveDrivers/WaveDriverAirportExtreme.m 2006-03-05 07:34:13 UTC (rev 97) @@ -88,49 +88,56 @@ BOOL ret; int x; - if ([WaveDriverAirportExtreme deviceAvailable]) return 0; - explicitlyLoadedAirportExtremeDriver = YES; + NSUserDefaults *defs; - if (NSAppKitVersionNumber < 824.11) { - NSLog(@"MacOS is not 10.4.2! AppKitVersion: %f < 824.11", NSAppKitVersionNumber); + defs = [NSUserDefaults standardUserDefaults]; + if ([WaveDriverAirportExtreme deviceAvailable]) return 0; + if (![[defs objectForKey:@"aeForever"] intValue]){ + //NSLog(@"Loading AE Passive for this session only!"); + explicitlyLoadedAirportExtremeDriver = YES; + + if (NSAppKitVersionNumber < 824.11) { + NSLog(@"MacOS is not 10.4.2! AppKitVersion: %f < 824.11", NSAppKitVersionNumber); - NSRunCriticalAlertPanel( - NSLocalizedString(@"Could not enable Monitor Mode for Airport Extreme.", "Error dialog title"), - NSLocalizedString(@"Incompatible MacOS version! You will need at least MacOS 10.4.2!.", "Error dialog description"), - OK, nil, nil); + NSRunCriticalAlertPanel( + NSLocalizedString(@"Could not enable Monitor Mode for Airport Extreme.", "Error dialog title"), + NSLocalizedString(@"Incompatible MacOS version! You will need at least MacOS 10.4.2!.", "Error dialog description"), + OK, nil, nil); - return 2; - } + return 2; + } - ret = [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextunload" withArgs:[NSArray arrayWithObjects:@"-b", @"com.apple.iokit.AppleAirPort2", nil]]; - if (!ret) { - NSLog(@"WARNING!!! User canceled password dialog for: kextunload"); - return 2; - } - [WaveDriverAirportExtreme setMonitorMode:YES]; + ret = [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextunload" withArgs:[NSArray arrayWithObjects:@"-b", @"com.apple.iokit.AppleAirPort2", nil]]; + if (!ret) { + NSLog(@"WARNING!!! User canceled password dialog for: kextunload"); + return 2; + } + [WaveDriverAirportExtreme setMonitorMode:YES]; - for (x=0; x<5; x++) { - [NSThread sleep:1.0]; - [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextload" withArgs:[NSArray arrayWithObject:@"/System/Library/Extensions/AppleAirPort2.kext"]]; + for (x=0; x<5; x++) { + [NSThread sleep:1.0]; + [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextload" withArgs:[NSArray arrayWithObject:@"/System/Library/Extensions/AppleAirPort2.kext"]]; - if ([WaveDriverAirportExtreme deviceAvailable]) return 0; + if ([WaveDriverAirportExtreme deviceAvailable]) return 0; + } + [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextunload" withArgs:[NSArray arrayWithObjects:@"-b", @"com.apple.iokit.AppleAirPort2", nil]]; + for (x=0; x<5; x++) { + [NSThread sleep:1.0]; + [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextload" withArgs:[NSArray arrayWithObject:@"/System/Library/Extensions/AppleAirPort2.kext"]]; + + if ([WaveDriverAirportExtreme deviceAvailable]) return 0; + } + + [WaveDriverAirportExtreme setMonitorMode:NO]; } - [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextunload" withArgs:[NSArray arrayWithObjects:@"-b", @"com.apple.iokit.AppleAirPort2", nil]]; - for (x=0; x<5; x++) { - [NSThread sleep:1.0]; - [[BLAuthentication sharedInstance] executeCommand:@"/sbin/kextload" withArgs:[NSArray arrayWithObject:@"/System/Library/Extensions/AppleAirPort2.kext"]]; - - if ([WaveDriverAirportExtreme deviceAvailable]) return 0; - } - NSLog(@"Could not enable monitor mode for Airport Extreme."); NSRunCriticalAlertPanel( NSLocalizedString(@"Could not enable Monitor Mode for Airport Extreme.", "Error dialog title"), - NSLocalizedString(@"Could not load Monitor Mode for Airport Extreme. Drivers were not found.", "Error dialog description"), + NSLocalizedString(@"Could not load Monitor Mode for Airport Extreme. Drivers were not found. If you just enabled Monitor Mode permanently, you must reboot.", "Error dialog description"), OK, nil, nil); - [WaveDriverAirportExtreme setMonitorMode:NO]; + return 2; }