From beab5cb81fbe85c7b7d5c76470c8fbdd21cfcffa Mon Sep 17 00:00:00 2001 From: Ycarus Date: Tue, 10 Jul 2018 10:56:43 +0200 Subject: [PATCH] Fix OMR-Bypass with empty DPI proto --- luci-app-omr-bypass/luasrc/controller/omr-bypass.lua | 10 +++++++--- luci-app-omr-bypass/root/etc/init.d/omr-bypass | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua b/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua index 182e67b26..1ffbc1815 100644 --- a/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua +++ b/luci-app-omr-bypass/luasrc/controller/omr-bypass.lua @@ -27,10 +27,14 @@ function bypass_add() ucic:set_list("omr-bypass","ips","ip",ip_ipset) local dpi = luci.http.formvalue("cbid.omr-bypass.dpi") - if (type(dpi) ~= "table") then - dpi = {dpi} + if dpi ~= "" then + if (type(dpi) ~= "table") then + dpi = {dpi} + end + ucic:set_list("omr-bypass","dpi","proto",dpi) + else + ucic:delete("omr-bypass","dpi","proto") end - ucic:set_list("omr-bypass","dpi","proto",dpi) local interface = luci.http.formvalue("cbid.omr-bypass.interface") or "" ucic:set("omr-bypass","defaults","ifname",interface) diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 2fccdb113..dc1be3e78 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -18,6 +18,7 @@ _bypass_ip() { _bypass_proto() { local proto="$1" + [ -z "$proto" ] && return ndpi_rules="-A omr-bypass-dpi -m ndpi --$proto -j MARK --set-mark 0x539 $ndpi_rules" }