From: Jouni Malinen Date: Thu, 2 Apr 2009 16:54:13 +0000 (+0300) Subject: Fix RSN parameter setting for multi-BSS case X-Git-Url: http://git.maemo.org/git/?p=wpasupplicant;a=commitdiff_plain;h=f1f54cb8b1b47e2340dfbe937fac594725819a20;hp=d2440ba01b058138052c9914bab0f3d1de7d51b1 Fix RSN parameter setting for multi-BSS case rsn_pairwise and wpa_group were set properly only for the last BSS, but they do need to be set for all BSSes. --- diff --git a/hostapd/config.c b/hostapd/config.c index b64d4e0..ad9ab04 100644 --- a/hostapd/config.c +++ b/hostapd/config.c @@ -2269,29 +2269,30 @@ struct hostapd_config * hostapd_config_read(const char *fname) fclose(f); - if (bss->individual_wep_key_len == 0) { - /* individual keys are not use; can use key idx0 for broadcast - * keys */ - bss->broadcast_key_idx_min = 0; - } - - /* Select group cipher based on the enabled pairwise cipher suites */ - pairwise = 0; - if (bss->wpa & 1) - pairwise |= bss->wpa_pairwise; - if (bss->wpa & 2) { - if (bss->rsn_pairwise == 0) - bss->rsn_pairwise = bss->wpa_pairwise; - pairwise |= bss->rsn_pairwise; - } - if (pairwise & WPA_CIPHER_TKIP) - bss->wpa_group = WPA_CIPHER_TKIP; - else - bss->wpa_group = WPA_CIPHER_CCMP; - for (i = 0; i < conf->num_bss; i++) { bss = &conf->bss[i]; + if (bss->individual_wep_key_len == 0) { + /* individual keys are not use; can use key idx0 for + * broadcast keys */ + bss->broadcast_key_idx_min = 0; + } + + /* Select group cipher based on the enabled pairwise cipher + * suites */ + pairwise = 0; + if (bss->wpa & 1) + pairwise |= bss->wpa_pairwise; + if (bss->wpa & 2) { + if (bss->rsn_pairwise == 0) + bss->rsn_pairwise = bss->wpa_pairwise; + pairwise |= bss->rsn_pairwise; + } + if (pairwise & WPA_CIPHER_TKIP) + bss->wpa_group = WPA_CIPHER_TKIP; + else + bss->wpa_group = WPA_CIPHER_CCMP; + bss->radius->auth_server = bss->radius->auth_servers; bss->radius->acct_server = bss->radius->acct_servers;