--- mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class 2011/11/04 08:24:27 1896 +++ mcore-src/trunk/mcore-tools/src/modules/network/network.client.class.in 2014/01/10 14:27:10 2187 @@ -6,7 +6,7 @@ help_network_hostname() { mecho "get network.hostname" - mecho " displays the current hostname" + mecho " Displays the current hostname" mecho mecho "set network.hostname [hostname]" mecho " Sets the hostname of the system" @@ -15,7 +15,16 @@ get_network_hostname() { - hostname + local val + + if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] + then + val=$(hostname) + else + val=$(< @@SYSCONFDIR@@/hostname) + fi + + rvecho "${val}" } # set_network_hostname $value @@ -29,13 +38,13 @@ [[ -z ${value} ]] && help_network_hostname && return 1 - CONFIG="/etc/hostname" + CONFIG="@@SYSCONFDIR@@/hostname" clearconfig addconfig "${value}" hostname "${value}" # update hosts file - CONFIG="/etc/hosts" + CONFIG="@@SYSCONFDIR@@/hosts" clearconfig addconfig "127.0.0.1 localhost ${value}" # add ipv6 defaults @@ -59,12 +68,34 @@ help_network_iface() { + mecho "get network.iface" + mecho " Lists all configured network interfaces" + mecho mecho "set network.iface [iface] [networking] [ip] [netmask] [broadcast] [network]" + mecho " Configure network interfaces" mecho " iface - the interface name" mecho " networking - may be 'static' or 'dhcp'" mecho " ip, netmask, broadcast and network are optional and only required on static networking" } +get_network_iface() +{ + local iface + for iface in $(find ${MROOT}@@CONFDDIR@@ -maxdepth 1 -name 'net.*' -printf '%f\n') + do + case ${iface} in + # exclude routes and samples + net.sample|net.routes) continue ;; + esac + rvecho -n "${iface//net.}" + ( cat ${MROOT}@@CONFDDIR@@${iface}; echo ) | while read line + do + rvecho -n ";${line}" + done + rvecho + done +} + set_network_iface() { local iface="$1" @@ -74,6 +105,7 @@ local broadcast="$5" local network="$6" local CONFIG + local dhcp_prog [[ -z ${iface} ]] && help_network_iface && return 1 [[ -z ${networking} ]] && help_network_iface && return 1 @@ -86,7 +118,7 @@ [[ -z ${network} ]] && help_network_iface && return 1 fi - CONFIG="/etc/conf.d/net.${iface}" + CONFIG="@@CONFDDIR@@/net.${iface}" clearconfig addconfig 'ONBOOT="yes"' @@ -104,11 +136,25 @@ ;; esac - if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] + if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then - set_system_service restart network "${iface}" + if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] + then + set_system_service restart network "${iface}" + else + set_system_service start network "${iface}" + fi else - set_system_service start network "${iface}" + case ${networking} in + static) + ifconfig "${iface}" "${ip}" netmask "${netmask}" broadcast "${broadcast}" + ;; + dhcp) + source @@CONFDDIR@@/network + [[ ! -z $(pidof ${dhcp_prog}) ]] && killall ${DEFAULT_DHCP_PROG} + ${DEFAULT_DHCP_PROG} ${DEFAULT_DHCP_START} "${iface}" + ;; + esac fi } @@ -136,7 +182,7 @@ [[ -z ${value} ]] && help_network_gateway && return 1 - CONFIG="/etc/conf.d/net.routes" + CONFIG="@@CONFDDIR@@/net.routes" clearconfig addconfig "default gw ${value}" @@ -162,7 +208,7 @@ local dns local i - dns=$(grep nameserver /etc/resolv.conf | sed 's:.*[[:space:]]\(.*\):\1:g') + dns=$(grep nameserver @@SYSCONFDIR@@/resolv.conf | sed 's:.*[[:space:]]\(.*\):\1:g') for i in ${dns} do rvecho "${i}" @@ -177,7 +223,7 @@ [[ -z ${values} ]] && help_network_nameserver && return 1 - CONFIG="/etc/resolv.conf" + CONFIG="@@SYSCONFDIR@@/resolv.conf" clearconfig for i in ${values} do