📄 xsupconfig_parse_globals.c
字号:
}
else if (result == 0)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_ALLMULTI);
}
else
{
xsupconfig_common_log("Unknown value for Allmulti. (Line %ld) Using default of "
"'YES'.\n", xsupconfig_parse_get_line_num());
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_ALLMULTI);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_loglevel(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
char *value;
int result;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Log Level : %s\n", value);
fflush(stdout);
#endif
myglobals = (*attr);
xsupconfig_common_upcase(value);
result = xsupconfig_common_select_from_list(debug_choices, value);
if (result < 0)
{
myglobals->loglevel = DEBUG_NORMAL;
}
else
{
myglobals->loglevel |= result;
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_roaming(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
int result;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Roaming : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_select_from_list(roaming_choices, value);
if (result == 1)
{
// Use FIRMWARE roaming.
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_FIRMWARE_ROAM);
}
if (result == 0)
{
// Use Xsupplicant roaming.
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_FIRMWARE_ROAM);
}
if (result == -1)
{
// Use default roaming.
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_FIRMWARE_ROAM);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_passive_scanning(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
uint8_t result;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Passive Scanning : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_yesno(value);
if (result == 1)
{
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_PASSIVE_SCAN);
}
else if (result == 0)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_PASSIVE_SCAN);
}
else
{
xsupconfig_common_log("Unknown value for Passive_Scan. (Line %ld) Using default "
"of 'NO'.\n", xsupconfig_parse_get_line_num());
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_PASSIVE_SCAN);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_passive_timer(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Passive Timer : %s\n", value);
#endif
myglobals = (*attr);
if (xsupconfig_common_is_number(value) == 0)
{
xsupconfig_common_log("Value assigned to Passive_Timeout is not a number! (Line %ld)"
" Using default!\n", xsupconfig_parse_get_line_num());
}
else
{
myglobals->passive_timeout = atoi(value);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_assoc_timeout(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Association_Timeout : %s\n", value);
#endif
myglobals = (*attr);
if (xsupconfig_common_is_number(value) == 0)
{
xsupconfig_common_log("Value assigned to Association_Timeout is not a number! (Line "
"%ld) Using default!\n", xsupconfig_parse_get_line_num());
}
else
{
myglobals->assoc_timeout = atoi(value);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_scan_timeout(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Scan_Timeout : %s\n", value);
#endif
myglobals = (*attr);
if (xsupconfig_common_is_number(value) == 0)
{
xsupconfig_common_log("Value assigned to Scan_Timeout is not a number! (Line %ld)"
" Using default!\n", xsupconfig_parse_get_line_num());
}
else
{
myglobals->active_timeout = atoi(value);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_logs_to_keep(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals = NULL;
char *value = NULL;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Number of Logs To Keep : %s\n", value);
#endif
myglobals = (*attr);
if (xsupconfig_common_is_number(value) == 0)
{
xsupconfig_common_log("Value assigned to Logs_To_Keep is not a number! (Line %ld)"
" Using default!\n", xsupconfig_parse_get_line_num());
myglobals->logs_to_keep = OLD_LOGS_TO_KEEP;
}
else
{
myglobals->logs_to_keep = atoi(value);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_log_size_to_roll(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals = NULL;
char *value = NULL;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Log Size To Roll On : %s\n", value);
#endif
myglobals = (*attr);
if (xsupconfig_common_is_number(value) == 0)
{
xsupconfig_common_log("Value assigned to Logs_To_Keep is not a number! (Line %ld)"
" Using default!\n", xsupconfig_parse_get_line_num());
myglobals->size_to_roll = LOG_SIZE_TO_ROLL;
}
else
{
myglobals->size_to_roll = atoi(value);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_use_eap_hints(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
uint8_t result;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Use_EAP_Hints : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_yesno(value);
if (result == 1)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_NO_EAP_HINTS);
}
else if (result == 0)
{
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_NO_EAP_HINTS);
}
else
{
xsupconfig_common_log("Unknown value for Use_EAP_Hints. (Line %ld) Using "
"default of 'YES'.\n", xsupconfig_parse_get_line_num());
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_NO_EAP_HINTS);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_use_syslog(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals;
uint8_t result;
char *value;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Use_Syslog : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_yesno(value);
if (result == 1)
{
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_USE_SYSLOG);
}
else if (result == 0)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_USE_SYSLOG);
}
else
{
xsupconfig_common_log("Unknown value for Use_Syslog. (Line %ld) Using "
"default of 'NO'.\n", xsupconfig_parse_get_line_num());
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_USE_SYSLOG);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_detect_on_startup(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals = NULL;
uint8_t result = 0;
char *value = NULL;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Detect_on_startup : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_yesno(value);
if (result == 1)
{
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_DETECT_ON_STARTUP);
}
else if (result == 0)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_DETECT_ON_STARTUP);
}
else
{
xsupconfig_common_log("Unknown value for Dectect_on_startup. (Line %ld) Using "
"default of 'YES'.\n", xsupconfig_parse_get_line_num());
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_DETECT_ON_STARTUP);
}
FREE(value);
return myglobals;
}
void *xsupconfig_parse_roll_logs(void **attr, xmlNodePtr node)
{
struct config_globals *myglobals = NULL;
uint8_t result = 0;
char *value = NULL;
value = xmlNodeGetContent(node);
#ifdef PARSE_DEBUG
printf("Roll_Logs : %s\n", value);
#endif
myglobals = (*attr);
result = xsupconfig_common_yesno(value);
if (result == 1)
{
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_ROLL_LOGS);
}
else if (result == 0)
{
UNSET_FLAG(myglobals->flags, CONFIG_GLOBALS_ROLL_LOGS);
}
else
{
xsupconfig_common_log("Unknown value for Roll_Logs. (Line %ld) Using "
"default of 'YES'.\n", xsupconfig_parse_get_line_num());
SET_FLAG(myglobals->flags, CONFIG_GLOBALS_ROLL_LOGS);
}
FREE(value);
return myglobals;
}
parser globals[] = {
{"Log_Path", NULL, FALSE, &xsupconfig_parse_logpath},
{"Log_Level", NULL, FALSE, &xsupconfig_parse_loglevel},
{"Friendly_Warnings", NULL, FALSE, &xsupconfig_parse_friendly_warnings},
{"Log_Facility", NULL, FALSE, &xsupconfig_parse_log_facility},
{"IPC_Group", NULL, FALSE, &xsupconfig_parse_ipc_group},
{"Auth_Period", NULL, FALSE, &xsupconfig_parse_auth_period},
{"Held_Period", NULL, FALSE, &xsupconfig_parse_held_period},
{"Idle_While", NULL, FALSE, &xsupconfig_parse_idle_while},
{"Association", NULL, FALSE, &xsupconfig_parse_association},
{"Stale_Key_Timeout", NULL, FALSE, &xsupconfig_parse_stale_key_timeout},
{"Max_Starts", NULL, FALSE, &xsupconfig_parse_max_starts},
{"Allmulti", NULL, FALSE, &xsupconfig_parse_allmulti},
{"Roaming", NULL, FALSE, &xsupconfig_parse_roaming},
{"Passive_Scanning", NULL, FALSE, &xsupconfig_parse_passive_scanning},
{"Passive_Timer", NULL, FALSE, &xsupconfig_parse_passive_timer},
{"Scan_Timeout", NULL, FALSE, &xsupconfig_parse_scan_timeout},
{"Use_EAP_Hints", NULL, FALSE, &xsupconfig_parse_use_eap_hints},
{"Destination", NULL, FALSE, &xsupconfig_parse_destination}, ///XXX MOVE THIS!
{"Association_Timeout", NULL, FALSE, &xsupconfig_parse_assoc_timeout},
{"Use_Syslog", NULL, FALSE, &xsupconfig_parse_use_syslog},
{"Detect_on_startup", NULL, FALSE, &xsupconfig_parse_detect_on_startup},
{"Logs_To_Keep", NULL, FALSE, &xsupconfig_parse_logs_to_keep},
{"Log_Size_To_Roll", NULL, FALSE, &xsupconfig_parse_log_size_to_roll},
{"Roll_Logs", NULL, FALSE, &xsupconfig_parse_roll_logs},
{NULL, NULL, FALSE, NULL}};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -