#!/bin/bash # Copyright (c) 2004-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # Contributed by Roy Marples (uberlord@gentoo.org) # Many thanks to all the people in the Gentoo forums for their ideas and # motivation for me to make this and keep on improving it # Load our config if it exists [[ -f $(add_suffix "/etc/conf.d/wireless" ) ]] \ && source $(add_suffix "/etc/conf.d/wireless" ) # void essidnet_depend(void) # # Sets up the dependancies for the module essidnet_depend() { before interface after wireless installed wireless } # bool essidnet_check_installed(void) # # Always returns 0 as we are "installed" by wireless in the depend function essidnet_check_installed() { return 0 } # char* essidnet_provides(void) # # Returns a string to change module definition for starting up essidnet_provides() { echo "essidnet" } # bool essidnet_check_depends(void) # # Checks to see if we have the needed functions essidnet_check_depends() { local f for f in wireless_check_extensions wireless_get_essid wireless_get_ap_mac_address; do [[ $( type -t "${f}" ) == "function" ]] && continue eerror "essidnet: missing required function ${f}\n" return 1 done return 0 } # bool essidnet_start(char *iface) # # All interfaces and module scripts expose modulename_get_vars # which returns a space seperated list of user configuration variables # We can override each variable here from a given ESSID or the MAC # of the AP connected to. MAC configuration takes precedence # Always returns 0 essidnet_pre_start() { local iface="$1" wireless_check_extensions "${iface}" || return 0 local mac=$( wireless_get_ap_mac_address "${iface}" ) local ESSID=$( wireless_get_essid "${iface}" ) local essid=$( bash_variable ${ESSID} ) mac="${mac//:/}" vebegin "Configuring ${iface} for ESSID \"${ESSID//\\\\/\\\\}\"" 2>/dev/null configure_variables "${iface}" "${essid}" "${mac}" # Backwards compat for old gateway var eval x=\"\$\{gateway_${essid}\}\" [[ -n ${x} ]] && gateway="${iface}/${x}" veend 0 2>/dev/null return 0 } # vim:ts=4