diff --git a/apsetup/usr/local/bin/wap-disable b/apsetup/usr/local/bin/wap-disable index b5df648..977be52 100644 --- a/apsetup/usr/local/bin/wap-disable +++ b/apsetup/usr/local/bin/wap-disable @@ -9,19 +9,21 @@ then exit 1 fi -source /etc/piwifiap.conf +source /etc/piwifiap/piwifiap.conf -if [ "$network_system" = "systemd-networkd" ] -then - systemctl stop hostapd - systemctl disable hostapd -elif [ "$network_system" = "NetworkManager" ] -then - nmcli con down piwifi-ap - nmcli con mod piwifi-ap autoconnect no -else - echo "Unable to determine what type of network configuration (systemd-networkd" - echo "or NetworkManager) your system uses." - echo "Cannot disable wireless access point." - exit 2 -fi +case "$network_system" in + "systemd-networkd") + systemctl stop hostapd + systemctl disable hostapd + ;; + "NetworkManager") + nmcli con down piwifi-hotspot + nmcli con mod piwifi-hotspot autoconnect no + ;; + *) + echo "Unable to determine what type of network configuration (systemd-networkd" + echo "or NetworkManager) your system uses." + echo "Cannot disable wireless access point." + exit 2 + ;; +esac diff --git a/apsetup/usr/local/bin/wap-enable b/apsetup/usr/local/bin/wap-enable index 3ee85fc..6f9e61e 100644 --- a/apsetup/usr/local/bin/wap-enable +++ b/apsetup/usr/local/bin/wap-enable @@ -9,20 +9,21 @@ then exit 1 fi -source /etc/piwifiap.conf - -if [ "$network_system" = "systemd-networkd" ] -then - systemctl enable hostapd - systemctl start hostapd -elif [ "$network_system" = "NetworkManager" ] -then - nmcli con mod piwifi-ap autoconnect yes - nmcli con up piwifi-ap -else - echo "Unable to determine what type of network configuration (systemd-networkd" - echo "or NetworkManager) your system uses." - echo "Cannot enable wireless access point." - exit 2 -fi +source /etc/piwifiap/piwifiap.conf +case "$network_system" in + "systemd-networkd") + systemctl enable hostapd + systemctl start hostapd + ;; + "NetworkManager") + nmcli con mod piwifi-hotspot autoconnect yes + nmcli con up piwifi-hotspot passwd-file /etc/piwifiap/piwifiap.secret + ;; + *) + echo "Unable to determine what type of network configuration (systemd-networkd" + echo "or NetworkManager) your system uses." + echo "Cannot enable wireless access point." + exit 2 + ;; +esac diff --git a/apsetup/usr/local/bin/wap-setpassphrase b/apsetup/usr/local/bin/wap-setpassphrase index 3ec4fdd..d363388 100644 --- a/apsetup/usr/local/bin/wap-setpassphrase +++ b/apsetup/usr/local/bin/wap-setpassphrase @@ -9,39 +9,41 @@ then exit 1 fi -source /etc/piwifiap.conf +source /etc/piwifiap/piwifiap.conf -newppok=0 -while [ "$newppok" -ne 1 ] +wappassok="no" +while [[ "$wappassok" == "no" ]] do - echo -n "New passphrase: " - read newpp - newpplen=`echo -n $newpp | wc -m` - if [ "$newpp" = "" -o "$newpplen" -lt 8 ] - then - echo "Passphrase didn't satisfy requirements. Try again or hit -c to abort." - else - newppok=1 - fi + echo "You will need to set a passphrase for this access point. It should" + echo "be at least 8 characters in length and cannot be blank." + echo -n "Please enter the desired passphrase for this access point: " + read wappass + wappasslen=$(echo -n $wappass | wc -m) + if [[ "$wappass" == "" || $wappasslen -lt 8 ]] + then + echo "Passphrase doesn't satisfy requirements above. Try again." + else + wappassok="yes" + fi done -if [ "$network_system" = "systemd-networkd" ] -then - sed -i "/wpa_passphrase=.*/c wpa_passphrase=$newpp" /etc/hostapd/hostapd.conf - systemctl restart hostapd -elif [ "$network_system" = "NetworkManager" ] -then - nmcli con down piwifi-ap - nmcli con mod piwifi-ap wifi-sec.psk "$newpp" - nmcli con up piwifi-ap -else - echo "Unable to determine what type of network configuration (systemd-networkd" - echo "or NetworkManager) your system uses." - echo "Cannot modify wireless access point parameters." - exit 2 -fi - -sed -i 's,'wappass=.*','wappass="\"$newpp\""',' /etc/piwifiap.conf - - - +case "$network_system" in + "systemd-networkd") + sed -i "/wpa_passphrase=.*/c wpa_passphrase=$wappass" /etc/hostapd/hostapd.conf + systemctl restart hostapd + sed -i 's|'wappass=.*'|'wappass="\'$wappass\'"'|' /etc/piwifiap/piwifiap.conf + sed -i 's|'802-11-wireless-security.psk:.*'|'802-11-wireless-security.psk:$wappass'|' /etc/piwifiap/piwifiap.secret + ;; + "NetworkManager") + nmcli con down piwifi-hotspot + sed -i 's|'wappass=.*'|'wappass="\'$wappass\'"'|' /etc/piwifiap/piwifiap.conf + sed -i 's|'802-11-wireless-security.psk:.*'|'802-11-wireless-security.psk:$wappass'|' /etc/piwifiap/piwifiap.secret + nmcli con up piwifi-hotspot passwd-file /etc/piwifiap/piwifiap.secret + ;; + *) + echo "Unable to determine what type of network configuration (systemd-networkd" + echo "or NetworkManager) your system uses." + echo "Cannot modify wireless access point parameters." + exit 2 + ;; +esac diff --git a/apsetup/usr/local/bin/wap-setssid b/apsetup/usr/local/bin/wap-setssid index ab3e5b5..a95b94c 100644 --- a/apsetup/usr/local/bin/wap-setssid +++ b/apsetup/usr/local/bin/wap-setssid @@ -9,37 +9,39 @@ then exit 1 fi -source /etc/piwifiap.conf - -newssidok=0 -while [ "$newssidok" -ne 1 ] -do - echo -n "New SSID: " - read newssid - if [ "$newssid" = "" ] - then - echo "SSID cannot be blank. Try again or hit -c to abort." - else - newssidok=1 - fi -done - -if [ "$network_system" = "systemd-networkd" ] -then - sed -i "/ssid=.*/c ssid=$newssid" /etc/hostapd/hostapd.conf - systemctl restart hostapd -elif [ "$network_system" = "NetworkManager" ] -then - nmcli con down piwifi-ap - nmcli con mod piwifi-ap ssid "$newssid" - nmcli con up piwifi-ap -else - echo "Unable to determine what type of network configuration (systemd-networkd" - echo "or NetworkManager) your system uses." - echo "Cannot modify wireless access point parameters." - exit 2 -fi - -sed -i 's,'wapssid=.*','wapssid="\"$newssid\""',' /etc/piwifiap.conf +source /etc/piwifiap/piwifiap.conf +wapssidok="no" + while [[ "$wapssidok" == "no" ]] + do + echo "This access point will need an SSID. This is what will appear" + echo "as the name of this terminal when other devices connect." + echo -n "Please enter the desired SSID for this access point: " + read wapssid + if [[ "$wapssid" = "" ]] + then + echo "SSID cannot be blank. Try again." + else + wapssidok="yes" + fi + done +case "$network_system" in + "systemd-networkd") + sed -i "/ssid=.*/c ssid=$wapssid" /etc/hostapd/hostapd.conf + systemctl restart hostapd + sed -i 's|'wapssid=.*'|'wapssid="\'$wapssid\'"'|' /etc/piwifiap/piwifiap.conf + ;; + "NetworkManager") + nmcli con down piwifi-hotspot + nmcli con mod piwifi-hotspot ssid "$wapssid" + nmcli con up piwifi-hotspot passwd-file /etc/piwifiap/piwifiap.secret + sed -i 's|'wapssid=.*'|'wapssid="\'$wapssid\'"'|' /etc/piwifiap/piwifiap.conf + ;; + *) + echo "Unable to determine what type of network configuration (systemd-networkd" + echo "or NetworkManager) your system uses." + echo "Cannot modify wireless access point parameters." + exit 2 + ;; +esac