From: Michael Tremer Date: Sun, 23 Sep 2012 20:14:52 +0000 (+0000) Subject: Move wpa_supplicant functions into their own file. X-Git-Tag: 005~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d4eec4c6fc0fc285663b4f2cc527d2103cc245f;p=network.git Move wpa_supplicant functions into their own file. --- diff --git a/functions.wireless b/functions.wireless index eacc6abf..00e1a02f 100644 --- a/functions.wireless +++ b/functions.wireless @@ -63,129 +63,3 @@ function wireless_set_channel() { iw dev ${device} set channel ${channel} $@ } - -function wpa_supplicant_config_write() { - local device=${1} - shift - - assert isset device - - local ssid - local encryption - local key - - while [ $# -gt 0 ]; do - case "${1}" in - --ssid=*) - ssid=${1#--ssid=} - ;; - --encryption=*) - encryption=${1#--encryption=} - ;; - --key=*) - key=${1#--key=} - ;; - esac - shift - done - - assert isset ssid - assert isset encryption - assert isset key - - cat < ${config_file} - - wpa_supplicant -i ${device} -D wext -B -c ${config_file} \ - -P ${config_dir}/pid -} - -function wpa_supplicant_stop() { - local device=${1} - - assert isset device - - local pid=$(wpa_supplicant_get_pid ${device}) - - if isset pid; then - process_kill ${pid} - else - warning_log "Could not find pid file for wpa_supplicant process running for ${device}." - fi - - rm -rf $(wpa_supplicant_config_dir ${device}) -} - -function wpa_supplicant_get_pid() { - local device=${1} - - assert isset device - - local pid_file="$(wpa_supplicant_config_dir ${device})/pid" - - [ -e "${pid_file}" ] || return ${EXIT_ERROR} - - cat ${pid_file} 2>/dev/null - return ${EXIT_OK} -} - -function wpa_supplicant_is_running() { - local device=${1} - - assert isset device - - local pid=$(wpa_supplicant_get_pid ${device}) - - if isset pid && [ -d "/proc/${pid}" ]; then - return ${EXIT_OK} - fi - - return ${EXIT_ERROR} -} - -function wpa_supplicant_get_pid() { - local zone=${1} - shift - - -} - -function wpa_supplicant_stop() { - local zone=${1} - shift - - killall wpa_supplicant -} diff --git a/functions.wpa_supplicant b/functions.wpa_supplicant new file mode 100644 index 00000000..3f01791b --- /dev/null +++ b/functions.wpa_supplicant @@ -0,0 +1,146 @@ +#!/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 . # +# # +############################################################################### + +function wpa_supplicant_config_write() { + local device=${1} + shift + + assert isset device + + local ssid + local encryption + local key + + while [ $# -gt 0 ]; do + case "${1}" in + --ssid=*) + ssid=${1#--ssid=} + ;; + --encryption=*) + encryption=${1#--encryption=} + ;; + --key=*) + key=${1#--key=} + ;; + esac + shift + done + + assert isset ssid + assert isset encryption + assert isset key + + cat < ${config_file} + + wpa_supplicant -i ${device} -D wext -B -c ${config_file} \ + -P ${config_dir}/pid +} + +function wpa_supplicant_stop() { + local device=${1} + + assert isset device + + local pid=$(wpa_supplicant_get_pid ${device}) + + if isset pid; then + process_kill ${pid} + else + warning_log "Could not find pid file for wpa_supplicant process running for ${device}." + fi + + rm -rf $(wpa_supplicant_config_dir ${device}) +} + +function wpa_supplicant_get_pid() { + local device=${1} + + assert isset device + + local pid_file="$(wpa_supplicant_config_dir ${device})/pid" + + [ -e "${pid_file}" ] || return ${EXIT_ERROR} + + cat ${pid_file} 2>/dev/null + return ${EXIT_OK} +} + +function wpa_supplicant_is_running() { + local device=${1} + + assert isset device + + local pid=$(wpa_supplicant_get_pid ${device}) + + if isset pid && [ -d "/proc/${pid}" ]; then + return ${EXIT_OK} + fi + + return ${EXIT_ERROR} +} + +function wpa_supplicant_get_pid() { + local zone=${1} + shift + + +} + +function wpa_supplicant_stop() { + local zone=${1} + shift + + killall wpa_supplicant +}