1/*
2 * Copyright (c) 2012 Apple Computer, Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24//
25//  main.m
26//  ckd-xpc
27//
28//  Created by John Hurley on 7/19/12.
29//  Copyright (c) 2012 John Hurley. All rights reserved.
30//
31
32/*
33    This XPC service is essentially just a proxy to iCloud KVS, which exists since
34    the main security code cannot link against Foundation.
35
36    See sendTSARequestWithXPC in tsaSupport.c for how to call the service
37
38    send message to app with xpc_connection_send_message
39
40    For now, build this with:
41
42        ~rc/bin/buildit .  --rootsDirectory=/var/tmp -noverify -offline -target CloudKeychainProxy
43
44    and install or upgrade with:
45
46        darwinup install /var/tmp/sec.roots/sec~dst
47        darwinup upgrade /var/tmp/sec.roots/sec~dst
48
49    You must use darwinup during development to update system caches
50*/
51
52//------------------------------------------------------------------------------------------------
53
54#include <stdlib.h>
55#include <asl.h>
56#include <Foundation/Foundation.h>
57
58extern int ckdproxymain(int argc, const char *argv[]);
59
60int main(int argc, const char *argv[])
61{
62    // TODO: Remove log before ship
63    asl_log(NULL, NULL, ASL_LEVEL_NOTICE, "start");
64    return ckdproxymain(argc, argv);
65}
66