⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsupconfig_parse_globals.c

📁 linux 下通过802.1认证的安装包
💻 C
📖 第 1 页 / 共 2 页
字号:
    }
  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 + -