-
- #ifdef __APPLE__
- /*
- * Check IPSec plist
- */
- {
- SCPreferencesRef prefs = NULL;
- CFPropertyListRef globals;
- CFStringRef logFileRef;
- CFNumberRef debugLevelRef;
-
- int level = 0;
-
- logFileStr[0] = 0;
-
- if ((prefs = SCPreferencesCreate(0, CFSTR("racoon"), CFSTR("com.apple.ipsec.plist"))) == NULL)
- goto skip;
- globals = SCPreferencesGetValue(prefs, CFSTR("Global"));
- if (!globals || (CFGetTypeID(globals) != CFDictionaryGetTypeID()))
- goto skip;
- debugLevelRef = CFDictionaryGetValue(globals, CFSTR("DebugLevel"));
- if (!debugLevelRef || (CFGetTypeID(debugLevelRef) != CFNumberGetTypeID()))
- goto skip;
- CFNumberGetValue(debugLevelRef, kCFNumberSInt32Type, &level);
- switch (level)
- {
- case 0:
- loglevel = 5;
- goto skip;
- break;
- case 1:
- loglevel = 6;
- break;
- case 2:
- loglevel = 7;
- break;
- default:
- break; /* invalid - ignore */
- }
-
- logFileRef = CFDictionaryGetValue(globals, CFSTR("DebugLogfile"));
- if (!logFileRef || (CFGetTypeID(logFileRef) != CFStringGetTypeID())) {
- goto skip;
- }
- CFStringGetCString(logFileRef, logFileStr, MAXPATHLEN, kCFStringEncodingMacRoman);
-skip:
- if (prefs)
- CFRelease(prefs);
- }
-
- if (logFileStr[0])
- plogset(logFileStr);
- else
-#endif /* __APPLE__ */
- if (lcconf->logfile_param)
- plogset(lcconf->logfile_param);
-
- ploginit();