diff --git a/External/InAppSettingsKit b/External/InAppSettingsKit
index fcc72db0..b58b7256 160000
--- a/External/InAppSettingsKit
+++ b/External/InAppSettingsKit
@@ -1 +1 @@
-Subproject commit fcc72db0d54cd181f27b71e81901fc66958d71bf
+Subproject commit b58b72563acecb727da1f7ca151798a911229593
diff --git a/External/Pearl b/External/Pearl
index 6c9ea6ad..a4c734e0 160000
--- a/External/Pearl
+++ b/External/Pearl
@@ -1 +1 @@
-Subproject commit 6c9ea6ad1fab826da7d71aa88391020dc16252bc
+Subproject commit a4c734e07c7441b4a49e83ae0a5de02158095ed7
diff --git a/External/iOS/Crashlytics.framework/Versions/A/Crashlytics b/External/iOS/Crashlytics.framework/Versions/A/Crashlytics
index b0a896a0..552e04bb 100644
Binary files a/External/iOS/Crashlytics.framework/Versions/A/Crashlytics and b/External/iOS/Crashlytics.framework/Versions/A/Crashlytics differ
diff --git a/External/iOS/Crashlytics.framework/Versions/A/Resources/Info.plist b/External/iOS/Crashlytics.framework/Versions/A/Resources/Info.plist
index a97463cf..48c7bd50 100644
--- a/External/iOS/Crashlytics.framework/Versions/A/Resources/Info.plist
+++ b/External/iOS/Crashlytics.framework/Versions/A/Resources/Info.plist
@@ -15,13 +15,13 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 2.2.1
+ 2.2.2
CFBundleSupportedPlatforms
iPhoneOS
CFBundleVersion
- 35
+ 36
DTPlatformName
iphoneos
MinimumOSVersion
diff --git a/External/iOS/Crashlytics.framework/run b/External/iOS/Crashlytics.framework/run
index ca71288d..42c401d3 100755
Binary files a/External/iOS/Crashlytics.framework/run and b/External/iOS/Crashlytics.framework/run differ
diff --git a/External/iOS/Crashlytics.framework/submit b/External/iOS/Crashlytics.framework/submit
index 668294e4..6c092c73 100755
Binary files a/External/iOS/Crashlytics.framework/submit and b/External/iOS/Crashlytics.framework/submit differ
diff --git a/MasterPassword/ObjC/MPAlgorithm.h b/MasterPassword/ObjC/MPAlgorithm.h
index c954a476..b8f356fb 100644
--- a/MasterPassword/ObjC/MPAlgorithm.h
+++ b/MasterPassword/ObjC/MPAlgorithm.h
@@ -26,7 +26,7 @@ id MPAlgorithmForVersion(NSUInteger version);
id MPAlgorithmDefaultForBundleVersion(NSString *bundleVersion);
PearlEnum( MPAttacker,
- MPAttacker5K, MPAttacker20M, MPAttacker5B );
+ MPAttacker1, MPAttacker5K, MPAttacker20M, MPAttacker5B );
typedef struct TimeToCrack {
unsigned long long hours;
diff --git a/MasterPassword/ObjC/MPAlgorithmV0.m b/MasterPassword/ObjC/MPAlgorithmV0.m
index 569c92f6..815f4b51 100644
--- a/MasterPassword/ObjC/MPAlgorithmV0.m
+++ b/MasterPassword/ObjC/MPAlgorithmV0.m
@@ -26,9 +26,9 @@
#define MP_dkLen 64
#define MP_hash PearlHashSHA256
-/* An AMD HD 6990 calculates 3833M SHA-1 hashes per second at a cost of ~350$ per GPU */
-#define CRACKING_BCRYPTS_PER_SECOND 3833000000
-#define CRACKING_PRICE 350
+/* An AMD HD 7970 calculates 2495M SHA-1 hashes per second at a cost of ~350$ per GPU */
+#define CRACKING_PER_SECOND 2495000000UL
+#define CRACKING_PRICE 350
@implementation MPAlgorithmV0 {
BN_CTX *ctx;
@@ -384,9 +384,11 @@
}
case MPElementTypeStoredPersonal: {
- NSAssert( [element isKindOfClass:[MPElementStoredEntity class]],
- @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementStoredEntity class]]) {
+ wrn( @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
NSData *encryptedContent = [[clearContent dataUsingEncoding:NSUTF8StringEncoding]
encryptWithSymmetricKey:[elementKey subKeyOfLength:PearlCryptKeySize].keyData padding:YES];
@@ -394,9 +396,11 @@
break;
}
case MPElementTypeStoredDevicePrivate: {
- NSAssert( [element isKindOfClass:[MPElementStoredEntity class]],
- @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementStoredEntity class]]) {
+ wrn( @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
NSData *encryptedContent = [[clearContent dataUsingEncoding:NSUTF8StringEncoding]
encryptWithSymmetricKey:[elementKey subKeyOfLength:PearlCryptKeySize].keyData padding:YES];
@@ -440,9 +444,11 @@
case MPElementTypeGeneratedBasic:
case MPElementTypeGeneratedShort:
case MPElementTypeGeneratedPIN: {
- NSAssert( [element isKindOfClass:[MPElementGeneratedEntity class]],
- @"Element with generated type %lu is not an MPElementGeneratedEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementGeneratedEntity class]]) {
+ wrn( @"Element with generated type %lu is not an MPElementGeneratedEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
NSString *name = element.name;
MPElementType type = element.type;
@@ -463,9 +469,11 @@
}
case MPElementTypeStoredPersonal: {
- NSAssert( [element isKindOfClass:[MPElementStoredEntity class]],
- @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementStoredEntity class]]) {
+ wrn( @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
NSData *encryptedContent = ((MPElementStoredEntity *)element).contentObject;
@@ -506,9 +514,11 @@
break;
case MPElementTypeStoredPersonal: {
- NSAssert( [element isKindOfClass:[MPElementStoredEntity class]],
- @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementStoredEntity class]]) {
+ wrn( @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
if ([importKey.keyID isEqualToData:elementKey.keyID])
((MPElementStoredEntity *)element).contentObject = [protectedContent decodeBase64];
@@ -565,9 +575,11 @@
}
case MPElementTypeStoredPersonal: {
- NSAssert( [element isKindOfClass:[MPElementStoredEntity class]],
- @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.", (long)element.type,
- [element class] );
+ if (![element isKindOfClass:[MPElementStoredEntity class]]) {
+ wrn( @"Element with stored type %lu is not an MPElementStoredEntity, but a %@.",
+ (long)element.type, [element class] );
+ break;
+ }
result = [((MPElementStoredEntity *)element).contentObject encodeBase64];
break;
}
@@ -639,13 +651,13 @@
for (NSUInteger c = 0; c < [password length]; ++c) {
NSString *passwordCharacter = [password substringWithRange:NSMakeRange( c, 1 )];
- NSUInteger characterEntropy = 0;
+ unsigned int characterEntropy = 0;
for (NSString *cipherClass in @[ @"v", @"c", @"a", @"x" ]) {
NSString *charactersForClass = [self charactersForCipherClass:cipherClass];
if ([charactersForClass rangeOfString:passwordCharacter].location != NSNotFound) {
// Found class for password character.
- characterEntropy = [charactersForClass length];
+ characterEntropy = (BN_ULONG)[charactersForClass length];
[cipher appendString:cipherClass];
break;
}
@@ -655,7 +667,7 @@
characterEntropy = 256 /* a byte */;
}
- BN_mul_word( permutations, (BN_ULONG)characterEntropy );
+ BN_mul_word( permutations, characterEntropy );
}
return [self timeToCrack:timeToCrack permutations:permutations forAttacker:attacker];
@@ -663,24 +675,33 @@
- (BOOL)timeToCrack:(out TimeToCrack *)timeToCrack permutations:(BIGNUM *)permutations forAttacker:(MPAttacker)attacker {
- BN_div_word( permutations, CRACKING_BCRYPTS_PER_SECOND );
+ // Determine base seconds needed to calculate the permutations.
+ BIGNUM *secondsToCrack = BN_dup( permutations );
+ BN_div_word( secondsToCrack, CRACKING_PER_SECOND );
+
+ // Modify seconds needed by applying our hardware budget.
switch (attacker) {
+ case MPAttacker1:
+ break;
case MPAttacker5K:
- BN_mul_word( permutations, (BN_ULONG)5000LLU );
+ BN_mul_word( secondsToCrack, CRACKING_PRICE );
+ BN_div_word( secondsToCrack, 5000 );
break;
case MPAttacker20M:
- BN_mul_word( permutations, (BN_ULONG)20000000LLU );
+ BN_mul_word( secondsToCrack, CRACKING_PRICE );
+ BN_div_word( secondsToCrack, 20000000 );
break;
case MPAttacker5B:
- BN_mul_word( permutations, (BN_ULONG)5000000000LLU );
+ BN_mul_word( secondsToCrack, CRACKING_PRICE );
+ BN_div_word( secondsToCrack, 5000 );
+ BN_div_word( secondsToCrack, 1000000 );
break;
}
- BN_div_word( permutations, CRACKING_PRICE );
BIGNUM *max = BN_new();
BN_set_word( max, (BN_ULONG)-1 );
- BIGNUM *hoursToCrack = BN_dup( permutations );
+ BIGNUM *hoursToCrack = BN_dup( secondsToCrack );
BN_div_word( hoursToCrack, 3600 );
if (BN_cmp( hoursToCrack, max ) < 0)
timeToCrack->hours = BN_get_word( hoursToCrack );
@@ -716,7 +737,8 @@
timeToCrack->years = (BN_ULONG)-1;
BIGNUM *universesToCrack = BN_dup( yearsToCrack );
- BN_div_word( universesToCrack, (BN_ULONG)14000000000LLU );
+ BN_div_word( universesToCrack, 14000 );
+ BN_div_word( universesToCrack, 1000000 );
if (BN_cmp( universesToCrack, max ) < 0)
timeToCrack->universes = BN_get_word( universesToCrack );
else
@@ -727,6 +749,7 @@
BN_free( max );
BN_free( permutations );
+ BN_free( secondsToCrack );
BN_free( hoursToCrack );
BN_free( daysToCrack );
BN_free( weeksToCrack );
diff --git a/MasterPassword/ObjC/MPConfig.h b/MasterPassword/ObjC/MPConfig.h
index 2a53f6f6..dee9d553 100644
--- a/MasterPassword/ObjC/MPConfig.h
+++ b/MasterPassword/ObjC/MPConfig.h
@@ -17,6 +17,6 @@
@property(nonatomic, retain) NSNumber *iCloudDecided;
@property(nonatomic, retain) NSNumber *checkInconsistency;
-@property(nonatomic, strong) NSNumber *attackHardware;
+@property(nonatomic, strong) NSNumber *siteAttacker;
@end
diff --git a/MasterPassword/ObjC/MPConfig.m b/MasterPassword/ObjC/MPConfig.m
index d8d899c0..4ecb16a1 100644
--- a/MasterPassword/ObjC/MPConfig.m
+++ b/MasterPassword/ObjC/MPConfig.m
@@ -10,7 +10,7 @@
@implementation MPConfig
-@dynamic sendInfo, rememberLogin, iCloudDecided, checkInconsistency, hidePasswords, attackHardware;
+@dynamic sendInfo, rememberLogin, iCloudDecided, checkInconsistency, hidePasswords, siteAttacker;
- (id)init {
@@ -25,7 +25,7 @@
NSStringFromSelector( @selector( hidePasswords ) ) : @NO,
NSStringFromSelector( @selector( iCloudDecided ) ) : @NO,
NSStringFromSelector( @selector( checkInconsistency ) ) : @NO,
- NSStringFromSelector( @selector( attackHardware ) ) : @(MPAttacker5K),
+ NSStringFromSelector( @selector( siteAttacker ) ) : @(MPAttacker1),
}];
self.delegate = [MPAppDelegate_Shared get];
diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
index 3463eca3..af92c456 100644
--- a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
+++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj
@@ -137,87 +137,7 @@
DACA299A1705E2BD002C6C22 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA298C1705E2BD002C6C22 /* JRSwizzle.m */; };
DAD9B5F01762CAA4001835F9 /* ServiceManagement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD9B5EF1762CAA4001835F9 /* ServiceManagement.framework */; };
DAD9B5F11762CAB9001835F9 /* MasterPassword-Mac-LoginHelper.app in Copy LoginHelper */ = {isa = PBXBuildFile; fileRef = DAD9B5E6176299BA001835F9 /* MasterPassword-Mac-LoginHelper.app */; };
- DAEB93D918AB0FFD000490CC /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938718AB0FFD000490CC /* aes.h */; };
- DAEB93DA18AB0FFD000490CC /* asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938818AB0FFD000490CC /* asn1.h */; };
- DAEB93DB18AB0FFD000490CC /* asn1_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938918AB0FFD000490CC /* asn1_mac.h */; };
- DAEB93DC18AB0FFD000490CC /* asn1t.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938A18AB0FFD000490CC /* asn1t.h */; };
- DAEB93DD18AB0FFD000490CC /* bio.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938B18AB0FFD000490CC /* bio.h */; };
- DAEB93DE18AB0FFD000490CC /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938C18AB0FFD000490CC /* blowfish.h */; };
- DAEB93DF18AB0FFD000490CC /* bn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938D18AB0FFD000490CC /* bn.h */; };
- DAEB93E018AB0FFD000490CC /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938E18AB0FFD000490CC /* buffer.h */; };
- DAEB93E118AB0FFD000490CC /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB938F18AB0FFD000490CC /* camellia.h */; };
- DAEB93E218AB0FFD000490CC /* cast.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939018AB0FFD000490CC /* cast.h */; };
- DAEB93E318AB0FFD000490CC /* cms.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939118AB0FFD000490CC /* cms.h */; };
- DAEB93E418AB0FFD000490CC /* comp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939218AB0FFD000490CC /* comp.h */; };
- DAEB93E518AB0FFD000490CC /* conf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939318AB0FFD000490CC /* conf.h */; };
- DAEB93E618AB0FFD000490CC /* conf_api.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939418AB0FFD000490CC /* conf_api.h */; };
- DAEB93E718AB0FFD000490CC /* crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939518AB0FFD000490CC /* crypto.h */; };
- DAEB93E818AB0FFD000490CC /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939618AB0FFD000490CC /* des.h */; };
- DAEB93E918AB0FFD000490CC /* des_old.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939718AB0FFD000490CC /* des_old.h */; };
- DAEB93EA18AB0FFD000490CC /* dh.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939818AB0FFD000490CC /* dh.h */; };
- DAEB93EB18AB0FFD000490CC /* dsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939918AB0FFD000490CC /* dsa.h */; };
- DAEB93EC18AB0FFD000490CC /* dso.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939A18AB0FFD000490CC /* dso.h */; };
- DAEB93ED18AB0FFD000490CC /* dtls1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939B18AB0FFD000490CC /* dtls1.h */; };
- DAEB93EE18AB0FFD000490CC /* e_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939C18AB0FFD000490CC /* e_os2.h */; };
- DAEB93EF18AB0FFD000490CC /* ebcdic.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939D18AB0FFD000490CC /* ebcdic.h */; };
- DAEB93F018AB0FFD000490CC /* ec.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939E18AB0FFD000490CC /* ec.h */; };
- DAEB93F118AB0FFD000490CC /* ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB939F18AB0FFD000490CC /* ecdh.h */; };
- DAEB93F218AB0FFD000490CC /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A018AB0FFD000490CC /* ecdsa.h */; };
- DAEB93F318AB0FFD000490CC /* engine.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A118AB0FFD000490CC /* engine.h */; };
- DAEB93F418AB0FFD000490CC /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A218AB0FFD000490CC /* err.h */; };
- DAEB93F518AB0FFD000490CC /* evp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A318AB0FFD000490CC /* evp.h */; };
- DAEB93F618AB0FFD000490CC /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A418AB0FFD000490CC /* hmac.h */; };
- DAEB93F718AB0FFD000490CC /* idea.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A518AB0FFD000490CC /* idea.h */; };
- DAEB93F818AB0FFD000490CC /* krb5_asn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A618AB0FFD000490CC /* krb5_asn.h */; };
- DAEB93F918AB0FFD000490CC /* kssl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A718AB0FFD000490CC /* kssl.h */; };
- DAEB93FA18AB0FFD000490CC /* lhash.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A818AB0FFD000490CC /* lhash.h */; };
- DAEB93FB18AB0FFD000490CC /* md4.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93A918AB0FFD000490CC /* md4.h */; };
- DAEB93FC18AB0FFD000490CC /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AA18AB0FFD000490CC /* md5.h */; };
- DAEB93FD18AB0FFD000490CC /* mdc2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AB18AB0FFD000490CC /* mdc2.h */; };
- DAEB93FE18AB0FFD000490CC /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AC18AB0FFD000490CC /* modes.h */; };
- DAEB93FF18AB0FFD000490CC /* obj_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AD18AB0FFD000490CC /* obj_mac.h */; };
- DAEB940018AB0FFD000490CC /* objects.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AE18AB0FFD000490CC /* objects.h */; };
- DAEB940118AB0FFD000490CC /* ocsp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93AF18AB0FFD000490CC /* ocsp.h */; };
- DAEB940218AB0FFD000490CC /* opensslconf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B018AB0FFD000490CC /* opensslconf.h */; };
- DAEB940318AB0FFD000490CC /* opensslv.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B118AB0FFD000490CC /* opensslv.h */; };
- DAEB940418AB0FFD000490CC /* ossl_typ.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B218AB0FFD000490CC /* ossl_typ.h */; };
- DAEB940518AB0FFD000490CC /* pem.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B318AB0FFD000490CC /* pem.h */; };
- DAEB940618AB0FFD000490CC /* pem2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B418AB0FFD000490CC /* pem2.h */; };
- DAEB940718AB0FFD000490CC /* pkcs12.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B518AB0FFD000490CC /* pkcs12.h */; };
- DAEB940818AB0FFD000490CC /* pkcs7.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B618AB0FFD000490CC /* pkcs7.h */; };
- DAEB940918AB0FFD000490CC /* pqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B718AB0FFD000490CC /* pqueue.h */; };
- DAEB940A18AB0FFD000490CC /* rand.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B818AB0FFD000490CC /* rand.h */; };
- DAEB940B18AB0FFD000490CC /* rc2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93B918AB0FFD000490CC /* rc2.h */; };
- DAEB940C18AB0FFD000490CC /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BA18AB0FFD000490CC /* rc4.h */; };
- DAEB940D18AB0FFD000490CC /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BB18AB0FFD000490CC /* ripemd.h */; };
- DAEB940E18AB0FFD000490CC /* rsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BC18AB0FFD000490CC /* rsa.h */; };
- DAEB940F18AB0FFD000490CC /* safestack.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BD18AB0FFD000490CC /* safestack.h */; };
- DAEB941018AB0FFD000490CC /* seed.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BE18AB0FFD000490CC /* seed.h */; };
- DAEB941118AB0FFD000490CC /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93BF18AB0FFD000490CC /* sha.h */; };
- DAEB941218AB0FFD000490CC /* ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C018AB0FFD000490CC /* ssl.h */; };
- DAEB941318AB0FFD000490CC /* ssl2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C118AB0FFD000490CC /* ssl2.h */; };
- DAEB941418AB0FFD000490CC /* ssl23.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C218AB0FFD000490CC /* ssl23.h */; };
- DAEB941518AB0FFD000490CC /* ssl3.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C318AB0FFD000490CC /* ssl3.h */; };
- DAEB941618AB0FFD000490CC /* stack.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C418AB0FFD000490CC /* stack.h */; };
- DAEB941718AB0FFD000490CC /* symhacks.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C518AB0FFD000490CC /* symhacks.h */; };
- DAEB941818AB0FFD000490CC /* tls1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C618AB0FFD000490CC /* tls1.h */; };
- DAEB941918AB0FFD000490CC /* ts.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C718AB0FFD000490CC /* ts.h */; };
- DAEB941A18AB0FFD000490CC /* txt_db.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C818AB0FFD000490CC /* txt_db.h */; };
- DAEB941B18AB0FFD000490CC /* ui.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93C918AB0FFD000490CC /* ui.h */; };
- DAEB941C18AB0FFD000490CC /* ui_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93CA18AB0FFD000490CC /* ui_compat.h */; };
- DAEB941D18AB0FFD000490CC /* whrlpool.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93CB18AB0FFD000490CC /* whrlpool.h */; };
- DAEB941E18AB0FFD000490CC /* x509.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93CC18AB0FFD000490CC /* x509.h */; };
- DAEB941F18AB0FFD000490CC /* x509_vfy.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93CD18AB0FFD000490CC /* x509_vfy.h */; };
- DAEB942018AB0FFD000490CC /* x509v3.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93CE18AB0FFD000490CC /* x509v3.h */; };
- DAEB942118AB0FFD000490CC /* crypto_aesctr.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D018AB0FFD000490CC /* crypto_aesctr.h */; };
- DAEB942218AB0FFD000490CC /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D118AB0FFD000490CC /* crypto_scrypt.h */; };
- DAEB942318AB0FFD000490CC /* memlimit.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D218AB0FFD000490CC /* memlimit.h */; };
- DAEB942418AB0FFD000490CC /* readpass.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D318AB0FFD000490CC /* readpass.h */; };
- DAEB942518AB0FFD000490CC /* scryptenc.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D418AB0FFD000490CC /* scryptenc.h */; };
- DAEB942618AB0FFD000490CC /* scryptenc_cpuperf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D518AB0FFD000490CC /* scryptenc_cpuperf.h */; };
- DAEB942718AB0FFD000490CC /* sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D618AB0FFD000490CC /* sha256.h */; };
- DAEB942818AB0FFD000490CC /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D718AB0FFD000490CC /* sysendian.h */; };
- DAEB942918AB0FFD000490CC /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D818AB0FFD000490CC /* warn.h */; };
+ DAE8E65519867AE200416A0F /* libopensslcrypto-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE8E65319867ADA00416A0F /* libopensslcrypto-osx.a */; };
DAEB942E18B47FB3000490CC /* MPInitialWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA0933C91747A56A00DE1CEF /* MPInitialWindow.xib */; };
DAF4EF56190A828100023C90 /* Exo2.0-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF52190A828100023C90 /* Exo2.0-Thin.otf */; };
DAF4EF57190A828100023C90 /* Exo2.0-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF53190A828100023C90 /* Exo2.0-Regular.otf */; };
@@ -877,87 +797,9 @@
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
DAD9B5E1176299B9001835F9 /* MasterPassword-Mac-LoginHelper.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "MasterPassword-Mac-LoginHelper.xcodeproj"; path = "MasterPassword-Mac-LoginHelper/MasterPassword-Mac-LoginHelper.xcodeproj"; sourceTree = ""; };
DAD9B5EF1762CAA4001835F9 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; };
- DAEB938718AB0FFD000490CC /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = ""; };
- DAEB938818AB0FFD000490CC /* asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1.h; sourceTree = ""; };
- DAEB938918AB0FFD000490CC /* asn1_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1_mac.h; sourceTree = ""; };
- DAEB938A18AB0FFD000490CC /* asn1t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1t.h; sourceTree = ""; };
- DAEB938B18AB0FFD000490CC /* bio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bio.h; sourceTree = ""; };
- DAEB938C18AB0FFD000490CC /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = ""; };
- DAEB938D18AB0FFD000490CC /* bn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bn.h; sourceTree = ""; };
- DAEB938E18AB0FFD000490CC /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = ""; };
- DAEB938F18AB0FFD000490CC /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = ""; };
- DAEB939018AB0FFD000490CC /* cast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast.h; sourceTree = ""; };
- DAEB939118AB0FFD000490CC /* cms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cms.h; sourceTree = ""; };
- DAEB939218AB0FFD000490CC /* comp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comp.h; sourceTree = ""; };
- DAEB939318AB0FFD000490CC /* conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf.h; sourceTree = ""; };
- DAEB939418AB0FFD000490CC /* conf_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf_api.h; sourceTree = ""; };
- DAEB939518AB0FFD000490CC /* crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto.h; sourceTree = ""; };
- DAEB939618AB0FFD000490CC /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = ""; };
- DAEB939718AB0FFD000490CC /* des_old.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des_old.h; sourceTree = ""; };
- DAEB939818AB0FFD000490CC /* dh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dh.h; sourceTree = ""; };
- DAEB939918AB0FFD000490CC /* dsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsa.h; sourceTree = ""; };
- DAEB939A18AB0FFD000490CC /* dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dso.h; sourceTree = ""; };
- DAEB939B18AB0FFD000490CC /* dtls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtls1.h; sourceTree = ""; };
- DAEB939C18AB0FFD000490CC /* e_os2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os2.h; sourceTree = ""; };
- DAEB939D18AB0FFD000490CC /* ebcdic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ebcdic.h; sourceTree = ""; };
- DAEB939E18AB0FFD000490CC /* ec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ec.h; sourceTree = ""; };
- DAEB939F18AB0FFD000490CC /* ecdh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdh.h; sourceTree = ""; };
- DAEB93A018AB0FFD000490CC /* ecdsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdsa.h; sourceTree = ""; };
- DAEB93A118AB0FFD000490CC /* engine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = engine.h; sourceTree = ""; };
- DAEB93A218AB0FFD000490CC /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = err.h; sourceTree = ""; };
- DAEB93A318AB0FFD000490CC /* evp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = evp.h; sourceTree = ""; };
- DAEB93A418AB0FFD000490CC /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = ""; };
- DAEB93A518AB0FFD000490CC /* idea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idea.h; sourceTree = ""; };
- DAEB93A618AB0FFD000490CC /* krb5_asn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = krb5_asn.h; sourceTree = ""; };
- DAEB93A718AB0FFD000490CC /* kssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kssl.h; sourceTree = ""; };
- DAEB93A818AB0FFD000490CC /* lhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lhash.h; sourceTree = ""; };
- DAEB93A918AB0FFD000490CC /* md4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md4.h; sourceTree = ""; };
- DAEB93AA18AB0FFD000490CC /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; };
- DAEB93AB18AB0FFD000490CC /* mdc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mdc2.h; sourceTree = ""; };
- DAEB93AC18AB0FFD000490CC /* modes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modes.h; sourceTree = ""; };
- DAEB93AD18AB0FFD000490CC /* obj_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = obj_mac.h; sourceTree = ""; };
- DAEB93AE18AB0FFD000490CC /* objects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objects.h; sourceTree = ""; };
- DAEB93AF18AB0FFD000490CC /* ocsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ocsp.h; sourceTree = ""; };
- DAEB93B018AB0FFD000490CC /* opensslconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslconf.h; sourceTree = ""; };
- DAEB93B118AB0FFD000490CC /* opensslv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslv.h; sourceTree = ""; };
- DAEB93B218AB0FFD000490CC /* ossl_typ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ossl_typ.h; sourceTree = ""; };
- DAEB93B318AB0FFD000490CC /* pem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem.h; sourceTree = ""; };
- DAEB93B418AB0FFD000490CC /* pem2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem2.h; sourceTree = ""; };
- DAEB93B518AB0FFD000490CC /* pkcs12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs12.h; sourceTree = ""; };
- DAEB93B618AB0FFD000490CC /* pkcs7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs7.h; sourceTree = ""; };
- DAEB93B718AB0FFD000490CC /* pqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pqueue.h; sourceTree = ""; };
- DAEB93B818AB0FFD000490CC /* rand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rand.h; sourceTree = ""; };
- DAEB93B918AB0FFD000490CC /* rc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc2.h; sourceTree = ""; };
- DAEB93BA18AB0FFD000490CC /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = ""; };
- DAEB93BB18AB0FFD000490CC /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = ""; };
- DAEB93BC18AB0FFD000490CC /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rsa.h; sourceTree = ""; };
- DAEB93BD18AB0FFD000490CC /* safestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safestack.h; sourceTree = ""; };
- DAEB93BE18AB0FFD000490CC /* seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = seed.h; sourceTree = ""; };
- DAEB93BF18AB0FFD000490CC /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = ""; };
- DAEB93C018AB0FFD000490CC /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl.h; sourceTree = ""; };
- DAEB93C118AB0FFD000490CC /* ssl2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl2.h; sourceTree = ""; };
- DAEB93C218AB0FFD000490CC /* ssl23.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl23.h; sourceTree = ""; };
- DAEB93C318AB0FFD000490CC /* ssl3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl3.h; sourceTree = ""; };
- DAEB93C418AB0FFD000490CC /* stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack.h; sourceTree = ""; };
- DAEB93C518AB0FFD000490CC /* symhacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symhacks.h; sourceTree = ""; };
- DAEB93C618AB0FFD000490CC /* tls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tls1.h; sourceTree = ""; };
- DAEB93C718AB0FFD000490CC /* ts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ts.h; sourceTree = ""; };
- DAEB93C818AB0FFD000490CC /* txt_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = txt_db.h; sourceTree = ""; };
- DAEB93C918AB0FFD000490CC /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = ""; };
- DAEB93CA18AB0FFD000490CC /* ui_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui_compat.h; sourceTree = ""; };
- DAEB93CB18AB0FFD000490CC /* whrlpool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = whrlpool.h; sourceTree = ""; };
- DAEB93CC18AB0FFD000490CC /* x509.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509.h; sourceTree = ""; };
- DAEB93CD18AB0FFD000490CC /* x509_vfy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509_vfy.h; sourceTree = ""; };
- DAEB93CE18AB0FFD000490CC /* x509v3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509v3.h; sourceTree = ""; };
- DAEB93D018AB0FFD000490CC /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = ""; };
- DAEB93D118AB0FFD000490CC /* crypto_scrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scrypt.h; sourceTree = ""; };
- DAEB93D218AB0FFD000490CC /* memlimit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memlimit.h; sourceTree = ""; };
- DAEB93D318AB0FFD000490CC /* readpass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = readpass.h; sourceTree = ""; };
- DAEB93D418AB0FFD000490CC /* scryptenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc.h; sourceTree = ""; };
- DAEB93D518AB0FFD000490CC /* scryptenc_cpuperf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc_cpuperf.h; sourceTree = ""; };
- DAEB93D618AB0FFD000490CC /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; };
- DAEB93D718AB0FFD000490CC /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; };
- DAEB93D818AB0FFD000490CC /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; };
+ DAE8E65319867ADA00416A0F /* libopensslcrypto-osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libopensslcrypto-osx.a"; sourceTree = ""; };
+ DAE8E65619867AF500416A0F /* scrypt */ = {isa = PBXFileReference; lastKnownFileType = folder; path = scrypt; sourceTree = ""; };
+ DAE8E65719867AF500416A0F /* openssl */ = {isa = PBXFileReference; lastKnownFileType = folder; path = openssl; sourceTree = ""; };
DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
DAF4EF52190A828100023C90 /* Exo2.0-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Thin.otf"; sourceTree = ""; };
DAF4EF53190A828100023C90 /* Exo2.0-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Regular.otf"; sourceTree = ""; };
@@ -1062,6 +904,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ DAE8E65519867AE200416A0F /* libopensslcrypto-osx.a in Frameworks */,
DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */,
DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */,
DA5E5C9417248AA1003798D8 /* libscryptenc-osx.a in Frameworks */,
@@ -1149,8 +992,9 @@
DA5E5C7917248AA1003798D8 /* lib */ = {
isa = PBXGroup;
children = (
- DAEB938518AB0FFD000490CC /* include */,
DA5E5C8717248AA1003798D8 /* libscryptenc-osx.a */,
+ DAE8E65319867ADA00416A0F /* libopensslcrypto-osx.a */,
+ DAEB938518AB0FFD000490CC /* include */,
);
path = lib;
sourceTree = "";
@@ -1822,107 +1666,12 @@
DAEB938518AB0FFD000490CC /* include */ = {
isa = PBXGroup;
children = (
- DAEB938618AB0FFD000490CC /* openssl */,
- DAEB93CF18AB0FFD000490CC /* scrypt */,
+ DAE8E65619867AF500416A0F /* scrypt */,
+ DAE8E65719867AF500416A0F /* openssl */,
);
path = include;
sourceTree = "";
};
- DAEB938618AB0FFD000490CC /* openssl */ = {
- isa = PBXGroup;
- children = (
- DAEB938718AB0FFD000490CC /* aes.h */,
- DAEB938818AB0FFD000490CC /* asn1.h */,
- DAEB938918AB0FFD000490CC /* asn1_mac.h */,
- DAEB938A18AB0FFD000490CC /* asn1t.h */,
- DAEB938B18AB0FFD000490CC /* bio.h */,
- DAEB938C18AB0FFD000490CC /* blowfish.h */,
- DAEB938D18AB0FFD000490CC /* bn.h */,
- DAEB938E18AB0FFD000490CC /* buffer.h */,
- DAEB938F18AB0FFD000490CC /* camellia.h */,
- DAEB939018AB0FFD000490CC /* cast.h */,
- DAEB939118AB0FFD000490CC /* cms.h */,
- DAEB939218AB0FFD000490CC /* comp.h */,
- DAEB939318AB0FFD000490CC /* conf.h */,
- DAEB939418AB0FFD000490CC /* conf_api.h */,
- DAEB939518AB0FFD000490CC /* crypto.h */,
- DAEB939618AB0FFD000490CC /* des.h */,
- DAEB939718AB0FFD000490CC /* des_old.h */,
- DAEB939818AB0FFD000490CC /* dh.h */,
- DAEB939918AB0FFD000490CC /* dsa.h */,
- DAEB939A18AB0FFD000490CC /* dso.h */,
- DAEB939B18AB0FFD000490CC /* dtls1.h */,
- DAEB939C18AB0FFD000490CC /* e_os2.h */,
- DAEB939D18AB0FFD000490CC /* ebcdic.h */,
- DAEB939E18AB0FFD000490CC /* ec.h */,
- DAEB939F18AB0FFD000490CC /* ecdh.h */,
- DAEB93A018AB0FFD000490CC /* ecdsa.h */,
- DAEB93A118AB0FFD000490CC /* engine.h */,
- DAEB93A218AB0FFD000490CC /* err.h */,
- DAEB93A318AB0FFD000490CC /* evp.h */,
- DAEB93A418AB0FFD000490CC /* hmac.h */,
- DAEB93A518AB0FFD000490CC /* idea.h */,
- DAEB93A618AB0FFD000490CC /* krb5_asn.h */,
- DAEB93A718AB0FFD000490CC /* kssl.h */,
- DAEB93A818AB0FFD000490CC /* lhash.h */,
- DAEB93A918AB0FFD000490CC /* md4.h */,
- DAEB93AA18AB0FFD000490CC /* md5.h */,
- DAEB93AB18AB0FFD000490CC /* mdc2.h */,
- DAEB93AC18AB0FFD000490CC /* modes.h */,
- DAEB93AD18AB0FFD000490CC /* obj_mac.h */,
- DAEB93AE18AB0FFD000490CC /* objects.h */,
- DAEB93AF18AB0FFD000490CC /* ocsp.h */,
- DAEB93B018AB0FFD000490CC /* opensslconf.h */,
- DAEB93B118AB0FFD000490CC /* opensslv.h */,
- DAEB93B218AB0FFD000490CC /* ossl_typ.h */,
- DAEB93B318AB0FFD000490CC /* pem.h */,
- DAEB93B418AB0FFD000490CC /* pem2.h */,
- DAEB93B518AB0FFD000490CC /* pkcs12.h */,
- DAEB93B618AB0FFD000490CC /* pkcs7.h */,
- DAEB93B718AB0FFD000490CC /* pqueue.h */,
- DAEB93B818AB0FFD000490CC /* rand.h */,
- DAEB93B918AB0FFD000490CC /* rc2.h */,
- DAEB93BA18AB0FFD000490CC /* rc4.h */,
- DAEB93BB18AB0FFD000490CC /* ripemd.h */,
- DAEB93BC18AB0FFD000490CC /* rsa.h */,
- DAEB93BD18AB0FFD000490CC /* safestack.h */,
- DAEB93BE18AB0FFD000490CC /* seed.h */,
- DAEB93BF18AB0FFD000490CC /* sha.h */,
- DAEB93C018AB0FFD000490CC /* ssl.h */,
- DAEB93C118AB0FFD000490CC /* ssl2.h */,
- DAEB93C218AB0FFD000490CC /* ssl23.h */,
- DAEB93C318AB0FFD000490CC /* ssl3.h */,
- DAEB93C418AB0FFD000490CC /* stack.h */,
- DAEB93C518AB0FFD000490CC /* symhacks.h */,
- DAEB93C618AB0FFD000490CC /* tls1.h */,
- DAEB93C718AB0FFD000490CC /* ts.h */,
- DAEB93C818AB0FFD000490CC /* txt_db.h */,
- DAEB93C918AB0FFD000490CC /* ui.h */,
- DAEB93CA18AB0FFD000490CC /* ui_compat.h */,
- DAEB93CB18AB0FFD000490CC /* whrlpool.h */,
- DAEB93CC18AB0FFD000490CC /* x509.h */,
- DAEB93CD18AB0FFD000490CC /* x509_vfy.h */,
- DAEB93CE18AB0FFD000490CC /* x509v3.h */,
- );
- path = openssl;
- sourceTree = "";
- };
- DAEB93CF18AB0FFD000490CC /* scrypt */ = {
- isa = PBXGroup;
- children = (
- DAEB93D018AB0FFD000490CC /* crypto_aesctr.h */,
- DAEB93D118AB0FFD000490CC /* crypto_scrypt.h */,
- DAEB93D218AB0FFD000490CC /* memlimit.h */,
- DAEB93D318AB0FFD000490CC /* readpass.h */,
- DAEB93D418AB0FFD000490CC /* scryptenc.h */,
- DAEB93D518AB0FFD000490CC /* scryptenc_cpuperf.h */,
- DAEB93D618AB0FFD000490CC /* sha256.h */,
- DAEB93D718AB0FFD000490CC /* sysendian.h */,
- DAEB93D818AB0FFD000490CC /* warn.h */,
- );
- path = scrypt;
- sourceTree = "";
- };
DAFE45D715039823003ABA7C /* Pearl */ = {
isa = PBXGroup;
children = (
@@ -2044,120 +1793,39 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- DAEB941818AB0FFD000490CC /* tls1.h in Headers */,
- DAEB940C18AB0FFD000490CC /* rc4.h in Headers */,
- DAEB93F418AB0FFD000490CC /* err.h in Headers */,
- DAEB93F118AB0FFD000490CC /* ecdh.h in Headers */,
- DAEB93FD18AB0FFD000490CC /* mdc2.h in Headers */,
- DAEB942718AB0FFD000490CC /* sha256.h in Headers */,
- DAEB940818AB0FFD000490CC /* pkcs7.h in Headers */,
DA2CA4F218D323D3007798F8 /* NSTimer+PearlBlock.h in Headers */,
- DAEB93DF18AB0FFD000490CC /* bn.h in Headers */,
- DAEB940718AB0FFD000490CC /* pkcs12.h in Headers */,
- DAEB941A18AB0FFD000490CC /* txt_db.h in Headers */,
DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */,
DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */,
- DAEB942218AB0FFD000490CC /* crypto_scrypt.h in Headers */,
- DAEB941018AB0FFD000490CC /* seed.h in Headers */,
- DAEB942618AB0FFD000490CC /* scryptenc_cpuperf.h in Headers */,
DAFE4A1715039824003ABA7C /* NSString+PearlSEL.h in Headers */,
DA3B8453190FC86F00246EEA /* NSManagedObject+Pearl.h in Headers */,
- DAEB93F518AB0FFD000490CC /* evp.h in Headers */,
- DAEB941918AB0FFD000490CC /* ts.h in Headers */,
DA8ED897192906920099B726 /* map-macro.h in Headers */,
- DAEB93F818AB0FFD000490CC /* krb5_asn.h in Headers */,
DAFE4A1915039824003ABA7C /* Pearl.h in Headers */,
- DAEB93F318AB0FFD000490CC /* engine.h in Headers */,
DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */,
DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */,
- DAEB940918AB0FFD000490CC /* pqueue.h in Headers */,
DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */,
- DAEB941B18AB0FFD000490CC /* ui.h in Headers */,
- DAEB941D18AB0FFD000490CC /* whrlpool.h in Headers */,
- DAEB940418AB0FFD000490CC /* ossl_typ.h in Headers */,
- DAEB93DC18AB0FFD000490CC /* asn1t.h in Headers */,
DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */,
DA8ED896192906920099B726 /* PearlTween.h in Headers */,
- DAEB93E518AB0FFD000490CC /* conf.h in Headers */,
DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */,
- DAEB940618AB0FFD000490CC /* pem2.h in Headers */,
DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */,
DA2CA4F018D323D3007798F8 /* NSArray+Pearl.h in Headers */,
- DAEB93FC18AB0FFD000490CC /* md5.h in Headers */,
DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */,
DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */,
- DAEB93E318AB0FFD000490CC /* cms.h in Headers */,
- DAEB942518AB0FFD000490CC /* scryptenc.h in Headers */,
- DAEB93FA18AB0FFD000490CC /* lhash.h in Headers */,
DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */,
- DAEB940B18AB0FFD000490CC /* rc2.h in Headers */,
DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */,
- DAEB93DA18AB0FFD000490CC /* asn1.h in Headers */,
- DAEB93EA18AB0FFD000490CC /* dh.h in Headers */,
- DAEB93F918AB0FFD000490CC /* kssl.h in Headers */,
DAFE4A2F15039824003ABA7C /* PearlStringUtils.h in Headers */,
- DAEB940318AB0FFD000490CC /* opensslv.h in Headers */,
- DAEB93ED18AB0FFD000490CC /* dtls1.h in Headers */,
- DAEB93E018AB0FFD000490CC /* buffer.h in Headers */,
- DAEB940218AB0FFD000490CC /* opensslconf.h in Headers */,
- DAEB93E918AB0FFD000490CC /* des_old.h in Headers */,
DAFE4A3315039824003ABA7C /* Pearl-Crypto.h in Headers */,
- DAEB941C18AB0FFD000490CC /* ui_compat.h in Headers */,
- DAEB93E218AB0FFD000490CC /* cast.h in Headers */,
- DAEB942318AB0FFD000490CC /* memlimit.h in Headers */,
DAFE4A3415039824003ABA7C /* PearlCryptUtils.h in Headers */,
- DAEB940018AB0FFD000490CC /* objects.h in Headers */,
- DAEB93E818AB0FFD000490CC /* des.h in Headers */,
- DAEB941418AB0FFD000490CC /* ssl23.h in Headers */,
- DAEB93EB18AB0FFD000490CC /* dsa.h in Headers */,
- DAEB941218AB0FFD000490CC /* ssl.h in Headers */,
- DAEB93FE18AB0FFD000490CC /* modes.h in Headers */,
- DAEB940A18AB0FFD000490CC /* rand.h in Headers */,
- DAEB93EE18AB0FFD000490CC /* e_os2.h in Headers */,
- DAEB940E18AB0FFD000490CC /* rsa.h in Headers */,
- DAEB93E618AB0FFD000490CC /* conf_api.h in Headers */,
DAFE4A3615039824003ABA7C /* PearlKeyChain.h in Headers */,
- DAEB941518AB0FFD000490CC /* ssl3.h in Headers */,
- DAEB941618AB0FFD000490CC /* stack.h in Headers */,
DAFE4A3815039824003ABA7C /* PearlRSAKey.h in Headers */,
- DAEB93DD18AB0FFD000490CC /* bio.h in Headers */,
- DAEB942418AB0FFD000490CC /* readpass.h in Headers */,
- DAEB93F018AB0FFD000490CC /* ec.h in Headers */,
- DAEB93E418AB0FFD000490CC /* comp.h in Headers */,
DAFE4A3A15039824003ABA7C /* PearlSCrypt.h in Headers */,
- DAEB93D918AB0FFD000490CC /* aes.h in Headers */,
DA30E9CE15722ECA00A68B4C /* NSBundle+PearlMutableInfo.h in Headers */,
- DAEB93FB18AB0FFD000490CC /* md4.h in Headers */,
- DAEB941118AB0FFD000490CC /* sha.h in Headers */,
- DAEB941F18AB0FFD000490CC /* x509_vfy.h in Headers */,
DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */,
- DAEB93EC18AB0FFD000490CC /* dso.h in Headers */,
- DAEB940118AB0FFD000490CC /* ocsp.h in Headers */,
DAFE4A63150399FF003ABA88 /* NSObject+PearlKVO.h in Headers */,
DAFE4A63150399FF003ABA94 /* NSDateFormatter+RFC3339.h in Headers */,
- DAEB93F718AB0FFD000490CC /* idea.h in Headers */,
- DAEB940F18AB0FFD000490CC /* safestack.h in Headers */,
- DAEB941E18AB0FFD000490CC /* x509.h in Headers */,
- DAEB93EF18AB0FFD000490CC /* ebcdic.h in Headers */,
- DAEB93DE18AB0FFD000490CC /* blowfish.h in Headers */,
- DAEB941718AB0FFD000490CC /* symhacks.h in Headers */,
93D39C34FE35830EF5BE1D2A /* NSArray+Indexing.h in Headers */,
- DAEB942118AB0FFD000490CC /* crypto_aesctr.h in Headers */,
- DAEB93F218AB0FFD000490CC /* ecdsa.h in Headers */,
- DAEB942018AB0FFD000490CC /* x509v3.h in Headers */,
- DAEB93E118AB0FFD000490CC /* camellia.h in Headers */,
- DAEB93F618AB0FFD000490CC /* hmac.h in Headers */,
93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */,
DA3509FE15F101A500C14A8E /* PearlQueue.h in Headers */,
- DAEB942918AB0FFD000490CC /* warn.h in Headers */,
- DAEB93DB18AB0FFD000490CC /* asn1_mac.h in Headers */,
- DAEB940518AB0FFD000490CC /* pem.h in Headers */,
- DAEB942818AB0FFD000490CC /* sysendian.h in Headers */,
DA2CA4EE18D323D3007798F8 /* NSError+PearlFullDescription.h in Headers */,
- DAEB93FF18AB0FFD000490CC /* obj_mac.h in Headers */,
- DAEB93E718AB0FFD000490CC /* crypto.h in Headers */,
- DAEB941318AB0FFD000490CC /* ssl2.h in Headers */,
- DAEB940D18AB0FFD000490CC /* ripemd.h in Headers */,
93D39D304F73B3BBA031522A /* PearlProfiler.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2789,6 +2457,10 @@
);
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
PROVISIONING_PROFILE = "0FAB9494-7BD5-4638-9B60-66DED5D23B9A";
SKIP_INSTALL = NO;
WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}";
@@ -2808,6 +2480,10 @@
);
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
PROVISIONING_PROFILE = "0FAB9494-7BD5-4638-9B60-66DED5D23B9A";
SKIP_INSTALL = NO;
WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}";
@@ -2906,6 +2582,10 @@
);
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
PROVISIONING_PROFILE = "16F3EA2E-5241-42F7-8F39-125ED9FCD536";
SKIP_INSTALL = NO;
WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}";
@@ -2922,6 +2602,7 @@
"$(inherited)",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -2993,6 +2674,7 @@
"$(inherited)",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -3010,6 +2692,7 @@
"$(inherited)",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"",
"\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto/lib\"",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
diff --git a/MasterPassword/ObjC/iOS/MPPasswordCell.m b/MasterPassword/ObjC/iOS/MPPasswordCell.m
index ae5947c5..30650425 100644
--- a/MasterPassword/ObjC/iOS/MPPasswordCell.m
+++ b/MasterPassword/ObjC/iOS/MPPasswordCell.m
@@ -130,7 +130,7 @@
TimeToCrack timeToCrack;
MPElementEntity *element = [self elementInContext:context];
id algorithm = element.algorithm?: MPAlgorithmDefault;
- MPAttacker attackHardware = [[MPConfig get].attackHardware unsignedIntegerValue];
+ MPAttacker attackHardware = [[MPConfig get].siteAttacker unsignedIntegerValue];
if ([algorithm timeToCrack:&timeToCrack passwordOfType:[self elementInContext:context].type byAttacker:attackHardware] ||
[algorithm timeToCrack:&timeToCrack passwordString:password byAttacker:attackHardware])
PearlMainQueue( ^{
@@ -400,10 +400,10 @@
else
password = [[self elementInContext:context] resolveContentUsingKey:[MPiOSAppDelegate get].key];
- MPAttacker attackHardware = [[MPConfig get].attackHardware unsignedIntegerValue];
TimeToCrack timeToCrack;
NSString *timeToCrackString = nil;
id algorithm = mainElement.algorithm?: MPAlgorithmDefault;
+ MPAttacker attackHardware = [[MPConfig get].siteAttacker unsignedIntegerValue];
if ([algorithm timeToCrack:&timeToCrack passwordOfType:[self elementInContext:context].type byAttacker:attackHardware] ||
[algorithm timeToCrack:&timeToCrack passwordString:password byAttacker:attackHardware])
timeToCrackString = NSStringFromTimeToCrack( timeToCrack );
diff --git a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj
index 3df21b91..a09b8a4d 100644
--- a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj
+++ b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj
@@ -271,6 +271,7 @@
DACA29BF1705E2DE002C6C22 /* UIColor+HSV.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA29BB1705E2DE002C6C22 /* UIColor+HSV.m */; };
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; };
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; };
+ DAE8E65219867AB500416A0F /* libopensslcrypto-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE8E65119867AB500416A0F /* libopensslcrypto-ios.a */; };
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; };
DAEC85B518E3DD9A007FC0DF /* UIView+Touches.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEC85B118E3DD9A007FC0DF /* UIView+Touches.m */; };
DAEC85B618E3DD9A007FC0DF /* PearlUINavigationBar.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEC85B218E3DD9A007FC0DF /* PearlUINavigationBar.m */; };
@@ -1187,7 +1188,6 @@
DABD3BF91711E2DC00CF925C /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; };
DABD3BFB1711E2DC00CF925C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
DABD3BFC1711E2DC00CF925C /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- DABD3FC617122ADD00CF925C /* libscrypt-bin-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libscrypt-bin-ios.a"; path = "../../../External/Pearl/External/iOSPorts/ports/security/scrypt/build/Release-iphoneos/libscrypt-bin-ios.a"; sourceTree = ""; };
DABD3FC81712446200CF925C /* cloud.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud.png; sourceTree = ""; };
DABD3FC91712446200CF925C /* cloud@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cloud@2x.png"; sourceTree = ""; };
DABD3FCC1714F45B00CF925C /* identity.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = identity.png; sourceTree = ""; };
@@ -1213,6 +1213,7 @@
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
DADBB55918DB0CFC00D099FE /* keyboard-dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "keyboard-dark@2x.png"; sourceTree = ""; };
DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; };
+ DAE8E65119867AB500416A0F /* libopensslcrypto-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libopensslcrypto-ios.a"; sourceTree = ""; };
DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
DAEC85B118E3DD9A007FC0DF /* UIView+Touches.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Touches.m"; sourceTree = ""; };
DAEC85B218E3DD9A007FC0DF /* PearlUINavigationBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUINavigationBar.m; sourceTree = ""; };
@@ -1358,6 +1359,7 @@
DABB981615100B4000B05417 /* SystemConfiguration.framework in Frameworks */,
DA672D3014F9413D004A189C /* libPearl.a in Frameworks */,
DA672D2F14F92C6B004A189C /* libz.dylib in Frameworks */,
+ DAE8E65219867AB500416A0F /* libopensslcrypto-ios.a in Frameworks */,
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */,
DA95D5F214DF0B2C008D1B94 /* MessageUI.framework in Frameworks */,
DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */,
@@ -1469,7 +1471,6 @@
children = (
DA3B844D190FC5DF00246EEA /* Crashlytics.framework */,
DA70EC7F1811B13C00F65DB2 /* StoreKit.framework */,
- DABD3FC617122ADD00CF925C /* libscrypt-bin-ios.a */,
DA6701DF16406BB400B61001 /* AdSupport.framework */,
DA6701DD16406B7300B61001 /* Social.framework */,
DA6701B716406A4100B61001 /* Accounts.framework */,
@@ -1493,6 +1494,7 @@
DA5E5C6317248959003798D8 /* lib */ = {
isa = PBXGroup;
children = (
+ DAE8E65119867AB500416A0F /* libopensslcrypto-ios.a */,
DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */,
DA5E5C6417248959003798D8 /* include */,
);
@@ -3591,6 +3593,10 @@
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
OTHER_LDFLAGS = (
"$(inherited)",
"-framework",
@@ -3619,6 +3625,10 @@
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
PROVISIONING_PROFILE = "";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "6407ECED-9FF3-4F04-B40E-5B3E771D603D";
SKIP_INSTALL = NO;
@@ -3731,6 +3741,10 @@
GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib",
+ );
PROVISIONING_PROFILE = "";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36641E9D-D5E0-4E80-94F4-B2CF898CFE10";
SKIP_INSTALL = NO;
@@ -3853,6 +3867,7 @@
DAFC565F172C573B00CB5CC5 /* Debug-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
};
name = "Debug-iOS";
@@ -3860,6 +3875,7 @@
DAFC5660172C573B00CB5CC5 /* AdHoc-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
};
name = "AdHoc-iOS";
@@ -3867,6 +3883,7 @@
DAFC5661172C573B00CB5CC5 /* AppStore-iOS */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
GCC_WARN_INHIBIT_ALL_WARNINGS = YES;
};
name = "AppStore-iOS";
diff --git a/MasterPassword/ObjC/iOS/Settings.bundle/Root.plist b/MasterPassword/ObjC/iOS/Settings.bundle/Root.plist
index 892d73ff..ca7a66a0 100644
--- a/MasterPassword/ObjC/iOS/Settings.bundle/Root.plist
+++ b/MasterPassword/ObjC/iOS/Settings.bundle/Root.plist
@@ -108,6 +108,44 @@ To see a site's password anyway, tap and hold your finger down for a while
Type
PSToggleSwitchSpecifier
+
+ FooterText
+ The password strength indicator estimates the time necessary to break the password from a stolen database of SHA-1 hashes. Use this setting to choose the budget the attacker is willing to devote to breaking your site password.
+ Title
+
+ Type
+ PSGroupSpecifier
+
+
+ DefaultValue
+ 0
+ Key
+ siteAttacker
+ Title
+ Attacker Budget
+ Type
+ PSMultiValueSpecifier
+ Titles
+
+ Regular Hardware
+ Dedicated GPUs, 5000 $ US
+ Large Organization, 20 M$ US
+ State Department, 5 B$ US
+
+ ShortTitles
+
+ Regular
+ 5k $
+ 20M $
+ 5B $
+
+ Values
+
+ 0
+ 1
+ 2
+
+
Type
PSGroupSpecifier
diff --git a/MasterPassword/ObjC/iOS/Storyboard.storyboard b/MasterPassword/ObjC/iOS/Storyboard.storyboard
index cf8b2b78..49a9efe0 100644
--- a/MasterPassword/ObjC/iOS/Storyboard.storyboard
+++ b/MasterPassword/ObjC/iOS/Storyboard.storyboard
@@ -483,8 +483,8 @@
-
+
@@ -1795,6 +1795,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1828,7 +1844,7 @@
-
+
@@ -1974,7 +1990,7 @@ CgoKCgoKCgoKCgoKCg
-
+
@@ -2507,7 +2523,7 @@ See
-
+