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 <j@w1.fi>
This commit is contained in:
Jouni Malinen 2011-11-17 20:06:33 +02:00
parent 895c643407
commit e9447a94c0
6 changed files with 9 additions and 15 deletions

View file

@ -330,7 +330,7 @@ static int hostapd_config_read_eap_user(const char *fname,
} }
num_methods++; num_methods++;
if (num_methods >= EAP_USER_MAX_METHODS) if (num_methods >= EAP_MAX_METHODS)
break; break;
skip_eap: skip_eap:
if (pos3 == NULL) if (pos3 == NULL)

View file

@ -104,7 +104,6 @@ struct hostapd_wpa_psk {
u8 addr[ETH_ALEN]; u8 addr[ETH_ALEN];
}; };
#define EAP_USER_MAX_METHODS 8
struct hostapd_eap_user { struct hostapd_eap_user {
struct hostapd_eap_user *next; struct hostapd_eap_user *next;
u8 *identity; u8 *identity;
@ -112,7 +111,7 @@ struct hostapd_eap_user {
struct { struct {
int vendor; int vendor;
u32 method; u32 method;
} methods[EAP_USER_MAX_METHODS]; } methods[EAP_MAX_METHODS];
u8 *password; u8 *password;
size_t password_len; size_t password_len;
int phase2; int phase2;

View file

@ -60,7 +60,7 @@ static int hostapd_radius_get_eap_user(void *ctx, const u8 *identity,
struct eap_user *user) struct eap_user *user)
{ {
const struct hostapd_eap_user *eap_user; const struct hostapd_eap_user *eap_user;
int i, count; int i;
eap_user = hostapd_get_eap_user(ctx, identity, identity_len, phase2); eap_user = hostapd_get_eap_user(ctx, identity, identity_len, phase2);
if (eap_user == NULL) if (eap_user == NULL)
@ -70,10 +70,7 @@ static int hostapd_radius_get_eap_user(void *ctx, const u8 *identity,
return 0; return 0;
os_memset(user, 0, sizeof(*user)); os_memset(user, 0, sizeof(*user));
count = EAP_USER_MAX_METHODS; for (i = 0; i < EAP_MAX_METHODS; i++) {
if (count > EAP_MAX_METHODS)
count = EAP_MAX_METHODS;
for (i = 0; i < count; i++) {
user->methods[i].vendor = eap_user->methods[i].vendor; user->methods[i].vendor = eap_user->methods[i].vendor;
user->methods[i].method = eap_user->methods[i].method; user->methods[i].method = eap_user->methods[i].method;
} }

View file

@ -1568,7 +1568,7 @@ static int ieee802_1x_get_eap_user(void *ctx, const u8 *identity,
{ {
struct hostapd_data *hapd = ctx; struct hostapd_data *hapd = ctx;
const struct hostapd_eap_user *eap_user; const struct hostapd_eap_user *eap_user;
int i, count; int i;
eap_user = hostapd_get_eap_user(hapd->conf, identity, eap_user = hostapd_get_eap_user(hapd->conf, identity,
identity_len, phase2); 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)); os_memset(user, 0, sizeof(*user));
user->phase2 = phase2; user->phase2 = phase2;
count = EAP_USER_MAX_METHODS; for (i = 0; i < EAP_MAX_METHODS; i++) {
if (count > EAP_MAX_METHODS)
count = EAP_MAX_METHODS;
for (i = 0; i < count; i++) {
user->methods[i].vendor = eap_user->methods[i].vendor; user->methods[i].vendor = eap_user->methods[i].vendor;
user->methods[i].method = eap_user->methods[i].method; user->methods[i].method = eap_user->methods[i].method;
} }

View file

@ -281,4 +281,7 @@ enum wpa_ctrl_req_type {
NUM_WPA_CTRL_REQS NUM_WPA_CTRL_REQS
}; };
/* Maximum number of EAP methods to store for EAP server user information */
#define EAP_MAX_METHODS 8
#endif /* DEFS_H */ #endif /* DEFS_H */

View file

@ -22,8 +22,6 @@
struct eap_sm; struct eap_sm;
#define EAP_MAX_METHODS 8
#define EAP_TTLS_AUTH_PAP 1 #define EAP_TTLS_AUTH_PAP 1
#define EAP_TTLS_AUTH_CHAP 2 #define EAP_TTLS_AUTH_CHAP 2
#define EAP_TTLS_AUTH_MSCHAP 4 #define EAP_TTLS_AUTH_MSCHAP 4