--- mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class 2011/02/02 20:20:24 1248 +++ mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class 2011/02/04 20:01:16 1260 @@ -1,6 +1,7 @@ # $Id$ provide basic-networking +require basic-system help_network_hostname() { @@ -12,9 +13,12 @@ set_network_hostname() { local value="$1" + local CONFIG [[ -z ${value} ]] && help_network_hostname && return 1 - echo "${value}" > /etc/hostname + CONFIG="/etc/hostname" + clearconfig + addconfig "${value}" hostname "${value}" } @@ -34,53 +38,76 @@ local netmask="$4" local broadcast="$5" local network="$6" - local config + local CONFIG [[ -z ${iface} ]] && help_network_iface && return 1 [[ -z ${networking} ]] && help_network_iface && return 1 - config=/etc/conf.d/net.${iface} - echo 'ONBOOT="yes"' > ${config} + if [[ ${networking} = static ]] + then + [[ -z ${ip} ]] && help_network_iface && return 1 + [[ -z ${netmask} ]] && help_network_iface && return 1 + [[ -z ${broadcast} ]] && help_network_iface && return 1 + [[ -z ${network} ]] && help_network_iface && return 1 + fi + + CONFIG="/etc/conf.d/net.${iface}" + clearconfig + addconfig 'ONBOOT="yes"' case ${networking} in static) - echo 'NETWORKING="static"' >> ${config} - echo "IP=\"${ip}\"" >> ${config} - echo "NETMASK=\"${netmask}\"" >> ${config} - echo "BROADCAST=\"${broadcast}\"" >> ${config} + addconfig 'NETWORKING="static"' + addconfig "IP=\"${ip}\"" + addconfig "NETMASK=\"${netmask}\"" + addconfig "BROADCAST=\"${broadcast}\"" + addconfig "NETWORK=\"${network}\"" ;; dhcp) - echo 'NETWORKING="dhcp"' >> ${config} - #echo 'DHCP_PROG="/sbin/dhcpcd"' >> ${config} - #echo 'DHCP_START="-t 10"' >> ${config} - #echo 'DHCP_STOP="-k"' >> ${config} + addconfig 'NETWORKING="dhcp"' + # addconfig 'DHCP_PROG="/sbin/udhcpc"' + # addconfig 'DHCP_START="-t3 -T3 -q -b"' + # addconfig 'DHCP_STOP=""' ;; esac if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] then - /etc/init.d/network restart "${iface}" + set_system_service restart network "${iface}" else - /etc/init.d/network start "${iface}" + set_system_service start network "${iface}" fi } set_network_default_gw() { local value - route add default gw ${value} - echo "default gw ${value}" > /etc/conf.d/net.routes + local CONFIG + local i + + CONFIG="/etc/conf.d/net.routes" + clearconfig + addconfig "default gw ${value}" + + # delete other default gw first + for i in $(ip route | grep default | sed 's:.*via\ \(.*\)\ dev.*:\1:') + do + route del default gw "${i}" + done + route add default gw "${value}" } set_network_dns() { local values="$@" - local dns + local CONFIG + local i - :> /etc/resolv.conf - for dns in ${values} + CONFIG="/etc/resolv.conf" + clearconfig + for i in ${values} do - echo "${dns}" >> /etc/resolv.conf + addconfig "nameserver ${i}" done }