From: Michael Tremer Date: Thu, 17 Aug 2017 22:05:32 +0000 (+0000) Subject: wpa_supplicant: Drop config helper X-Git-Url: http://git.ipfire.org/?p=people%2Fstevee%2Fnetwork.git;a=commitdiff_plain;h=02807ad2de3f26373a32c3f9ca1895d9d3edea65 wpa_supplicant: Drop config helper Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 22c88ad0..60f59607 100644 --- a/Makefile.am +++ b/Makefile.am @@ -181,8 +181,7 @@ dist_helpers_SCRIPTS = \ src/helpers/hostapd-config-helper \ src/helpers/ipsec-updown \ src/helpers/pppd-angel \ - src/helpers/wpa_supplicant \ - src/helpers/wpa_supplicant-config-helper + src/helpers/wpa_supplicant bin_PROGRAMS = \ src/inetcalc diff --git a/src/functions/functions.wpa_supplicant b/src/functions/functions.wpa_supplicant index 983ef111..b64bf2e2 100644 --- a/src/functions/functions.wpa_supplicant +++ b/src/functions/functions.wpa_supplicant @@ -22,13 +22,12 @@ WPA_SUPPLICANT_SOCKET_DIR="${RUN_DIR}/wpa_supplicant/ctrl" wpa_supplicant_config_write() { - local device=${1} - assert isset device + local device="${1}" + shift - local file=${2} - assert isset file + assert isset device - shift 2 + local file="$(wpa_supplicant_config_dir "${device}")/wpa_supplicant.conf" local ap_scan=1 mode key ssid local channel @@ -212,6 +211,15 @@ wpa_supplicant_config_write() { return ${EXIT_OK} } +wpa_supplicant_config_destroy() { + local device="${1}" + assert isset device + + local file="$(wpa_supplicant_config_dir "${device}")/wpa_supplicant.conf" + + file_delete "${file}" +} + wpa_supplicant_config_dir() { local device=${1} assert isset device diff --git a/src/helpers/wpa_supplicant-config-helper b/src/helpers/wpa_supplicant-config-helper deleted file mode 100644 index a487dc73..00000000 --- a/src/helpers/wpa_supplicant-config-helper +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2012 IPFire Network Development Team # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -. /usr/lib/network/functions - -# Read network settings -network_settings_read - -action="${1}" -assert isset action - -zone="${2}" -assert isset zone -assert zone_exists ${zone} - -config_file="$(wpa_supplicant_config_dir ${zone})/wpa_supplicant.conf" - -case "${action}" in - create) - # Create the configuration file for this zone. - zone_settings_read ${zone} || exit $? - - wpa_supplicant_config_write ${zone} ${config_file} \ - --mode="${ENCRYPTION_MODE}" \ - --ssid="${SSID}" \ - --key="${KEY}" \ - || exit $? - ;; - - remove) - rm -f ${config_file} - ;; - - *) - log ERROR "Unknown action passed: ${action}" - exit ${EXIT_ERROR} - ;; -esac - -exit ${EXIT_OK} diff --git a/src/hooks/ports/wireless-mesh b/src/hooks/ports/wireless-mesh index a3f07bb8..83c8b756 100644 --- a/src/hooks/ports/wireless-mesh +++ b/src/hooks/ports/wireless-mesh @@ -103,11 +103,7 @@ hook_create() { fi # Write WPA supplicant configuration - local config_file="$(wpa_supplicant_config_dir "${port}")/wpa_supplicant.conf" - - wpa_supplicant_config_write \ - "${port}" \ - "${config_file}" \ + wpa_supplicant_config_write "${port}" \ --channel="${CHANNEL}" \ --key="${PSK}" \ --mode="802.11s" \ @@ -120,6 +116,9 @@ hook_remove() { local port="${1}" assert isset port + # Remove WPA supplicant configuration + wpa_supplicant_config_destroy "${port}" + if device_exists "${port}"; then wireless_remove "${port}" fi diff --git a/src/hooks/zones/wireless b/src/hooks/zones/wireless index 0bb4aa81..593b37c4 100644 --- a/src/hooks/zones/wireless +++ b/src/hooks/zones/wireless @@ -90,6 +90,12 @@ hook_up() { || exit $? fi + # Write WPA supplicant configuration + wpa_supplicant_config_write "${zone}" \ + --mode="${ENCRYPTION_MODE}" \ + --ssid="${SSID}" \ + --key="${KEY}" || return $? + # Start the WPA supplicant daemon. wpa_supplicant_start ${zone} @@ -111,6 +117,9 @@ hook_down() { wpa_supplicant_stop ${zone} + # Remove WPA supplicant configuration + wpa_supplicant_config_destroy "${zone}" + wireless_remove ${zone} exit ${EXIT_OK}