]> git.saurik.com Git - apple/security.git/blob - OSX/sec/SOSCircle/SecureObjectSync/SOSAccountLog.c
Security-57740.20.22.tar.gz
[apple/security.git] / OSX / sec / SOSCircle / SecureObjectSync / SOSAccountLog.c
1 //
2 // SOSAccountLog.c
3 // sec
4 //
5 // Created by Richard Murphy on 6/1/16.
6 //
7 //
8
9 #include "SOSAccountLog.h"
10 #include <stdio.h>
11 #include <stdlib.h>
12 #include <assert.h>
13 #include <AssertMacros.h>
14 #include "SOSAccountPriv.h"
15 #include "SOSViews.h"
16 #include <utilities/SecCFWrappers.h>
17 #include <utilities/SecCoreCrypto.h>
18 #include <utilities/SecBuffer.h>
19 #include <SOSPeerInfoDER.h>
20
21 #include <Security/SecureObjectSync/SOSTransport.h>
22
23 #include <Security/SecureObjectSync/SOSPeerInfoCollections.h>
24 #include <os/state_private.h>
25
26 // Keep these for later
27 static CFStringRef SOSAccountCreateStringRef(SOSAccountRef account) {
28 CFStringRef hex = NULL;
29
30 CFDataRef derdata = SOSAccountCopyEncodedData(account, kCFAllocatorDefault, NULL);
31 require_quiet(derdata, errOut);
32 hex = CFDataCopyHexString(derdata);
33 errOut:
34 CFRelease(derdata);
35 return hex;
36 }
37
38 void SOSAccountLog(SOSAccountRef account) {
39 CFStringRef hex = SOSAccountCreateStringRef(account);
40 if(!hex) return;
41 secdebug("accountLog", "Full contents: %@", hex);
42 CFRelease(hex);
43 }
44
45 SOSAccountRef SOSAccountCreateFromStringRef(CFStringRef hexString) {
46 CFDataRef accountDER = CFDataCreateFromHexString(kCFAllocatorDefault, hexString);
47 if(!accountDER) return NULL;
48 SOSAccountRef account = SOSAccountCreateFromData(kCFAllocatorDefault, accountDER, NULL, NULL);
49 CFReleaseNull(accountDER);
50 return account;
51 }