Share the same global config parser function for integer values
This commit is contained in:
parent
55655636d8
commit
d7afb15a10
1 changed files with 32 additions and 73 deletions
|
@ -274,9 +274,22 @@ struct global_parse_data {
|
||||||
char *name;
|
char *name;
|
||||||
int (*parser)(const struct global_parse_data *data,
|
int (*parser)(const struct global_parse_data *data,
|
||||||
struct wpa_config *config, int line, const char *value);
|
struct wpa_config *config, int line, const char *value);
|
||||||
|
void *param1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static int wpa_config_parse_int(const struct global_parse_data *data,
|
||||||
|
struct wpa_config *config, int line,
|
||||||
|
const char *pos)
|
||||||
|
{
|
||||||
|
int *dst;
|
||||||
|
dst = (int *) (((u8 *) config) + (long) data->param1);
|
||||||
|
*dst = atoi(pos);
|
||||||
|
wpa_printf(MSG_DEBUG, "%s=%d", data->name, *dst);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_country(const struct global_parse_data *data,
|
static int wpa_config_process_country(const struct global_parse_data *data,
|
||||||
struct wpa_config *config, int line,
|
struct wpa_config *config, int line,
|
||||||
const char *pos)
|
const char *pos)
|
||||||
|
@ -333,26 +346,6 @@ static int wpa_config_process_eapol_version(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_ap_scan(const struct global_parse_data *data,
|
|
||||||
struct wpa_config *config, int line,
|
|
||||||
const char *pos)
|
|
||||||
{
|
|
||||||
config->ap_scan = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "ap_scan=%d", config->ap_scan);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_fast_reauth(const struct global_parse_data *data,
|
|
||||||
struct wpa_config *config, int line,
|
|
||||||
const char *pos)
|
|
||||||
{
|
|
||||||
config->fast_reauth = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "fast_reauth=%d", config->fast_reauth);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef EAP_TLS_OPENSSL
|
#ifdef EAP_TLS_OPENSSL
|
||||||
|
|
||||||
static int wpa_config_process_opensc_engine_path(
|
static int wpa_config_process_opensc_engine_path(
|
||||||
|
@ -404,51 +397,6 @@ static int wpa_config_process_driver_param(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_dot11RSNAConfigPMKLifetime(
|
|
||||||
const struct global_parse_data *data,
|
|
||||||
struct wpa_config *config, int line, const char *pos)
|
|
||||||
{
|
|
||||||
config->dot11RSNAConfigPMKLifetime = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "dot11RSNAConfigPMKLifetime=%d",
|
|
||||||
config->dot11RSNAConfigPMKLifetime);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_dot11RSNAConfigPMKReauthThreshold(
|
|
||||||
const struct global_parse_data *data,
|
|
||||||
struct wpa_config *config, int line, const char *pos)
|
|
||||||
{
|
|
||||||
config->dot11RSNAConfigPMKReauthThreshold = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "dot11RSNAConfigPMKReauthThreshold=%d",
|
|
||||||
config->dot11RSNAConfigPMKReauthThreshold);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_dot11RSNAConfigSATimeout(
|
|
||||||
const struct global_parse_data *data,
|
|
||||||
struct wpa_config *config, int line, const char *pos)
|
|
||||||
{
|
|
||||||
config->dot11RSNAConfigSATimeout = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "dot11RSNAConfigSATimeout=%d",
|
|
||||||
config->dot11RSNAConfigSATimeout);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef CONFIG_NO_CONFIG_WRITE
|
|
||||||
static int wpa_config_process_update_config(
|
|
||||||
const struct global_parse_data *data, struct wpa_config *config,
|
|
||||||
int line, const char *pos)
|
|
||||||
{
|
|
||||||
config->update_config = atoi(pos);
|
|
||||||
wpa_printf(MSG_DEBUG, "update_config=%d", config->update_config);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_NO_CONFIG_WRITE */
|
|
||||||
|
|
||||||
|
|
||||||
static int wpa_config_process_load_dynamic_eap(
|
static int wpa_config_process_load_dynamic_eap(
|
||||||
const struct global_parse_data *data, struct wpa_config *config,
|
const struct global_parse_data *data, struct wpa_config *config,
|
||||||
int line, const char *so)
|
int line, const char *so)
|
||||||
|
@ -578,7 +526,15 @@ static int wpa_config_process_os_version(const struct global_parse_data *data,
|
||||||
#endif /* CONFIG_WPS */
|
#endif /* CONFIG_WPS */
|
||||||
|
|
||||||
|
|
||||||
#define FUNC(f) #f, wpa_config_process_ ## f
|
#ifdef OFFSET
|
||||||
|
#undef OFFSET
|
||||||
|
#endif /* OFFSET */
|
||||||
|
/* OFFSET: Get offset of a variable within the wpa_config structure */
|
||||||
|
#define OFFSET(v) ((void *) &((struct wpa_config *) 0)->v)
|
||||||
|
|
||||||
|
#define FUNC(f) #f, wpa_config_process_ ## f, OFFSET(f)
|
||||||
|
#define FUNC_NO_VAR(f) #f, wpa_config_process_ ## f, 0
|
||||||
|
#define INT(f) #f, wpa_config_parse_int, OFFSET(f)
|
||||||
|
|
||||||
static const struct global_parse_data global_fields[] = {
|
static const struct global_parse_data global_fields[] = {
|
||||||
#ifdef CONFIG_CTRL_IFACE
|
#ifdef CONFIG_CTRL_IFACE
|
||||||
|
@ -586,21 +542,21 @@ static const struct global_parse_data global_fields[] = {
|
||||||
{ FUNC(ctrl_interface_group) },
|
{ FUNC(ctrl_interface_group) },
|
||||||
#endif /* CONFIG_CTRL_IFACE */
|
#endif /* CONFIG_CTRL_IFACE */
|
||||||
{ FUNC(eapol_version) },
|
{ FUNC(eapol_version) },
|
||||||
{ FUNC(ap_scan) },
|
{ INT(ap_scan) },
|
||||||
{ FUNC(fast_reauth) },
|
{ INT(fast_reauth) },
|
||||||
#ifdef EAP_TLS_OPENSSL
|
#ifdef EAP_TLS_OPENSSL
|
||||||
{ FUNC(opensc_engine_path) },
|
{ FUNC(opensc_engine_path) },
|
||||||
{ FUNC(pkcs11_engine_path) },
|
{ FUNC(pkcs11_engine_path) },
|
||||||
{ FUNC(pkcs11_module_path) },
|
{ FUNC(pkcs11_module_path) },
|
||||||
#endif /* EAP_TLS_OPENSSL */
|
#endif /* EAP_TLS_OPENSSL */
|
||||||
{ FUNC(driver_param) },
|
{ FUNC(driver_param) },
|
||||||
{ FUNC(dot11RSNAConfigPMKLifetime) },
|
{ INT(dot11RSNAConfigPMKLifetime) },
|
||||||
{ FUNC(dot11RSNAConfigPMKReauthThreshold) },
|
{ INT(dot11RSNAConfigPMKReauthThreshold) },
|
||||||
{ FUNC(dot11RSNAConfigSATimeout) },
|
{ INT(dot11RSNAConfigSATimeout) },
|
||||||
#ifndef CONFIG_NO_CONFIG_WRITE
|
#ifndef CONFIG_NO_CONFIG_WRITE
|
||||||
{ FUNC(update_config) },
|
{ INT(update_config) },
|
||||||
#endif /* CONFIG_NO_CONFIG_WRITE */
|
#endif /* CONFIG_NO_CONFIG_WRITE */
|
||||||
{ FUNC(load_dynamic_eap) },
|
{ FUNC_NO_VAR(load_dynamic_eap) },
|
||||||
#ifdef CONFIG_WPS
|
#ifdef CONFIG_WPS
|
||||||
{ FUNC(uuid) },
|
{ FUNC(uuid) },
|
||||||
{ FUNC(device_name) },
|
{ FUNC(device_name) },
|
||||||
|
@ -613,6 +569,9 @@ static const struct global_parse_data global_fields[] = {
|
||||||
#endif /* CONFIG_WPS */
|
#endif /* CONFIG_WPS */
|
||||||
{ FUNC(country) }
|
{ FUNC(country) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#undef FUNC
|
||||||
|
#undef INT
|
||||||
#define NUM_GLOBAL_FIELDS (sizeof(global_fields) / sizeof(global_fields[0]))
|
#define NUM_GLOBAL_FIELDS (sizeof(global_fields) / sizeof(global_fields[0]))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue