Aviso :
Este manual foi substituído por uma versão mais nova e não é mais mantido.
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
5. Adicionando funcionalidade
Conteúdo:
5.a. Ganchos de função padrão
Quatro funções podem ser definidas que serão chamadas em torno das operações
start/stop. As funções são chamadas com o nome da interface
primeiro para que uma função possa controlar múltiplos adaptadores.
Os valores de retorno para as funções preup() e predown devem ser
0 (sucesso) para indicar que a configuração ou desconfiguração da
interface pode continuar. Se preup() retornar um valor não-nulo, então
a configuração de interface será abortada. Se o predown() retornar um
valor não-nulo, então a interface não poderá continuar a
desconfiguração.
Os valores de retorno para as funções postup() e postdown são
ignorados, já que não há nada a fazer se eles indicarem falhas.
${IFACE} é configurado para a interface ser levantada/abaixada.
${IFVAR} é ${IFACE} convertido para um nome de variável permitido
pelo bash
Listagem de código 1.1: exemplos de função pre/post up/down |
preup() {
if mii-tool ${IFACE} 2> /dev/null | grep -q 'no link'; then
ewarn "No link on ${IFACE}, aborting configuration"
return 1
fi
if ethtool ${IFACE} | grep -q 'Link detected: no'; then
ewarn "No link on ${IFACE}, aborting configuration"
return 1
fi
return 0
}
predown() {
if is_net_fs /; then
eerror "sistema de arquivos raiz está montado em rede -- ${IFACE} não pode ser parada"
return 1
fi
return 0
}
postup() {
return 0
}
postdown() {
return 0
}
|
5.b. Ganchos de função para ferramentas wireless
Nota:
Isto não irá funcionar com WPA suplicante - mas as variáveis ${ESSID} e
${ESSIDVAR} estão disponíveis na função postup().
|
Duas funções podem ser definidas que irão ser chamadas em torno da
função associada. As funções são chamadas com o nome da interface primeiro
para que uma função possa controlar múltiplos adaptadores.
Os valores de retorno para uma função preassociate() devem ser 0
(sucesso) para indicar que a configuração ou desconfiguração da
interface pode continuar. Se preassociate() retornar um valor não-nulo,
então a configuração de interface será abortada.
O valor de retorno para a função postassociate() é ignorado
já que não há nada a fazer se indicar falha.
${ESSID} é configurado como o ESSID exato do AP a que você está se
conectando.
${ESSIDVAR} é ${ESSID} convertido para um nome de variável
permitido pelo bash
Listagem de código 2.1: funções pre/post association |
preassociate() {
local user pass
eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
if [[ -n ${user} && -n ${pass} ]]; then
if [[ ! -x /opt/cisco/bin/leapscript ]]; then
eend "Para suporte a LEAP support, por favor faça emerge net-misc/cisco-aironet-client-utils"
return 1
fi
einfo "Esperando autenticação de LEAP em \"${ESSID//\\\\//}\""
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
ewarn "Login falhou para ${user}"
return 1
fi
fi
return 0
}
postassociate() {
return 0
}
|
Nota:
${ESSID} e ${ESSIDVAR} não estão disponíveis nas funções
predown() e postdown().
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
O conteúdo deste documento está licenciado pela licença Creative Commons -
Attribution / Share Alike.
|