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
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
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
+++ /dev/null
-#!/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 <http://www.gnu.org/licenses/>. #
-# #
-###############################################################################
-
-. /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}
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" \
local port="${1}"
assert isset port
+ # Remove WPA supplicant configuration
+ wpa_supplicant_config_destroy "${port}"
+
if device_exists "${port}"; then
wireless_remove "${port}"
fi
|| 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}
wpa_supplicant_stop ${zone}
+ # Remove WPA supplicant configuration
+ wpa_supplicant_config_destroy "${zone}"
+
wireless_remove ${zone}
exit ${EXIT_OK}