Modify YapDatabase to read converted database, part 3.

pull/1/head
Matthew Chen 7 years ago
parent d7a43d00d7
commit 45e44ca085

@ -49,6 +49,7 @@ NS_ASSUME_NONNULL_BEGIN
OWSAssert(databaseBlock); OWSAssert(databaseBlock);
DDLogVerbose(@"openYapDatabase: %@", databaseFilePath); DDLogVerbose(@"openYapDatabase: %@", databaseFilePath);
[DDLog flushLog];
__weak YapDatabase *_Nullable weakDatabase = nil; __weak YapDatabase *_Nullable weakDatabase = nil;
dispatch_queue_t snapshotQueue; dispatch_queue_t snapshotQueue;
@ -121,6 +122,7 @@ NS_ASSUME_NONNULL_BEGIN
}]; }];
} }
// Verify that the database is indeed closed.
YapDatabase *_Nullable strongDatabase = weakDatabase; YapDatabase *_Nullable strongDatabase = weakDatabase;
OWSAssert(!strongDatabase); OWSAssert(!strongDatabase);
} }

@ -68,7 +68,7 @@ const NSUInteger kSqliteHeaderLength = 32;
BOOL isUnencrypted = [unencryptedHeaderData BOOL isUnencrypted = [unencryptedHeaderData
isEqualToData:[headerData subdataWithRange:NSMakeRange(0, unencryptedHeaderData.length)]]; isEqualToData:[headerData subdataWithRange:NSMakeRange(0, unencryptedHeaderData.length)]];
if (isUnencrypted) { if (isUnencrypted) {
DDLogVerbose(@"%@ Skipping database conversion; legacy database header already decrypted.", self.logTag); DDLogVerbose(@"%@ doesDatabaseNeedToBeConverted; legacy database header already decrypted.", self.logTag);
return NO; return NO;
} }
@ -115,6 +115,8 @@ const NSUInteger kSqliteHeaderLength = 32;
OWSAssert(databasePassword.length > 0); OWSAssert(databasePassword.length > 0);
OWSAssert(saltBlock); OWSAssert(saltBlock);
DDLogVerbose(@"%@ databasePassword: %@", self.logTag, databasePassword.hexadecimalString);
NSData *sqlCipherSaltData; NSData *sqlCipherSaltData;
{ {
NSData *headerData = [self readFirstNBytesOfDatabaseFile:databaseFilePath byteCount:kSqliteHeaderLength]; NSData *headerData = [self readFirstNBytesOfDatabaseFile:databaseFilePath byteCount:kSqliteHeaderLength];
@ -307,7 +309,8 @@ const NSUInteger kSqliteHeaderLength = 32;
const unsigned char *valueBytes = sqlite3_column_text(statement, 0); const unsigned char *valueBytes = sqlite3_column_text(statement, 0);
int valueLength = sqlite3_column_bytes(statement, 0); int valueLength = sqlite3_column_bytes(statement, 0);
DDLogVerbose(@"%@ value: %d %d", self.logTag, valueLength, valueBytes != NULL); OWSAssert(valueLength == kSqliteHeaderLength);
OWSAssert(valueBytes != NULL);
NSString *saltString = NSString *saltString =
[[NSString alloc] initWithBytes:valueBytes length:valueLength encoding:NSUTF8StringEncoding]; [[NSString alloc] initWithBytes:valueBytes length:valueLength encoding:NSUTF8StringEncoding];

Loading…
Cancel
Save