mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 03:32:40 +00:00
Updated Readme
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
4C77E37715B84A240093A587 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37515B84A240093A587 /* Credits.rtf */; };
|
4C77E37715B84A240093A587 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37515B84A240093A587 /* Credits.rtf */; };
|
||||||
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
4C77E37A15B84A240093A587 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C77E37915B84A240093A587 /* MPAppDelegate.m */; };
|
||||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C77E37B15B84A240093A587 /* MainMenu.xib */; };
|
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 */; };
|
4CAD742E15B8860800104512 /* AesInputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73E615B8860800104512 /* AesInputStream.m */; };
|
||||||
4CAD742F15B8860800104512 /* AesOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73E815B8860800104512 /* AesOutputStream.m */; };
|
4CAD742F15B8860800104512 /* AesOutputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73E815B8860800104512 /* AesOutputStream.m */; };
|
||||||
4CAD743015B8860800104512 /* Arc4RandomStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD73EA15B8860800104512 /* Arc4RandomStream.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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
4CAD73E715B8860800104512 /* AesOutputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AesOutputStream.h; sourceTree = "<group>"; };
|
||||||
@@ -195,6 +197,7 @@
|
|||||||
children = (
|
children = (
|
||||||
4C77E37B15B84A240093A587 /* MainMenu.xib */,
|
4C77E37B15B84A240093A587 /* MainMenu.xib */,
|
||||||
4C06398E15B980640004DE27 /* OutlineView.xib */,
|
4C06398E15B980640004DE27 /* OutlineView.xib */,
|
||||||
|
4C88763315BABA30003D2CE9 /* PasswordWindow.xib */,
|
||||||
);
|
);
|
||||||
name = Views;
|
name = Views;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -478,6 +481,7 @@
|
|||||||
4CAD748015B887FD00104512 /* LICENSE.txt in Resources */,
|
4CAD748015B887FD00104512 /* LICENSE.txt in Resources */,
|
||||||
4CAD748115B887FD00104512 /* README.markdown in Resources */,
|
4CAD748115B887FD00104512 /* README.markdown in Resources */,
|
||||||
4C06398F15B980640004DE27 /* OutlineView.xib in Resources */,
|
4C06398F15B980640004DE27 /* OutlineView.xib in Resources */,
|
||||||
|
4C88763415BABA30003D2CE9 /* PasswordWindow.xib in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ NSString *const kOutlineViewIdentifier = @"OutlineView";
|
|||||||
|
|
||||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||||
{
|
{
|
||||||
_database = [[MPDatabaseDocument alloc] initWithFile:nil andPassword:@""];
|
//_database = [[MPDatabaseDocument alloc] initWithFile:NSURL password:<#(NSString *)#> keyfile:<#(NSURL *)#>
|
||||||
|
|
||||||
_outlineDelegate = [[MPOutlineViewDelegate alloc] init];
|
_outlineDelegate = [[MPOutlineViewDelegate alloc] init];
|
||||||
_datasource = [[MPOutlineDataSource alloc] init];
|
_datasource = [[MPOutlineDataSource alloc] init];
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
@interface MPDatabaseDocument : NSObject
|
@interface MPDatabaseDocument : NSObject
|
||||||
|
|
||||||
- (id)initWithFile:(NSURL *)file andPassword:(NSString *)password;
|
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key;
|
||||||
- (id)initWithFile:(NSURL *)file andKeyfile:(NSURL *)keyfile;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -11,46 +11,39 @@
|
|||||||
|
|
||||||
@interface MPDatabaseDocument ()
|
@interface MPDatabaseDocument ()
|
||||||
@property (retain) KdbTree *tree;
|
@property (retain) KdbTree *tree;
|
||||||
- (id)initWithFile:(NSURL *)file andKdbPassword:(KdbPassword *)password;
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation MPDatabaseDocument
|
@implementation MPDatabaseDocument
|
||||||
|
|
||||||
@synthesize tree = _tree;
|
@synthesize tree = _tree;
|
||||||
|
|
||||||
- (id)initWithFile:(NSURL *)file andKeyfile:(NSURL *)keyfile {
|
- (id)init {
|
||||||
KdbPassword *password = [[KdbPassword alloc] initWithKeyfile:[keyfile path]];
|
return [self initWithFile:nil password:nil keyfile:nil];
|
||||||
[self initWithFile:file andKdbPassword:password];
|
|
||||||
[password release];
|
|
||||||
return self;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initWithFile:(NSURL *)file andPassword:(NSString *)password {
|
- (id)initWithFile:(NSURL *)file password:(NSString *)password keyfile:(NSURL *)key
|
||||||
KdbPassword *kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding];
|
{
|
||||||
[self initWithFile:file andKdbPassword:kdbPassword];
|
|
||||||
[password release];
|
|
||||||
return self;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id)initWithFile:(NSURL *)file andKdbPassword:(KdbPassword *)password {
|
|
||||||
self = [super init];
|
self = [super init];
|
||||||
if (self) {
|
if (self) {
|
||||||
NSString *path = [file path];
|
// test for supplied parameters
|
||||||
BOOL isReadable = [[NSFileManager defaultManager] isReadableFileAtPath:path];
|
KdbPassword *kdbPassword = nil;
|
||||||
BOOL isDirectory = [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory];
|
if( password != nil ) {
|
||||||
// We may need more tests
|
if( key != nil ) {
|
||||||
if(isReadable && NO == isDirectory) {
|
kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding keyfile:[key path]];
|
||||||
@try {
|
|
||||||
self.tree = [KdbReaderFactory load:[file path] withPassword:password];
|
|
||||||
}
|
}
|
||||||
@catch (NSException *exception) {
|
else {
|
||||||
// Log the error but proceede
|
kdbPassword = [[KdbPassword alloc] initWithPassword:password encoding:NSUTF8StringEncoding];
|
||||||
NSLog(@"Could not load the Database at path:%@", file);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@try {
|
||||||
|
_tree = [KdbReaderFactory load:[file path] withPassword:kdbPassword];
|
||||||
|
}
|
||||||
|
@catch (NSException *exception) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@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
|
MacPass
|
||||||
=======
|
=======
|
||||||
|
|
||||||
There a lot of iOS KeePass Tools around but a distinct lack of a good OS X Version.
|
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.
|
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.
|
This is an attemtp to create amn 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.
|
Editing and synching capabilities might get added in the future.
|
||||||
|
|
||||||
Vital work is used in this Port.
|
|
||||||
|
|
||||||
Licence
|
Licence
|
||||||
-------
|
-------
|
||||||
@@ -29,6 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
Copyright
|
Copyright
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
This Project is based upon the following work:
|
||||||
|
|
||||||
[KissXML](https://github.com/robbiehanson/KissXML) Copyright 2012 Robbie Hanson. All rights reserver.
|
[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.
|
[MiniKeePass](https://github.com/MiniKeePass/MiniKeePass) Copyright 2011 Jason Rush and John Flanagan. All rights reserved.
|
||||||
|
|||||||
Reference in New Issue
Block a user