Skip to content

Commit

Permalink
If the bucket plist is missing, skip trying to read the bucket name.
Browse files Browse the repository at this point in the history
  • Loading branch information
sreitshamer committed Mar 9, 2013
1 parent 1e5fc70 commit d4466f4
Showing 1 changed file with 17 additions and 20 deletions.
37 changes: 17 additions & 20 deletions ArqRestoreCommand.m
Expand Up @@ -229,29 +229,26 @@ - (BOOL)processPath:(NSError **)error {
}
}

NSData *data = [s3 dataAtPath:path error:error];
if (data == nil) {
return NO;
}

if (!strncmp([data bytes], "encrypted", 9)) {
data = [data subdataWithRange:NSMakeRange(9, [data length] - 9)];
CryptoKey *cryptoKey = [[[CryptoKey alloc] initWithPassword:encryptionPassword salt:salt error:error] autorelease];
if (cryptoKey == nil) {
return NO;
NSString *bucketName = @"(unknown)";
NSData *data = [s3 dataAtPath:path error:NULL];
if (data != nil) {
if (!strncmp([data bytes], "encrypted", 9)) {
data = [data subdataWithRange:NSMakeRange(9, [data length] - 9)];
CryptoKey *cryptoKey = [[[CryptoKey alloc] initWithPassword:encryptionPassword salt:salt error:error] autorelease];
if (cryptoKey == nil) {
return NO;
}
data = [data decryptWithCryptoKey:cryptoKey error:error];
if (data == nil) {
HSLogError(@"failed to decrypt %@", path);
return NO;
}
}
data = [data decryptWithCryptoKey:cryptoKey error:error];
if (data == nil) {
HSLogError(@"failed to decrypt %@", path);
return NO;
DictNode *plist = [DictNode dictNodeWithXMLData:data error:NULL];
if (plist != nil) {
bucketName = [[plist stringNodeForKey:@"BucketName"] stringValue];
}
}

DictNode *plist = [DictNode dictNodeWithXMLData:data error:error];
if (plist == nil) {
return NO;
}
NSString *bucketName = [[plist stringNodeForKey:@"BucketName"] stringValue];

NSError *uacError = nil;
NSData *uacData = [s3 dataAtPath:[NSString stringWithFormat:@"/%@/%@/computerinfo", s3BucketName, computerUUID] error:&uacError];
Expand Down

0 comments on commit d4466f4

Please sign in to comment.