firewall: fix firewall reload lock (#41)
This commit is contained in:
parent
fe7a87ec25
commit
e78f102c7a
@ -9,7 +9,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=firewall
|
PKG_NAME:=firewall
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall3.git
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall3.git
|
||||||
|
@ -4,6 +4,17 @@ START=19
|
|||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
QUIET=""
|
QUIET=""
|
||||||
|
|
||||||
|
LOCK_FILE="/var/lock/procd_firewall.lock"
|
||||||
|
set_lock() {
|
||||||
|
exec 1000>"$LOCK_FILE"
|
||||||
|
flock -xn 1000
|
||||||
|
}
|
||||||
|
|
||||||
|
unset_lock() {
|
||||||
|
flock -u 1000
|
||||||
|
rm -rf "$LOCK_FILE"
|
||||||
|
}
|
||||||
|
|
||||||
validate_firewall_redirect()
|
validate_firewall_redirect()
|
||||||
{
|
{
|
||||||
uci_validate_section firewall redirect "${1}" \
|
uci_validate_section firewall redirect "${1}" \
|
||||||
@ -30,28 +41,39 @@ validate_firewall_rule()
|
|||||||
|
|
||||||
service_triggers() {
|
service_triggers() {
|
||||||
procd_add_reload_trigger firewall
|
procd_add_reload_trigger firewall
|
||||||
|
set_lock
|
||||||
|
|
||||||
procd_open_validate
|
procd_open_validate
|
||||||
validate_firewall_redirect
|
validate_firewall_redirect
|
||||||
validate_firewall_rule
|
validate_firewall_rule
|
||||||
procd_close_validate
|
procd_close_validate
|
||||||
|
unset_lock
|
||||||
}
|
}
|
||||||
|
|
||||||
restart() {
|
restart() {
|
||||||
|
unset_lock
|
||||||
|
set_lock
|
||||||
fw3 restart
|
fw3 restart
|
||||||
|
unset_lock
|
||||||
}
|
}
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
|
set_lock
|
||||||
fw3 ${QUIET} start
|
fw3 ${QUIET} start
|
||||||
|
unset_lock
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_service() {
|
stop_service() {
|
||||||
fw3 flush
|
fw3 flush
|
||||||
|
unset_lock
|
||||||
}
|
}
|
||||||
|
|
||||||
reload_service() {
|
reload_service() {
|
||||||
|
unset_lock
|
||||||
|
set_lock
|
||||||
reload_config firewall
|
reload_config firewall
|
||||||
fw3 reload
|
fw3 reload
|
||||||
|
unset_lock
|
||||||
}
|
}
|
||||||
|
|
||||||
boot() {
|
boot() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user