[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
5. Menambahkan Kegunaan
Daftar Isi:
5.a. Hook Fungsi Standar
Empat fungsi dapat didefinisikan yang nantinya akan dipanggil di sekeliling
operasi start/stop. Fungsi-fungsi dipanggil dengan nama antarmuka
dulu agar satu fungsi dapat mengendalikan banyak antarmuka.
Nilai hasil untuk fungsi preup() dan predown() harus 0 (sukses)
untuk mengindikasikan bahwa konfigurasi atau penghapusan konfigurasi antarmuka
dapat dilanjutkan. Jika preup() memberikan nilai selain nol, maka
konfigurasi antarmuka akan dibatalkan. Jika predown() memberikan hasil
selain nol, maka antarmuka tidak akan diizinkan untuk melanjutkan penghapusan
konfigurasi.
Nilai hasil untuk fungsi postup() dan postdown() akan diabaikan
karena tidak ada yang perlu dilakukan jika fungsi-fungsi ini mengindikasikan
kegagalan.
${IFACE} diisi dengan antarmuka ketika sedang dinyalakan/dimatikan.
${IFVAR} adalah ${IFACE} yang dikonversikan ke nama-nama
variabel yang diizinkan oleh bash.
Daftar KodeĀ 1.1: Contoh-contoh fungsi pre/post up/down |
preup() {
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 "root filesystem is network mounted -- can't stop ${IFACE}"
return 1
fi
return 0
}
postup() {
return 0
}
postdown() {
return 0
}
|
5.b. Hook Fungsi Tool Wireless
Catatan:
Ini tidak akan bekerja dengan Permohonan WPA - tetapi variabel ${ESSID}
dan ${ESSIDVAR} tersedia di fungsi postup().
|
Dua fungsi dapat didefinisikan yang akan dipanggil di sekeliling fungsi-fungsi
terkait. Fungsi-fungsi ini dipanggil dengan nama antarmuka dulu agar satu
fungsi dapat mengendalikan banyak antarmuka.
Nilai hasil dari fungsi preassociate() harus berupa 0 (sukses) untuk
mengindikasikan bahwa konfigurasi atau penghapusan konfigurasi antarmuka dapat
dilanjutkan. Jika preassociate() memberikan nilai bukan nol, maka
konfigurasi antarmuka akan dibatalkan.
Nilai hasil dari fungsi postassociate() akan diabaikan karena tidak
ada yang perlu dilakukan jika fungsi ini mengindikasikan kegagalan.
${ESSID} di-set ke ESSID yang tepat dari AP yang anda hubungi.
${ESSIDVAR} merupakan ${ESSID} yang dikonversikan ke nama-nama
variabel yang diizinkan oleh bash.
Daftar KodeĀ 2.1: Fungsi-fungsi asosiasi pre/post |
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 "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
return 1
fi
einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
ewarn "Login Failed for ${user}"
return 1
fi
fi
return 0
}
postassociate() {
return 0
}
|
Catatan:
${ESSID} dan ${ESSIDVAR} tidak tersedia di fungsi predown()
dan postdown().
|
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|