mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 21:42:32 +00:00
Updated Readme
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
4C77E37715B84A240093A587 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37515B84A240093A587 /* Credits.rtf */; };
|
||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
||||
4C88763415BABA30003D2CE9 /* PasswordWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C88763315BABA30003D2CE9 /* PasswordWindow.xib */; };
|
||||
4CAD742E15B8860800104512 /* AesInputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73E615B8860800104512 /* AesInputStream.m */; };
|
||||
4CAD742F15B8860800104512 /* AesOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73E815B8860800104512 /* AesOutputStream.m */; };
|
||||
4CAD743015B8860800104512 /* Arc4RandomStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73EA15B8860800104512 /* Arc4RandomStream.m */; };
|
||||
@@ -81,6 +82,7 @@
|
||||
4C77E37815B84A240093A587 /* MPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = "<group>"; };
|
||||
4C77E37915B84A240093A587 /* MPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = "<group>"; };
|
||||
4C77E37C15B84A240093A587 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
4C88763315BABA30003D2CE9 /* PasswordWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordWindow.xib; sourceTree = "<group>"; };
|
||||
4CAD73E515B8860800104512 /* AesInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AesInputStream.h; sourceTree = "<group>"; };
|
||||
4CAD73E615B8860800104512 /* AesInputStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AesInputStream.m; sourceTree = "<group>"; };
|
||||
4CAD73E715B8860800104512 /* AesOutputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AesOutputStream.h; sourceTree = "<group>"; };
|
||||
@@ -195,6 +197,7 @@
|
||||
children = (
|
||||
4C77E37B15B84A240093A587 /* MainMenu.xib */,
|
||||
4C06398E15B980640004DE27 /* OutlineView.xib */,
|
||||
4C88763315BABA30003D2CE9 /* PasswordWindow.xib */,
|
||||
);
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
@@ -478,6 +481,7 @@
|
||||
4CAD748015B887FD00104512 /* LICENSE.txt in Resources */,
|
||||
4CAD748115B887FD00104512 /* README.markdown in Resources */,
|
||||
4C06398F15B980640004DE27 /* OutlineView.xib in Resources */,
|
||||
4C88763415BABA30003D2CE9 /* PasswordWindow.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ NSString *const kOutlineViewIdentifier = @"OutlineView";
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
_database = [[MPDatabaseDocument alloc] initWithFile:nil andPassword:@""];
|
||||
//_database = [[MPDatabaseDocument alloc] initWithFile:NSURL password:<#(NSString *)#> keyfile:<#(NSURL *)#>
|
||||
|
||||
_outlineDelegate = [[MPOutlineViewDelegate alloc] init];
|
||||
_datasource = [[MPOutlineDataSource alloc] init];
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
@interface MPDatabaseDocument : NSObject
|
||||
|
||||
- (id)initWithFile:(NSURL *)file andPassword:(NSString *)password;
|
||||
- (id)initWithFile:(NSURL *)file andKeyfile:(NSURL *)keyfile;
|
||||
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
|
||||
|
||||
@end
|
||||
|
||||
@@ -11,46 +11,39 @@
|
||||
|
||||
@interface MPDatabaseDocument ()
|
||||
@property (retain) KdbTree *tree;
|
||||
- (id)initWithFile:(NSURL *)file andKdbPassword:(KdbPassword *)password;
|
||||
@end
|
||||
|
||||
@implementation MPDatabaseDocument
|
||||
|
||||
@synthesize tree = _tree;
|
||||
|
||||
- (id)initWithFile:(NSURL *)file andKeyfile:(NSURL *)keyfile {
|
||||
KdbPassword *password = [[KdbPassword alloc] initWithKeyfile:[keyfile path]];
|
||||
[self initWithFile:file andKdbPassword:password];
|
||||
[password release];
|
||||
return self;
|
||||
- (id)init {
|
||||
return [self initWithFile:nil password:nil keyfile:nil];
|
||||
}
|
||||
|
||||
- (id)initWithFile:(NSURL *)file andPassword:(NSString *)password {
|
||||
KdbPassword *kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding];
|
||||
[self initWithFile:file andKdbPassword:kdbPassword];
|
||||
[password release];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFile:(NSURL *)file andKdbPassword:(KdbPassword *)password {
|
||||
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
NSString *path = [file path];
|
||||
BOOL isReadable = [[NSFileManager defaultManager] isReadableFileAtPath:path];
|
||||
BOOL isDirectory = [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory];
|
||||
// We may need more tests
|
||||
if(isReadable && NO == isDirectory) {
|
||||
@try {
|
||||
self.tree = [KdbReaderFactory load:[file path] withPassword:password];
|
||||
// test for supplied parameters
|
||||
KdbPassword *kdbPassword = nil;
|
||||
if( password != nil ) {
|
||||
if( key != nil ) {
|
||||
kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding keyfile:[key path]];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
// Log the error but proceede
|
||||
NSLog(@"Could not load the Database at path:%@", file);
|
||||
else {
|
||||
kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding];
|
||||
}
|
||||
}
|
||||
|
||||
@try {
|
||||
_tree = [KdbReaderFactory load:[file path] withPassword:kdbPassword];
|
||||
}
|
||||
@catch (NSException *exception) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
121
MacPass/PasswordWindow.xib
Normal file
121
MacPass/PasswordWindow.xib
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1070</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">2182</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>NSWindowTemplate</string>
|
||||
<string>NSView</string>
|
||||
<string>NSCustomObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">NSObject</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="406222252">
|
||||
<int key="NSWindowStyleMask">15</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{196, 207}, {480, 270}}</string>
|
||||
<int key="NSWTFlags">611845120</int>
|
||||
<string key="NSWindowTitle">Window</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="805694289">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{480, 270}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:20</string>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords"/>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">293</int>
|
||||
<reference key="object" ref="406222252"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="805694289"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">294</int>
|
||||
<reference key="object" ref="805694289"/>
|
||||
<reference key="parent" ref="406222252"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="293.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="YES" key="293.NSWindowTemplate.visibleAtLaunch"/>
|
||||
<string key="294.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">294</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<bool key="IBDocument.UseAutolayout">YES</bool>
|
||||
</data>
|
||||
</archive>
|
||||
12
README.md
12
README.md
@@ -1,13 +1,11 @@
|
||||
MacPass
|
||||
=======
|
||||
|
||||
There a lot of iOS KeePass Tools around but a distinct lack of a good OS X Version.
|
||||
KeePass can be used as is via Mono on OS X but lacks vital Functionality.
|
||||
There a lot of iOS KeePass tools around but a distinct lack of a good OS X Version.
|
||||
KeePass can be used as is via Mono on OS X but lacks vital functionality.
|
||||
|
||||
This is a Attemtp to make create OS X port that should at least be able to read KeePass files.
|
||||
Futher down the road there might be a complete port but. Maybe.
|
||||
|
||||
Vital work is used in this Port.
|
||||
This is an attemtp to create amn OS X port that should at least be able to read KeePass files.
|
||||
Editing and synching capabilities might get added in the future.
|
||||
|
||||
Licence
|
||||
-------
|
||||
@@ -29,6 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
Copyright
|
||||
---------
|
||||
|
||||
This Project is based upon the following work:
|
||||
|
||||
[KissXML](https://github.com/robbiehanson/KissXML) Copyright 2012 Robbie Hanson. All rights reserver.
|
||||
|
||||
[MiniKeePass](https://github.com/MiniKeePass/MiniKeePass) Copyright 2011 Jason Rush and John Flanagan. All rights reserved.
|
||||
|
||||
Reference in New Issue
Block a user