]> git.ipfire.org Git - people/ms/network.git/blobdiff - src/helpers/hostapd-config-helper
Use autotools.
[people/ms/network.git] / src / helpers / hostapd-config-helper
diff --git a/src/helpers/hostapd-config-helper b/src/helpers/hostapd-config-helper
new file mode 100755 (executable)
index 0000000..668945b
--- /dev/null
@@ -0,0 +1,58 @@
+#!/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}