Parcourir la source

Fix hostapd_cli get_config not to show key when WPA is disabled

Previously, incorrectly configured passphrase or group cipher type
could be shown even if WPA was disabled.
Jouni Malinen il y a 15 ans
Parent
commit
088a225586
1 fichiers modifiés avec 6 ajouts et 4 suppressions
  1. 6 4
      hostapd/ctrl_iface.c

+ 6 - 4
hostapd/ctrl_iface.c

@@ -519,7 +519,7 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
 		return pos - buf;
 	pos += ret;
 
-	if (hapd->conf->wps_state &&
+	if (hapd->conf->wps_state && hapd->conf->wpa &&
 	    hapd->conf->ssid.wpa_passphrase) {
 		ret = os_snprintf(pos, end - pos, "passphrase=%s\n",
 				  hapd->conf->ssid.wpa_passphrase);
@@ -528,7 +528,8 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
 		pos += ret;
 	}
 
-	if (hapd->conf->wps_state && hapd->conf->ssid.wpa_psk &&
+	if (hapd->conf->wps_state && hapd->conf->wpa &&
+	    hapd->conf->ssid.wpa_psk &&
 	    hapd->conf->ssid.wpa_psk->group) {
 		char hex[PMK_LEN * 2 + 1];
 		wpa_snprintf_hex(hex, sizeof(hex),
@@ -593,12 +594,13 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
 		pos += ret;
 	}
 
-	if (hapd->conf->wpa_group == WPA_CIPHER_CCMP) {
+	if (hapd->conf->wpa && hapd->conf->wpa_group == WPA_CIPHER_CCMP) {
 		ret = os_snprintf(pos, end - pos, "group_cipher=CCMP\n");
 		if (ret < 0 || ret >= end - pos)
 			return pos - buf;
 		pos += ret;
-	} else if (hapd->conf->wpa_group == WPA_CIPHER_TKIP) {
+	} else if (hapd->conf->wpa &&
+		   hapd->conf->wpa_group == WPA_CIPHER_TKIP) {
 		ret = os_snprintf(pos, end - pos, "group_cipher=TKIP\n");
 		if (ret < 0 || ret >= end - pos)
 			return pos - buf;