more netcfg fixes

This commit is contained in:
Tobias Powalowski 2012-07-26 09:50:44 +02:00
parent 7c803dfb60
commit c3eaa2fbe8

View file

@ -3062,7 +3062,6 @@ auto_network()
# args: none
# returns: 1 on failure
donetwork() {
### TODO: add simple netcfg routine here!
NETPARAMETERS=""
while [[ "${NETPARAMETERS}" = "" ]]; do
# select network interface
@ -3079,13 +3078,16 @@ donetwork() {
# wireless switch
CONNECTION=""
WLAN_HIDDEN=""
WLAN_HEX=""
WLAN_ESSID=""
WLAN_SECURITY=""
WLAN_KEY=""
DIALOG --defaultno --yesno "Is your network device wireless?" 0 0
if [[ $? -eq 0 ]]; then
CONNECTION="wireless"
DIALOG --inputbox "Enter your ESSID" 16 65 "" 2>${ANSWER} || return 1
DIALOG --defaultno --yesno "Is your wireless ESSID hexadecimal?" 0 0
[[ $? -eq 0 ]] && WLAN_HEX="yes"
DIALOG --inputbox "Enter your ESSID" 16 65 "MyNetwork" 2>${ANSWER} || return 1
WLAN_ESSID=$(cat ${ANSWER})
DIALOG --defaultno --yesno "Is your wireless network hidden?" 0 0
[[ $? -eq 0 ]] && WLAN_HIDDEN="yes"
@ -3100,7 +3102,7 @@ donetwork() {
0) WLAN_SECURITY=$(cat ${ANSWER}) ;;
esac
done
DIALOG --inputbox "Enter your KEY" 16 65 "" 2>${ANSWER} || return 1
DIALOG --inputbox "Enter your KEY" 16 65 "WirelessKey" 2>${ANSWER} || return 1
WLAN_KEY=$(cat ${ANSWER})
else
WLAN_SECURITY="open"
@ -3113,21 +3115,20 @@ donetwork() {
DIALOG --yesno "Do you want to use DHCP?" 0 0
if [[ $? -eq 0 ]]; then
IP="dhcp"
DHCLIENT=""
DIALOG --defaultno --yesno "Do you want to use dhclient instead of dhcpcd?" 0 0
[[ $? -eq 0 ]] && DHCLIENT="yes"
S_DHCP=1
else
IP="static"
DIALOG --inputbox "Enter your IP address" 8 65 "192.168.0.2" 2>${ANSWER} || return 1
DIALOG --inputbox "Enter your IP address" 8 65 "192.168.1.23" 2>${ANSWER} || return 1
IPADDR=$(cat ${ANSWER})
DIALOG --inputbox "Enter your netmask" 8 65 "255.255.255.0" 2>${ANSWER} || return 1
SUBNET=$(cat ${ANSWER})
DIALOG --inputbox "Enter your broadcast" 8 65 "192.168.0.255" 2>${ANSWER} || return 1
BROADCAST=$(cat ${ANSWER})
DIALOG --inputbox "Enter your gateway" 8 65 "192.168.0.1" 2>${ANSWER} || return 1
DIALOG --inputbox "Enter your gateway" 8 65 "192.168.1.1" 2>${ANSWER} || return 1
GW=$(cat ${ANSWER})
DIALOG --inputbox "Enter your DNS server IP" 8 65 "192.168.0.1" 2>${ANSWER} || return 1
DIALOG --inputbox "Enter your DNS server IP" 8 65 "192.168.1.1" 2>${ANSWER} || return 1
DNS=$(cat ${ANSWER})
fi
DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\nDHCP or static: ${IP}\nIP address: ${IPADDR}\nNetmask: ${SUBNET}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0
DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID_HEX: ${WLAN_HEX}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\nDHCP or static: ${IP}\nDHCLIENT: ${DHCLIENT}\nIP address: ${IPADDR}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0
case $? in
1) ;;
0) NETPARAMETERS="1" ;;
@ -3137,10 +3138,26 @@ donetwork() {
NETWORK_PROFILE=""
DIALOG --inputbox "Enter your network profile name" 16 65 "${INTERFACE}-${CONNECTION}" 2>${ANSWER} || return 1
NETWORK_PROFILE=$(cat ${ANSWER})
### write profile
# write profile
echo "CONNECTION=\'${CONNECTION}\'" >/etc/network.d/${NETWORK_PROFILE}
echo "DESCRIPTION=\'$NETWORK_PROFILE generated by archboot setup\'" >>/etc/network.d/${NETWORK_PROFILE}
echo "INTERFACE=\'${INTERFACE}\'" >>/etc/network.d/${NETWORK_PROFILE}
# run netcfg
if [[ "${CONNECTION}" = "wireless" ]]; then
echo "SECURITY=\'${WLAN_SECURITY}\'" >>/etc/network.d/${NETWORK_PROFILE}
[[ "${WLAN_HEX}" = "yes" ]] && echo "ESSID_TYPE='hex'" >>/etc/network.d/${NETWORK_PROFILE}
echo "ESSID=\'${WLAN_ESSID}\'" >>/etc/network.d/${NETWORK_PROFILE}
echo "KEY=\'${WLAN_KEY}\'" >>/etc/network.d/${NETWORK_PROFILE}
[[ "${WLAN_HIDDEN}" = "yes" ]] && echo "HIDDEN=yes" >>/etc/network.d/${NETWORK_PROFILE}
fi
echo "IP=\'${IP}\'" >>/etc/network.d/${NETWORK_PROFILE}
if [[ "${IP}" = "dhcp" ]]; then
[[ "${DHCLIENT}" = "yes" ]] && echo "DHCLIENT=yes" >>/etc/network.d/${NETWORK_PROFILE}
else
echo "ADDR=\'${IPADDR}\'" >>/etc/network.d/${NETWORK_PROFILE}
echo "GATEWAY=\'${GW}\'" >>/etc/network.d/${NETWORK_PROFILE}
echo "DNS=\(\'${DNS}\'\)" >>/etc/network.d/${NETWORK_PROFILE}
fi
# run netcfg
netcfg -u ${NETWORK_PROFILE}
# http/ftp proxy settings
DIALOG --inputbox "Enter your HTTP proxy server, for example:\nhttp://name:port\nhttp://ip:port\nhttp://username:password@ip:port\n\n Leave the field empty if no proxy is needed to install." 16 65 "" 2>${ANSWER} || return 1