wpa_supplicant: Configurable EAP fragment size in AP mode
authorLior David <qca_liord@qca.qualcomm.com>
Sat, 16 Jan 2016 16:57:54 +0000 (18:57 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 24 Jun 2016 16:02:58 +0000 (19:02 +0300)
In wpa_supplicant AP mode, allow configuration of the EAP fragment size
using the fragment_size member of network block (wpa_ssid), similar to
the fragment_size in hostapd configuration. bss->fragment_size default
value of 0 is treated specially in some EAP code paths (such as MTU
initialization in eap_pwd_init). In order to preserve the existing
behavior, bss->fragment_size will only be set if the network block
specified a value different from the default which is
DEFAULT_FRAGMENT_SIZE(1398) bytes.

Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
wpa_supplicant/ap.c

index 1e00f35..7710a8d 100644 (file)
@@ -450,6 +450,8 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s,
                os_memcpy(bss->uuid, wpa_s->conf->uuid, WPS_UUID_LEN);
        os_memcpy(bss->os_version, wpa_s->conf->os_version, 4);
        bss->pbc_in_m1 = wpa_s->conf->pbc_in_m1;
+       if (ssid->eap.fragment_size != DEFAULT_FRAGMENT_SIZE)
+               bss->fragment_size = ssid->eap.fragment_size;
 no_wps:
 #endif /* CONFIG_WPS */