diff --git a/KeePassKit b/KeePassKit index e010bc5f..6b8195b8 160000 --- a/KeePassKit +++ b/KeePassKit @@ -1 +1 @@ -Subproject commit e010bc5fabd23be7336d922aa00eba56d6f17d1a +Subproject commit 6b8195b80a3bf6b08bfa4176635b5f9abeed11b2 diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index e34daa1b..91cb3114 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -204,6 +204,8 @@ 4CD78ABF16D155FF00768A1D /* 10_ContactTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABA16D155FF00768A1D /* 10_ContactTemplate.pdf */; }; 4CD78AC016D155FF00768A1D /* 11_CameraTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */; }; 4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */; }; + 4CDB5C421794AA4F0017667E /* KPKTree+Serializing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */; }; + 4CDB5C451794B0100017667E /* KPKTree+XML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDB5C441794B0100017667E /* KPKTree+XML.m */; }; 4CDF01A316D1B76700D0AC08 /* MPEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */; }; 4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */; }; 4CE39AC116ECE359000FE29D /* IconSelection.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE39AC016ECE359000FE29D /* IconSelection.xib */; }; @@ -595,6 +597,10 @@ 4CD78ABA16D155FF00768A1D /* 10_ContactTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 10_ContactTemplate.pdf; sourceTree = ""; }; 4CD78ABB16D155FF00768A1D /* 11_CameraTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 11_CameraTemplate.pdf; sourceTree = ""; }; 4CD884B615BD47080042BBF8 /* DocumentWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DocumentWindow.xib; sourceTree = ""; }; + 4CDB5C401794AA4F0017667E /* KPKTree+Serializing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "KPKTree+Serializing.h"; path = "../Core/KPKTree+Serializing.h"; sourceTree = ""; }; + 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "KPKTree+Serializing.m"; path = "../Core/KPKTree+Serializing.m"; sourceTree = ""; }; + 4CDB5C431794B0100017667E /* KPKTree+XML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKTree+XML.h"; sourceTree = ""; }; + 4CDB5C441794B0100017667E /* KPKTree+XML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKTree+XML.m"; sourceTree = ""; }; 4CDF01A116D1B76700D0AC08 /* MPEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntryViewController.h; sourceTree = ""; }; 4CDF01A216D1B76700D0AC08 /* MPEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntryViewController.m; sourceTree = ""; }; 4CE39ABD16ECE34A000FE29D /* MPIconSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIconSelectViewController.h; sourceTree = ""; }; @@ -1345,6 +1351,10 @@ children = ( 4C8A173B1790AA41008B5C17 /* NSData+Keyfile.h */, 4C8A173C1790AA41008B5C17 /* NSData+Keyfile.m */, + 4CDB5C401794AA4F0017667E /* KPKTree+Serializing.h */, + 4CDB5C411794AA4F0017667E /* KPKTree+Serializing.m */, + 4CDB5C431794B0100017667E /* KPKTree+XML.h */, + 4CDB5C441794B0100017667E /* KPKTree+XML.m */, ); path = Categories; sourceTree = ""; @@ -1772,6 +1782,8 @@ 4C4436771792BE810099E220 /* KPKFormat.m in Sources */, 4C801AFC179310E2002821E3 /* NSString+Hexdata.m in Sources */, 4CF62B86179385D700B660B6 /* KPKAttribute.m in Sources */, + 4CDB5C421794AA4F0017667E /* KPKTree+Serializing.m in Sources */, + 4CDB5C451794B0100017667E /* KPKTree+XML.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 21f45fb5..278b72f3 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -30,6 +30,8 @@ #import "DataOutputStream.h" +#import "DDXMLNode.h" + NSString *const MPDocumentDidAddGroupNotification = @"com.hicknhack.macpass.MPDocumentDidAddGroupNotification"; NSString *const MPDocumentWillDelteGroupNotification = @"com.hicknhack.macpass.MPDocumentDidDelteGroupNotification"; NSString *const MPDocumentDidAddEntryNotification = @"com.hicknhack.macpass.MPDocumentDidAddEntryNotification"; @@ -166,7 +168,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGroupKey"; - (void)writeXMLToURL:(NSURL *)url { DataOutputStream *outputStream = [[DataOutputStream alloc] init]; Kdb4Persist *persist = [[Kdb4Persist alloc] initWithTree:self.treeV4 outputStream:outputStream randomStream:nil]; - [persist persist]; + [persist persistWithOptions:DDXMLNodeCompactEmptyElement|DDXMLNodePrettyPrint]; [outputStream.data writeToURL:url atomically:YES]; } diff --git a/MiniKeePassLib b/MiniKeePassLib index 1cacd5ba..c1607fbc 160000 --- a/MiniKeePassLib +++ b/MiniKeePassLib @@ -1 +1 @@ -Subproject commit 1cacd5ba36b653d023bb971f5ae6aeaf686654a7 +Subproject commit c1607fbcd00f3f8b238e6d20876c4d21967419c0