summaryrefslogtreecommitdiff
path: root/setnet.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setnet.sh')
-rwxr-xr-xsetnet.sh122
1 files changed, 76 insertions, 46 deletions
diff --git a/setnet.sh b/setnet.sh
index 50eed6d..d6fc086 100755
--- a/setnet.sh
+++ b/setnet.sh
@@ -20,7 +20,7 @@
# ----------------------------------------------------------------------
#
# Copyleft (C) Vincenzo "KatolaZ" Nicosia (katolaz@freaknet.org) --
-# (2016, 2017)
+# (2016-2018)
#
#
@@ -29,11 +29,14 @@
## Initialisation
##
-VERSION=0.3.2
+VERSION=0.4
TOPSTR="setnet-${VERSION} [user: $(id -run)]"
DIALOG="dialog --backtitle \"${TOPSTR}\" --clear "
+DIALOG_EXTRA="dialog --backtitle \"${TOPSTR}\" --clear --extra-button --extra-label 'Quit' "
+
+
###############################
@@ -538,7 +541,7 @@ ${DEV_GW}\nDNS1: ${DEV_DNS1}\nDNS2: ${DEV_DNS2}'\
if [ -n "${DEV_DNS2}" ]; then
echo "nameserver ${DEV_DNS2}" >> /etc/resolv.conf
fi
- show_device_conf "${DEVNAME}"
+ [ -z "${SUPPRESS}" ] && show_device_conf "${DEVNAME}"
#fi
}
@@ -556,7 +559,7 @@ config_ip_dhcp(){
if [ $! -ne 0 ];then
log "config_ip_dhcp" "dhclient aborted"
fi
- show_device_conf ${DEVNAME}
+ [ -z "${SUPPRESS}" ] && show_device_conf ${DEVNAME}
}
@@ -566,7 +569,7 @@ configure_ip_address(){
##local
DEVNAME=$1
- eval "${DIALOG} --cancel-label 'Up' \
+ eval "${DIALOG} --cancel-label 'Up' \
--menu 'Configuring ${DEVNAME}' ${INFO_HEIGHT} ${INFO_WIDTH} 4 \
'DHCP' ''\
'Static' ''" 2>${TMPFILE}
@@ -592,8 +595,8 @@ wifi_essid_from_mac(){
##local
W_MAC=$2
- W_ESSID=$(wpa_cli -i "${DEVNAME}" scan_results | grep -E "^${W_MAC}" | \
- sed -r -e 's/\t/\|/g' | cut -d "|" -f 5)
+ W_ESSID="$(wpa_cli -i "${DEVNAME}" scan_results | grep -E "^${W_MAC}" | \
+ sed -r -e 's/\t/\|/g' | cut -d "|" -f 5)"
log "wifi_essid_from_mac" "Recovered ESSID: ${W_ESSID}"
}
@@ -1013,7 +1016,7 @@ wifi_authenticate(){
log "wifi_authenticate" "Trying open (no WPA) configuration..."
- wifi_authenticate_NONE ${DEVNAME} ${W_ESSID}
+ wifi_authenticate_NONE "${DEVNAME}" "${W_ESSID}"
if [ $? = "0" ]; then
log "wifi_authenticate" "Open connection configured"
return 0
@@ -1363,7 +1366,7 @@ show_device_menu(){
while true; do
DEV_STATUS=$(ip -o link | cut -d " " -f 2,9 | grep -E "^${DEVNAME}: " | cut -d " " -f 2)
log "show_device_menu" "DEVNAME: ${DEVNAME} DEV_STATUS: ${DEV_STATUS}"
- eval "${DIALOG} --cancel-label 'Up' --menu\
+ eval "${DIALOG_EXTRA} --cancel-label 'Up' --menu\
'Device: ${DEVNAME}\nStatus: ${DEV_STATUS}' \
${WINDOW_HEIGHT} ${WINDOW_WIDTH} 8 \
'View' 'View current configuration' \
@@ -1372,10 +1375,12 @@ show_device_menu(){
'Start' 'Bring interface up' \
'Stop' 'Put interface down' \
'Restart' 'Restart interface'" 2> ${TMPFILE}
-
- if [ $? -eq 1 ]; then
- return
- fi
+ ext=$?
+ if [ $ext -eq 1 ]; then
+ return
+ elif [ $ext -eq 3 ]; then
+ exit 0
+ fi
DEV_ACTION=$(cat ${TMPFILE})
case ${DEV_ACTION} in
@@ -1417,12 +1422,12 @@ show_devs() {
DEVICE_TAGS=""
for i in $DEVICES; do
- if [ "$i" != "lo" ]; then
+ if [ "$i" != "lo" -o -n "${SHOW_LO}" ]; then
DEVICE_TAGS="${DEVICE_TAGS} $i $i"
fi
done
- eval "${DIALOG} --cancel-label 'Up' \
+ eval "${DIALOG_EXTRA} --cancel-label 'Up' \
--menu 'Select Interface to configure' ${WINDOW_HEIGHT} ${WINDOW_WIDTH} 4 \
${DEVICE_TAGS}" 2> ${TMPFILE}
return $?
@@ -1432,14 +1437,17 @@ show_devs() {
##function
dev_config_menu(){
- while true; do
- show_devs
- if [ $? -eq 1 ]; then
- return
- fi
- DEVNAME=$(cat ${TMPFILE})
- show_device_menu ${DEVNAME}
- done
+ while true; do
+ show_devs
+ ext=$?
+ if [ ${ext} -eq 1 ]; then
+ return
+ elif [ ${ext} -eq 3 ]; then
+ exit 0
+ fi
+ DEVNAME=$(cat ${TMPFILE})
+ show_device_menu ${DEVNAME}
+ done
}
##function
@@ -1457,16 +1465,19 @@ Ethernet/Wi-Fi interfaces.
Both Static and DHCP-based IP configuration are supported.
-At the moment, only WPA-PSK and open (no key) Wi-Fi connections are
-available.
+Setnet supports the configuration of open (no-key), WPA-Personal
+(WPA-PSK and WPA2-PSK) and WPA-Enterprise (EAP/PEAP and EPA/TLS) Wi-Fi
+connections.
For more information, please visit the webpage of the project:
http://kalos.mine.nu/setnet/
+or, better, RTFM.
+
Please report bugs at:
- https://git.devuan.org/KatolaZ/setnet
+ https://git.devuan.org/devuan-packages/setnet
EOF
eval "${DIALOG} --cr-wrap --textbox ${TMPFILE} ${WINDOW_HEIGHT} ${WINDOW_WIDTH}"
@@ -1483,7 +1494,7 @@ show_copyright(){
--------------------------------------------------------------------
Copyleft (C) Vincenzo "KatolaZ" Nicosia <katolaz@freaknet.org>
- 2016, 2017
+ 2016-2018
--------------------------------------------------------------------
@@ -1517,7 +1528,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------
Copyleft (C) Vincenzo "KatolaZ" Nicosia <katolaz@freaknet.org>
- 2016, 2017
+ 2016-2018
--------------------------------------------------------------------
@@ -1990,6 +2001,7 @@ SCRIPTNAME=$1
echo "Usage: ${SCRIPTNAME} [OPTION]"
echo "Options:"
printf "\t -c cfg_file\tLoad configuration from cfg_file.\n"
+ printf "\t -c trace_file\tDump dialog debug trace to trace_file.\n"
printf "\t -v\t\tPrint version number and exit.\n"
printf "\t -h\t\tShow this help.\n"
@@ -2001,7 +2013,7 @@ show_version(){
##local
SCRIPTNAME=$1
echo "${SCRIPTNAME} -- version ${VERSION}"
- echo "Copyleft (C) Vincenzo \"KatolaZ\" Nicosia (katolaz@freaknet.org) -- 2016, 2017"
+ echo "Copyleft (C) Vincenzo \"KatolaZ\" Nicosia (katolaz@freaknet.org) -- 2016-2018"
echo "This is free software. You can use and redistribute it under the "
echo "terms of the GNU General Public Licence version 3 or (at your option)"
echo "any later version."
@@ -2019,7 +2031,7 @@ show_disclaimer(){
-+- setnet.sh ${VERSION} -+-
Copyleft (C) KatolaZ (katolaz@freaknet.org)
- 2016, 2017
+ 2016-2018
-+- This is a beta release of setnet.sh -+-
@@ -2082,6 +2094,24 @@ initialise(){
log "initialise" "SUDO_UID: ${SUDO_UID}"
log "initialise" "SUP_UID: ${SUP_UID}"
log "initialise" "USING_SUDO: ${USING_SUDO}"
+
+ SUPPRESS=""
+ if [ -n "${SUPPRESS_INFO}" ] &&
+ [ "${SUPPRESS_INFO}" != "no" ] &&
+ [ "${SUPPRESS_INFO}" != "NO" ]; then
+ SUPPRESS="1"
+ fi
+
+ if [ -n "${SHOW_LO}" ] &&
+ [ "${SHOW_LO}" != "no" ] &&
+ [ "${SHOW_LO}" != "NO" ]; then
+ SHOW_LO="1"
+ else
+ SHOW_LO=""
+ fi
+
+ log "initialise" "SUPPRESS: ${SUPPRESS}"
+
}
@@ -2097,8 +2127,9 @@ log_show(){
##function
main(){
-
- show_disclaimer
+ log "main" "SUPPRESS: ${SUPPRESS}"
+
+ [ -z "${SUPPRESS}" ] && show_disclaimer
SETNETRC=$(realpath ${SETNETRC})
log "main" "Using config file \"${SETNETRC}\""
@@ -2119,23 +2150,22 @@ main(){
log "main" "ACTION: ${ACTION}"
case ${ACTION} in
"Setup")
- dev_config_menu
- ;;
- "Info")
- netdiag_menu
- ;;
- "Dump")
- dump_menu
- ;;
- "Log")
- log_show
- ;;
+ dev_config_menu
+ ;;
+ "Info")
+ netdiag_menu
+ ;;
+ "Dump")
+ dump_menu
+ ;;
+ "Log")
+ log_show
+ ;;
"About")
- about_menu
- ;;
+ about_menu
+ ;;
esac
done
-
}