From e9447a94c04b0f7f450d6c072a7d4037c30d3558 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 17 Nov 2011 20:06:33 +0200 Subject: [PATCH] Use a single define for maximum number of EAP methods This cleans up the code a bit by not having to deal with theoretical possibility of maximum number of EAP methods to be different between various components in hostapd. Signed-hostap: Jouni Malinen --- hostapd/config_file.c | 2 +- src/ap/ap_config.h | 3 +-- src/ap/authsrv.c | 7 ++----- src/ap/ieee802_1x.c | 7 ++----- src/common/defs.h | 3 +++ src/eap_server/eap.h | 2 -- 6 files changed, 9 insertions(+), 15 deletions(-) diff --git a/hostapd/config_file.c b/hostapd/config_file.c index 1bfd456f9..670824455 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -330,7 +330,7 @@ static int hostapd_config_read_eap_user(const char *fname, } num_methods++; - if (num_methods >= EAP_USER_MAX_METHODS) + if (num_methods >= EAP_MAX_METHODS) break; skip_eap: if (pos3 == NULL) diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h index fe20fc2b3..32c829298 100644 --- a/src/ap/ap_config.h +++ b/src/ap/ap_config.h @@ -104,7 +104,6 @@ struct hostapd_wpa_psk { u8 addr[ETH_ALEN]; }; -#define EAP_USER_MAX_METHODS 8 struct hostapd_eap_user { struct hostapd_eap_user *next; u8 *identity; @@ -112,7 +111,7 @@ struct hostapd_eap_user { struct { int vendor; u32 method; - } methods[EAP_USER_MAX_METHODS]; + } methods[EAP_MAX_METHODS]; u8 *password; size_t password_len; int phase2; diff --git a/src/ap/authsrv.c b/src/ap/authsrv.c index 7c87fde41..f0001c094 100644 --- a/src/ap/authsrv.c +++ b/src/ap/authsrv.c @@ -60,7 +60,7 @@ static int hostapd_radius_get_eap_user(void *ctx, const u8 *identity, struct eap_user *user) { const struct hostapd_eap_user *eap_user; - int i, count; + int i; eap_user = hostapd_get_eap_user(ctx, identity, identity_len, phase2); if (eap_user == NULL) @@ -70,10 +70,7 @@ static int hostapd_radius_get_eap_user(void *ctx, const u8 *identity, return 0; os_memset(user, 0, sizeof(*user)); - count = EAP_USER_MAX_METHODS; - if (count > EAP_MAX_METHODS) - count = EAP_MAX_METHODS; - for (i = 0; i < count; i++) { + for (i = 0; i < EAP_MAX_METHODS; i++) { user->methods[i].vendor = eap_user->methods[i].vendor; user->methods[i].method = eap_user->methods[i].method; } diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c index 41d2644e7..dc0c39af9 100644 --- a/src/ap/ieee802_1x.c +++ b/src/ap/ieee802_1x.c @@ -1568,7 +1568,7 @@ static int ieee802_1x_get_eap_user(void *ctx, const u8 *identity, { struct hostapd_data *hapd = ctx; const struct hostapd_eap_user *eap_user; - int i, count; + int i; eap_user = hostapd_get_eap_user(hapd->conf, identity, identity_len, phase2); @@ -1577,10 +1577,7 @@ static int ieee802_1x_get_eap_user(void *ctx, const u8 *identity, os_memset(user, 0, sizeof(*user)); user->phase2 = phase2; - count = EAP_USER_MAX_METHODS; - if (count > EAP_MAX_METHODS) - count = EAP_MAX_METHODS; - for (i = 0; i < count; i++) { + for (i = 0; i < EAP_MAX_METHODS; i++) { user->methods[i].vendor = eap_user->methods[i].vendor; user->methods[i].method = eap_user->methods[i].method; } diff --git a/src/common/defs.h b/src/common/defs.h index bfbb4b7a0..f00cf3aed 100644 --- a/src/common/defs.h +++ b/src/common/defs.h @@ -281,4 +281,7 @@ enum wpa_ctrl_req_type { NUM_WPA_CTRL_REQS }; +/* Maximum number of EAP methods to store for EAP server user information */ +#define EAP_MAX_METHODS 8 + #endif /* DEFS_H */ diff --git a/src/eap_server/eap.h b/src/eap_server/eap.h index e1f500a5f..d5f8f1d3e 100644 --- a/src/eap_server/eap.h +++ b/src/eap_server/eap.h @@ -22,8 +22,6 @@ struct eap_sm; -#define EAP_MAX_METHODS 8 - #define EAP_TTLS_AUTH_PAP 1 #define EAP_TTLS_AUTH_CHAP 2 #define EAP_TTLS_AUTH_MSCHAP 4