1/*
2 * Copyright (c) 2000 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#ifndef __RASSCHEMADEFINITIONS_H__
25#define __RASSCHEMADEFINITIONS_H__
26
27
28// File names
29#define	kRASServerPrefsFileName			CFSTR("com.apple.RemoteAccessServers.plist")
30
31/*
32 * Generic Keys
33 */
34#define kRASPropUserDefinedName			kSCPropUserDefinedName			/* CFSTR("UserDefinedName")	CFString */
35#define kRASRemoteAccessServer			CFSTR("RemoteAccessServer")		/* RAS entity for Dynamic Store */
36
37/*
38 * Top level entities
39 */
40#define kRASGlobals						CFSTR("Globals")			/*				CFDictionary */
41#define	kRASActiveServers				CFSTR("ActiveServers")		/* 				CFArray */
42#define kRASServers						CFSTR("Servers")			/*				CFDictionary */
43
44/*
45 * Remote Access Globals Keys
46 */
47#define KRASGlobPSKeyAccount			CFSTR("PSKeyAccount")		/*				CFString */
48
49/*
50 * Remote Access Server Entity Keys
51 */
52#define kRASEntDNS						kSCEntNetDNS				/* CFSTR("DNS") 		CFDictionary */
53#define	kRASEntInterface				kSCEntNetInterface			/* CFSTR("Interface")   CFDictionary */
54#define kRASEntIPv4						kSCEntNetIPv4				/* CFSTR("IPv4")		CFDictionary */
55#define kRASEntIPv6						kSCEntNetIPv6				/* CFSTR("IPv6") 		CFDictionary */
56#define kRASEntL2TP						kSCEntNetL2TP 				/* CFSTR("L2TP") 		CFDictionary */
57#define kRASEntModem					kSCEntNetModem				/* CFSTR("Modem")		CFDictionary */
58#define kRASEntPPP						kSCEntNetPPP				/* CFSTR("PPP")			CFDictionary */
59#define kRASEntPPPoE					kSCEntNetPPPoE				/* CFSTR("PPPoE")		CFDictionary */
60#define kRASEntPPPSerial				kSCEntNetPPPSerial			/* CFSTR("PPPSerial")   CFDictionary */
61#define kRASEntPPTP						kSCEntNetPPTP				/* CFSTR("PPTP")		CFDictionary */
62#define	kRASEntServer					CFSTR("Server")				/*						CFDictionary */
63#define kRASEntDSACL					CFSTR("DSACL")				/*						CFDictionary */
64#define kRASEntRadius					CFSTR("Radius")				/*						CFDictionary */
65#define kRASEntEAP						CFSTR("EAP")				/* CFDictionary - Prefix followed by protocol Number */
66#define kRASEntIPSec					CFSTR("IPSec")				/* CFDictionary */
67
68/*
69 * kRASEntInterface Entity Keys
70 */
71#define kRASPropInterfaceType			kSCPropNetInterfaceType				/* CFSTR("Type")		CFString */
72#define kRASPropInterfaceSubType		kSCPropNetInterfaceSubType			/* CFSTR("SubType")		CFString */
73
74/*
75 * kRASEntDNS Entity Keys
76 */
77#define kRASPropDNSServerAddresses				kSCPropNetDNSServerAddresses		/* CFSTR("ServerAddresses")	CFArray[CFString] */
78#define kRASPropDNSSearchDomains				kSCPropNetDNSSearchDomains			/* CFSTR("SearchDomains")	CFArray[CFString] */
79#define kRASPropDNSOfferedServerAddresses		CFSTR("OfferedServerAddresses")		/*							CFArray[CFString] */
80#define kRASPropDNSOfferedSearchDomains			CFSTR("OfferedSearchDomains")		/*							CFArray[CFString] */
81#define kRASPropDNSOfferedSearchDomainServers	CFSTR("OfferedSearchDomainServers")	/*							CFArray[CFString] */
82
83/*
84 * kRASPropInterfaceType values
85 */
86#define kRASValInterfaceTypePPP                	kSCValNetInterfaceTypePPP        	/* CFSTR("PPP") */
87#define kRASValInterfaceTypeIPSec				CFSTR("IPSec")
88
89/* kRASPropInterfaceSubType values (for PPP) */
90#define kRASValInterfaceSubTypePPPoE           	kSCValNetInterfaceSubTypePPPoE          /* CFSTR("PPPoE") */
91#define kRASValInterfaceSubTypePPPSerial      	kSCValNetInterfaceSubTypePPPSerial      /* CFSTR("PPPSerial") */
92#define kRASValInterfaceSubTypePPTP            	kSCValNetInterfaceSubTypePPTP           /* CFSTR("PPTP") */
93#define kRASValInterfaceSubTypeL2TP            	kSCValNetInterfaceSubTypeL2TP           /* CFSTR("L2TP") */
94
95/*
96 * kRASEntIPv4 Entity Keys
97 */
98#define kRASPropIPv4Addresses        		kSCPropNetIPv4Addresses			/* CFSTR("Addresses") 		CFArray[CFString] */
99#define kRASPropIPv4SubnetMasks     		kSCPropNetIPv4SubnetMasks		/* CFSTR("SubnetMasks")		CFArray[CFString] */
100#define kRASPropIPv4DestAddresses     		kSCPropNetIPv4DestAddresses		/* CFSTR("DestAddresses")	CFArray[CFString] */
101#define kRASPropIPv4DestAddressRanges		CFSTR("DestAddressRanges")		/*							CFArray[CFString] */
102#define kRASPropIPv4RangeSubnetMasks		CFSTR("RangeSubnetMasks")		/*							CFArray[CFString] */
103#define kRASPropIPv4OfferedRouteAddresses	CFSTR("OfferedRouteAddresses")  /*							CFArray[CFString] */
104#define kRASPropIPv4OfferedRouteMasks		CFSTR("OfferedRouteMasks")		/*							CFArray[CFString] */
105#define kRASPropIPv4OfferedRouteTypes		CFSTR("OfferedRouteTypes")		/*							CFArray[CFString] */
106
107/*
108 * kRASPropIPv4OfferedRouteTypes values
109 */
110#define kRASValIPv4OfferedRouteTypesPrivate	CFSTR("Private")
111#define kRASValIPv4OfferedRouteTypesPublic	CFSTR("Public")
112
113/*
114 * kRASEntIPv6 Entity Keys
115 */
116#define kRASPropIPv6Addresses         		kSCPropNetIPv6Addresses 		/* CFSTR("Addresses")		CFArray[CFString] */
117#define kRASPropIPv6DestAddresses    		kSCPropNetIPv6DestAddresses		/* CFSTR("DestAddresses")	CFArray[CFString] */
118
119/*
120 * kRASEntPPP Entity Keys
121 */
122#define kRASPropPPPConnectTime				kSCPropNetPPPConnectTime         	/* CFSTR("ConnectTime")				CFNumber */
123#define kRASPropPPPDisconnectOnIdle			kSCPropNetPPPDisconnectOnIdle		/* CFSTR("DisconnectOnIdle")		CFNumber (0 or 1) */
124#define kRASPropPPPDisconnectOnIdleTimer	kSCPropNetPPPDisconnectOnIdleTimer	/* CFSTR("DisconnectOnIdleTimer") 	CFNumber */
125#define kRASPropPPPDisconnectTime			kSCPropNetPPPDisconnectTime			/* CFSTR("DisconnectTime")			CFNumber */
126#define kRASPropPPPLogfile					kSCPropNetPPPLogfile				/* CFSTR("Logfile")					CFString */
127#define kRASPropPPPPlugins					kSCPropNetPPPPlugins				/* CFSTR("Plugins")					CFArray[CFString] */
128#define kRASPropPPPSessionTimer				kSCPropNetPPPSessionTimer			/* CFSTR("SessionTimer")			CFNumber */
129#define kRASPropPPPUseSessionTimer			kSCPropNetPPPUseSessionTimer		/* CFSTR("UseSessionTimer")			CFNumber (0 or 1) */
130#define kRASPropPPPVerboseLogging			kSCPropNetPPPVerboseLogging			/* CFSTR("VerboseLogging")			CFNumber (0 or 1) */
131#define kRASPropPPPInterceptDHCP			CFSTR("InterceptDHCP")				/*									CFNumber (0 or 1) */
132
133/* Comm */
134#define kRASPropPPPCommRemoteAddress		kSCPropNetPPPCommRemoteAddress		/* CFSTR("CommRemoteAddress")		CFString */
135
136/* PPP Auth Plugins: */
137#define kRASPropPPPAuthenticatorPlugins		CFSTR("AuthenticatorPlugins")		/*									CFArray[CFString] */
138#define kRASPropPPPAuthenticatorACLPlugins	CFSTR("AuthenticatorACLPlugins")	/*									CFArray[CFString] */
139#define kRASPropPPPAuthenticatorEAPPlugins	CFSTR("AuthenticatorEAPPlugins")	/*									CFArray[CFString] */
140
141/* Auth: */
142#define kRASPropPPPAuthPeerName				CFSTR("AuthPeerName")				/*									CFString */
143#define kRASPropPPPAuthenticatorProtocol	CFSTR("AuthenticatorProtocol")  	/*									CFArray[CFString] */
144
145/* kRASPropPPPAuthProtocol values */
146#define kRASValPPPAuthProtocolCHAP			kSCValNetPPPAuthProtocolCHAP     	/* CFSTR("CHAP")					CFString */
147#define kRASValPPPAuthProtocolPAP			kSCValNetPPPAuthProtocolPAP			/* CFSTR("PAP")						CFString */
148#define kRASValPPPAuthProtocolMSCHAP1 		CFSTR("MSCHAP1")             		/*									CFString */
149#define kRASValPPPAuthProtocolMSCHAP2 		CFSTR("MSCHAP2")             		/*									CFString */
150#define kRASValPPPAuthProtocolEAP			CFSTR("EAP")						/*									CFString */
151
152/* CCP: */
153#define kRASPropPPPCCPEnabled				kSCPropNetPPPCCPEnabled				/* CFSTR("CCPEnabled")				CFNumber (0 or 1) */
154#define kRASPropPPPCCPProtocols				CFSTR("CCPProtocols")				/*									CFArray */
155
156/* kRASPropPPPCCPProtocols values */
157#define kRASValPPPCCPProtocolsMPPE			CFSTR("MPPE")
158
159/* MPPE option keys */
160#define kRASPropPPPMPPEKeySize40			CFSTR("MPPEKeySize40")				/*									CFNumber */
161#define kRASPropPPPMPPEKeySize128			CFSTR("MPPEKeySize128")				/*									CFNumber */
162
163/* IPCP: */
164#define kRASPropPPPIPCPCompressionVJ  		kSCPropNetPPPIPCPCompressionVJ		/* CFSTR("IPCPCompressionVJ") 		CFNumber (0 or 1) */
165
166/* LCP: */
167#define kRASPropPPPLCPEchoEnabled			kSCPropNetPPPLCPEchoEnabled 		/* CFSTR("LCPEchoEnabled")			CFNumber (0 or 1) */
168#define kRASPropPPPLCPEchoFailure			kSCPropNetPPPLCPEchoFailure 		/* CFSTR("LCPEchoFailure")     		CFNumber */
169#define kRASPropPPPLCPEchoInterval			kSCPropNetPPPLCPEchoInterval 		/* CFSTR("LCPEchoInterval")  		CFNumber */
170#define kRASPropPPPLCPCompressionACField	kSCPropNetPPPLCPCompressionACField 	/* CFSTR("LCPCompressionACField")	CFNumber (0 or 1) */
171#define kRASPropPPPLCPCompressionPField		kSCPropNetPPPLCPCompressionPField 	/* CFSTR("LCPCompressionPField") 	CFNumber (0 or 1) */
172#define kRASPropPPPLCPMRU					kSCPropNetPPPLCPMRU					/* CFSTR("LCPMRU")					CFNumber */
173#define kRASPropPPPLCPMTU					kSCPropNetPPPLCPMTU					/* CFSTR("LCPMTU")           		CFNumber */
174#define kRASPropPPPLCPReceiveACCM			kSCPropNetPPPLCPReceiveACCM 		/* CFSTR("LCPReceiveACCM")    		CFNumber */
175#define kRASPropPPPLCPTransmitACCM			kSCPropNetPPPLCPTransmitACCM 		/* CFSTR("LCPTransmitACCM")   		CFNumber */
176
177/* ACSP: */
178#define kRASPropPPPACSPEnabled				CFSTR("ACSPEnabled")				/*									CFNumber */
179
180/*
181 * kRASEntPPPoE Entity Keys
182 */
183#define kRASPropPPPoEDeviceName           	CFSTR("DeviceName")					/*									CFString */
184#define kRASPropPPPoEServiceName           	CFSTR("ServiceName")				/*									CFString */
185#define kRASPropPPPoEAccessConcentratorName CFSTR("AccessConcentratorName")		/*									CFString */
186
187
188/*
189 * kRASEntRadius Entity Keys
190 */
191#define kRASPropRadiusServers				CFSTR("Servers")					/*									CFArray */
192#define kRASPropRadiusNASIPAddress			CFSTR("NASIPAddress")				/*									CFString */
193#define kRASPropRadiusNASIdentifier			CFSTR("NASIdentifier")				/*									CFString */
194#define kRASPropRadiusNASPortType			CFSTR("NASPortType")				/*									Integer */
195#define kRASPropRadiusTunnelType			CFSTR("TunnelType")					/*									Integer */
196
197
198#define kRASPropRadiusServerAddress			CFSTR("Address")					/*									CFString */
199#define kRASPropRadiusServerSharedSecret	CFSTR("SharedSecret")				/*									CFString */
200#define kRASPropRadiusServerSharedSecretEncryption CFSTR("SharedSecretEncryption")	/*								CFString */
201#define kRASPropRadiusServerPort			CFSTR("Port")						/*									CFNumber */
202#define kRASPropRadiusServerTimeout			CFSTR("Timeout")					/*									CFNumber */
203#define kRASPropRadiusServerRetries			CFSTR("Retries")					/*									CFNumber */
204#define kRASPropRadiusServerAuthProtocol	CFSTR("AuthProtocol")				/*									CFArray */
205/* kRASPropRadiusServerAuthProtocols values are listed in kRASPropPPPAuthProtocol */
206
207/* kRASPropRadiusSharedSecretEncryption values */
208#define kRASValRadiusSharedSecretEncryptionKey		CFSTR("Key")
209#define kRASValRadiusSharedSecretEncryptionKeychain	CFSTR("Keychain")
210
211/*
212 * kRASEntPPPSerial Entity Keys
213 */
214/* RESERVED FOR FUTURE USE */
215
216/*
217 * kRASEntPPTP Entity Keys
218 */
219/* RESERVED FOR FUTURE USE */
220
221/*
222 * kRASEntL2TP Entity Keys
223 */
224#define kRASPropL2TPTransport           	kSCPropNetL2TPTransport				/* CFSTR("Transport")				CFString */
225
226/* kRASPropL2TPTransport values */
227#define kRASValL2TPTransportIP				kSCValNetL2TPTransportIP			/* CFSTR("IP") */
228#define kRASValL2TPTransportIPSec			kSCValNetL2TPTransportIPSec 		/* CFSTR("IPSec") */
229
230#define kRASPropL2TPIPSecSharedSecret           CFSTR("IPSecSharedSecret")				/*							CFString */
231#define kRASPropL2TPIPSecSharedSecretEncryption CFSTR("IPSecSharedSecretEncryption") 	/*							CFString */
232
233/* kRASPropL2TPIPSecSharedSecretEncryption values */
234#define kRASValL2TPIPSecSharedSecretEncryptionKey		CFSTR("Key")
235#define kRASValL2TPIPSecSharedSecretEncryptionKeychain	CFSTR("Keychain")
236
237/*
238 * kRASEntIPSec Entity Keys
239 */
240
241/* Phase 1 */
242#define kRASPropIPSecExchangeMode				CFSTR("ExchangeMode")			/*									CFArray */
243#define kRASPropIPSecProposalsBehavior			CFSTR("ProposalsBehavior") 		/*									CFString */
244#define kRASPropIPSecLocalIdentifier			CFSTR("LocalIdentifier") 		/*									CFString */
245#define kRASPropIPSecRemoteIdentifier			CFSTR("RemoteIdentifier") 		/*									CFString */
246#define kRASPropIPSecLocalAddress				CFSTR("LocalAddress")			/*									CFString */
247#define kRASPropIPSecForceLocalAddress			CFSTR("ForceLocalAddress")		/*									CFBoolean */
248#define kRASPropIPSecRemoteAddress				CFSTR("RemoteAddress")			/*									CFString */
249#define kRASPropIPSecSharedSecret				CFSTR("SharedSecret")			/*									CFString */
250#define kRASPropIPSecSharedSecretEncryption		CFSTR("SharedSecretEncryption") /*									CFString */
251#define kRASPropIPSecNonceSize					CFSTR("NonceSize")				/*									CFNumber */
252#define kRASPropIPSecIdentifierVerification		CFSTR("IdentifierVerification") /*									CFString */
253#define kRASPropIPSecLocalCertificate			CFSTR("LocalCertificate") 		/*									CFData */
254#define kRASPropIPSecNattMultipleUsersEnabled	CFSTR("NattMultipleUsersEnabled")	/*						CFNumber (0 or 1) */
255#define kRASPropIPSecNattKeepAliveEnabled		CFSTR("NattKeepAliveEnabled")	/*							CFNumber (0 or 1) */
256#define kRASPropIPSecNattKeepAliveTimer			CFSTR("NattKeepAliveTimer")		/*									CFNumber */
257#define kRASPropIPSecXAuthEnabled				CFSTR("XAuthEnabled")			/*							CFNumber (0 or 1) */
258#define kRASPropIPSecXAuthName					CFSTR("XAuthName")				/*								CFString */
259#define kRASPropIPSecXAuthPassword				CFSTR("XAuthPassword")				/*								CFString */
260#define kRASPropIPSecModeConfigEnabled			CFSTR("ModeConfigEnabled")		/*							CFNumber (0 or 1) */
261#define kRASPropIPSecAuthenticationMethod		CFSTR("AuthenticationMethod")   /*									CFString */
262#define kRASPropIPSecDeadPeerDetectionEnabled	CFSTR("DeadPeerDetectionEnabled")	/*						CFNumber (0 or 1) */
263#define kRASPropIPSecDeadPeerDetectionDelay		CFSTR("DeadPeerDetectionDelay")	/*									CFNumber */
264#define kRASPropIPSecDeadPeerDetectionRetry		CFSTR("DeadPeerDetectionRetry")	/*									CFNumber */
265#define kRASPropIPSecDeadPeerDetectionMaxFail	CFSTR("DeadPeerDetectionMaxFail")	/*								CFNumber */
266#define kRASPropIPSecBlackHoleDetectionEnabled	CFSTR("BlackHoleDetectionEnabled") 	/*						CFNumber (0 or 1) */
267#define kRASPropIPSecDisconnectOnIdle			CFSTR("DisconnectOnIdle")		/*							CFNumber (0 or 1) */
268#define kRASPropIPSecDisconnectOnIdleTimer		CFSTR("DisconnectOnIdleTimer") 	/*									CFNumber */
269
270/* kRASPropIPSecExchangeMode values */
271#define kRASValIPSecExchangeModeMain				CFSTR("Main")
272#define kRASValIPSecExchangeModeBase				CFSTR("Base")
273#define kRASValIPSecExchangeModeAggressive			CFSTR("Aggressive")
274
275/* kRASPropIPSecIdentifierVerification values */
276#define kRASValIPSecIdentifierVerificationNone							CFSTR("None")
277#define kRASValIPSecIdentifierVerificationGenerateFromRemoteAddress		CFSTR("GenerateFromRemoteAddress")
278#define kRASValIPSecIdentifierVerificationUseRemoteIdentifier			CFSTR("UseRemoteIdentifier")
279#define kRASValIPSecIdentifierVerificationUseOpenDirectory				CFSTR("UseOpenDirectory")
280
281/* kRASPropIPSecProposalsBehavior values */
282#define kRASValIPSecProposalsBehaviorClaim			CFSTR("Claim")
283#define kRASValIPSecProposalsBehaviorObey			CFSTR("Obey")
284#define kRASValIPSecProposalsBehaviorStrict			CFSTR("Strict")
285#define kRASValIPSecProposalsBehaviorExact			CFSTR("Exact")
286
287/* kRASPropIPSecSharedSecretEncryption values */
288#define kRASValIPSecSharedSecretEncryptionKey		CFSTR("Key")
289#define kRASValIPSecSharedSecretEncryptionKeychain	CFSTR("Keychain")
290
291/* kRASPropIPSecAuthenticationMethod values */
292#define kRASValIPSecAuthenticationMethodSharedSecret	CFSTR("SharedSecret")
293#define kRASValIPSecAuthenticationMethodCertificate		CFSTR("Certificate")
294#define kRASValIPSecAuthenticationMethodHybrid			CFSTR("Hybrid")
295
296
297/* Phase 1 ISAKMP Proposals*/
298#define kRASPropIPSecProposals						CFSTR("Proposals")					/*						CFArray */
299
300#define kRASPropIPSecProposalLifetime					CFSTR("Lifetime")				/*						CFNumber */
301#define kRASPropIPSecProposalDHGroup					CFSTR("DHGroup")				/*						CFNumber */
302#define kRASPropIPSecProposalEncryptionAlgorithm		CFSTR("EncryptionAlgorithm")	/*						CFString */
303#define kRASPropIPSecProposalHashAlgorithm				CFSTR("HashAlgorithm")			/*						CFString */
304
305/* kRASPropIPSecProposalEncryptionAlgorithm values */
306#define kRASValIPSecProposalEncryptionAlgorithmDES		CFSTR("DES")
307#define kRASValIPSecProposalEncryptionAlgorithm3DES		CFSTR("3DES")
308#define kRASValIPSecProposalEncryptionAlgorithmAES		CFSTR("AES")
309#define kRASValIPSecProposalEncryptionAlgorithmAES256	CFSTR("AES256")
310
311/* kRASPropIPSecProposalHashAlgorithm values */
312#define kRASValIPSecProposalHashAlgorithmMD5			CFSTR("MD5")
313#define kRASValIPSecProposalHashAlgorithmSHA1			CFSTR("SHA1")
314
315
316/* Policies */
317#define kRASPropIPSecPolicies					CFSTR("Policies")			/*										CFArray */
318
319#define kRASPropIPSecPolicyLocalAddress			CFSTR("LocalAddress") 		/*										CFString */
320#define kRASPropIPSecPolicyLocalPrefix			CFSTR("LocalPrefix") 		/*										CFNumber */
321#define kRASPropIPSecPolicyLocalPort			CFSTR("LocalPort")			/*										CFNumber */
322#define kRASPropIPSecPolicyRemoteAddress		CFSTR("RemoteAddress") 		/*										CFString */
323#define kRASPropIPSecPolicyRemotePrefix			CFSTR("RemotePrefix") 		/*										CFNumber */
324#define kRASPropIPSecPolicyRemotePort			CFSTR("RemotePort") 		/*										CFNumber */
325#define kRASPropIPSecPolicyLevel				CFSTR("Level")				/*										CFString */
326#define kRASPropIPSecPolicyMode					CFSTR("Mode")				/*										CFString */
327#define kRASPropIPSecPolicyProtocol				CFSTR("Protocol")			/*										CFNumber */
328#define kRASPropIPSecPolicyDirection			CFSTR("Direction")			/*										CFSring */
329
330/* in kRASPropIPSecPolicyLevel is kRASValIPSecPolicyLevelRequire */
331#define kRASPropIPSecPolicyLifetime					CFSTR("Lifetime")				/*						CFNumber */
332#define kRASPropIPSecPolicyPFSGroup					CFSTR("PFSGroup")				/*						CFNumber */
333#define kRASPropIPSecPolicyEncryptionAlgorithm		CFSTR("EncryptionAlgorithm")	/*						CFArray */
334#define kRASPropIPSecPolicyCompressionAlgorithm		CFSTR("CompressionAlgorithm")   /*						CFArray */
335#define kRASPropIPSecPolicyHashAlgorithm			CFSTR("HashAlgorithm")			/*						CFArray */
336
337/* kRASPropIPSecPolicyLevel values */
338#define kRASValIPSecPolicyLevelNone				CFSTR("None")
339#define kRASValIPSecPolicyLevelRequire			CFSTR("Require")
340#define kRASValIPSecPolicyLevelDiscard			CFSTR("Discard")
341#define kRASValIPSecPolicyLevelUnique			CFSTR("Unique")
342
343/* kRASPropIPSecPolicyMode values */
344#define kRASValIPSecPolicyModeTransport			CFSTR("Transport")
345#define kRASValIPSecPolicyModeTunnel			CFSTR("Tunnel")
346
347/* kRASPropIPSecPolicyDirection values */
348#define kRASValIPSecPolicyDirectionIn			CFSTR("In")
349#define kRASValIPSecPolicyDirectionOut			CFSTR("Out")
350#define kRASValIPSecPolicyDirectionInOut		CFSTR("InOut")
351
352/* kRASPropIPSecPolicyEncryptionAlgorithm values */
353#define kRASValIPSecPolicyEncryptionAlgorithmDES		CFSTR("DES")
354#define kRASValIPSecPolicyEncryptionAlgorithm3DES		CFSTR("3DES")
355#define kRASValIPSecPolicyEncryptionAlgorithmAES		CFSTR("AES")
356#define kRASValIPSecPolicyEncryptionAlgorithmAES256		CFSTR("AES256")
357
358/* kRASPropIPSecPolicyCompressionAlgorithm values */
359#define kRASValIPSecPolicyCompressionAlgorithmDeflate	CFSTR("Deflate")
360
361/* kRASPropIPSecPolicyHashAlgorithm values */
362#define kRASValIPSecPolicyHashAlgorithmSHA1				CFSTR("SHA1")
363#define kRASValIPSecPolicyHashAlgorithmMD5				CFSTR("MD5")
364
365
366/*
367 * kRASDSAccessControl Entity Keys
368 */
369#define kRASPropDSACLGroup			CFSTR("Group")							/* 					CFString */
370
371/*
372 * kRASEntServer Entity Keys
373 */
374#define kRASPropServerMaximumSessions		CFSTR("MaximumSessions")		/*					CFNumber */
375#define kRASPropServerLogfile				CFSTR("Logfile")				/* 					CFString */
376#define kRASPropServerVerboseLogging		CFSTR("VerboseLogging")			/* 					CFNumber (0 or 1) */
377#define kRASPropServerLoadBalancingEnabled	CFSTR("LoadBalancingEnabled")	/* 					CFNumber (0 or 1) */
378#define kRASPropServerLoadBalancingAddress	CFSTR("LoadBalancingAddress")	/* 					CFString */
379//#define kRASPropServerLoadBalancingInterface	CFSTR("LoadBalancingInterface")	/* 					CFString */
380//#define kRASPropServerLoadBalancingPriority	CFSTR("LoadBalancingPriority")	/* 					CFNumber (1 or 10) */
381#define kRASPropServerLoadBalancingPort		CFSTR("LoadBalancingPort")		/*					CFNumber */
382
383#endif
384
385
386