From 0a3d732da131b4505c0dbf2330c4667a29ce90e8 Mon Sep 17 00:00:00 2001 From: Charles McGarvey Date: Tue, 4 Nov 2008 12:00:00 -0700 Subject: [PATCH] The Cheat 1.2.2 Bug Fixes: - Privileges to access memory on intel Macs and Leopard. - Crash when performing multiple searches. - Crash when closing a cheat document. Contributed by Adrien Pujol. --- AppController.h | 8 +- AppController.m | 87 +++++++++++++++++++- English.lproj/AboutBox.nib/classes.nib | 77 +++++++++++++---- English.lproj/AboutBox.nib/info.nib | 37 +++------ English.lproj/AboutBox.nib/keyedobjects.nib | Bin 6573 -> 8878 bytes Info.plist | 8 +- main.m | 1 - 7 files changed, 165 insertions(+), 53 deletions(-) diff --git a/AppController.h b/AppController.h index e4a9765..7eb651f 100644 --- a/AppController.h +++ b/AppController.h @@ -26,7 +26,6 @@ #import "CheatServer.h" - @class AboutBoxController; @class HelpController; @class PreferenceController; @@ -54,6 +53,13 @@ - (IBAction)checkForUpdate:(id)sender; +// Privilage elevation stuff +AuthorizationRef _authRef; +AuthorizationItem _authItem; +AuthorizationRights _authRights; +- (int) preAuthorize; +- (int) launchAuthPrgm; + // Server Stuff - (CheatServer *)cheatServer; - (BOOL)startCheatServer; diff --git a/AppController.m b/AppController.m index ebae2de..303b1eb 100644 --- a/AppController.m +++ b/AppController.m @@ -25,6 +25,12 @@ #import "HelpController.h" #import "PreferenceController.h" +// Privilage elevation libs +#include +#include +#include +#include +#include @implementation AppController @@ -65,13 +71,90 @@ - (id)init { - if ( self = [super init] ) { - [self setDelegate:self]; + if ( self = [super init] ) + { + if( geteuid() != 0 ) + { + [self launchAuthPrgm]; + [self setDelegate:self]; + } } + if( geteuid() != 0 ) + { + NSRunAlertPanel(@"The Cheat must be run as root,", + @"Due to a limitation of Leopard, the application needs elevated privileges to run.", + @"Exit", nil, nil ); + [self terminate: 0]; + } + return self; } +- (int) preAuthorize +{ + int err; + AuthorizationFlags authFlags; + + + NSLog (@"MyWindowController: preAuthorize"); + + if (_authRef) + return errAuthorizationSuccess; + + NSLog (@"MyWindowController: preAuthorize: ** calling AuthorizationCreate...**\n"); + + authFlags = kAuthorizationFlagDefaults; + err = AuthorizationCreate (NULL, kAuthorizationEmptyEnvironment, authFlags, &_authRef); + if (err != errAuthorizationSuccess) + return err; + + NSLog (@"MyWindowController: preAuthorize: ** calling AuthorizationCopyRights...**\n"); + + _authItem.name = kAuthorizationRightExecute; + _authItem.valueLength = 0; + _authItem.value = NULL; + _authItem.flags = 0; + _authRights.count = 1; + _authRights.items = (AuthorizationItem*) malloc (sizeof (_authItem)); + memcpy (&_authRights.items[0], &_authItem, sizeof (_authItem)); + authFlags = kAuthorizationFlagDefaults + | kAuthorizationFlagExtendRights + | kAuthorizationFlagInteractionAllowed + | kAuthorizationFlagPreAuthorize; + err = AuthorizationCopyRights (_authRef, &_authRights, kAuthorizationEmptyEnvironment, authFlags, NULL); + + return err; +} + +- (int) launchAuthPrgm +{ + AuthorizationFlags authFlags; + int err; + + // path + NSString * path = [[NSBundle mainBundle] executablePath]; + if (![[NSFileManager defaultManager] isExecutableFileAtPath: path]) + return -1; + + // auth + + if (!_authRef) + { + err = [self preAuthorize]; + if (err != errAuthorizationSuccess) + return err; + } + + // launch + + NSLog (@"MyWindowController: launchWithPath: ** calling AuthorizationExecuteWithPrivileges...**\n"); + authFlags = kAuthorizationFlagDefaults; + err = AuthorizationExecuteWithPrivileges (_authRef, [path cString], authFlags, NULL, NULL); + if(err==0) [NSApp terminate:self]; + + return err; +} - (void)dealloc { diff --git a/English.lproj/AboutBox.nib/classes.nib b/English.lproj/AboutBox.nib/classes.nib index f9f3920..c132e54 100644 --- a/English.lproj/AboutBox.nib/classes.nib +++ b/English.lproj/AboutBox.nib/classes.nib @@ -1,18 +1,59 @@ -{ - IBClasses = ( - { - ACTIONS = {ibEmailButton = id; ibWebsiteButton = id; }; - CLASS = AboutBoxController; - LANGUAGE = ObjC; - OUTLETS = { - ibDateText = NSTextField; - ibEmailButton = NSButton; - ibNameVersionText = NSTextField; - ibWebsiteButton = NSButton; - }; - SUPERCLASS = NSWindowController; - }, - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; } - ); - IBVersion = 1; -} \ No newline at end of file + + + + + IBClasses + + + ACTIONS + + ibEmailButton + id + ibWebsiteButton + id + + CLASS + AboutBoxController + LANGUAGE + ObjC + OUTLETS + + ibDateText + NSTextField + ibEmailButton + NSButton + ibNameVersionText + NSTextField + ibWebsiteButton + NSButton + + SUPERCLASS + NSWindowController + + + CLASS + NSMenu + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + FirstResponder + LANGUAGE + ObjC + SUPERCLASS + NSObject + + + CLASS + NSObject + LANGUAGE + ObjC + + + IBVersion + 1 + + diff --git a/English.lproj/AboutBox.nib/info.nib b/English.lproj/AboutBox.nib/info.nib index 4c7b4ef..99d506a 100644 --- a/English.lproj/AboutBox.nib/info.nib +++ b/English.lproj/AboutBox.nib/info.nib @@ -1,37 +1,20 @@ - + - IBDocumentLocation - 124 93 356 241 0 0 1280 938 IBFramework Version - 364.0 - IBGroupedObjects - - 3 - - 93 - 91 - - 7 - - 77 - 80 - 87 - - 8 - - 89 - 81 - - - IBLastGroupID - 9 + 677 + IBLastKnownRelativeProjectPath + ../The Cheat.xcodeproj + IBOldestOS + 5 IBOpenObjects - 85 + 78 IBSystem Version - 7U16 + 9C7010 + targetFramework + IBCocoaFramework diff --git a/English.lproj/AboutBox.nib/keyedobjects.nib b/English.lproj/AboutBox.nib/keyedobjects.nib index 7ef2eec207537913e91a8f51c1832eb4c6ce0404..c71d319d564f5dabb8df14638c460c3dcda0151a 100644 GIT binary patch literal 8878 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 L?YHZ%zwv(nUD#R1 literal 6573 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 DMPS2d diff --git a/Info.plist b/Info.plist index 15323d1..440bc13 100644 --- a/Info.plist +++ b/Info.plist @@ -1,5 +1,5 @@ - + CFBundleDevelopmentRegion @@ -30,7 +30,7 @@ CFBundleExecutable The Cheat CFBundleGetInfoString - The Cheat 1.2.1 + The Cheat 1.2.2 CFBundleIconFile icon.icns CFBundleIdentifier @@ -42,7 +42,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.2.1 + 1.2.2 CFBundleSignature chœt CFBundleURLTypes @@ -57,7 +57,7 @@ CFBundleVersion - 1.2.1 + 1.2.2 NSAppleScriptEnabled YES NSMainNibFile diff --git a/main.m b/main.m index 6c98a2d..68dd64f 100644 --- a/main.m +++ b/main.m @@ -21,7 +21,6 @@ #import #include "ChazLog.h" - int main( int argc, const char *argv[] ) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; -- 2.45.2