Contents of /mcore-src/trunk/mcore-tools/daemon/client/include/network.client.class
Parent Directory | Revision Log
Revision 1605 -
(show annotations)
(download)
Fri Mar 4 16:23:17 2011 UTC (13 years, 2 months ago) by niro
File size: 4084 byte(s)
Fri Mar 4 16:23:17 2011 UTC (13 years, 2 months ago) by niro
File size: 4084 byte(s)
-update etc hosts if the hostname was changed
1 | # $Id$ |
2 | |
3 | provide basic-networking |
4 | require basic-system |
5 | |
6 | help_network_hostname() |
7 | { |
8 | mecho "get network.hostname" |
9 | mecho " displays the current hostname" |
10 | mecho |
11 | mecho "set network.hostname [hostname]" |
12 | mecho " Sets the hostname of the system" |
13 | mecho " mcore - the local hostname" |
14 | } |
15 | |
16 | get_network_hostname() |
17 | { |
18 | hostname |
19 | } |
20 | |
21 | # set_network_hostname $value |
22 | set_network_hostname() |
23 | { |
24 | local value="$1" |
25 | local CONFIG |
26 | local socket |
27 | local cookie |
28 | local authtype |
29 | |
30 | [[ -z ${value} ]] && help_network_hostname && return 1 |
31 | |
32 | CONFIG="/etc/hostname" |
33 | clearconfig |
34 | addconfig "${value}" |
35 | 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() |
61 | { |
62 | mecho "set network.iface [iface] [networking] [ip] [netmask] [broadcast] [network]" |
63 | mecho " iface - the interface name" |
64 | mecho " networking - may be 'static' or 'dhcp'" |
65 | mecho " ip, netmask, broadcast and network are optional and only required on static networking" |
66 | } |
67 | |
68 | set_network_iface() |
69 | { |
70 | local iface="$1" |
71 | local networking="$2" |
72 | local ip="$3" |
73 | local netmask="$4" |
74 | local broadcast="$5" |
75 | local network="$6" |
76 | local CONFIG |
77 | |
78 | [[ -z ${iface} ]] && help_network_iface && return 1 |
79 | [[ -z ${networking} ]] && help_network_iface && return 1 |
80 | |
81 | if [[ ${networking} = static ]] |
82 | 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 |
94 | static) |
95 | addconfig 'NETWORKING="static"' |
96 | addconfig "IP=\"${ip}\"" |
97 | addconfig "NETMASK=\"${netmask}\"" |
98 | addconfig "BROADCAST=\"${broadcast}\"" |
99 | addconfig "NETWORK=\"${network}\"" |
100 | ;; |
101 | |
102 | dhcp) |
103 | addconfig 'NETWORKING="dhcp"' |
104 | # addconfig 'DHCP_PROG="/sbin/udhcpc"' |
105 | # addconfig 'DHCP_START="-t3 -T3 -q -b"' |
106 | # addconfig 'DHCP_STOP=""' |
107 | ;; |
108 | esac |
109 | |
110 | if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] |
111 | then |
112 | set_system_service restart network "${iface}" |
113 | else |
114 | set_system_service start network "${iface}" |
115 | fi |
116 | } |
117 | |
118 | help_network_gateway() |
119 | { |
120 | mecho "get network.gateway" |
121 | mecho " displays the current network gateway" |
122 | mecho |
123 | mecho "set network.gateway [ip]" |
124 | mecho " sets the network gateway to [ip]" |
125 | } |
126 | |
127 | 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 | { |
165 | 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 | CONFIG="/etc/resolv.conf" |
184 | clearconfig |
185 | for i in ${values} |
186 | do |
187 | addconfig "nameserver ${i}" |
188 | done |
189 | } |