package/*: remove useless explicit set of function returncode
[openwrt.git] / package / network / config / firewall / files / firewall.init
1 #!/bin/sh /etc/rc.common
2
3 START=19
4 USE_PROCD=1
5 QUIET=""
6
7 validate_firewall_redirect()
8 {
9         uci_validate_section firewall redirect "${1}" \
10                 'proto:or(uinteger, string)' \
11                 'src:string' \
12                 'src_ip:cidr' \
13                 'src_dport:or(port, portrange)' \
14                 'dest:string' \
15                 'dest_ip:cidr' \
16                 'dest_port:or(port, portrange)' \
17                 'target:or("SNAT", "DNAT")'
18 }
19
20 validate_firewall_rule()
21 {
22         uci_validate_section firewall rule "${1}" \
23                 'proto:or(uinteger, string)' \
24                 'src:string' \
25                 'dest:string' \
26                 'src_port:or(port, portrange)' \
27                 'dest_port:or(port, portrange)' \
28                 'target:string'
29 }
30
31 service_triggers() {
32         procd_add_reload_trigger firewall       
33
34         procd_open_validate
35         validate_firewall_redirect
36         validate_firewall_rule
37         procd_close_validate
38 }
39
40 restart() {
41         fw3 restart
42 }
43
44 start_service() {
45         fw3 ${QUIET} start
46 }
47
48 stop_service() {
49         fw3 flush
50 }
51
52 reload_service() {
53         fw3 reload
54 }
55
56 boot() {
57         # Be silent on boot, firewall might be started by hotplug already,
58         # so don't complain in syslog.
59         QUIET=-q
60         start
61 }