* Fixed haserl-lua Makefile
* Fixed a bug in CBI that occured when target UCI is empty * Added frontend for port forwarding / firewall pages
This commit is contained in:
parent
746fdf6b47
commit
184f13334f
10 changed files with 69 additions and 5 deletions
|
@ -44,7 +44,8 @@ define Package/ffluci/install
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/ffluci $(1)/www/cgi-bin
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/ffluci $(1)/www/cgi-bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.cgi $(1)/www/cgi-bin
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.cgi $(1)/www/cgi-bin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.html $(1)/www
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/index.html $(1)/www
|
||||||
$(CP) $(PKG_BUILD_DIR)/contrib/ffluci.uci $(1)/etc/config/luci
|
$(CP) $(PKG_BUILD_DIR)/contrib/uci/luci $(1)/etc/config/luci
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/contrib/uci/luci_fw $(1)/etc/config/luci_fw
|
||||||
$(CP) -a ./ipkg/ffluci.postinst $(1)/CONTROL/postinst
|
$(CP) -a ./ipkg/ffluci.postinst $(1)/CONTROL/postinst
|
||||||
$(CP) -a ./ipkg/conffiles $(1)/CONTROL/conffiles
|
$(CP) -a ./ipkg/conffiles $(1)/CONTROL/conffiles
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
/etc/config/luci
|
/etc/config/luci
|
||||||
|
/etc/config/luci_fw
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=haserl-lua
|
PKG_NAME:=haserl
|
||||||
PKG_VERSION:=0.9.23
|
PKG_VERSION:=0.9.23
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
|
2
contrib/uci/luci_fw
Normal file
2
contrib/uci/luci_fw
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,9 @@ function Map.__init__(self, config, ...)
|
||||||
if not self.ucidata then
|
if not self.ucidata then
|
||||||
error("Unable to read UCI data: " .. self.config)
|
error("Unable to read UCI data: " .. self.config)
|
||||||
else
|
else
|
||||||
|
if not self.ucidata[self.config] then
|
||||||
|
self.ucidata[self.config] = {}
|
||||||
|
end
|
||||||
self.ucidata = self.ucidata[self.config]
|
self.ucidata = self.ucidata[self.config]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
37
src/ffluci/model/cbi/admin_network/firewall.lua
Normal file
37
src/ffluci/model/cbi/admin_network/firewall.lua
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
-- ToDo: Translate, Add descriptions and help texts
|
||||||
|
m = Map("luci_fw", "Firewall")
|
||||||
|
|
||||||
|
s = m:section(TypedSection, "rule")
|
||||||
|
s.addremove = true
|
||||||
|
|
||||||
|
chain = s:option(ListValue, "chain", "Kette")
|
||||||
|
chain:value("forward", "Forward")
|
||||||
|
chain:value("input", "Input")
|
||||||
|
chain:value("output", "Output")
|
||||||
|
chain:value("prerouting", "Prerouting")
|
||||||
|
chain:value("postrouting", "Postrouting")
|
||||||
|
|
||||||
|
s:option(Value, "iface", "Eingangsschnittstelle").optional = true
|
||||||
|
s:option(Value, "oface", "Ausgangsschnittstelle").optional = true
|
||||||
|
s:option(Value, "proto", "Protokoll").optional = true
|
||||||
|
s:option(Value, "source", "Quelladresse").optional = true
|
||||||
|
s:option(Value, "destination", "Zieladresse").optional = true
|
||||||
|
s:option(Value, "sport", "Quellports").optional = true
|
||||||
|
s:option(Value, "dport", "Zielports").optional = true
|
||||||
|
s:option(Value, "to", "Neues Ziel").optional = true
|
||||||
|
|
||||||
|
state = s:option(MultiValue, "state", "Status")
|
||||||
|
state.optional = true
|
||||||
|
state.delimiter = ","
|
||||||
|
state:value("NEW", "neu")
|
||||||
|
state:value("ESTABLISHED", "etabliert")
|
||||||
|
state:value("RELATED", "zugehörig")
|
||||||
|
state:value("INVALID", "ungültig")
|
||||||
|
|
||||||
|
s:option(Value, "jump", "Aktion", "ACCEPT, REJECT, DROP, MASQUERADE, DNAT, SNAT, ...").optional = true
|
||||||
|
|
||||||
|
|
||||||
|
add = s:option(Value, "command", "Befehl")
|
||||||
|
add.size = 50
|
||||||
|
|
||||||
|
return m
|
18
src/ffluci/model/cbi/admin_network/portfw.lua
Normal file
18
src/ffluci/model/cbi/admin_network/portfw.lua
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
-- ToDo: Translate, Add descriptions and help texts
|
||||||
|
m = Map("luci_fw", "Portweiterleitung")
|
||||||
|
|
||||||
|
s = m:section(TypedSection, "portfw")
|
||||||
|
s.addremove = true
|
||||||
|
s.anonymous = true
|
||||||
|
|
||||||
|
iface = s:option(Value, "in_interface", "Externes Interface")
|
||||||
|
|
||||||
|
proto = s:option(ListValue, "proto", "Protokoll")
|
||||||
|
proto:value("tcp", "TCP")
|
||||||
|
proto:value("udp", "UDP")
|
||||||
|
|
||||||
|
dport = s:option(Value, "dport", "Externer Port", "Port[:Endport]")
|
||||||
|
|
||||||
|
to = s:option(Value, "to", "Interne Adresse", "IP-Adresse[:Zielport[-Zielendport]]")
|
||||||
|
|
||||||
|
return m
|
|
@ -17,6 +17,8 @@ act("vlan", "Switch")
|
||||||
act("ifaces", "Schnittstellen")
|
act("ifaces", "Schnittstellen")
|
||||||
act("ptp", "PPPoE / PPTP")
|
act("ptp", "PPPoE / PPTP")
|
||||||
act("routes", "Statische Routen")
|
act("routes", "Statische Routen")
|
||||||
|
act("portfw", "Portweiterleitung")
|
||||||
|
act("firewall", "Firewall")
|
||||||
|
|
||||||
add("admin", "wifi", "Drahtlos", 40)
|
add("admin", "wifi", "Drahtlos", 40)
|
||||||
act("devices", "Geräte")
|
act("devices", "Geräte")
|
||||||
|
|
|
@ -157,7 +157,7 @@ end
|
||||||
|
|
||||||
function Session._uci3(self, cmd)
|
function Session._uci3(self, cmd)
|
||||||
local res = ffluci.sys.execl(self.ucicmd .. " 2>&1 " .. cmd)
|
local res = ffluci.sys.execl(self.ucicmd .. " 2>&1 " .. cmd)
|
||||||
if res[1]:sub(1, ucicmd:len() + 1) == ucicmd .. ":" then
|
if res[1] and res[1]:sub(1, self.ucicmd:len()+1) == self.ucicmd..":" then
|
||||||
return nil, res[1]
|
return nil, res[1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue