/[smecontribs]/rpms/smeserver-bridge-interface/contribs10/smeserver-bridge-interface-0.2-Move-exec-to-sbin-e-smith-and-add-service-file.patch
ViewVC logotype

Annotation of /rpms/smeserver-bridge-interface/contribs10/smeserver-bridge-interface-0.2-Move-exec-to-sbin-e-smith-and-add-service-file.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Sat Jan 23 08:57:28 2021 UTC (3 years, 9 months ago) by brianr
Branch: MAIN
CVS Tags: smeserver-bridge-interface-0_2-6_el7_sme, smeserver-bridge-interface-0_2-4_el7_sme, smeserver-bridge-interface-0_2-7_el7_sme, smeserver-bridge-interface-0_2-8_el7_sme, smeserver-bridge-interface-0_2-5_el7_sme, smeserver-bridge-interface-0_2-9_el7_sme, HEAD
* Sat Jan 23 2021 Brian Read <brianr@bjsystems.co.uk> 0.2-4.sme
- Move exec to  /sbin/e-smith/systemd/bridge-run, add service file [SME: 11324]

1 brianr 1.1 diff -urN smeserver-bridge-interface-0.2.old/root/etc/rc.d/init.d/bridge smeserver-bridge-interface-0.2/root/etc/rc.d/init.d/bridge
2     --- smeserver-bridge-interface-0.2.old/root/etc/rc.d/init.d/bridge 2013-11-11 17:18:21.000000000 +0000
3     +++ smeserver-bridge-interface-0.2/root/etc/rc.d/init.d/bridge 1970-01-01 01:00:00.000000000 +0100
4     @@ -1,175 +0,0 @@
5     -#!/bin/bash
6     -# Bridge service on SME
7     -# This service will configure a bridge interface on your server
8     -# allowing each enslaved interfaces to act as a switch port.
9     -
10     -# Source function library.
11     -. /etc/rc.d/init.d/functions
12     -
13     -# Bridge Interface
14     -BRIDGE_IF=$(/sbin/e-smith/db configuration getprop bridge bridgeInterface)
15     -BRIDGE_PROMISC=$(/sbin/e-smith/db configuration getprop bridge Promiscuous)
16     -
17     -# Define list of TAP interfaces to be bridged,
18     -# for example tap="tap0 tap1 tap2".
19     -# Defaults is tap0
20     -TAP_IF=$(/sbin/e-smith/db configuration getprop bridge tapInterface)
21     -# Replace ; and , with spaces
22     -TAP_IF=$(echo $TAP_IF | sed -e "s/[,;]/ /g")
23     -
24     -# Define physical ethernet interface to be bridged
25     -# with TAP interface(s) above.
26     -ETH_IF=$(/sbin/e-smith/db configuration getprop bridge ethernetInterface)
27     -ETH_MAC=$(/sbin/e-smith/db configuration getprop InternalInterface HWAddress)
28     -ETH_IP=$(/sbin/e-smith/db configuration get LocalIP)
29     -ETH_MASK=$(/sbin/e-smith/db configuration getprop InternalInterface Netmask)
30     -
31     -# System mode: serveronly, server&gateway ...
32     -MODE=$(/sbin/e-smith/db configuration get SystemMode)
33     -
34     -# Path of openvpn binary
35     -openvpn=""
36     -openvpn_locations="/usr/sbin/openvpn /usr/local/sbin/openvpn"
37     -for location in $openvpn_locations
38     -do
39     - if [ -f "$location" ]
40     - then
41     - openvpn=$location
42     - fi
43     -done
44     -
45     -# Check that binary exists
46     -if ! [ -f $openvpn ]
47     -then
48     - echo "openvpn binary not found"
49     - exit 0
50     -fi
51     -
52     -
53     -
54     -# Sub to reconfigure the firewall
55     -firewall(){
56     - /sbin/e-smith/expand-template /etc/rc.d/init.d/masq >/dev/null 2>&1
57     - /sbin/service masq restart >/dev/null 2>&1
58     -}
59     -
60     -# Sub to restart dhcpd
61     -dhcpd(){
62     - /usr/bin/sv t dhcpd
63     -}
64     -
65     -# Sub to reconfigures routes and defaults gateway
66     -routes(){
67     - # We need to push all the routes of local networks as the interface has changed
68     - for NET in $(/sbin/e-smith/db networks keys); do
69     - SYSTEM=$(/sbin/e-smith/db networks getprop $NET SystemLocalNetwork)
70     - if (! test $SYSTEM); then
71     - NETMASK=$(/sbin/e-smith/db networks getprop $NET Mask)
72     - ROUTER=$(/sbin/e-smith/db networks getprop $NET Router)
73     - /sbin/route add -net $NET netmask $NETMASK gw $ROUTER >/dev/null 2>&1
74     - fi
75     - done
76     -
77     - # If the server runs in serveronly, we need to reconfigure the default gateway:
78     - if [ $MODE == 'serveronly' ]; then
79     - GW=$(/sbin/e-smith/db configuration get GatewayIP)
80     - /sbin/route add default gw $GW >/dev/null 2>&1
81     - fi
82     -}
83     -
84     -start(){
85     - # First, create the bridge interface
86     - /usr/sbin/brctl addbr $BRIDGE_IF
87     -
88     - # Then, create the tap interface(s) and enslave it in the bridge one
89     - for t in $TAP_IF; do
90     - $openvpn --mktun --dev $t >/dev/null 2>&1
91     - /sbin/ifconfig $t 0.0.0.0 promisc up >/dev/null 2>&1
92     - /usr/sbin/brctl addif $BRIDGE_IF $t >/dev/null 2>&1
93     - done
94     -
95     - # Now make the real ethernet interface promiscuous
96     - /sbin/ifconfig $ETH_IF 0.0.0.0 promisc up >/dev/null 2>&1
97     - sleep 1
98     -
99     - # And add it to the bridge
100     - /usr/sbin/brctl addif $BRIDGE_IF $ETH_IF >/dev/null 2>&1
101     -
102     - [ -n "$ETH_MAC" ] && /sbin/ifconfig $BRIDGE_IF hw ether $ETH_MAC
103     -
104     - [ "$BRIDGE_PROMISC" == "yes" ] && /sbin/ifconfig $BRIDGE_IF promisc
105     -
106     - # Now configure the LocalIP on the bridge interface
107     - /sbin/e-smith/db configuration setprop InternalInterface Name $BRIDGE_IF
108     - /sbin/ifconfig $BRIDGE_IF $ETH_IP netmask $ETH_MASK >/dev/null 2>&1
109     -
110     - # Push the routes for the new interface
111     - routes
112     -
113     - # Now we have to reconfigure the firewall
114     - firewall
115     -
116     - # And dhcpd (the configuration file is expanded each time the service starts
117     - # so no need to do it manually
118     - dhcpd
119     -}
120     -
121     -stop(){
122     - # Shutdown the bridge and remove it
123     - /sbin/ifconfig $BRIDGE_IF down >/dev/null 2>&1
124     - /usr/sbin/brctl delbr $BRIDGE_IF >/dev/null 2>&1
125     -
126     - # Then delete each tap interfaces
127     - for t in $TAP_IF; do
128     - $openvpn --rmtun --dev $t >/dev/null 2>&1
129     - done
130     -
131     - # Reconfigure the ethernet interface
132     - /sbin/e-smith/db configuration setprop InternalInterface Name $ETH_IF
133     - /sbin/ifconfig $ETH_IF $ETH_IP netmask $ETH_MASK up -promisc >/dev/null 2>&1
134     -
135     - # Push the routes
136     - routes
137     -
138     - # restart the firewall
139     - firewall
140     -
141     - # and dhcp
142     - dhcpd
143     -}
144     -
145     -case "$1" in
146     - start)
147     - echo -n $"Starting Bridge Service: "
148     - start
149     - RETVAL=$?
150     - ;;
151     - stop)
152     - echo -n $"Stoping Bridge Service: "
153     - stop
154     - RETVAL=$?
155     - ;;
156     - restart)
157     - echo -n $"Restarting Bridge Service: "
158     - stop && start
159     - RETVAL=$?
160     - ;;
161     - adjust)
162     - echo -n $"Restarting Bridge Service: "
163     - stop && start
164     - RETVAL=$?
165     - ;;
166     - *)
167     - echo "Usage: $0 start|stop|restart"
168     - ;;
169     -esac
170     -
171     -if [ $RETVAL -eq 0 ]; then
172     - echo_success
173     -else
174     - echo_failure
175     -fi
176     -echo
177     -
178     -exit $RETVAL
179     -
180     diff -urN smeserver-bridge-interface-0.2.old/root/sbin/e-smith/systemd/bridge-run smeserver-bridge-interface-0.2/root/sbin/e-smith/systemd/bridge-run
181     --- smeserver-bridge-interface-0.2.old/root/sbin/e-smith/systemd/bridge-run 1970-01-01 01:00:00.000000000 +0100
182     +++ smeserver-bridge-interface-0.2/root/sbin/e-smith/systemd/bridge-run 2021-01-23 06:48:41.138127943 +0000
183     @@ -0,0 +1,178 @@
184     +#!/bin/bash
185     +# Bridge service on SME
186     +# This service will configure a bridge interface on your server
187     +# allowing each enslaved interfaces to act as a switch port.
188     +
189     +# Source function library.
190     +. /etc/rc.d/init.d/functions
191     +
192     +# Bridge Interface
193     +BRIDGE_IF=$(/sbin/e-smith/db configuration getprop bridge bridgeInterface)
194     +BRIDGE_PROMISC=$(/sbin/e-smith/db configuration getprop bridge Promiscuous)
195     +
196     +# Define list of TAP interfaces to be bridged,
197     +# for example tap="tap0 tap1 tap2".
198     +# Defaults is tap0
199     +TAP_IF=$(/sbin/e-smith/db configuration getprop bridge tapInterface)
200     +# Replace ; and , with spaces
201     +TAP_IF=$(echo $TAP_IF | sed -e "s/[,;]/ /g")
202     +
203     +# Define physical ethernet interface to be bridged
204     +# with TAP interface(s) above.
205     +ETH_IF=$(/sbin/e-smith/db configuration getprop bridge ethernetInterface)
206     +ETH_MAC=$(/sbin/e-smith/db configuration getprop InternalInterface HWAddress)
207     +ETH_IP=$(/sbin/e-smith/db configuration get LocalIP)
208     +ETH_MASK=$(/sbin/e-smith/db configuration getprop InternalInterface Netmask)
209     +
210     +# System mode: serveronly, server&gateway ...
211     +MODE=$(/sbin/e-smith/db configuration get SystemMode)
212     +
213     +# Path of openvpn binary
214     +openvpn=""
215     +openvpn_locations="/usr/sbin/openvpn /usr/local/sbin/openvpn"
216     +for location in $openvpn_locations
217     +do
218     + if [ -f "$location" ]
219     + then
220     + openvpn=$location
221     + fi
222     +done
223     +
224     +# Check that binary exists
225     +if ! [ -f $openvpn ]
226     +then
227     + echo "openvpn binary not found"
228     + exit 0
229     +fi
230     +
231     +
232     +
233     +# Sub to reconfigure the firewall
234     +firewall(){
235     + /sbin/e-smith/expand-template /etc/rc.d/init.d/masq >/dev/null 2>&1
236     + #/sbin/service masq restart >/dev/null 2>&1
237     + /usr/bin/systemctl try-restart masq.service >/dev/null 2>&1
238     +
239     +}
240     +
241     +# Sub to restart dhcpd
242     +dhcpd(){
243     + #/usr/bin/sv t dhcpd
244     + /usr/bin/systemctl try-restart dhcpd.service >/dev/null 2>&1
245     +}
246     +
247     +# Sub to reconfigures routes and defaults gateway
248     +routes(){
249     + # We need to push all the routes of local networks as the interface has changed
250     + for NET in $(/sbin/e-smith/db networks keys); do
251     + SYSTEM=$(/sbin/e-smith/db networks getprop $NET SystemLocalNetwork)
252     + if (! test $SYSTEM); then
253     + NETMASK=$(/sbin/e-smith/db networks getprop $NET Mask)
254     + ROUTER=$(/sbin/e-smith/db networks getprop $NET Router)
255     + /sbin/route add -net $NET netmask $NETMASK gw $ROUTER >/dev/null 2>&1
256     + fi
257     + done
258     +
259     + # If the server runs in serveronly, we need to reconfigure the default gateway:
260     + if [ $MODE == 'serveronly' ]; then
261     + GW=$(/sbin/e-smith/db configuration get GatewayIP)
262     + /sbin/route add default gw $GW >/dev/null 2>&1
263     + fi
264     +}
265     +
266     +start(){
267     + # First, create the bridge interface
268     + /usr/sbin/brctl addbr $BRIDGE_IF
269     +
270     + # Then, create the tap interface(s) and enslave it in the bridge one
271     + for t in $TAP_IF; do
272     + $openvpn --mktun --dev $t >/dev/null 2>&1
273     + /sbin/ifconfig $t 0.0.0.0 promisc up >/dev/null 2>&1
274     + /usr/sbin/brctl addif $BRIDGE_IF $t >/dev/null 2>&1
275     + done
276     +
277     + # Now make the real ethernet interface promiscuous
278     + /sbin/ifconfig $ETH_IF 0.0.0.0 promisc up >/dev/null 2>&1
279     + sleep 1
280     +
281     + # And add it to the bridge
282     + /usr/sbin/brctl addif $BRIDGE_IF $ETH_IF >/dev/null 2>&1
283     +
284     + [ -n "$ETH_MAC" ] && /sbin/ifconfig $BRIDGE_IF hw ether $ETH_MAC
285     +
286     + [ "$BRIDGE_PROMISC" == "yes" ] && /sbin/ifconfig $BRIDGE_IF promisc
287     +
288     + # Now configure the LocalIP on the bridge interface
289     + /sbin/e-smith/db configuration setprop InternalInterface Name $BRIDGE_IF
290     + /sbin/ifconfig $BRIDGE_IF $ETH_IP netmask $ETH_MASK >/dev/null 2>&1
291     +
292     + # Push the routes for the new interface
293     + routes
294     +
295     + # Now we have to reconfigure the firewall
296     + firewall
297     +
298     + # And dhcpd (the configuration file is expanded each time the service starts
299     + # so no need to do it manually
300     + dhcpd
301     +}
302     +
303     +stop(){
304     + # Shutdown the bridge and remove it
305     + /sbin/ifconfig $BRIDGE_IF down >/dev/null 2>&1
306     + /usr/sbin/brctl delbr $BRIDGE_IF >/dev/null 2>&1
307     +
308     + # Then delete each tap interfaces
309     + for t in $TAP_IF; do
310     + $openvpn --rmtun --dev $t >/dev/null 2>&1
311     + done
312     +
313     + # Reconfigure the ethernet interface
314     + /sbin/e-smith/db configuration setprop InternalInterface Name $ETH_IF
315     + /sbin/ifconfig $ETH_IF $ETH_IP netmask $ETH_MASK up -promisc >/dev/null 2>&1
316     +
317     + # Push the routes
318     + routes
319     +
320     + # restart the firewall
321     + firewall
322     +
323     + # and dhcp
324     + dhcpd
325     +}
326     +
327     +case "$1" in
328     + start)
329     + echo -n $"Starting Bridge Service: "
330     + start
331     + RETVAL=$?
332     + ;;
333     + stop)
334     + echo -n $"Stoping Bridge Service: "
335     + stop
336     + RETVAL=$?
337     + ;;
338     + restart)
339     + echo -n $"Restarting Bridge Service: "
340     + stop && start
341     + RETVAL=$?
342     + ;;
343     + adjust)
344     + echo -n $"Restarting Bridge Service: "
345     + stop && start
346     + RETVAL=$?
347     + ;;
348     + *)
349     + echo "Usage: $0 start|stop|restart"
350     + ;;
351     +esac
352     +
353     +if [ $RETVAL -eq 0 ]; then
354     + echo_success
355     +else
356     + echo_failure
357     +fi
358     +echo
359     +
360     +exit $RETVAL
361     +
362     diff -urN smeserver-bridge-interface-0.2.old/root/usr/lib/systemd/system/bridge.service smeserver-bridge-interface-0.2/root/usr/lib/systemd/system/bridge.service
363     --- smeserver-bridge-interface-0.2.old/root/usr/lib/systemd/system/bridge.service 1970-01-01 01:00:00.000000000 +0100
364     +++ smeserver-bridge-interface-0.2/root/usr/lib/systemd/system/bridge.service 2021-01-22 14:35:26.710394872 +0000
365     @@ -0,0 +1,9 @@
366     +[Unit]
367     +Description=Bridge Interface for VPN use.
368     +After=network.target
369     +[Service]
370     +Type=forking
371     +ExecStart=/sbin/e-smith/systemd/bridge-run start
372     +ExecStop=/sbin/e-smith/systemd/bridge-run stop
373     +[Install]
374     +WantedBy=sme-server.target

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed