--- /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
+
+action="${1}"
+assert isset action
+
+port="${2}"
+assert isset port
+
+config_file="$(port_config_dir ${port})/hostapd.conf"
+
+case "${action}" in
+ create)
+ # Create the configuration file for this port.
+ port_config_read ${port} || exit $?
+
+ hostapd_config_write ${port} ${config_file} \
+ --broadcast-ssid="${BROADCAST_SSID}" \
+ --channel="${CHANNEL}" \
+ --country-code="${COUNTRY_CODE}" \
+ --encryption="${ENCRYPTION}" \
+ --key="${KEY}" \
+ --mode="${MODE}" \
+ --ssid="${SSID}" \
+ || exit $?
+ ;;
+
+ remove)
+ rm -f ${config_file}
+ ;;
+
+ *)
+ log ERROR "Unknown action passed: ${action}"
+ exit ${EXIT_ERROR}
+ ;;
+esac
+
+exit ${EXIT_OK}