OpenWrt – Rev 2

Subversion Repositories:
Rev:
#!/bin/sh /etc/rc.common

START=19
USE_PROCD=1
QUIET=""

validate_firewall_redirect()
{
        uci_validate_section firewall redirect "${1}" \
                'proto:or(uinteger, string)' \
                'src:string' \
                'src_ip:cidr' \
                'src_dport:or(port, portrange)' \
                'dest:string' \
                'dest_ip:cidr' \
                'dest_port:or(port, portrange)' \
                'target:or("SNAT", "DNAT")'
}

validate_firewall_rule()
{
        uci_validate_section firewall rule "${1}" \
                'proto:or(uinteger, string)' \
                'src:string' \
                'dest:string' \
                'src_port:or(port, portrange)' \
                'dest_port:or(port, portrange)' \
                'target:string'
}

service_triggers() {
        procd_add_reload_trigger firewall       

        procd_open_validate
        validate_firewall_redirect
        validate_firewall_rule
        procd_close_validate
}

restart() {
        fw3 restart
}

start_service() {
        fw3 ${QUIET} start
}

stop_service() {
        fw3 flush
}

reload_service() {
        fw3 reload
}

boot() {
        # Be silent on boot, firewall might be started by hotplug already,
        # so don't complain in syslog.
        QUIET=-q
        start
}