diff --git a/External/Crashlytics.framework/Versions/A/Crashlytics b/External/Crashlytics.framework/Versions/A/Crashlytics index d16d2206..aa001c2b 100644 Binary files a/External/Crashlytics.framework/Versions/A/Crashlytics and b/External/Crashlytics.framework/Versions/A/Crashlytics differ diff --git a/External/Crashlytics.framework/Versions/A/Resources/Info.plist b/External/Crashlytics.framework/Versions/A/Resources/Info.plist index 91278850..bf21197c 100644 --- a/External/Crashlytics.framework/Versions/A/Resources/Info.plist +++ b/External/Crashlytics.framework/Versions/A/Resources/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable Crashlytics CFBundleIdentifier - com.crashlytics.ios + com.crashlytics.sdk.mac CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,16 +15,16 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.1.5 + 2.1.2 CFBundleSupportedPlatforms - iPhoneOS + macosx CFBundleVersion - 16 + 9 DTPlatformName - iphoneos + macosx MinimumOSVersion - 4.0 + 10.6 diff --git a/External/Crashlytics.framework/run b/External/Crashlytics.framework/run index 62b42053..09c7c04a 100755 Binary files a/External/Crashlytics.framework/run and b/External/Crashlytics.framework/run differ diff --git a/External/Pearl b/External/Pearl index 765c6c5f..4a3c68dd 160000 --- a/External/Pearl +++ b/External/Pearl @@ -1 +1 @@ -Subproject commit 765c6c5f4adf9dcafb40e6e050dc61ce0ce0363e +Subproject commit 4a3c68dda957adba490aae9b56df018e935d6c84 diff --git a/MasterPassword/ObjC/Mac/MPElementCollectionView.h b/MasterPassword/ObjC/Mac/MPElementCollectionView.h new file mode 100644 index 00000000..7a99d723 --- /dev/null +++ b/MasterPassword/ObjC/Mac/MPElementCollectionView.h @@ -0,0 +1,25 @@ +/** + * Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com) + * + * See the enclosed file LICENSE for license information (LGPLv3). If you did + * not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt + * + * @author Maarten Billemont + * @license http://www.gnu.org/licenses/lgpl-3.0.txt + */ + +// +// MPElementCollectionView.h +// MPElementCollectionView +// +// Created by lhunath on 2/11/2014. +// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved. +// + +#import + +@interface MPElementCollectionView : NSCollectionViewItem + +@property(nonatomic, weak) IBOutlet NSTextField *siteField; +@property(nonatomic, weak) IBOutlet NSTextField *contentField; +@end diff --git a/MasterPassword/ObjC/Mac/MPElementCollectionView.m b/MasterPassword/ObjC/Mac/MPElementCollectionView.m new file mode 100644 index 00000000..001f2660 --- /dev/null +++ b/MasterPassword/ObjC/Mac/MPElementCollectionView.m @@ -0,0 +1,23 @@ +/** + * Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com) + * + * See the enclosed file LICENSE for license information (LGPLv3). If you did + * not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt + * + * @author Maarten Billemont + * @license http://www.gnu.org/licenses/lgpl-3.0.txt + */ + +// +// MPElementCollectionView.h +// MPElementCollectionView +// +// Created by lhunath on 2/11/2014. +// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved. +// + +#import "MPElementCollectionView.h" + +@implementation MPElementCollectionView { +} +@end diff --git a/MasterPassword/ObjC/Mac/MPElementModel.h b/MasterPassword/ObjC/Mac/MPElementModel.h new file mode 100644 index 00000000..f7abf918 --- /dev/null +++ b/MasterPassword/ObjC/Mac/MPElementModel.h @@ -0,0 +1,34 @@ +/** + * Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com) + * + * See the enclosed file LICENSE for license information (LGPLv3). If you did + * not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt + * + * @author Maarten Billemont + * @license http://www.gnu.org/licenses/lgpl-3.0.txt + */ + +// +// MPElementModel.h +// MPElementModel +// +// Created by lhunath on 2/11/2014. +// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved. +// + +#import +@class MPElementEntity; + +@interface MPElementModel : NSObject +@property (nonatomic) NSString *site; +@property (nonatomic) NSString *type; +@property (nonatomic) NSString *content; +@property (nonatomic) NSString *loginName; +@property (nonatomic) NSNumber *uses; +@property (nonatomic) NSDate *lastUsed; + +- (MPElementEntity *)entityForMainThread; +- (MPElementEntity *)entityInContext:(NSManagedObjectContext *)moc; + +- (id)initWithEntity:(MPElementEntity *)entity; +@end diff --git a/MasterPassword/ObjC/Mac/MPElementModel.m b/MasterPassword/ObjC/Mac/MPElementModel.m new file mode 100644 index 00000000..813d8d90 --- /dev/null +++ b/MasterPassword/ObjC/Mac/MPElementModel.m @@ -0,0 +1,68 @@ +/** + * Copyright Maarten Billemont (http://www.lhunath.com, lhunath@lyndir.com) + * + * See the enclosed file LICENSE for license information (LGPLv3). If you did + * not receive this file, see http://www.gnu.org/licenses/lgpl-3.0.txt + * + * @author Maarten Billemont + * @license http://www.gnu.org/licenses/lgpl-3.0.txt + */ + +// +// MPElementModel.h +// MPElementModel +// +// Created by lhunath on 2/11/2014. +// Copyright, lhunath (Maarten Billemont) 2014. All rights reserved. +// + +#import "MPElementModel.h" +#import "MPElementEntity.h" +#import "MPEntities.h" +#import "MPAppDelegate_Shared.h" +#import "MPAppDelegate_Store.h" +#import "MPMacAppDelegate.h" + +@interface MPElementModel() + +@property(nonatomic, strong) NSManagedObjectID *entityOID; +@end + +@implementation MPElementModel { +} + +- (id)initWithEntity:(MPElementEntity *)entity { + + if (!(self = [super init])) + return nil; + + self.site = entity.name; + self.lastUsed = entity.lastUsed; + self.loginName = entity.loginName; + self.type = entity.typeName; + self.uses = entity.uses_; + self.content = [entity.algorithm resolveContentForElement:entity usingKey:[MPAppDelegate_Shared get].key]; + self.entityOID = entity.objectID; + + return self; +} + +- (MPElementEntity *)entityForMainThread { + + return [self entityInContext:[MPMacAppDelegate managedObjectContextForMainThreadIfReady]]; +} + +- (MPElementEntity *)entityInContext:(NSManagedObjectContext *)moc { + + if (!_entityOID) + return nil; + + NSError *error; + MPElementEntity *entity = (MPElementEntity *)[moc existingObjectWithID:_entityOID error:&error]; + if (!entity) + err(@"Couldn't retrieve active element: %@", error); + + return entity; +} + +@end diff --git a/MasterPassword/ObjC/Mac/MPInitialWindow.xib b/MasterPassword/ObjC/Mac/MPInitialWindow.xib index a61b5556..b84ef004 100644 --- a/MasterPassword/ObjC/Mac/MPInitialWindow.xib +++ b/MasterPassword/ObjC/Mac/MPInitialWindow.xib @@ -1,1367 +1,156 @@ - - - - 1080 - 12D78 - 3084 - 1187.37 - 626.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 3084 - - - IBNSLayoutConstraint - NSButton - NSButtonCell - NSCustomObject - NSCustomView - NSImageCell - NSImageView - NSTextField - NSTextFieldCell - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - MPMacAppDelegate - - - FirstResponder - - - NSApplication - - - 3 - 2 - {{196, 240}, {833, 540}} - 544735232 - - NSWindow - - - - - 256 - - - - 268 - - - - 268 - - {{341, 20}, {150, 44}} - - - - - 1 - 1 - - 3 - MAA - - - _NS:9 - YES - - 67108864 - 0 - - - LucidaGrande - 13 - 1044 - - _NS:9 - - -2039201792 - 6 - - NSImage - appstore - - - - 200 - 25 - - NO - - - - 268 - {{244, 72}, {345, 29}} - - - - - 1 - 1 - - - _NS:1535 - YES - - 68157504 - 138413056 - Get Master Password for iPhone - - HelveticaNeue-Light - 24 - 16 - - _NS:1535 - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 1 - MSAxIDEAA - - - NO - - - - 268 - {{17, 408}, {799, 72}} - - - - - 1 - 1 - - - _NS:1535 - YES - - 68157504 - 272630784 - QWNjZXNzIHlvdXIgcGFzc3dvcmRzCmZyb20gYW55d2hlcmUuA - - MyriadPro-Bold - 32 - 16 - - _NS:1535 - - - - - NO - - - - 268 - - - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - {833, 500} - - - - _NS:9 - YES - - 134217728 - 33554432 - - NSImage - shot-laptop-leaning-iphone - - _NS:9 - 0 - 0 - 0 - NO - - NO - YES - - - {{0, 40}, {833, 500}} - - - - YES - _NS:9 - NSView - - - - 268 - {{691, 8}, {122, 25}} - - - - _NS:9 - YES - - 67108864 - 134217728 - Use iCloud - - _NS:9 - - -1232846848 - 163 - - - 400 - 75 - - NO - - - - 268 - {{561, 8}, {122, 25}} - - - - _NS:9 - YES - - 67108864 - 134217728 - Open at Login - - _NS:9 - - -1232846848 - 163 - - - 400 - 75 - - NO - - - - 268 - {{20, 13}, {536, 17}} - - - - _NS:1535 - YES - - 68157504 - 272630784 - To begin, press: command, control and P or access the ●●●| menu icon. - - _NS:1535 - - - - 6 - System - controlTextColor - - - - NO - - - {833, 540} - - - - - {{0, 0}, {1920, 1058}} - {10000000000000, 10000000000000} - YES - - - - - - - iphoneAppStore: - - - - 206 - - - - openAtLoginButton - - - - 571 - - - - enableCloudButton - - - - 572 - - - - togglePreference: - - - - 573 - - - - togglePreference: - - - - 574 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - - - - - - 2 - - - - - 4 - 0 - - 4 - 1 - - 10 - - 1000 - - 9 - 40 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 4 - 0 - - 4 - 1 - - 10 - - 1000 - - 9 - 40 - 3 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 9 - 40 - 3 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 9 - 40 - 2 - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 5 - 1 - - 23 - - 1000 - - 3 - 9 - 3 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 9 - 40 - 3 - - - - - - - - Container - - - 369 - - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 3 - 0 - - 3 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 9 - 40 - 3 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 4 - 0 - - 4 - 1 - - 0.0 - - 1000 - - 9 - 40 - 3 - - - - - - - - - - 374 - - - - - 375 - - - - - 3 - - - - - - 8 - 0 - - 0 - 1 - - 500 - - 1000 - - 3 - 9 - 1 - - - - Image - - - 4 - - - - - 378 - - - - - 379 - - - - - 380 - - - - - 381 - - - - - 268 - - - - - - - - 269 - - - - - 385 - - - - - 387 - - - - - 283 - - - - - - - - 284 - - - - - 393 - - - - - 409 - - - - - - 7 - 0 - - 0 - 1 - - 122 - - 1000 - - 3 - 9 - 1 - - - - - - 410 - - - - - 444 - - - - - 507 - - - - - 508 - - - - - 7 - 0 - - 0 - 1 - - 122 - - 1000 - - 3 - 9 - 1 - - - - - - - 509 - - - - - 510 - - - - - 513 - - - - - 514 - - - - - 515 - - - - - 396 - - - - - 173 - - - - - - Store - - - 395 - - - - - 174 - - - - - 542 - - - - - 543 - - - - - 544 - - - - - 545 - - - - - 546 - - - - - 562 - - - - - - 7 - 0 - - 0 - 1 - - 530 - - 1000 - - 3 - 9 - 1 - - - - - - 563 - - - - - 565 - - - - - 567 - - - - - 568 - - - - - 569 - - - - - 566 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - {{357, 418}, {480, 270}} - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 575 - - - - - MPAppDelegate_Shared - PearlAppDelegate - - IBProjectSource - ./Classes/MPAppDelegate_Shared.h - - - - MPMacAppDelegate - MPAppDelegate_Shared - - id - id - NSMenuItem - id - id - id - id - - - - iphoneAppStore: - id - - - lock: - id - - - newUser: - NSMenuItem - - - rebuildCloud: - id - - - showPasswordWindow: - id - - - terminate: - id - - - togglePreference: - id - - - - NSMenuItem - NSMenuItem - NSMenuItem - NSButton - NSMenuItem - NSButton - NSMenuItem - NSMenuItem - NSMenuItem - NSMenuItem - NSMenu - NSMenuItem - NSMenuItem - - - - createUserItem - NSMenuItem - - - dialogStyleHUD - NSMenuItem - - - dialogStyleRegular - NSMenuItem - - - enableCloudButton - NSButton - - - lockItem - NSMenuItem - - - openAtLoginButton - NSButton - - - openAtLoginItem - NSMenuItem - - - rememberPasswordItem - NSMenuItem - - - savePasswordItem - NSMenuItem - - - showItem - NSMenuItem - - - statusMenu - NSMenu - - - useCloudItem - NSMenuItem - - - usersItem - NSMenuItem - - - - IBProjectSource - ./Classes/MPMacAppDelegate.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - PearlAppDelegate - UIResponder - - UINavigationController - UIWindow - - - - navigationController - UINavigationController - - - window - UIWindow - - - - IBProjectSource - ./Classes/PearlAppDelegate.h - - - - UINavigationController - UIViewController - - IBProjectSource - ./Classes/UINavigationController.h - - - - UIWindow - UIView - - IBProjectSource - ./Classes/UIWindow.h - - - - - 0 - IBCocoaFramework - YES - 3 - - {150, 44} - {1000, 600} - - YES - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Access your passwords +from anywhere. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MasterPassword/ObjC/Mac/MPPasswordWindowController.h b/MasterPassword/ObjC/Mac/MPPasswordWindowController.h index 98a49c51..57572780 100644 --- a/MasterPassword/ObjC/Mac/MPPasswordWindowController.h +++ b/MasterPassword/ObjC/Mac/MPPasswordWindowController.h @@ -8,15 +8,13 @@ #import -@interface MPPasswordWindowController : NSWindowController +@interface MPPasswordWindowController : NSWindowController -@property(nonatomic, weak) IBOutlet NSTextField *siteLabel; +@property(nonatomic, strong) NSMutableArray *elements; @property(nonatomic, weak) IBOutlet NSTextField *siteField; -@property(nonatomic, weak) IBOutlet NSTextField *contentField; @property(nonatomic, weak) IBOutlet NSTextField *tipField; -@property(nonatomic, weak) IBOutlet NSComboBox *typeField; @property(nonatomic, weak) IBOutlet NSView *contentContainer; -@property(nonatomic, weak) IBOutlet NSProgressIndicator *progressView; @property(nonatomic, weak) IBOutlet NSTextField *userLabel; +@property(nonatomic, weak) IBOutlet NSCollectionView *siteCollectionView; @end diff --git a/MasterPassword/ObjC/Mac/MPPasswordWindowController.m b/MasterPassword/ObjC/Mac/MPPasswordWindowController.m index 3a0628a3..0b0ff0bc 100644 --- a/MasterPassword/ObjC/Mac/MPPasswordWindowController.m +++ b/MasterPassword/ObjC/Mac/MPPasswordWindowController.m @@ -10,41 +10,38 @@ #import "MPMacAppDelegate.h" #import "MPAppDelegate_Key.h" #import "MPAppDelegate_Store.h" +#import "MPElementModel.h" #define MPAlertUnlockMP @"MPAlertUnlockMP" #define MPAlertIncorrectMP @"MPAlertIncorrectMP" #define MPAlertCreateSite @"MPAlertCreateSite" -#define MPAlertChangeType @"MPAlertChangeType" @interface MPPasswordWindowController() @property(nonatomic) BOOL inProgress; -@property(nonatomic) BOOL siteFieldPreventCompletion; @property(nonatomic, strong) NSOperationQueue *backgroundQueue; @property(nonatomic, strong) NSAlert *loadingDataAlert; @property(nonatomic) BOOL closing; + @end -@implementation MPPasswordWindowController { - NSManagedObjectID *_activeElementOID; -} +@implementation MPPasswordWindowController - (void)windowDidLoad { if ([[MPMacConfig get].dialogStyleHUD boolValue]) { self.window.styleMask = NSHUDWindowMask | NSTitledWindowMask | NSUtilityWindowMask | NSClosableWindowMask; - self.siteLabel.textColor = [NSColor whiteColor]; + self.userLabel.textColor = [NSColor whiteColor]; } else { self.window.styleMask = NSTexturedBackgroundWindowMask | NSResizableWindowMask | NSTitledWindowMask | NSClosableWindowMask; - self.siteLabel.textColor = [NSColor controlTextColor]; + self.userLabel.textColor = [NSColor controlTextColor]; } self.backgroundQueue = [NSOperationQueue new]; self.backgroundQueue.maxConcurrentOperationCount = 1; - [self setContent:@""]; [self.tipField setStringValue:@""]; [self.userLabel setStringValue:PearlString( @"%@'s password for:", [[MPMacAppDelegate get] activeUserForMainThread].name )]; @@ -57,40 +54,39 @@ // @"their passwords to change. You'll need to update your profile for that site with the new password."]; // [moc saveToStore]; // }]; - dispatch_async(dispatch_get_main_queue(), ^{ + dispatch_async( dispatch_get_main_queue(), ^{ [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:YES]; - }); + } ); } forKeyPath:@"key" options:NSKeyValueObservingOptionInitial context:nil]; [[NSNotificationCenter defaultCenter] addObserverForName:NSWindowDidBecomeKeyNotification object:self.window queue:[NSOperationQueue mainQueue] usingBlock: - ^(NSNotification *note) { - [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:NO]; - [self.siteField selectText:nil]; - }]; + ^(NSNotification *note) { + [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:NO]; + [self.siteField selectText:nil]; + }]; [[NSNotificationCenter defaultCenter] addObserverForName:NSWindowWillCloseNotification object:self.window queue:[NSOperationQueue mainQueue] usingBlock: - ^(NSNotification *note) { - NSWindow *sheet = [self.window attachedSheet]; - if (sheet) - [NSApp endSheet:sheet]; - - [NSApp hide:nil]; - self.closing = NO; - }]; + ^(NSNotification *note) { + NSWindow *sheet = [self.window attachedSheet]; + if (sheet) + [NSApp endSheet:sheet]; + + [NSApp hide:nil]; + self.closing = NO; + }]; [[NSNotificationCenter defaultCenter] addObserverForName:MPSignedOutNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock: - ^(NSNotification *note) { - _activeElementOID = nil; - [self.siteField setStringValue:@""]; - [self.typeField deselectItemAtIndex:[self.typeField indexOfSelectedItem]]; - [self trySiteWithAction:NO]; - [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:YES]; - }]; + ^(NSNotification *note) { + self.siteField.stringValue = @""; + self.elements = nil; + + [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:YES]; + }]; [[NSNotificationCenter defaultCenter] addObserverForName:USMStoreDidChangeNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock: - ^(NSNotification *note) { - [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:NO]; - }]; + ^(NSNotification *note) { + [self ensureLoadedAndUnlockedOrCloseIfLoggedOut:NO]; + }]; [super windowDidLoad]; } @@ -163,9 +159,7 @@ if ([MPMacAppDelegate get].key) return; - self.content = @""; [self.siteField setStringValue:@""]; - [self.typeField deselectItemAtIndex:[self.typeField indexOfSelectedItem]]; [self.tipField setStringValue:@""]; NSAlert *alert = [NSAlert alertWithMessageText:@"Master Password is locked." @@ -225,7 +219,6 @@ case NSAlertDefaultReturn: { // "Unlock" button. self.contentContainer.alphaValue = 0; - [self.progressView startAnimation:nil]; self.inProgress = YES; NSString *password = [(NSSecureTextField *)alert.accessoryView stringValue]; @@ -237,8 +230,6 @@ self.inProgress = NO; dispatch_async( dispatch_get_current_queue(), ^{ - [self.progressView stopAnimation:nil]; - if (success) self.contentContainer.alphaValue = 1; else { @@ -263,8 +254,7 @@ case NSAlertDefaultReturn: { [[MPMacAppDelegate get] addElementNamed:[self.siteField stringValue] completion:^(MPElementEntity *element) { if (element) { - _activeElementOID = element.objectID; - [self trySiteWithAction:NO]; + [self updateElements]; } }]; break; @@ -273,78 +263,55 @@ break; } } - if (contextInfo == MPAlertChangeType) { - switch (returnCode) { - case NSAlertDefaultReturn: { - MPElementType type = [self selectedType]; - [MPMacAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { - MPElementEntity *activeElement = [self activeElementInContext:context]; - _activeElementOID = [[MPMacAppDelegate get] changeElement:activeElement inContext:context - toType:type].objectID; - [context saveToStore]; +} - dispatch_async( dispatch_get_main_queue(), ^{ - [self trySiteWithAction:NO]; - } ); - }]; - break; - } - default: - break; - } +- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector { + + if (commandSelector == @selector(cancel:)) { // Escape without completion. + [self close]; + return YES; } -} - -- (MPElementType)selectedType { - - if (self.typeField.indexOfSelectedItem == 0) - return MPElementTypeGeneratedMaximum; - if (self.typeField.indexOfSelectedItem == 1) - return MPElementTypeGeneratedLong; - if (self.typeField.indexOfSelectedItem == 2) - return MPElementTypeGeneratedMedium; - if (self.typeField.indexOfSelectedItem == 3) - return MPElementTypeGeneratedBasic; - if (self.typeField.indexOfSelectedItem == 4) - return MPElementTypeGeneratedShort; - if (self.typeField.indexOfSelectedItem == 5) - return MPElementTypeGeneratedPIN; - if (self.typeField.indexOfSelectedItem == 6) - return MPElementTypeStoredPersonal; - if (self.typeField.indexOfSelectedItem == 7) - return MPElementTypeStoredDevicePrivate; - - wrn(@"Unsupported type selected: %li, assuming Long.", self.typeField.indexOfSelectedItem); - return MPElementTypeGeneratedLong; -} - -- (void)comboBoxSelectionDidChange:(NSNotification *)notification { - - if (notification.object == self.typeField) { - if ([self.typeField indexOfSelectedItem] < 0) - return; - MPElementEntity *activeElement = [self activeElementForMainThread]; - MPElementType selectedType = [self selectedType]; - if (!activeElement || activeElement.type == selectedType || !(selectedType & MPElementTypeClassGenerated)) - return; - - [[NSAlert alertWithMessageText:@"Change Password Type" defaultButton:@"Change Password" - alternateButton:@"Cancel" otherButton:nil - informativeTextWithFormat:@"Changing the password type for this site will cause the password to change.\n" - @"You will need to update your account with the new password."] - beginSheetModalForWindow:self.window modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) - contextInfo:MPAlertChangeType]; +// if ((self.siteFieldPreventCompletion = [NSStringFromSelector( commandSelector ) hasPrefix:@"delete"])) { // Backspace any time. +// _activeElementOID = nil; +// [self trySiteWithAction:NO]; +// return NO; +// } + if (commandSelector == @selector(insertNewline:)) { // Return without completion. + [self useSite]; + return YES; } + + return NO; } -- (NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words - forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index { +- (void)controlTextDidChange:(NSNotification *)note { - NSString *query = [[textView string] substringWithRange:charRange]; - if (![query length] || ![MPMacAppDelegate get].key) - return nil; + if (note.object != self.siteField) + return; + + // Update the site content as the site name changes. + if ([[NSApp currentEvent] type] == NSKeyDown && + [[[NSApp currentEvent] charactersIgnoringModifiers] isEqualToString:@"\r"]) { // Return while completing. + [self useSite]; + return; + } + +// if ([[NSApp currentEvent] type] == NSKeyDown && +// [[[NSApp currentEvent] charactersIgnoringModifiers] characterAtIndex:0] == 0x1b) { // Escape while completing. +// [self trySiteWithAction:NO]; +// return; +// } + + [self updateElements]; +} + +- (void)updateElements { + NSString *query = [self.siteField.currentEditor string]; + if (![query length] || ![MPMacAppDelegate get].key) { + self.elements = nil; + return; + } - __block NSMutableArray *mutableResults = [NSMutableArray array]; [MPMacAppDelegate managedObjectContextPerformBlockAndWait:^(NSManagedObjectContext *context) { NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass( [MPElementEntity class] )]; fetchRequest.sortDescriptors = [NSArray arrayWithObject:[[NSSortDescriptor alloc] initWithKey:@"lastUsed" ascending:NO]]; @@ -356,159 +323,83 @@ if (!siteResults) err(@"While fetching elements for completion: %@", error); else if ([siteResults count]) { - _activeElementOID = ((NSManagedObject *)[siteResults objectAtIndex:0]).objectID; + NSMutableArray *newElements = [NSMutableArray arrayWithCapacity:[siteResults count]]; for (MPElementEntity *element in siteResults) - [mutableResults addObject:element.name]; + [newElements addObject:[[MPElementModel alloc] initWithEntity:element]]; + self.elements = newElements; } - else - _activeElementOID = nil; }]; - - if ([mutableResults count] < 2) { - //[textView setString:[(MPElementEntity *)[siteResults objectAtIndex:0] name]]; - //[textView setSelectedRange:NSMakeRange( [query length], [[textView string] length] - [query length] )]; - [self trySiteWithAction:NO]; - } - - return mutableResults; } -- (BOOL)control:(NSControl *)control textView:(NSTextView *)fieldEditor doCommandBySelector:(SEL)commandSelector { +- (MPElementModel *)selectedElement { - if (commandSelector == @selector(cancel:)) { // Escape without completion. - [self close]; - return YES; - } - if ((self.siteFieldPreventCompletion = [NSStringFromSelector( commandSelector ) hasPrefix:@"delete"])) { // Backspace any time. - _activeElementOID = nil; - [self trySiteWithAction:NO]; - return NO; - } - if (commandSelector == @selector(insertNewline:)) { // Return without completion. - [self trySiteWithAction:YES]; - return YES; - } - - return NO; -} - -- (void)controlTextDidEndEditing:(NSNotification *)note { - - if (note.object != self.siteField) - return; - - [self trySiteWithAction:NO]; -} - -- (void)controlTextDidChange:(NSNotification *)note { - - if (note.object != self.siteField) - return; - - // Update the site content as the site name changes. - if ([[NSApp currentEvent] type] == NSKeyDown && - [[[NSApp currentEvent] charactersIgnoringModifiers] isEqualToString:@"\r"]) { // Return while completing. - [self trySiteWithAction:YES]; - return; - } - - if ([[NSApp currentEvent] type] == NSKeyDown && - [[[NSApp currentEvent] charactersIgnoringModifiers] characterAtIndex:0] == 0x1b) { // Escape while completing. - _activeElementOID = nil; - [self trySiteWithAction:NO]; - return; - } - - if (self.siteFieldPreventCompletion) { - self.siteFieldPreventCompletion = NO; - return; - } - - self.siteFieldPreventCompletion = YES; - [(NSText *)[note.userInfo objectForKey:@"NSFieldEditor"] complete:self]; - self.siteFieldPreventCompletion = NO; -} - -- (MPElementEntity *)activeElementForMainThread { - - return [self activeElementInContext:[MPMacAppDelegate managedObjectContextForMainThreadIfReady]]; -} - -- (MPElementEntity *)activeElementInContext:(NSManagedObjectContext *)moc { - - if (!_activeElementOID) + NSIndexSet *selectedIndexes = self.siteCollectionView.selectionIndexes; + if (!selectedIndexes.count) return nil; - NSError *error; - MPElementEntity *activeElement = (MPElementEntity *)[moc existingObjectWithID:_activeElementOID error:&error]; - if (!activeElement) - err(@"Couldn't retrieve active element: %@", error); - - return activeElement; + return (MPElementModel *)self.elements[selectedIndexes.firstIndex]; } -- (void)setContent:(NSString *)content { +- (void)useSite { - NSMutableParagraphStyle *paragraph = [NSMutableParagraphStyle new]; - paragraph.alignment = NSCenterTextAlignment; + MPElementModel *selectedElement = [self selectedElement]; + if (selectedElement) { + // Performing action while content is available. Copy it. + [self copyContent:selectedElement.content]; - [self.contentField setAttributedStringValue:[[NSAttributedString alloc] initWithString:content attributes:@{ - NSParagraphStyleAttributeName : paragraph - }]]; -} - -- (void)trySiteWithAction:(BOOL)doAction { - - NSString *siteName = [self.siteField stringValue]; - [self.progressView startAnimation:nil]; - [MPMacAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { - BOOL actionHandled = NO; - MPElementEntity *activeElement = [self activeElementInContext:context]; - NSString *content = [activeElement.content description]; - NSString *typeName = [activeElement typeShortName]; - if (!content) - content = @""; - - if (doAction) { - if ([content length]) { - // Performing action while content is available. Copy it. - [self copyContent:content]; - } - else if ([siteName length]) { - // Performing action without content but a site name is written. - [self createNewSite:siteName]; - actionHandled = YES; - } - } - - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - [self setContent:content]; - [self.progressView stopAnimation:nil]; - if (![[self.typeField stringValue] isEqualToString:typeName]) - [self.typeField selectItemWithObjectValue:typeName]; - - self.tipField.alphaValue = 1; - if (actionHandled) - [self.tipField setStringValue:@""]; - else if ([content length] == 0) { - if ([siteName length]) - [self.tipField setStringValue:@"Hit ⌤ (ENTER) to create a new site."]; - else - [self.tipField setStringValue:@""]; - } - else if (!doAction) - [self.tipField setStringValue:@"Hit ⌤ (ENTER) to copy the password."]; - else { - [self.tipField setStringValue:@"Copied! Hit ⎋ (ESC) to close window."]; - dispatch_after( dispatch_time( DISPATCH_TIME_NOW, (int64_t)(5.0f * NSEC_PER_SEC) ), dispatch_get_main_queue(), ^{ + self.tipField.alphaValue = 1; + self.tipField.stringValue = @"Copied! Hit ⎋ (ESC) to close window."; + dispatch_after( dispatch_time( DISPATCH_TIME_NOW, (int64_t)(5.0f * NSEC_PER_SEC) ), dispatch_get_main_queue(), + ^{ [NSAnimationContext beginGrouping]; [[NSAnimationContext currentContext] setDuration:0.2f]; [self.tipField.animator setAlphaValue:0]; [NSAnimationContext endGrouping]; } ); - } - }]; - }]; + } + else { + NSString *siteName = [self.siteField stringValue]; + if ([siteName length]) { + // Performing action without content but a site name is written. + [self createNewSite:siteName]; + [self.tipField setStringValue:@""]; + } + } + +// [MPMacAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { +// MPElementEntity *activeElement = [self activeElementInContext:context]; +// NSString *typeName = [activeElement typeShortName]; +// [activeElement.algorithm resolveContentForElement:activeElement usingKey:[MPAppDelegate_Shared get].key result: +// ^(NSString *result) { +// BOOL actionHandled = NO; +// if (doAction) { +// } +// +// [[NSOperationQueue mainQueue] addOperationWithBlock:^{ +// [self setContent:result]; +// if (actionHandled) +// [self.tipField setStringValue:@""]; +// else if (![result length]) { +// if ([siteName length]) +// [self.tipField setStringValue:@"Hit ⌤ (ENTER) to create a new site."]; +// else +// [self.tipField setStringValue:@""]; +// } +// else if (!doAction) +// [self.tipField setStringValue:@"Hit ⌤ (ENTER) to copy the password."]; +// else { +// [self.tipField setStringValue:@"Copied! Hit ⎋ (ESC) to close window."]; +// dispatch_after( dispatch_time( DISPATCH_TIME_NOW, (int64_t)(5.0f * NSEC_PER_SEC) ), dispatch_get_main_queue(), +// ^{ +// [NSAnimationContext beginGrouping]; +// [[NSAnimationContext currentContext] setDuration:0.2f]; +// [self.tipField.animator setAlphaValue:0]; +// [NSAnimationContext endGrouping]; +// } ); +// } +// }]; +// }]; +// }]; } - (void)copyContent:(NSString *)content { @@ -520,7 +411,7 @@ } [MPMacAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *moc) { - [[self activeElementInContext:moc] use]; + [[self.selectedElement entityInContext:moc] use]; [moc saveToStore]; }]; } @@ -536,4 +427,14 @@ }]; } +- (void)insertObject:(MPElementModel *)model inElementsAtIndex:(NSUInteger)index { + + [self.elements insertObject:model atIndex:index]; +} + +- (void)removeObjectFromElementsAtIndex:(NSUInteger)index { + + [self.elements removeObjectAtIndex:index]; +} + @end diff --git a/MasterPassword/ObjC/Mac/MPPasswordWindowController.xib b/MasterPassword/ObjC/Mac/MPPasswordWindowController.xib index 2a455f7a..bb49c64a 100644 --- a/MasterPassword/ObjC/Mac/MPPasswordWindowController.xib +++ b/MasterPassword/ObjC/Mac/MPPasswordWindowController.xib @@ -1,1231 +1,224 @@ - - - - 1080 - 12D78 - 3084 - 1187.37 - 626.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 3084 - - - IBNSLayoutConstraint - NSComboBox - NSComboBoxCell - NSCustomObject - NSCustomView - NSProgressIndicator - NSTextField - NSTextFieldCell - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - MPPasswordWindowController - - - FirstResponder - - - NSApplication - - - 267 - 2 - {{600, 530}, {480, 200}} - 611845120 - Master Password - NSPanel - - - {480, 200} - {480, 199} - - - 256 - - - - 268 - - - - 268 - {{288, 131}, {115, 26}} - - - - _NS:9 - YES - - 72351808 - 272630784 - - - LucidaGrande - 13 - 1044 - - - _NS:9 - - YES - 1 - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - controlTextColor - - 3 - MAA - - - 5 - YES - - Maximum - Long - Medium - Basic - Short - PIN - Personal - Device - - - - - 274 - {13, 168} - - - _NS:24 - YES - NO - YES - - - 10 - 10 - 1000 - - 75497472 - 0 - - - LucidaGrande - 12 - 16 - - - 3 - MC4zMzMzMzI5ODU2AA - - - - - 338690112 - 1024 - - - YES - - 6 - System - controlBackgroundColor - - 3 - MC42NjY2NjY2NjY3AA - - - - - 3 - YES - - - - 3 - 2 - - - 6 - System - gridColor - - 3 - MC41AA - - - 19 - tableViewAction: - -765427712 - - - - 1 - 15 - 0 - YES - 0 - 1 - - NO - - NO - - - - 268 - {{129, 163}, {223, 17}} - - - - - 1 - 1 - - 6 - System - controlShadowColor - - 3 - MC4zMzMzMzMzMzMzAA - - - - _NS:1535 - YES - - 67108928 - 138414144 - Maarten Billemont's password for: - - _NS:1535 - - - 6 - System - controlColor - - - - - NO - - - - 268 - {{17, 20}, {446, 17}} - - - - - 1 - 1 - - 3 - MCAwLjkAA - - - _NS:1505 - YES - - 67108928 - 138414144 - Hit enter to copy the password. - - _NS:1505 - - - - 1 - MSAxIDEAA - - - NO - - - - 268 - {{80, 133}, {200, 22}} - - - - _NS:9 - YES - - -1804599231 - 138413120 - apple.com - - Site name - _NS:9 - - 1 - - - 6 - System - textColor - - - - NO - - - - 268 - {{17, 45}, {446, 80}} - - - - - 1 - 1 - - 3 - MCAwLjYAA - - - - - - YES - - - - - YES - - - _NS:9 - {250, 750} - YES - - 67108864 - 138412032 - Getx2?QazuRicj - - SourceCodePro-Black - 48 - 16 - - _NS:9 - - YES - - - 1 - MC40NzQ1MDk4MDM5IDAuODY2NjY2NjY2NyAwLjk4NDMxMzcyNTUAA - - - NO - - - - 268 - {{224, 84}, {32, 32}} - - - - _NS:945 - 28682 - 100 - - - {480, 200} - - - - _NS:9 - NSView - - - {480, 200} - - - - YES - _NS:21 - - {{0, 0}, {1920, 1058}} - {480, 221} - {480, 222} - YES - - - - - - - window - - - - 40 - - - - contentContainer - - - - 214 - - - - userLabel - - - - 223 - - - - siteField - - - - 224 - - - - contentField - - - - 225 - - - - tipField - - - - 226 - - - - progressView - - - - 215 - - - - typeField - - - - 263 - - - - siteLabel - - - - 266 - - - - delegate - - - - 39 - - - - delegate - - - - 188 - - - - delegate - - - - 265 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 22 - - - - - - - - 23 - - - - - 3 - 0 - - 3 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 6 - 0 - - 6 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 4 - 0 - - 4 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 0.0 - - 1000 - - 8 - 29 - 3 - - - - - - - 143 - - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 5 - 0 - - 6 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - - 5 - 22 - 2 - - - - 9 - 0 - - 9 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 3 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 80 - - 1000 - - 3 - 9 - 3 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 3 - 0 - - 4 - 1 - - 8 - - 1000 - - 6 - 24 - 3 - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - - - - - - - - - 145 - - - - - 147 - - - - - 148 - - - - - 150 - - - - - 181 - - - - - - 8 - 0 - - 0 - 1 - - 80 - - 1000 - - 3 - 9 - 1 - - - - - - 187 - - - - - 182 - - - - - - 7 - 0 - - 0 - 1 - - 200 - - 1000 - - 3 - 9 - 1 - - - - - - 185 - - - - - 183 - - - - - - - - 184 - - - - - 199 - - - - - 200 - - - - - 201 - - - - - 205 - - - - - 209 - - - - - 216 - - - - - - - - 217 - - - - - 218 - - - - - 221 - - - - - 222 - - - - - 231 - - - - - 96 - - - - - 237 - - - - - 238 - - - - - 240 - - - - - - 7 - 0 - - 0 - 1 - - 112 - - 1000 - - 3 - 9 - 1 - - - - - - 241 - - - - - 254 - - - - - 256 - - - - - 258 - - - - - 260 - - - - - 261 - - - - - 262 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - Maximum - Long - Medium - Basic - Short - PIN - Personal - Device - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 266 - - - - - MPPasswordWindowController - NSWindowController - - NSView - NSTextField - NSProgressIndicator - NSTextField - NSTextField - NSTextField - NSComboBox - NSTextField - - - - contentContainer - NSView - - - contentField - NSTextField - - - progressView - NSProgressIndicator - - - siteField - NSTextField - - - siteLabel - NSTextField - - - tipField - NSTextField - - - typeField - NSComboBox - - - userLabel - NSTextField - - - - IBProjectSource - ./Classes/MPPasswordWindowController.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - 3 - YES - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + site + type + content + loginName + uses + lastUsed + + + + + + + + + + + \ No newline at end of file diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj index d9fd2fd6..9eea64e8 100644 --- a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj +++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj @@ -10,6 +10,8 @@ 93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */; }; 93D395F08A087F8A24689347 /* NSArray+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */; }; 93D39C34FE35830EF5BE1D2A /* NSArray+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D396D04E57792A54D437AC /* NSArray+Indexing.h */; }; + 93D39C5789EFA607CF788082 /* MPElementModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39E73BF5CBF8E5B005CD3 /* MPElementModel.m */; }; + 93D39C7C2BE7C0E0763B0177 /* MPElementCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D394495528B10D1B61A2C3 /* MPElementCollectionView.m */; }; 93D39E281E3658B30550CB55 /* NSDictionary+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39AA1EE2E1E7B81372240 /* NSDictionary+Indexing.m */; }; DA0933CA1747A56A00DE1CEF /* MPInitialWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA0933C91747A56A00DE1CEF /* MPInitialWindow.xib */; }; DA0933CC1747AD2D00DE1CEF /* shot-laptop-leaning-iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = DA0933CB1747AD2D00DE1CEF /* shot-laptop-leaning-iphone.png */; }; @@ -32,15 +34,6 @@ DA3EF17D15A47744003ABF4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DA4425CC1557BED40052177D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC6326C148680650075AEA5 /* libjrswizzle.a */; }; - DA5E5C8817248AA1003798D8 /* crypto_aesctr.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C7B17248AA1003798D8 /* crypto_aesctr.h */; }; - DA5E5C8917248AA1003798D8 /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C7C17248AA1003798D8 /* crypto_scrypt.h */; }; - DA5E5C8A17248AA1003798D8 /* memlimit.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C7D17248AA1003798D8 /* memlimit.h */; }; - DA5E5C8B17248AA1003798D8 /* readpass.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C7E17248AA1003798D8 /* readpass.h */; }; - DA5E5C8C17248AA1003798D8 /* scryptenc.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C7F17248AA1003798D8 /* scryptenc.h */; }; - DA5E5C8D17248AA1003798D8 /* scryptenc_cpuperf.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C8017248AA1003798D8 /* scryptenc_cpuperf.h */; }; - DA5E5C8E17248AA1003798D8 /* sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C8117248AA1003798D8 /* sha256.h */; }; - DA5E5C8F17248AA1003798D8 /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C8217248AA1003798D8 /* sysendian.h */; }; - DA5E5C9017248AA1003798D8 /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C8317248AA1003798D8 /* warn.h */; }; DA5E5C9417248AA1003798D8 /* libscryptenc-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5E5C8717248AA1003798D8 /* libscryptenc-osx.a */; }; DA5E5CF61724A667003798D8 /* MPAlgorithm.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5E5C981724A667003798D8 /* MPAlgorithm.m */; }; DA5E5CF71724A667003798D8 /* MPAlgorithmV0.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5E5C9A1724A667003798D8 /* MPAlgorithmV0.m */; }; @@ -130,6 +123,87 @@ 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 */; }; DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45D815039823003ABA7C /* NSObject+PearlExport.h */; }; DAFE4A1415039824003ABA7C /* NSObject+PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45D915039823003ABA7C /* NSObject+PearlExport.m */; }; DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DA15039823003ABA7C /* NSString+PearlNSArrayFormat.h */; }; @@ -221,9 +295,13 @@ /* Begin PBXFileReference section */ 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Indexing.m"; sourceTree = ""; }; + 93D39240B5143E01F0B75E96 /* MPElementModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementModel.h; sourceTree = ""; }; 93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Indexing.h"; sourceTree = ""; }; + 93D394495528B10D1B61A2C3 /* MPElementCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementCollectionView.m; sourceTree = ""; }; + 93D3960D320FF8A072B092E3 /* MPElementCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementCollectionView.h; sourceTree = ""; }; 93D396D04E57792A54D437AC /* NSArray+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Indexing.h"; sourceTree = ""; }; 93D39AA1EE2E1E7B81372240 /* NSDictionary+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Indexing.m"; sourceTree = ""; }; + 93D39E73BF5CBF8E5B005CD3 /* MPElementModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementModel.m; sourceTree = ""; }; DA0933C91747A56A00DE1CEF /* MPInitialWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPInitialWindow.xib; sourceTree = ""; }; DA0933CB1747AD2D00DE1CEF /* shot-laptop-leaning-iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "shot-laptop-leaning-iphone.png"; sourceTree = ""; }; DA0933CF1747B91B00DE1CEF /* appstore.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = appstore.png; sourceTree = ""; }; @@ -245,15 +323,6 @@ DA5BFA4A147E415C00F98B1E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; DA5BFA4C147E415C00F98B1E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; DA5BFA4E147E415C00F98B1E /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - DA5E5C7B17248AA1003798D8 /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = ""; }; - DA5E5C7C17248AA1003798D8 /* crypto_scrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scrypt.h; sourceTree = ""; }; - DA5E5C7D17248AA1003798D8 /* memlimit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memlimit.h; sourceTree = ""; }; - DA5E5C7E17248AA1003798D8 /* readpass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = readpass.h; sourceTree = ""; }; - DA5E5C7F17248AA1003798D8 /* scryptenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc.h; sourceTree = ""; }; - DA5E5C8017248AA1003798D8 /* scryptenc_cpuperf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc_cpuperf.h; sourceTree = ""; }; - DA5E5C8117248AA1003798D8 /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; }; - DA5E5C8217248AA1003798D8 /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; }; - DA5E5C8317248AA1003798D8 /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; }; DA5E5C8717248AA1003798D8 /* libscryptenc-osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-osx.a"; sourceTree = ""; }; DA5E5C971724A667003798D8 /* MPAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAlgorithm.h; sourceTree = ""; }; DA5E5C981724A667003798D8 /* MPAlgorithm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithm.m; sourceTree = ""; }; @@ -373,6 +442,87 @@ 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 = ""; }; DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; DAFE45D815039823003ABA7C /* NSObject+PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+PearlExport.h"; sourceTree = ""; }; DAFE45D915039823003ABA7C /* NSObject+PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+PearlExport.m"; sourceTree = ""; }; @@ -530,28 +680,12 @@ DA5E5C7917248AA1003798D8 /* lib */ = { isa = PBXGroup; children = ( - DA5E5C7A17248AA1003798D8 /* include */, + DAEB938518AB0FFD000490CC /* include */, DA5E5C8717248AA1003798D8 /* libscryptenc-osx.a */, ); path = lib; sourceTree = ""; }; - DA5E5C7A17248AA1003798D8 /* include */ = { - isa = PBXGroup; - children = ( - DA5E5C7B17248AA1003798D8 /* crypto_aesctr.h */, - DA5E5C7C17248AA1003798D8 /* crypto_scrypt.h */, - DA5E5C7D17248AA1003798D8 /* memlimit.h */, - DA5E5C7E17248AA1003798D8 /* readpass.h */, - DA5E5C7F17248AA1003798D8 /* scryptenc.h */, - DA5E5C8017248AA1003798D8 /* scryptenc_cpuperf.h */, - DA5E5C8117248AA1003798D8 /* sha256.h */, - DA5E5C8217248AA1003798D8 /* sysendian.h */, - DA5E5C8317248AA1003798D8 /* warn.h */, - ); - path = include; - sourceTree = ""; - }; DA5E5C961724A667003798D8 /* ObjC */ = { isa = PBXGroup; children = ( @@ -608,6 +742,10 @@ DA5E5CC41724A667003798D8 /* MainMenu.xib */, DA5E5CC61724A667003798D8 /* main.m */, DA0933C91747A56A00DE1CEF /* MPInitialWindow.xib */, + 93D394495528B10D1B61A2C3 /* MPElementCollectionView.m */, + 93D3960D320FF8A072B092E3 /* MPElementCollectionView.h */, + 93D39E73BF5CBF8E5B005CD3 /* MPElementModel.m */, + 93D39240B5143E01F0B75E96 /* MPElementModel.h */, ); path = Mac; sourceTree = ""; @@ -793,6 +931,110 @@ name = Products; sourceTree = ""; }; + DAEB938518AB0FFD000490CC /* include */ = { + isa = PBXGroup; + children = ( + DAEB938618AB0FFD000490CC /* openssl */, + DAEB93CF18AB0FFD000490CC /* scrypt */, + ); + 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 = ( @@ -896,42 +1138,114 @@ 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 */, + 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 */, + DAEB93F518AB0FFD000490CC /* evp.h in Headers */, + DAEB941918AB0FFD000490CC /* ts.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 */, + DAEB93E518AB0FFD000490CC /* conf.h in Headers */, DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */, + DAEB940618AB0FFD000490CC /* pem2.h in Headers */, DAFE4A2615039824003ABA7C /* PearlLogger.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 */, - DA5E5C8817248AA1003798D8 /* crypto_aesctr.h in Headers */, - DA5E5C8917248AA1003798D8 /* crypto_scrypt.h in Headers */, - DA5E5C8A17248AA1003798D8 /* memlimit.h in Headers */, - DA5E5C8B17248AA1003798D8 /* readpass.h in Headers */, - DA5E5C8C17248AA1003798D8 /* scryptenc.h in Headers */, - DA5E5C8D17248AA1003798D8 /* scryptenc_cpuperf.h in Headers */, - DA5E5C8E17248AA1003798D8 /* sha256.h in Headers */, - DA5E5C8F17248AA1003798D8 /* sysendian.h in Headers */, - DA5E5C9017248AA1003798D8 /* warn.h in Headers */, + DAEB942918AB0FFD000490CC /* warn.h in Headers */, + DAEB93DB18AB0FFD000490CC /* asn1_mac.h in Headers */, + DAEB940518AB0FFD000490CC /* pem.h in Headers */, + DAEB942818AB0FFD000490CC /* sysendian.h in Headers */, + DAEB93FF18AB0FFD000490CC /* obj_mac.h in Headers */, + DAEB93E718AB0FFD000490CC /* crypto.h in Headers */, + DAEB941318AB0FFD000490CC /* ssl2.h in Headers */, + DAEB940D18AB0FFD000490CC /* ripemd.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1265,6 +1579,8 @@ DA5E5D051724A667003798D8 /* MPPasswordWindowController.m in Sources */, DA5E5D0C1724A667003798D8 /* main.m in Sources */, DA5E5D0D1724A667003798D8 /* MasterPassword.xcdatamodeld in Sources */, + 93D39C7C2BE7C0E0763B0177 /* MPElementCollectionView.m in Sources */, + 93D39C5789EFA607CF788082 /* MPElementModel.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1645,9 +1961,11 @@ CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements; CODE_SIGN_IDENTITY = "Mac Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Maarten Billemont (DWGU95U4ZD)"; COMBINE_HIDPI_IMAGES = YES; GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword-Info.plist"; + PROVISIONING_PROFILE = "9AEC6040-D157-4526-8CA9-FF0254B3A4A5"; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; }; @@ -1660,9 +1978,11 @@ CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements; CODE_SIGN_IDENTITY = "Mac Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; COMBINE_HIDPI_IMAGES = YES; GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword-Info.plist"; + PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; }; @@ -1756,9 +2076,11 @@ CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements; CODE_SIGN_IDENTITY = "Mac Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Maarten Billemont (HL3Q45LX9N)"; COMBINE_HIDPI_IMAGES = YES; GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword-Info.plist"; + PROVISIONING_PROFILE = "170D83FD-18FE-4A05-B13C-8D16876480C6"; SKIP_INSTALL = NO; WRAPPER_NAME = "Master Password.${WRAPPER_EXTENSION}"; }; diff --git a/MasterPassword/ObjC/Mac/en.lproj/MainMenu.xib b/MasterPassword/ObjC/Mac/en.lproj/MainMenu.xib index cecc2db5..5215d27e 100644 --- a/MasterPassword/ObjC/Mac/en.lproj/MainMenu.xib +++ b/MasterPassword/ObjC/Mac/en.lproj/MainMenu.xib @@ -1,780 +1,187 @@ - - - - 1070 - 12D78 - 3084 - 1187.37 - 626.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 3084 - - - NSCustomObject - NSMenu - NSMenuItem - NSUserDefaultsController - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AMainMenu - - _NSMainMenu - - - MPMacAppDelegate - - - YES - - - - - - - Users - - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - Users - - - - YES - New User - - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - - - - Preferences - - 2147483647 - - - submenuAction: - - Preferences - - - - Use iCloud - - 2147483647 - - - - - - YES - Synchronize available sites from your iCloud account. - - 2147483647 - - - - Synchronize available sites from your iCloud account. - - - Helvetica - 12 - 16 - - - 4 - - - - - - - - Open At Login - - 2147483647 - - - - - - YES - Always open Master Password at start-up. - - 2147483647 - - - - Always open Master Password at start-up. - - - - - - Remember Password - - 2147483647 - - - - - - YES - Remember the password while the application is running. - - 2147483647 - - - - Remember the password while the application is running. - - - - - - Save Password - - 2147483647 - - - - - - YES - Save the password in your keychain so you don't need to enter it again. - - 2147483647 - - - - Save the password in your keychain so you don't need to enter it again. - - - - - - Password Dialog Style - - 2147483647 - - - submenuAction: - - Password Dialog Style - - - - Regular - - 2147483647 - - - - - - HUD - - 2147483647 - - - 1 - - - - - - - Advanced - - 2147483647 - - - submenuAction: - - Advanced - - - - iCloud Truth Sync - - 2147483647 - - - - - - YES - Force this device's version of the truth upon all others. - - 2147483647 - - - - Force this device's version of the truth upon all others. - - - - - - - - YES - - - - - YES - YES - - - 2147483647 - - - - - - Show - p - 1310720 - 2147483647 - - - - - - YES - Lock - p - 1835008 - 2147483647 - - - - - - Quit - q - 1048576 - 2147483647 - - - - - YES - - - - - - - delegate - - - - 495 - - - - lockItem - - - - 726 - - - - statusMenu - - - - 731 - - - - useCloudItem - - - - 749 - - - - rememberPasswordItem - - - - 750 - - - - savePasswordItem - - - - 751 - - - - togglePreference: - - - - 752 - - - - togglePreference: - - - - 753 - - - - togglePreference: - - - - 754 - - - - newUser: - - - - 761 - - - - usersItem - - - - 762 - - - - createUserItem - - - - 763 - - - - lock: - - - - 764 - - - - dialogStyleHUD - - - - 771 - - - - dialogStyleRegular - - - - 772 - - - - togglePreference: - - - - 773 - - - - togglePreference: - - - - 774 - - - - rebuildCloud: - - - - 780 - - - - showPasswordWindow: - - - - 782 - - - - showItem - - - - 783 - - - - terminate: - - - - 784 - - - - togglePreference: - - - - 787 - - - - openAtLoginItem - - - - 788 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - - - - 494 - - - - - 548 - - - - - 716 - - - - - - - - - - - - - 717 - - - - - 718 - - - - - 719 - - - - - 720 - - - - - 739 - - - - - - - - 742 - - - - - - - - - - - - - - - - - 743 - - - - - 745 - - - - - 744 - - - - - 746 - - - - - 747 - - - - - 748 - - - - - 755 - - - - - - - - 756 - - - - - - - - - 757 - - - - - 759 - - - - - 765 - - - - - - - - 766 - - - - - - - - - 767 - - - - - 768 - - - - - 776 - - - - - - - - 777 - - - - - - - - - 778 - - - - - 779 - - - - - 785 - - - - - 786 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - ToolTip - - ToolTip - - Creating users is not yet supported. Please use the iOS app with iCloud enabled to create users and sites. - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 788 - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - 3 - - {11, 11} - {10, 3} - - YES - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MasterPassword/ObjC/iOS/MPUnlockViewController.m b/MasterPassword/ObjC/iOS/MPUnlockViewController.m index d34a8c5b..282b71b3 100644 --- a/MasterPassword/ObjC/iOS/MPUnlockViewController.m +++ b/MasterPassword/ObjC/iOS/MPUnlockViewController.m @@ -141,12 +141,12 @@ self.emergencyGeneratorContainer.alpha = 0; self.emergencyGeneratorContainer.hidden = YES; self.emergencyQueue = [NSOperationQueue new]; - [self.emergencyCounterStepper addTargetBlock:^(id sender, UIControlEvents event) { + [self.emergencyCounterStepper addTargetBlock:^(id sender, UIControlEvents event, id weakSelf) { self.emergencyCounter.text = PearlString( @"%lu", (unsigned long)self.emergencyCounterStepper.value ); [self updateEmergencyPassword]; } forControlEvents:UIControlEventValueChanged]; - [self.emergencyTypeControl addTargetBlock:^(id sender, UIControlEvents event) { + [self.emergencyTypeControl addTargetBlock:^(id sender, UIControlEvents event, id weakSelf) { [self updateEmergencyPassword]; } forControlEvents:UIControlEventValueChanged]; self.emergencyContentTipContainer.alpha = 0; diff --git a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj index ddacf78e..1ba8a520 100644 --- a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -48,15 +48,6 @@ DA5BFA4D147E415C00F98B1E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4C147E415C00F98B1E /* CoreGraphics.framework */; }; DA5BFA4F147E415C00F98B1E /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4E147E415C00F98B1E /* CoreData.framework */; }; DA5E5C3D1723681B003798D8 /* Square-bottom.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5E5C3C1723681B003798D8 /* Square-bottom.png */; }; - DA5E5C6E17248959003798D8 /* crypto_aesctr.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6517248959003798D8 /* crypto_aesctr.h */; }; - DA5E5C6F17248959003798D8 /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6617248959003798D8 /* crypto_scrypt.h */; }; - DA5E5C7017248959003798D8 /* memlimit.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6717248959003798D8 /* memlimit.h */; }; - DA5E5C7117248959003798D8 /* readpass.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6817248959003798D8 /* readpass.h */; }; - DA5E5C7217248959003798D8 /* scryptenc.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6917248959003798D8 /* scryptenc.h */; }; - DA5E5C7317248959003798D8 /* scryptenc_cpuperf.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6A17248959003798D8 /* scryptenc_cpuperf.h */; }; - DA5E5C7417248959003798D8 /* sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6B17248959003798D8 /* sha256.h */; }; - DA5E5C7517248959003798D8 /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6C17248959003798D8 /* sysendian.h */; }; - DA5E5C7617248959003798D8 /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6D17248959003798D8 /* warn.h */; }; DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B716406A4100B61001 /* Accounts.framework */; settings = {ATTRIBUTES = (Required, ); }; }; DA6701DE16406B7300B61001 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DD16406B7300B61001 /* Social.framework */; settings = {ATTRIBUTES = (Required, ); }; }; DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DF16406BB400B61001 /* AdSupport.framework */; settings = {ATTRIBUTES = (Required, ); }; }; @@ -282,6 +273,87 @@ DAE1EF5A17ED115E00BC0086 /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5417ED115E00BC0086 /* DCIntrospect.m */; }; DAE1EF5B17ED115E00BC0086 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5717ED115E00BC0086 /* DCStatusBarOverlay.m */; }; DAE1EF5C17ED118400BC0086 /* libDCIntrospect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE1EF2917ED112600BC0086 /* libDCIntrospect.a */; }; + DAEB933318AA537D000490CC /* crypto_aesctr.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E118AA537D000490CC /* crypto_aesctr.h */; }; + DAEB933418AA537D000490CC /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E218AA537D000490CC /* crypto_scrypt.h */; }; + DAEB933518AA537D000490CC /* memlimit.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E318AA537D000490CC /* memlimit.h */; }; + DAEB933618AA537D000490CC /* readpass.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E418AA537D000490CC /* readpass.h */; }; + DAEB933718AA537D000490CC /* scryptenc.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E518AA537D000490CC /* scryptenc.h */; }; + DAEB933818AA537D000490CC /* scryptenc_cpuperf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E618AA537D000490CC /* scryptenc_cpuperf.h */; }; + DAEB933918AA537D000490CC /* sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E718AA537D000490CC /* sha256.h */; }; + DAEB933A18AA537D000490CC /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E818AA537D000490CC /* sysendian.h */; }; + DAEB933B18AA537D000490CC /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92E918AA537D000490CC /* warn.h */; }; + DAEB933C18AA537D000490CC /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92EB18AA537D000490CC /* aes.h */; }; + DAEB933D18AA537D000490CC /* asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92EC18AA537D000490CC /* asn1.h */; }; + DAEB933E18AA537D000490CC /* asn1_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92ED18AA537D000490CC /* asn1_mac.h */; }; + DAEB933F18AA537D000490CC /* asn1t.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92EE18AA537D000490CC /* asn1t.h */; }; + DAEB934018AA537D000490CC /* bio.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92EF18AA537D000490CC /* bio.h */; }; + DAEB934118AA537D000490CC /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F018AA537D000490CC /* blowfish.h */; }; + DAEB934218AA537D000490CC /* bn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F118AA537D000490CC /* bn.h */; }; + DAEB934318AA537D000490CC /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F218AA537D000490CC /* buffer.h */; }; + DAEB934418AA537D000490CC /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F318AA537D000490CC /* camellia.h */; }; + DAEB934518AA537D000490CC /* cast.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F418AA537D000490CC /* cast.h */; }; + DAEB934618AA537D000490CC /* cms.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F518AA537D000490CC /* cms.h */; }; + DAEB934718AA537D000490CC /* comp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F618AA537D000490CC /* comp.h */; }; + DAEB934818AA537D000490CC /* conf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F718AA537D000490CC /* conf.h */; }; + DAEB934918AA537D000490CC /* conf_api.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F818AA537D000490CC /* conf_api.h */; }; + DAEB934A18AA537D000490CC /* crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92F918AA537D000490CC /* crypto.h */; }; + DAEB934B18AA537D000490CC /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FA18AA537D000490CC /* des.h */; }; + DAEB934C18AA537D000490CC /* des_old.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FB18AA537D000490CC /* des_old.h */; }; + DAEB934D18AA537D000490CC /* dh.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FC18AA537D000490CC /* dh.h */; }; + DAEB934E18AA537D000490CC /* dsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FD18AA537D000490CC /* dsa.h */; }; + DAEB934F18AA537D000490CC /* dso.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FE18AA537D000490CC /* dso.h */; }; + DAEB935018AA537D000490CC /* dtls1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB92FF18AA537D000490CC /* dtls1.h */; }; + DAEB935118AA537D000490CC /* e_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930018AA537D000490CC /* e_os2.h */; }; + DAEB935218AA537D000490CC /* ebcdic.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930118AA537D000490CC /* ebcdic.h */; }; + DAEB935318AA537D000490CC /* ec.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930218AA537D000490CC /* ec.h */; }; + DAEB935418AA537D000490CC /* ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930318AA537D000490CC /* ecdh.h */; }; + DAEB935518AA537D000490CC /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930418AA537D000490CC /* ecdsa.h */; }; + DAEB935618AA537D000490CC /* engine.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930518AA537D000490CC /* engine.h */; }; + DAEB935718AA537D000490CC /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930618AA537D000490CC /* err.h */; }; + DAEB935818AA537D000490CC /* evp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930718AA537D000490CC /* evp.h */; }; + DAEB935918AA537D000490CC /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930818AA537D000490CC /* hmac.h */; }; + DAEB935A18AA537D000490CC /* idea.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930918AA537D000490CC /* idea.h */; }; + DAEB935B18AA537D000490CC /* krb5_asn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930A18AA537D000490CC /* krb5_asn.h */; }; + DAEB935C18AA537D000490CC /* kssl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930B18AA537D000490CC /* kssl.h */; }; + DAEB935D18AA537D000490CC /* lhash.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930C18AA537D000490CC /* lhash.h */; }; + DAEB935E18AA537D000490CC /* md4.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930D18AA537D000490CC /* md4.h */; }; + DAEB935F18AA537D000490CC /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930E18AA537D000490CC /* md5.h */; }; + DAEB936018AA537D000490CC /* mdc2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB930F18AA537D000490CC /* mdc2.h */; }; + DAEB936118AA537D000490CC /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931018AA537D000490CC /* modes.h */; }; + DAEB936218AA537D000490CC /* obj_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931118AA537D000490CC /* obj_mac.h */; }; + DAEB936318AA537D000490CC /* objects.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931218AA537D000490CC /* objects.h */; }; + DAEB936418AA537D000490CC /* ocsp.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931318AA537D000490CC /* ocsp.h */; }; + DAEB936518AA537D000490CC /* opensslconf.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931418AA537D000490CC /* opensslconf.h */; }; + DAEB936618AA537D000490CC /* opensslv.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931518AA537D000490CC /* opensslv.h */; }; + DAEB936718AA537D000490CC /* ossl_typ.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931618AA537D000490CC /* ossl_typ.h */; }; + DAEB936818AA537D000490CC /* pem.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931718AA537D000490CC /* pem.h */; }; + DAEB936918AA537D000490CC /* pem2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931818AA537D000490CC /* pem2.h */; }; + DAEB936A18AA537D000490CC /* pkcs12.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931918AA537D000490CC /* pkcs12.h */; }; + DAEB936B18AA537D000490CC /* pkcs7.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931A18AA537D000490CC /* pkcs7.h */; }; + DAEB936C18AA537D000490CC /* pqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931B18AA537D000490CC /* pqueue.h */; }; + DAEB936D18AA537D000490CC /* rand.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931C18AA537D000490CC /* rand.h */; }; + DAEB936E18AA537D000490CC /* rc2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931D18AA537D000490CC /* rc2.h */; }; + DAEB936F18AA537D000490CC /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931E18AA537D000490CC /* rc4.h */; }; + DAEB937018AA537D000490CC /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB931F18AA537D000490CC /* ripemd.h */; }; + DAEB937118AA537D000490CC /* rsa.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932018AA537D000490CC /* rsa.h */; }; + DAEB937218AA537D000490CC /* safestack.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932118AA537D000490CC /* safestack.h */; }; + DAEB937318AA537D000490CC /* seed.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932218AA537D000490CC /* seed.h */; }; + DAEB937418AA537D000490CC /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932318AA537D000490CC /* sha.h */; }; + DAEB937518AA537D000490CC /* ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932418AA537D000490CC /* ssl.h */; }; + DAEB937618AA537D000490CC /* ssl2.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932518AA537D000490CC /* ssl2.h */; }; + DAEB937718AA537D000490CC /* ssl23.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932618AA537D000490CC /* ssl23.h */; }; + DAEB937818AA537D000490CC /* ssl3.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932718AA537D000490CC /* ssl3.h */; }; + DAEB937918AA537D000490CC /* stack.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932818AA537D000490CC /* stack.h */; }; + DAEB937A18AA537D000490CC /* symhacks.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932918AA537D000490CC /* symhacks.h */; }; + DAEB937B18AA537D000490CC /* tls1.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932A18AA537D000490CC /* tls1.h */; }; + DAEB937C18AA537D000490CC /* ts.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932B18AA537D000490CC /* ts.h */; }; + DAEB937D18AA537D000490CC /* txt_db.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932C18AA537D000490CC /* txt_db.h */; }; + DAEB937E18AA537D000490CC /* ui.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932D18AA537D000490CC /* ui.h */; }; + DAEB937F18AA537D000490CC /* ui_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932E18AA537D000490CC /* ui_compat.h */; }; + DAEB938018AA537D000490CC /* whrlpool.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB932F18AA537D000490CC /* whrlpool.h */; }; + DAEB938118AA537D000490CC /* x509.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB933018AA537D000490CC /* x509.h */; }; + DAEB938218AA537D000490CC /* x509_vfy.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB933118AA537D000490CC /* x509_vfy.h */; }; + DAEB938318AA537D000490CC /* x509v3.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB933218AA537D000490CC /* x509v3.h */; }; DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; }; DAFC5656172C573B00CB5CC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DAFC5683172C57EC00CB5CC5 /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */; }; @@ -460,15 +532,6 @@ DA5BFA4C147E415C00F98B1E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; DA5BFA4E147E415C00F98B1E /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; DA5E5C3C1723681B003798D8 /* Square-bottom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Square-bottom.png"; path = "Dividers/Square-bottom.png"; sourceTree = ""; }; - DA5E5C6517248959003798D8 /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = ""; }; - DA5E5C6617248959003798D8 /* crypto_scrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scrypt.h; sourceTree = ""; }; - DA5E5C6717248959003798D8 /* memlimit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memlimit.h; sourceTree = ""; }; - DA5E5C6817248959003798D8 /* readpass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = readpass.h; sourceTree = ""; }; - DA5E5C6917248959003798D8 /* scryptenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc.h; sourceTree = ""; }; - DA5E5C6A17248959003798D8 /* scryptenc_cpuperf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc_cpuperf.h; sourceTree = ""; }; - DA5E5C6B17248959003798D8 /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; }; - DA5E5C6C17248959003798D8 /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; }; - DA5E5C6D17248959003798D8 /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; }; DA6701B716406A4100B61001 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; }; DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; DA6701DF16406BB400B61001 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; @@ -1248,6 +1311,87 @@ DAE1EF5517ED115E00BC0086 /* DCIntrospectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospectSettings.h; sourceTree = ""; }; DAE1EF5617ED115E00BC0086 /* DCStatusBarOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCStatusBarOverlay.h; sourceTree = ""; }; DAE1EF5717ED115E00BC0086 /* DCStatusBarOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCStatusBarOverlay.m; sourceTree = ""; }; + DAEB92E118AA537D000490CC /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = ""; }; + DAEB92E218AA537D000490CC /* crypto_scrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scrypt.h; sourceTree = ""; }; + DAEB92E318AA537D000490CC /* memlimit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memlimit.h; sourceTree = ""; }; + DAEB92E418AA537D000490CC /* readpass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = readpass.h; sourceTree = ""; }; + DAEB92E518AA537D000490CC /* scryptenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc.h; sourceTree = ""; }; + DAEB92E618AA537D000490CC /* scryptenc_cpuperf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scryptenc_cpuperf.h; sourceTree = ""; }; + DAEB92E718AA537D000490CC /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; }; + DAEB92E818AA537D000490CC /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; }; + DAEB92E918AA537D000490CC /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; }; + DAEB92EB18AA537D000490CC /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = ""; }; + DAEB92EC18AA537D000490CC /* asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1.h; sourceTree = ""; }; + DAEB92ED18AA537D000490CC /* asn1_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1_mac.h; sourceTree = ""; }; + DAEB92EE18AA537D000490CC /* asn1t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1t.h; sourceTree = ""; }; + DAEB92EF18AA537D000490CC /* bio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bio.h; sourceTree = ""; }; + DAEB92F018AA537D000490CC /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = ""; }; + DAEB92F118AA537D000490CC /* bn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bn.h; sourceTree = ""; }; + DAEB92F218AA537D000490CC /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = ""; }; + DAEB92F318AA537D000490CC /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = ""; }; + DAEB92F418AA537D000490CC /* cast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast.h; sourceTree = ""; }; + DAEB92F518AA537D000490CC /* cms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cms.h; sourceTree = ""; }; + DAEB92F618AA537D000490CC /* comp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comp.h; sourceTree = ""; }; + DAEB92F718AA537D000490CC /* conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf.h; sourceTree = ""; }; + DAEB92F818AA537D000490CC /* conf_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf_api.h; sourceTree = ""; }; + DAEB92F918AA537D000490CC /* crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto.h; sourceTree = ""; }; + DAEB92FA18AA537D000490CC /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = ""; }; + DAEB92FB18AA537D000490CC /* des_old.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des_old.h; sourceTree = ""; }; + DAEB92FC18AA537D000490CC /* dh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dh.h; sourceTree = ""; }; + DAEB92FD18AA537D000490CC /* dsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsa.h; sourceTree = ""; }; + DAEB92FE18AA537D000490CC /* dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dso.h; sourceTree = ""; }; + DAEB92FF18AA537D000490CC /* dtls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtls1.h; sourceTree = ""; }; + DAEB930018AA537D000490CC /* e_os2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os2.h; sourceTree = ""; }; + DAEB930118AA537D000490CC /* ebcdic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ebcdic.h; sourceTree = ""; }; + DAEB930218AA537D000490CC /* ec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ec.h; sourceTree = ""; }; + DAEB930318AA537D000490CC /* ecdh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdh.h; sourceTree = ""; }; + DAEB930418AA537D000490CC /* ecdsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdsa.h; sourceTree = ""; }; + DAEB930518AA537D000490CC /* engine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = engine.h; sourceTree = ""; }; + DAEB930618AA537D000490CC /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = err.h; sourceTree = ""; }; + DAEB930718AA537D000490CC /* evp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = evp.h; sourceTree = ""; }; + DAEB930818AA537D000490CC /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = ""; }; + DAEB930918AA537D000490CC /* idea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idea.h; sourceTree = ""; }; + DAEB930A18AA537D000490CC /* krb5_asn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = krb5_asn.h; sourceTree = ""; }; + DAEB930B18AA537D000490CC /* kssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kssl.h; sourceTree = ""; }; + DAEB930C18AA537D000490CC /* lhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lhash.h; sourceTree = ""; }; + DAEB930D18AA537D000490CC /* md4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md4.h; sourceTree = ""; }; + DAEB930E18AA537D000490CC /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; }; + DAEB930F18AA537D000490CC /* mdc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mdc2.h; sourceTree = ""; }; + DAEB931018AA537D000490CC /* modes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modes.h; sourceTree = ""; }; + DAEB931118AA537D000490CC /* obj_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = obj_mac.h; sourceTree = ""; }; + DAEB931218AA537D000490CC /* objects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objects.h; sourceTree = ""; }; + DAEB931318AA537D000490CC /* ocsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ocsp.h; sourceTree = ""; }; + DAEB931418AA537D000490CC /* opensslconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslconf.h; sourceTree = ""; }; + DAEB931518AA537D000490CC /* opensslv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslv.h; sourceTree = ""; }; + DAEB931618AA537D000490CC /* ossl_typ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ossl_typ.h; sourceTree = ""; }; + DAEB931718AA537D000490CC /* pem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem.h; sourceTree = ""; }; + DAEB931818AA537D000490CC /* pem2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem2.h; sourceTree = ""; }; + DAEB931918AA537D000490CC /* pkcs12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs12.h; sourceTree = ""; }; + DAEB931A18AA537D000490CC /* pkcs7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs7.h; sourceTree = ""; }; + DAEB931B18AA537D000490CC /* pqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pqueue.h; sourceTree = ""; }; + DAEB931C18AA537D000490CC /* rand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rand.h; sourceTree = ""; }; + DAEB931D18AA537D000490CC /* rc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc2.h; sourceTree = ""; }; + DAEB931E18AA537D000490CC /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = ""; }; + DAEB931F18AA537D000490CC /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = ""; }; + DAEB932018AA537D000490CC /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rsa.h; sourceTree = ""; }; + DAEB932118AA537D000490CC /* safestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safestack.h; sourceTree = ""; }; + DAEB932218AA537D000490CC /* seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = seed.h; sourceTree = ""; }; + DAEB932318AA537D000490CC /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = ""; }; + DAEB932418AA537D000490CC /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl.h; sourceTree = ""; }; + DAEB932518AA537D000490CC /* ssl2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl2.h; sourceTree = ""; }; + DAEB932618AA537D000490CC /* ssl23.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl23.h; sourceTree = ""; }; + DAEB932718AA537D000490CC /* ssl3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl3.h; sourceTree = ""; }; + DAEB932818AA537D000490CC /* stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack.h; sourceTree = ""; }; + DAEB932918AA537D000490CC /* symhacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symhacks.h; sourceTree = ""; }; + DAEB932A18AA537D000490CC /* tls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tls1.h; sourceTree = ""; }; + DAEB932B18AA537D000490CC /* ts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ts.h; sourceTree = ""; }; + DAEB932C18AA537D000490CC /* txt_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = txt_db.h; sourceTree = ""; }; + DAEB932D18AA537D000490CC /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = ""; }; + DAEB932E18AA537D000490CC /* ui_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui_compat.h; sourceTree = ""; }; + DAEB932F18AA537D000490CC /* whrlpool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = whrlpool.h; sourceTree = ""; }; + DAEB933018AA537D000490CC /* x509.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509.h; sourceTree = ""; }; + DAEB933118AA537D000490CC /* x509_vfy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509_vfy.h; sourceTree = ""; }; + DAEB933218AA537D000490CC /* x509v3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509v3.h; sourceTree = ""; }; DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libInAppSettingsKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAFC5659172C573B00CB5CC5 /* InAppSettingsKit-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "InAppSettingsKit-Prefix.pch"; sourceTree = ""; }; @@ -1557,15 +1701,8 @@ DA5E5C6417248959003798D8 /* include */ = { isa = PBXGroup; children = ( - DA5E5C6517248959003798D8 /* crypto_aesctr.h */, - DA5E5C6617248959003798D8 /* crypto_scrypt.h */, - DA5E5C6717248959003798D8 /* memlimit.h */, - DA5E5C6817248959003798D8 /* readpass.h */, - DA5E5C6917248959003798D8 /* scryptenc.h */, - DA5E5C6A17248959003798D8 /* scryptenc_cpuperf.h */, - DA5E5C6B17248959003798D8 /* sha256.h */, - DA5E5C6C17248959003798D8 /* sysendian.h */, - DA5E5C6D17248959003798D8 /* warn.h */, + DAEB92E018AA537D000490CC /* scrypt */, + DAEB92EA18AA537D000490CC /* openssl */, ); path = include; sourceTree = ""; @@ -2578,6 +2715,101 @@ path = DCIntrospect/DCIntrospect; sourceTree = ""; }; + DAEB92E018AA537D000490CC /* scrypt */ = { + isa = PBXGroup; + children = ( + DAEB92E118AA537D000490CC /* crypto_aesctr.h */, + DAEB92E218AA537D000490CC /* crypto_scrypt.h */, + DAEB92E318AA537D000490CC /* memlimit.h */, + DAEB92E418AA537D000490CC /* readpass.h */, + DAEB92E518AA537D000490CC /* scryptenc.h */, + DAEB92E618AA537D000490CC /* scryptenc_cpuperf.h */, + DAEB92E718AA537D000490CC /* sha256.h */, + DAEB92E818AA537D000490CC /* sysendian.h */, + DAEB92E918AA537D000490CC /* warn.h */, + ); + path = scrypt; + sourceTree = ""; + }; + DAEB92EA18AA537D000490CC /* openssl */ = { + isa = PBXGroup; + children = ( + DAEB92EB18AA537D000490CC /* aes.h */, + DAEB92EC18AA537D000490CC /* asn1.h */, + DAEB92ED18AA537D000490CC /* asn1_mac.h */, + DAEB92EE18AA537D000490CC /* asn1t.h */, + DAEB92EF18AA537D000490CC /* bio.h */, + DAEB92F018AA537D000490CC /* blowfish.h */, + DAEB92F118AA537D000490CC /* bn.h */, + DAEB92F218AA537D000490CC /* buffer.h */, + DAEB92F318AA537D000490CC /* camellia.h */, + DAEB92F418AA537D000490CC /* cast.h */, + DAEB92F518AA537D000490CC /* cms.h */, + DAEB92F618AA537D000490CC /* comp.h */, + DAEB92F718AA537D000490CC /* conf.h */, + DAEB92F818AA537D000490CC /* conf_api.h */, + DAEB92F918AA537D000490CC /* crypto.h */, + DAEB92FA18AA537D000490CC /* des.h */, + DAEB92FB18AA537D000490CC /* des_old.h */, + DAEB92FC18AA537D000490CC /* dh.h */, + DAEB92FD18AA537D000490CC /* dsa.h */, + DAEB92FE18AA537D000490CC /* dso.h */, + DAEB92FF18AA537D000490CC /* dtls1.h */, + DAEB930018AA537D000490CC /* e_os2.h */, + DAEB930118AA537D000490CC /* ebcdic.h */, + DAEB930218AA537D000490CC /* ec.h */, + DAEB930318AA537D000490CC /* ecdh.h */, + DAEB930418AA537D000490CC /* ecdsa.h */, + DAEB930518AA537D000490CC /* engine.h */, + DAEB930618AA537D000490CC /* err.h */, + DAEB930718AA537D000490CC /* evp.h */, + DAEB930818AA537D000490CC /* hmac.h */, + DAEB930918AA537D000490CC /* idea.h */, + DAEB930A18AA537D000490CC /* krb5_asn.h */, + DAEB930B18AA537D000490CC /* kssl.h */, + DAEB930C18AA537D000490CC /* lhash.h */, + DAEB930D18AA537D000490CC /* md4.h */, + DAEB930E18AA537D000490CC /* md5.h */, + DAEB930F18AA537D000490CC /* mdc2.h */, + DAEB931018AA537D000490CC /* modes.h */, + DAEB931118AA537D000490CC /* obj_mac.h */, + DAEB931218AA537D000490CC /* objects.h */, + DAEB931318AA537D000490CC /* ocsp.h */, + DAEB931418AA537D000490CC /* opensslconf.h */, + DAEB931518AA537D000490CC /* opensslv.h */, + DAEB931618AA537D000490CC /* ossl_typ.h */, + DAEB931718AA537D000490CC /* pem.h */, + DAEB931818AA537D000490CC /* pem2.h */, + DAEB931918AA537D000490CC /* pkcs12.h */, + DAEB931A18AA537D000490CC /* pkcs7.h */, + DAEB931B18AA537D000490CC /* pqueue.h */, + DAEB931C18AA537D000490CC /* rand.h */, + DAEB931D18AA537D000490CC /* rc2.h */, + DAEB931E18AA537D000490CC /* rc4.h */, + DAEB931F18AA537D000490CC /* ripemd.h */, + DAEB932018AA537D000490CC /* rsa.h */, + DAEB932118AA537D000490CC /* safestack.h */, + DAEB932218AA537D000490CC /* seed.h */, + DAEB932318AA537D000490CC /* sha.h */, + DAEB932418AA537D000490CC /* ssl.h */, + DAEB932518AA537D000490CC /* ssl2.h */, + DAEB932618AA537D000490CC /* ssl23.h */, + DAEB932718AA537D000490CC /* ssl3.h */, + DAEB932818AA537D000490CC /* stack.h */, + DAEB932918AA537D000490CC /* symhacks.h */, + DAEB932A18AA537D000490CC /* tls1.h */, + DAEB932B18AA537D000490CC /* ts.h */, + DAEB932C18AA537D000490CC /* txt_db.h */, + DAEB932D18AA537D000490CC /* ui.h */, + DAEB932E18AA537D000490CC /* ui_compat.h */, + DAEB932F18AA537D000490CC /* whrlpool.h */, + DAEB933018AA537D000490CC /* x509.h */, + DAEB933118AA537D000490CC /* x509_vfy.h */, + DAEB933218AA537D000490CC /* x509v3.h */, + ); + path = openssl; + sourceTree = ""; + }; DAFC5657172C573B00CB5CC5 /* InAppSettingsKit */ = { isa = PBXGroup; children = ( @@ -2841,66 +3073,138 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + DAEB938118AA537D000490CC /* x509.h in Headers */, DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */, + DAEB936118AA537D000490CC /* modes.h in Headers */, DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */, DAFE4A1715039824003ABA7C /* NSString+PearlSEL.h in Headers */, + DAEB936F18AA537D000490CC /* rc4.h in Headers */, + DAEB933318AA537D000490CC /* crypto_aesctr.h in Headers */, + DAEB936718AA537D000490CC /* ossl_typ.h in Headers */, + DAEB937018AA537D000490CC /* ripemd.h in Headers */, + DAEB933F18AA537D000490CC /* asn1t.h in Headers */, + DAEB936418AA537D000490CC /* ocsp.h in Headers */, + DAEB934518AA537D000490CC /* cast.h in Headers */, + DAEB936E18AA537D000490CC /* rc2.h in Headers */, + DAEB937718AA537D000490CC /* ssl23.h in Headers */, + DAEB937918AA537D000490CC /* stack.h in Headers */, + DAEB936B18AA537D000490CC /* pkcs7.h in Headers */, DAFE4A1915039824003ABA7C /* Pearl.h in Headers */, DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */, + DAEB938218AA537D000490CC /* x509_vfy.h in Headers */, + DAEB937118AA537D000490CC /* rsa.h in Headers */, + DAEB936318AA537D000490CC /* objects.h in Headers */, DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */, + DAEB935018AA537D000490CC /* dtls1.h in Headers */, DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */, DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */, + DAEB934E18AA537D000490CC /* dsa.h in Headers */, + DAEB935A18AA537D000490CC /* idea.h in Headers */, + DAEB933A18AA537D000490CC /* sysendian.h in Headers */, DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */, DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */, DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */, + DAEB934418AA537D000490CC /* camellia.h in Headers */, DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */, + DAEB936D18AA537D000490CC /* rand.h in Headers */, DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */, DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */, DAFE4A2F15039824003ABA7C /* PearlStringUtils.h in Headers */, + DAEB935318AA537D000490CC /* ec.h in Headers */, + DAEB937818AA537D000490CC /* ssl3.h in Headers */, + DAEB935E18AA537D000490CC /* md4.h in Headers */, + DAEB933518AA537D000490CC /* memlimit.h in Headers */, DAFE4A3315039824003ABA7C /* Pearl-Crypto.h in Headers */, + DAEB937318AA537D000490CC /* seed.h in Headers */, + DAEB935918AA537D000490CC /* hmac.h in Headers */, + DAEB936018AA537D000490CC /* mdc2.h in Headers */, DAFE4A3415039824003ABA7C /* PearlCryptUtils.h in Headers */, + DAEB933918AA537D000490CC /* sha256.h in Headers */, DAFE4A3615039824003ABA7C /* PearlKeyChain.h in Headers */, + DAEB936818AA537D000490CC /* pem.h in Headers */, DAFE4A3815039824003ABA7C /* PearlRSAKey.h in Headers */, + DAEB934618AA537D000490CC /* cms.h in Headers */, + DAEB935F18AA537D000490CC /* md5.h in Headers */, + DAEB934B18AA537D000490CC /* des.h in Headers */, + DAEB934018AA537D000490CC /* bio.h in Headers */, DAFE4A3A15039824003ABA7C /* PearlSCrypt.h in Headers */, + DAEB933C18AA537D000490CC /* aes.h in Headers */, + DAEB937618AA537D000490CC /* ssl2.h in Headers */, DAFE4A3C15039824003ABA7C /* Pearl-UIKit-Dependencies.h in Headers */, + DAEB935B18AA537D000490CC /* krb5_asn.h in Headers */, + DAEB935818AA537D000490CC /* evp.h in Headers */, + DAEB934118AA537D000490CC /* blowfish.h in Headers */, + DAEB935218AA537D000490CC /* ebcdic.h in Headers */, + DAEB937218AA537D000490CC /* safestack.h in Headers */, DAFE4A3D15039824003ABA7C /* Pearl-UIKit.h in Headers */, DAFE4A3E15039824003ABA7C /* PearlAlert.h in Headers */, DAFE4A4015039824003ABA7C /* PearlArrayTVC.h in Headers */, + DAEB934718AA537D000490CC /* comp.h in Headers */, + DAEB933E18AA537D000490CC /* asn1_mac.h in Headers */, DAFE4A4215039824003ABA7C /* PearlBoxView.h in Headers */, + DAEB936618AA537D000490CC /* opensslv.h in Headers */, + DAEB936518AA537D000490CC /* opensslconf.h in Headers */, + DAEB935D18AA537D000490CC /* lhash.h in Headers */, + DAEB937E18AA537D000490CC /* ui.h in Headers */, + DAEB935518AA537D000490CC /* ecdsa.h in Headers */, + DAEB935718AA537D000490CC /* err.h in Headers */, DAFE4A4415039824003ABA7C /* PearlGradientView.h in Headers */, + DAEB937C18AA537D000490CC /* ts.h in Headers */, DAFE4A4615039824003ABA7C /* PearlLayout.h in Headers */, + DAEB937A18AA537D000490CC /* symhacks.h in Headers */, DAFE4A4815039824003ABA7C /* PearlLayoutView.h in Headers */, + DAEB933618AA537D000490CC /* readpass.h in Headers */, DAFE4A4A15039824003ABA7C /* PearlMessageView.h in Headers */, + DAEB934818AA537D000490CC /* conf.h in Headers */, DAFE4A4C15039824003ABA7C /* PearlRootViewController.h in Headers */, DAFE4A4E15039824003ABA7C /* PearlSheet.h in Headers */, DAFE4A5015039824003ABA7C /* PearlUIDebug.h in Headers */, DAFE4A5215039824003ABA7C /* PearlUIUtils.h in Headers */, + DAEB937418AA537D000490CC /* sha.h in Headers */, + DAEB938018AA537D000490CC /* whrlpool.h in Headers */, + DAEB933718AA537D000490CC /* scryptenc.h in Headers */, DAFE4A5415039824003ABA7C /* PearlValidatingTextField.h in Headers */, + DAEB933D18AA537D000490CC /* asn1.h in Headers */, + DAEB933B18AA537D000490CC /* warn.h in Headers */, DAFE4A5615039824003ABA7C /* PearlWebViewController.h in Headers */, + DAEB934318AA537D000490CC /* buffer.h in Headers */, + DAEB936A18AA537D000490CC /* pkcs12.h in Headers */, DAFE4A5815039824003ABA7C /* UIImage+PearlScaling.h in Headers */, DAFE4A63150399FF003ABA7C /* PearlAppDelegate.h in Headers */, DA30E9CE15722ECA00A68B4C /* NSBundle+PearlMutableInfo.h in Headers */, DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */, + DAEB936918AA537D000490CC /* pem2.h in Headers */, + DAEB937F18AA537D000490CC /* ui_compat.h in Headers */, DAFE4A63150399FF003ABA84 /* UIControl+PearlBlocks.h in Headers */, + DAEB934A18AA537D000490CC /* crypto.h in Headers */, + DAEB935618AA537D000490CC /* engine.h in Headers */, + DAEB935118AA537D000490CC /* e_os2.h in Headers */, DAFE4A63150399FF003ABA88 /* NSObject+PearlKVO.h in Headers */, DAFE4A63150399FF003ABA8C /* UIControl+PearlSelect.h in Headers */, DAFE4A63150399FF003ABA90 /* UIScrollView+PearlFlashingIndicators.h in Headers */, + DAEB934F18AA537D000490CC /* dso.h in Headers */, DAFE4A63150399FF003ABA94 /* NSDateFormatter+RFC3339.h in Headers */, + DAEB934C18AA537D000490CC /* des_old.h in Headers */, 93D39C34FE35830EF5BE1D2A /* NSArray+Indexing.h in Headers */, + DAEB936C18AA537D000490CC /* pqueue.h in Headers */, + DAEB937B18AA537D000490CC /* tls1.h in Headers */, + DAEB933818AA537D000490CC /* scryptenc_cpuperf.h in Headers */, 93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */, + DAEB935418AA537D000490CC /* ecdh.h in Headers */, + DAEB937D18AA537D000490CC /* txt_db.h in Headers */, 93D3932889B6B4206E66A6D6 /* PearlEMail.h in Headers */, + DAEB934D18AA537D000490CC /* dh.h in Headers */, + DAEB938318AA537D000490CC /* x509v3.h in Headers */, + DAEB935C18AA537D000490CC /* kssl.h in Headers */, + DAEB933418AA537D000490CC /* crypto_scrypt.h in Headers */, DA3509FE15F101A500C14A8E /* PearlQueue.h in Headers */, + DAEB934918AA537D000490CC /* conf_api.h in Headers */, 93D396BA1C74C4A06FD86437 /* PearlOverlay.h in Headers */, + DAEB937518AA537D000490CC /* ssl.h in Headers */, 93D3992FA1546E01F498F665 /* PearlNavigationController.h in Headers */, - DA5E5C6E17248959003798D8 /* crypto_aesctr.h in Headers */, - DA5E5C6F17248959003798D8 /* crypto_scrypt.h in Headers */, - DA5E5C7017248959003798D8 /* memlimit.h in Headers */, - DA5E5C7117248959003798D8 /* readpass.h in Headers */, - DA5E5C7217248959003798D8 /* scryptenc.h in Headers */, - DA5E5C7317248959003798D8 /* scryptenc_cpuperf.h in Headers */, - DA5E5C7417248959003798D8 /* sha256.h in Headers */, - DA5E5C7517248959003798D8 /* sysendian.h in Headers */, - DA5E5C7617248959003798D8 /* warn.h in Headers */, 93D39B842AB9A5D072810D76 /* NSError+MPFullDescription.h in Headers */, + DAEB936218AA537D000490CC /* obj_mac.h in Headers */, + DAEB934218AA537D000490CC /* bn.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Scripts/updateDependencies b/Scripts/updateDependencies index d3a93c98..99d0d2e4 100755 --- a/Scripts/updateDependencies +++ b/Scripts/updateDependencies @@ -5,7 +5,7 @@ shopt -s extglob ## Submodules that need to be checked out. -dependencies=( External/{FontReplacer,InAppSettingsKit,Pearl{,:External/jrswizzle,:External/uicolor-utilities,:External/iOSPorts},google-plus-ios-sdk,UbiquityStoreManager,RHStatusItemView,LoveLyndir,DCIntrospect} ) +dependencies=( External/{FontReplacer,InAppSettingsKit,Pearl{,:External/jrswizzle,:External/uicolor-utilities},google-plus-ios-sdk,UbiquityStoreManager,RHStatusItemView,LoveLyndir,DCIntrospect} ) ## Custom migration. # None yet. diff --git a/Site/2013-05/algorithm.html b/Site/2013-05/algorithm.html index add3f2f9..9fe24884 100644 --- a/Site/2013-05/algorithm.html +++ b/Site/2013-05/algorithm.html @@ -40,7 +40,7 @@
  • FAQ
  • Algorithm
  • Support
  • -
  • Source
  • +
  • Source (GPL)