Skip to content

Instantly share code, notes, and snippets.

@b20n
Created June 27, 2012 17:41
Show Gist options
  • Save b20n/3005620 to your computer and use it in GitHub Desktop.
Save b20n/3005620 to your computer and use it in GitHub Desktop.
diff --git Classes/Others/ValidateReceipt.m Classes/Others/ValidateReceipt.m
index 2db4b42..87d3a68 100755
--- Classes/Others/ValidateReceipt.m
+++ Classes/Others/ValidateReceipt.m
@@ -323,68 +323,11 @@ CFDataRef copy_mac_address(void)
BOOL validateBinarySignature(NSString *authority)
{
- OSStatus status = noErr;
-
- SecStaticCodeRef staticCode = NULL;
- SecRequirementRef req = NULL;
-
- NSString *requirementString = [NSString stringWithFormat:@"anchor trusted and certificate leaf [subject.CN] = \"%@\"", authority];
-
- status = SecStaticCodeCreateWithPath((CFURLRef)[[NSBundle mainBundle] bundleURL], kSecCSDefaultFlags, &staticCode);
- DevNullDestroyObject(YES, status);
-
- status = SecRequirementCreateWithString((CFStringRef)requirementString, kSecCSDefaultFlags, &req);
- DevNullDestroyObject(YES, status);
-
- status = SecStaticCodeCheckValidity(staticCode, kSecCSDefaultFlags, req);
-
- if (status == noErr) {
- return YES;
- }
-
- return NO;
+ return YES;
+
}
BOOL validateReceiptAtPath(NSString *path)
{
- // This validation process is actually very pointless considering
- // Textual is open source, but some security is better than none.
-
- NSDictionary *receipt = dictionaryWithAppStoreReceipt(path);
-
- if (PointerIsEmpty(receipt)) return NO;
-
- NSData *guidData = nil;
- NSString *bundleVersion = nil;
- NSString *bundleIdentifer = nil;
-
- guidData = (id)copy_mac_address();
- [guidData autodrain];
-
- if (PointerIsEmpty(guidData)) return NO;
-
- bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
- bundleIdentifer = [[NSBundle mainBundle] bundleIdentifier];
-
- NSMutableData *input = [NSMutableData data];
-
- [input appendData:guidData];
- [input appendData:[receipt objectForKey:kReceiptOpaqueValue]];
- [input appendData:[receipt objectForKey:kReceiptBundleIdentiferData]];
-
- NSMutableData *hash = [NSMutableData dataWithLength:SHA_DIGEST_LENGTH];
- SHA1([input bytes], [input length], [hash mutableBytes]);
-
- if ([bundleIdentifer isEqualToString:[receipt objectForKey:kReceiptBundleIdentifer]] &&
- [bundleVersion isEqualToString:[receipt objectForKey:kReceiptVersion]] &&
- [hash isEqualToData:[receipt objectForKey:kReceiptHash]]) {
-
- if (validateBinarySignature(@"Apple Mac OS Application Signing") == YES) {
- return YES;
- } else {
- return validateBinarySignature(@"3rd Party Mac Developer Application: BestTechie Holdings, Inc.");
- }
- }
-
- return NO;
+ return YES;
}
diff --git Classes/Preferences/Preferences.m Classes/Preferences/Preferences.m
index add2cd1..a1fdd1f 100755
--- Classes/Preferences/Preferences.m
+++ Classes/Preferences/Preferences.m
@@ -623,12 +623,12 @@ static NSMutableDictionary *commandIndex = nil;
+ (NSInteger)maxLogLines
{
- return [_NSUserDefaults() integerForKey:@"Preferences.General.max_log_lines"];
+ return 10000;
}
+ (void)setMaxLogLines:(NSInteger)value
{
- [_NSUserDefaults() setInteger:value forKey:@"Preferences.General.max_log_lines"];
+
}
#pragma mark -
diff --git Main Project (Textual).xcodeproj/project.pbxproj Main Project (Textual).xcodeproj/project.pbxproj
index 20acace..7f5b9cf 100755
--- Main Project (Textual).xcodeproj/project.pbxproj
+++ Main Project (Textual).xcodeproj/project.pbxproj
@@ -2269,8 +2269,8 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CODE_SIGN_ENTITLEMENTS = Textual.entitlements;
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
+ CODE_SIGN_ENTITLEMENTS = "";
+ CODE_SIGN_IDENTITY = "Benjamin Anderson";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -2280,7 +2280,7 @@
GCC_C_LANGUAGE_STANDARD = c99;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Classes/Others/Textual_Prefix.pch;
- GCC_PREPROCESSOR_DEFINITIONS = "VALIDATE_APPSTORE_RECEIPT=1";
+ GCC_PREPROCESSOR_DEFINITIONS = "VALIDATE_APPSTORE_RECEIPT=0";
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO;
GENERATE_PKGINFO_FILE = YES;
@@ -2298,7 +2298,7 @@
STRIP_STYLE = "non-global";
TEXTUAL_BUNDLE_ID = "";
TEXTUAL_GITREF_BUILD_ID = "";
- VERSION_INFO_BUILDER = "Codeux Software";
+ VERSION_INFO_BUILDER = "";
WRAPPER_EXTENSION = app;
};
name = "App Store Release";
@@ -2369,8 +2369,8 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CODE_SIGN_ENTITLEMENTS = Textual.entitlements;
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
+ CODE_SIGN_ENTITLEMENTS = "";
+ CODE_SIGN_IDENTITY = "Benjamin Anderson";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -2401,7 +2401,7 @@
STRIP_STYLE = "non-global";
TEXTUAL_BUNDLE_ID = "";
TEXTUAL_GITREF_BUILD_ID = "";
- VERSION_INFO_BUILDER = "Codeux Software";
+ VERSION_INFO_BUILDER = "";
WRAPPER_EXTENSION = app;
};
name = "Release (Trial)";
@@ -2421,7 +2421,7 @@
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CODE_SIGN_ENTITLEMENTS = "";
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
+ CODE_SIGN_IDENTITY = "Benjamin Anderson";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -2452,7 +2452,7 @@
STRIP_STYLE = "non-global";
TEXTUAL_BUNDLE_ID = "";
TEXTUAL_GITREF_BUILD_ID = "";
- VERSION_INFO_BUILDER = "Codeux Software";
+ VERSION_INFO_BUILDER = "";
WRAPPER_EXTENSION = app;
};
name = "Release + No Sandbox";
@@ -2497,8 +2497,8 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CODE_SIGN_ENTITLEMENTS = Textual.entitlements;
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
+ CODE_SIGN_ENTITLEMENTS = "";
+ CODE_SIGN_IDENTITY = "Benjamin Anderson";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -2539,8 +2539,8 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CODE_SIGN_ENTITLEMENTS = Textual.entitlements;
- CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application";
+ CODE_SIGN_ENTITLEMENTS = "";
+ CODE_SIGN_IDENTITY = "Benjamin Anderson";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
@@ -2568,7 +2568,7 @@
STRIP_STYLE = "non-global";
TEXTUAL_BUNDLE_ID = "";
TEXTUAL_GITREF_BUILD_ID = "";
- VERSION_INFO_BUILDER = "Codeux Software";
+ VERSION_INFO_BUILDER = "";
WRAPPER_EXTENSION = app;
};
name = Release;
diff --git Resources/Miscellaneous/Info.plist Resources/Miscellaneous/Info.plist
index b248e6d..f5b10e5 100755
--- Resources/Miscellaneous/Info.plist
+++ Resources/Miscellaneous/Info.plist
@@ -3,9 +3,9 @@
<plist version="1.0">
<dict>
<key>Build Number</key>
- <string>9839</string>
+ <string>9847</string>
<key>Build Reference</key>
- <string>2.1.1-52-g4bf5a5f-stdbuild</string>
+ <string>2.1.1-53-ga21c236-appstore</string>
<key>CFBundleExecutable</key>
<string>Textual</string>
<key>CFBundleIconFile</key>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment