Implemented check of sudo/sup. Disabled "Load Configuration File" if

run under sudo/sup
origin
KatolaZ 8 years ago
parent 201c07b4e0
commit 87f692fd21
  1. 111
      setnet.sh

@ -295,6 +295,20 @@ unimplemented(){
} }
##function
check_sudo(){
LABEL="$1"
if [ "${USING_SUDO}" = "1" ]; then
eval "${DIALOG} --msgbox '${LABEL}' ${INFO_HEIGHT} ${INFO_WIDTH} " 2>${TMPFILE}
return 1
else
return 0
fi
}
########################################## ##########################################
@ -865,47 +879,57 @@ wifi_disable(){
##function ##function
wifi_load_file(){ wifi_load_file(){
##local ##local
DEVNAME=$1 DEVNAME=$1
eval "${DIALOG} --fselect ${WPA_FILE} ${WINDOW_HEIGHT} ${WINDOW_WIDTH}" \ MSG="You are running setnet through sudo or sup!!!\nLoad file is
2>${TMPFILE} disabled!" check_sudo "${MSG}"
if [ $? -eq 0 ]; then if [ $? -eq 1 ]; then
SEL_FILE=$(cat ${TMPFILE}) return
while [ -d "${SEL_FILE}" ]; do fi
eval "${DIALOG} --fselect ${SEL_FILE} ${WINDOW_HEIGHT} ${WINDOW_WIDTH}" \
2>${TMPFILE}
if [ $? -eq 0 ]; then eval "${DIALOG} --fselect ${WPA_FILE} ${WINDOW_HEIGHT} ${WINDOW_WIDTH}" \
SEL_FILE=$(cat ${TMPFILE}) 2>${TMPFILE}
else
eval "${DIALOG} --clear --msgbox 'WPA_FILE was not modified' \ if [ $? -eq 0 ]; then
SEL_FILE=$(cat ${TMPFILE})
while [ -d "${SEL_FILE}" ]; do
eval "${DIALOG} --fselect ${SEL_FILE} ${WINDOW_HEIGHT} ${WINDOW_WIDTH}" \
2>${TMPFILE}
if [ $? -eq 0 ]; then
SEL_FILE=$(cat ${TMPFILE})
else
eval "${DIALOG} --clear --msgbox 'WPA_FILE was not modified' \
${INFO_HEIGHT} ${INFO_WIDTH}" ${INFO_HEIGHT} ${INFO_WIDTH}"
return return
fi fi
done done
if [ -f "${SEL_FILE}" ]; then if [ -f "${SEL_FILE}" ]; then
WPA_FILE=${SEL_FILE} WPA_FILE=${SEL_FILE}
eval "${DIALOG} --clear --defaultno --yesno \ eval "${DIALOG} --clear --defaultno --yesno \
'WPA_FILE changed to ${WPA_FILE}\nRestart wpa_supplicant?' \ 'WPA_FILE changed to ${WPA_FILE}\nRestart wpa_supplicant?' \
${INFO_HEIGHT} ${INFO_WIDTH}" ${INFO_HEIGHT} ${INFO_WIDTH}"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
wifi_restart_wpa ${DEVNAME} ${WPA_FILE} wifi_restart_wpa ${DEVNAME} ${WPA_FILE}
fi fi
else else
eval "${DIALOG} --clear --msgbox 'Invalid file name!\n WPA_FILE *not* changed' \ eval "${DIALOG} --clear --msgbox 'Invalid file name!\n WPA_FILE *not* changed' \
${WINDOW_HEIGHT} ${WINDOW_WIDTH}" ${WINDOW_HEIGHT} ${WINDOW_WIDTH}"
return return
fi fi
else else
eval "${DIALOG} --clear --msgbox 'WPA_FILE was not modified' \ eval "${DIALOG} --clear --msgbox 'WPA_FILE was not modified' \
${INFO_HEIGHT} ${INFO_WIDTH}" ${INFO_HEIGHT} ${INFO_WIDTH}"
fi fi
} }
@ -1716,14 +1740,34 @@ initialise(){
TMPFILE=$( (tempfile) 2>/dev/null) || TMPFILE=/tmp/setnet_$$ TMPFILE=$( (tempfile) 2>/dev/null) || TMPFILE=/tmp/setnet_$$
WPA_PIDFILE=$( (tempfile) 2>/dev/null) || WPA_PIDFILE=/tmp/setnet_wpapid_$$ WPA_PIDFILE=$( (tempfile) 2>/dev/null) || WPA_PIDFILE=/tmp/setnet_wpapid_$$
trap cleanup 0 HUP INT TRAP TERM QUIT trap cleanup 0 HUP INT TRAP TERM QUIT
if [ -z ${TRUNCATE_LOG} ] || \ if [ -z ${TRUNCATE_LOG} ] || \
[ ${TRUNCATE_LOG} = "yes" ] || \ [ ${TRUNCATE_LOG} = "yes" ] || \
[ ${TRUNCATE_LOG} = "YES" ]; then [ ${TRUNCATE_LOG} = "YES" ]; then
truncate -s 0 ${LOGFILE} truncate -s 0 ${LOGFILE}
fi fi
log "setnet" "Starting afresh on $(date)"
EUID=$(id -ru)
if [ "${EUID}" = "0" ] &&
[ -n "${SUDO_UID}" ] &&
[ "${EUID}" != "${SUDO_UID}" ]; then
USING_SUDO="1"
elif [ "${EUID}" = "0" ] &&
[ -n "${SUP_UID}" ] &&
[ "${EUID}" != "${SUP_UID}" ]; then
USING_SUDO="1"
else
USING_SUDO="0"
fi
log "initialise" "EUID: ${EUID}"
log "initialise" "SUDO_UID: ${SUDO_UID}"
log "initialise" "SUP_UID: ${SUP_UID}"
log "initialise" "USING_SUDO: ${USING_SUDO}"
} }
@ -1742,7 +1786,6 @@ main(){
show_disclaimer show_disclaimer
log "setnet" "Starting afresh on $(date)"
SETNETRC=$(realpath ${SETNETRC}) SETNETRC=$(realpath ${SETNETRC})
log "main" "Using config file \"${SETNETRC}\"" log "main" "Using config file \"${SETNETRC}\""
WPA_FILE=$(realpath ${WPA_FILE}) WPA_FILE=$(realpath ${WPA_FILE})

Loading…
Cancel
Save