Save wpa_psk_file on permanent storage by default. Currently it's always created in /var/run with the hostapd files.
Any user that would use this option would save this file on permanent storage to declare specific PSK per devices or for each VLAN. The file is also used for WPS to store the per-device PSK and keeping it on /var/run on normal installation (excluding installation with permanent /var) would result in the wpa_psk_file getting wiped on reboot, losing all the per-device PSK saved by hostapd. To fix this, move the wpa_psk_file to /etc/hostapd and set the default value for the wpa_psk_file option to point to this directory. Signed-off-by: Christian Marangi <ansuels...@gmail.com> --- package/network/config/wifi-scripts/Makefile | 2 +- .../config/wifi-scripts/files/lib/netifd/hostapd.sh | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package/network/config/wifi-scripts/Makefile b/package/network/config/wifi-scripts/Makefile index 085860d7c6..539d9a03c3 100644 --- a/package/network/config/wifi-scripts/Makefile +++ b/package/network/config/wifi-scripts/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wifi-scripts PKG_VERSION:=1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Felix Fietkau <n...@nbd.name> diff --git a/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh b/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh index a357418fe1..71be4db67d 100644 --- a/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh +++ b/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh @@ -687,7 +687,14 @@ hostapd_set_bss_options() { wireless_setup_vif_failed INVALID_WPA_PSK return 1 fi - [ -z "$wpa_psk_file" ] && set_default wpa_psk_file /var/run/hostapd-$ifname.psk + [ -z "$wpa_psk_file" ] && { + [ -d /etc/hostapd ] || { + mkdir /etc/hostapd + chown network:netwrok /etc/hostapd + } + set_default wpa_psk_file /etc/hostapd/hostapd-$ifname.psk + ln -s /etc/hostapd/hostapd-$ifname.psk /var/run/hostapd-$ifname.psk + } [ -n "$wpa_psk_file" ] && { [ -e "$wpa_psk_file" ] || { touch "$wpa_psk_file" -- 2.43.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel