Magellan Linux

Diff of /mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1248 by niro, Wed Feb 2 20:20:24 2011 UTC revision 1605 by niro, Fri Mar 4 16:23:17 2011 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2    
3  provide basic-networking  provide basic-networking
4    require basic-system
5    
6  help_network_hostname()  help_network_hostname()
7  {  {
8     mecho "get network.hostname"
9     mecho " displays the current hostname"
10     mecho
11   mecho "set network.hostname [hostname]"   mecho "set network.hostname [hostname]"
12     mecho " Sets the hostname of the system"
13   mecho "  mcore - the local hostname"   mecho "  mcore - the local hostname"
14  }  }
15    
16    get_network_hostname()
17    {
18     hostname
19    }
20    
21  # set_network_hostname $value  # set_network_hostname $value
22  set_network_hostname()  set_network_hostname()
23  {  {
24   local value="$1"   local value="$1"
25     local CONFIG
26     local socket
27     local cookie
28     local authtype
29    
30   [[ -z ${value} ]] && help_network_hostname && return 1   [[ -z ${value} ]] && help_network_hostname && return 1
31    
32   echo "${value}" > /etc/hostname   CONFIG="/etc/hostname"
33     clearconfig
34     addconfig "${value}"
35   hostname "${value}"   hostname "${value}"
36    
37     # update hosts file
38     CONFIG="/etc/hosts"
39     clearconfig
40     addconfig "127.0.0.1 localhost ${value}"
41     # add ipv6 defaults
42     addconfig "::1 ip6-localhost ip6-loopback"
43     addconfig "fe00::0 ip6-localnet"
44     addconfig "ff00::0 ip6-mcastprefix"
45     addconfig "ff02::1 ip6-allnodes"
46     addconfig "ff02::2 ip6-allrouters"
47     addconfig "ff02::3 ip6-allhosts"
48    
49     # check for running x11 and recreate the xauth cookie with the correct hostname
50     if [[ ! -z $(pidof X) ]]
51     then
52     socket="${value}/unix${MCORE_XORG_DISPLAY}"
53     cookie=$(x11runas "xauth list | sed 's:.*\ \(.*\):\1:'")
54     authtype="MIT-MAGIC-COOKIE-1"
55     # add the new hostname to the xauthority file
56     x11runas "xauth add ${socket} ${authtype} ${cookie}"
57     fi
58  }  }
59    
60  help_network_iface()  help_network_iface()
# Line 34  set_network_iface() Line 73  set_network_iface()
73   local netmask="$4"   local netmask="$4"
74   local broadcast="$5"   local broadcast="$5"
75   local network="$6"   local network="$6"
76   local config   local CONFIG
77    
78   [[ -z ${iface} ]] && help_network_iface && return 1   [[ -z ${iface} ]] && help_network_iface && return 1
79   [[ -z ${networking} ]] && help_network_iface && return 1   [[ -z ${networking} ]] && help_network_iface && return 1
80    
81   config=/etc/conf.d/net.${iface}   if [[ ${networking} = static ]]
82   echo 'ONBOOT="yes"' > ${config}   then
83     [[ -z ${ip} ]] && help_network_iface && return 1
84     [[ -z ${netmask} ]] && help_network_iface && return 1
85     [[ -z ${broadcast} ]] && help_network_iface && return 1
86     [[ -z ${network} ]] && help_network_iface && return 1
87     fi
88    
89     CONFIG="/etc/conf.d/net.${iface}"
90     clearconfig
91     addconfig 'ONBOOT="yes"'
92    
93   case ${networking} in   case ${networking} in
94   static)   static)
95   echo 'NETWORKING="static"' >> ${config}   addconfig 'NETWORKING="static"'
96   echo "IP=\"${ip}\"" >> ${config}   addconfig "IP=\"${ip}\""
97   echo "NETMASK=\"${netmask}\"" >> ${config}   addconfig "NETMASK=\"${netmask}\""
98   echo "BROADCAST=\"${broadcast}\"" >> ${config}   addconfig "BROADCAST=\"${broadcast}\""
99     addconfig "NETWORK=\"${network}\""
100   ;;   ;;
101    
102   dhcp)   dhcp)
103   echo 'NETWORKING="dhcp"' >> ${config}   addconfig 'NETWORKING="dhcp"'
104   #echo 'DHCP_PROG="/sbin/dhcpcd"' >> ${config}   # addconfig 'DHCP_PROG="/sbin/udhcpc"'
105   #echo 'DHCP_START="-t 10"' >> ${config}   # addconfig 'DHCP_START="-t3 -T3 -q -b"'
106   #echo 'DHCP_STOP="-k"' >> ${config}   # addconfig 'DHCP_STOP=""'
107   ;;   ;;
108   esac   esac
109    
110   if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]]   if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]]
111   then   then
112   /etc/init.d/network restart "${iface}"   set_system_service restart network "${iface}"
113   else   else
114   /etc/init.d/network start "${iface}"   set_system_service start network "${iface}"
115   fi   fi
116  }  }
117    
118  set_network_default_gw()  help_network_gateway()
119  {  {
120   local value   mecho "get network.gateway"
121   route add default gw ${value}   mecho " displays the current network gateway"
122   echo "default gw ${value}" > /etc/conf.d/net.routes   mecho
123     mecho "set network.gateway [ip]"
124     mecho " sets the network gateway to [ip]"
125  }  }
126    
127  set_network_dns()  get_network_gateway()
128    {
129     local gw
130     gw=$(ip route | grep default | sed 's:.*via[[:space:]]\(.*\)[[:space:]]dev.*:\1:')
131     echo "${gw}"
132    }
133    
134    set_network_gateway()
135    {
136     local value="$1"
137     local CONFIG
138     local i
139    
140     [[ -z ${value} ]] && help_network_gateway && return 1
141    
142     CONFIG="/etc/conf.d/net.routes"
143     clearconfig
144     addconfig "default gw ${value}"
145    
146     # delete other default gw first
147     for i in $(ip route | grep default | sed 's:.*via\ \(.*\)\ dev.*:\1:')
148     do
149     route del default gw "${i}"
150     done
151     route add default gw "${value}"
152    }
153    
154    help_network_nameserver()
155    {
156     mecho "get network.nameserver"
157     mecho " displays the current nameserver of the system"
158     mecho
159     mecho "set network.nameserver [ip1] [ip2] .. [ipN]"
160     mecho " adds given ips as nameserver to the system"
161    }
162    
163    get_network_nameserver()
164  {  {
  local values="$@"  
165   local dns   local dns
166     local i
167    
168     dns=$(grep nameserver /etc/resolv.conf | sed 's:.*[[:space:]]\(.*\):\1:g')
169     for i in ${dns}
170     do
171     echo "${i}"
172     done
173    }
174    
175    set_network_nameserver()
176    {
177     local values="$@"
178     local CONFIG
179     local i
180    
181     [[ -z ${values} ]] && help_network_nameserver && return 1
182    
183   :> /etc/resolv.conf   CONFIG="/etc/resolv.conf"
184   for dns in ${values}   clearconfig
185     for i in ${values}
186   do   do
187   echo "${dns}" >> /etc/resolv.conf   addconfig "nameserver ${i}"
188   done   done
189  }  }

Legend:
Removed from v.1248  
changed lines
  Added in v.1605