summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatolaZ <katolaz@freaknet.org>2017-01-20 15:21:03 +0000
committerKatolaZ <katolaz@freaknet.org>2017-01-20 15:21:03 +0000
commit1c139056e6f944268fd8852c074961425737a55a (patch)
tree25ea2045633bb863e8dfbc637ef8325426270b84
parentc62b57b8d367950aee59bdfd95a71bf2da32ef8e (diff)
added check_shell, chk_out, and chk_exit.
-rw-r--r--ChangeLog19
-rwxr-xr-xsetnet.sh95
2 files changed, 82 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..6ecc229
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,19 @@
+2017-01-20 KatolaZ <katolaz@freaknet.org>
+
+ * setnet.sh (0.3):
+ * implemented check of running shell
+ * implemented workaround for zsh -- now fully supported
+ * added chk_out and chk_exit
+ * all direct commands (e.g., ip, wpa_cli) are now checked
+
+2017-01-07 KatolaZ <katolaz@freaknet.org>
+
+ * setnet.sh (configure_device): Improved wifi detection
+ (netdiag_ping), (netdiag_traceroute),(netdiag_query):
+ changed dialog to programbox
+ * solved viasualitation bug in ip config
+ * added a manpage
+ * Added configuration variable "WIFI_DEVICES"
+ * The "Setup interface" menu has been reorganised
+ * added "Config IP Address" and "Manage Wifi Networking"
+
diff --git a/setnet.sh b/setnet.sh
index 4471ec6..9e363a5 100755
--- a/setnet.sh
+++ b/setnet.sh
@@ -321,6 +321,39 @@ check_sudo(){
}
+##
+## Check the output of a command provided as argument against an
+## expected output
+##
+##function
+chk_out(){
+
+ EXP_OUT=$1
+ shift
+ ACT_OUT=$(eval "$*")
+ [ "${ACT_OUT}" = "${EXP_OUT}" ] || \
+ log "chk_out" "Error: got '${ACT_OUT}' when expecting '${EXP_OUT}'"
+
+}
+
+
+##
+## Check the exit value of a command provided as argument against an
+## expected output
+##
+##function
+chk_exit(){
+
+ EXP_EXIT=$1
+ shift
+ eval "$*"
+ ACT_EXIT=$?
+ [ "${ACT_EXIT}" = "${EXP_EXIT}" ] || \
+ log "chk_exit" "Error: got '${ACT_EXIT}' when expecting '${EXP_EXIT}'"
+
+}
+
+
##########################################
@@ -460,16 +493,16 @@ ${DEV_GW}\nDNS1: ${DEV_DNS1}\nDNS2: ${DEV_DNS2}'\
## Configure IP
- ip link set "${DEVNAME}" down
- ip link set "${DEVNAME}" up
- ip address flush dev "${DEVNAME}"
- ip address add "${DEV_IP}/${DEV_NETMASK}" dev "${DEVNAME}"
+ chk_exit 0 ip link set "${DEVNAME}" down
+ chk_exit 0 ip link set "${DEVNAME}" up
+ chk_exit 0 ip address flush dev "${DEVNAME}"
+ chk_exit 0 ip address add "${DEV_IP}/${DEV_NETMASK}" dev "${DEVNAME}"
## Configure GW
#if [ -n "${DEV_GW}" ]; then
- ip route flush dev "${DEVNAME}"
- ip route add "${DEV_NET}/${DEV_NETMASK}" dev "${DEVNAME}"
- ip route add default via "${DEV_GW}"
+ chk_exit 0 ip route flush dev "${DEVNAME}"
+ chk_exit 0 ip route add "${DEV_NET}/${DEV_NETMASK}" dev "${DEVNAME}"
+ chk_exit 0 ip route add default via "${DEV_GW}"
#fi
## Configure DNS
#if [ -n "${DEV_DNS1}" ] ||
@@ -619,13 +652,14 @@ wpa_authenticate_EAP_PEAP(){
# now we can begin -- get the EAP key_mgmt
KEY_MGMT=$(wpa_cli -i ${DEVNAME} get_network ${NET_NUM} key_mgmt | tr ' ' '\n' | \
grep "EAP" | head -1)
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} key_mgmt ${KEY_MGMT}
+
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} key_mgmt ${KEY_MGMT}
## Set the eap to PEAP
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} eap PEAP
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} eap PEAP
## Set identity and password
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} identity "${EAP_IDENTITY}"
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} password "${EAP_PASSWORD}"
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} identity "${EAP_IDENTITY}"
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} password "${EAP_PASSWORD}"
eval "${DIALOG} --defaultno --yesno \
'Network \"${W_ESSID}\" added\nSave configuration file?' \
@@ -637,7 +671,7 @@ wpa_authenticate_EAP_PEAP(){
## We can now enable the network
- wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
+ chk_out "OK" wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
return 0
@@ -654,7 +688,7 @@ wifi_authenticate_EAP(){
NET_NUM=$(wpa_cli -i ${DEVNAME} add_network | tail -1)
log "wifi_authenticate" "NET_NUM: ${NET_NUM}"
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
## then we check what kind of EAP authentication is available:
##
@@ -681,7 +715,7 @@ wifi_authenticate_EAP(){
### If we get here, there was an error before, and we should
### remove the network to not clutter wpa_supplicant...
- wpa_cli -i ${DEVNAME} remove_network ${NET_NUM}
+ chk_out "OK" wpa_cli -i ${DEVNAME} remove_network ${NET_NUM}
eval "${DIALOG} --msgbox 'EAP-${EAP_TYPE} authentication is not currently supported\n' \
${INFO_HEIGHT} ${INFO_WIDTH}"
@@ -699,8 +733,8 @@ wifi_authenticate_ESS(){
NET_NUM=$(wpa_cli -i ${DEVNAME} add_network | tail -1)
log "wifi_authenticate" "NET_NUM: ${NET_NUM}"
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} key_mgmt NONE
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} key_mgmt NONE
eval "${DIALOG} --defaultno --yesno \
'Network \"${W_ESSID}\" added\nSave configuration file?' \
${INFO_HEIGHT} ${INFO_WIDTH} " 2> ${TMPFILE}
@@ -710,7 +744,7 @@ wifi_authenticate_ESS(){
fi
## We can now enable the network
- wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
+ chk_out "OK" wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
return 0
@@ -740,8 +774,8 @@ wifi_authenticate_PSK(){
NET_NUM=$(wpa_cli -i ${DEVNAME} add_network | tail -1)
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
- wpa_cli -i ${DEVNAME} set_network ${NET_NUM} psk \"${PSK}\"
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} ssid "\"${W_ESSID}\""
+ chk_out "OK" wpa_cli -i ${DEVNAME} set_network ${NET_NUM} psk \"${PSK}\"
## remove the password from tmpfile
echo "" > ${TMPFILE}
eval "${DIALOG} --defaultno --yesno \
@@ -753,7 +787,7 @@ wifi_authenticate_PSK(){
fi
## We can now enable the network
- wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
+ chk_out "OK" wpa_cli -i ${DEVNAME} enable_network ${NET_NUM}
eval "${DIALOG} --msgbox 'Network added successfully' ${INFO_HEIGHT} ${INFO_WIDTH}"
return 0
@@ -797,8 +831,7 @@ wifi_authenticate(){
if [ ${NET_EXISTS} != 0 ]; then
NET_NUM=$(wpa_cli -i ${DEVNAME} list_networks | tail -n +2 | sed -r -e 's/\t/\|/g' \
| cut -d "|" -f 1,2 | grep "${W_ESSID}$" | cut -d "|" -f 1)
- wpa_cli -i ${DEVNAME} remove_network ${NET_NUM} > ${TMPFILE}
- STATUS=$(cat ${TMPFILE})
+ STATUS=$(wpa_cli -i ${DEVNAME} remove_network ${NET_NUM})
if [ "${STATUS}" != "OK" ]; then
eval "${DIALOG} --msgbox 'Error while removing existing \
network:\n$essid: {W_ESSID}'" ${INFO_HEIGHT} ${INFO_WIDTH}
@@ -912,8 +945,7 @@ wifi_save_file(){
##local
DEVNAME=$1
- wpa_cli -i ${DEVNAME} save_config | tail -1 > ${TMPFILE}
- SAVE_STATUS=$(cat ${TMPFILE})
+ SAVE_STATUS=$(wpa_cli -i ${DEVNAME} save_config | tail -1 )
if [ "${SAVE_STATUS}" = "OK" ]; then
eval "${DIALOG} --msgbox 'Current configuration dumped to file ${WPA_FILE}' \
${INFO_HEIGHT} ${INFO_WIDTH}"
@@ -1228,20 +1260,19 @@ configure_wifi(){
##function
set_device_up(){
-##local
-DEVNAME=$1
-
- ip link set ${DEVNAME} up
+ ##local
+ DEVNAME=$1
+ chk_exit 0 ip link set ${DEVNAME} up
+
}
##function
set_device_down(){
-
-##local
-DEVNAME=$1
- ip link set ${DEVNAME} down
+ ##local
+ DEVNAME=$1
+ chk_exit 0 ip link set ${DEVNAME} down
}