summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-upnp/Makefile2
-rw-r--r--applications/luci-upnp/luasrc/controller/upnp.lua30
-rw-r--r--applications/luci-upnp/luasrc/i18n/upnp.de.lua6
-rw-r--r--applications/luci-upnp/luasrc/i18n/upnp.en.lua6
-rw-r--r--applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua32
-rw-r--r--applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua31
-rw-r--r--contrib/package/luci/Makefile14
-rw-r--r--libs/web/root/etc/config/luci3
8 files changed, 123 insertions, 1 deletions
diff --git a/applications/luci-upnp/Makefile b/applications/luci-upnp/Makefile
new file mode 100644
index 000000000..81a96f6a8
--- /dev/null
+++ b/applications/luci-upnp/Makefile
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk \ No newline at end of file
diff --git a/applications/luci-upnp/luasrc/controller/upnp.lua b/applications/luci-upnp/luasrc/controller/upnp.lua
new file mode 100644
index 000000000..fe93b9fe9
--- /dev/null
+++ b/applications/luci-upnp/luasrc/controller/upnp.lua
@@ -0,0 +1,30 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+module("luci.controller.upnp", package.seeall)
+
+function index()
+ if not luci.fs.isfile("/etc/config/upnpd") then
+ return
+ end
+
+ local page = entry({"admin", "services", "upnp"}, cbi("upnp/upnp"), "UPNP")
+ page.i18n = "upnp"
+ page.dependent = true
+
+
+ local page = entry({"mini", "network", "upnp"}, cbi("upnp/upnpmini"), "UPNP")
+ page.i18n = "upnp"
+ page.dependent = true
+end \ No newline at end of file
diff --git a/applications/luci-upnp/luasrc/i18n/upnp.de.lua b/applications/luci-upnp/luasrc/i18n/upnp.de.lua
new file mode 100644
index 000000000..95c1fc62d
--- /dev/null
+++ b/applications/luci-upnp/luasrc/i18n/upnp.de.lua
@@ -0,0 +1,6 @@
+upnpd = "Universal Plug & Play"
+upnpd_desc = "UPNP ermöglicht die automatische Konfiguration des Routers durch Clients im lokalen Netzwerk."
+upnpd_config_desc = "UPNP sollte nur wenn unbedingt nötig aktiviert werden, da es ein Sicherheitsrisiko für das Netzwerk darstellen kann."
+upnpd_config_logoutput = "Ausgabe protokollieren"
+upnpd_config_download = "Downlink"
+upnpd_config_upload = "Uplink" \ No newline at end of file
diff --git a/applications/luci-upnp/luasrc/i18n/upnp.en.lua b/applications/luci-upnp/luasrc/i18n/upnp.en.lua
new file mode 100644
index 000000000..eb11f97a0
--- /dev/null
+++ b/applications/luci-upnp/luasrc/i18n/upnp.en.lua
@@ -0,0 +1,6 @@
+upnpd = "Universal Plug & Play"
+upnpd_desc = "UPNP allows clients in the local network to automatically configure the router."
+upnpd_config_desc = "UPNP should only be enabled if absolutely necessary as it can result in high security risks for your network."
+upnpd_config_logoutput = "Log output"
+upnpd_config_download = "Downlink"
+upnpd_config_upload = "Uplink" \ No newline at end of file
diff --git a/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua b/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua
new file mode 100644
index 000000000..79a38f7c5
--- /dev/null
+++ b/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua
@@ -0,0 +1,32 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+m = Map("upnpd", translate("upnpd"), translate("upnpd_desc"))
+
+s = m:section(NamedSection, "config", "upnpd", "")
+e = s:option(Flag, "enabled", translate("enable"))
+function e.write(self, section, value)
+ local cmd = (value == "1") and "enable" or "disable"
+ os.execute("/etc/init.d/miniupnpd " .. cmd)
+end
+
+function e.cfgvalue(self, section)
+ return (os.execute("/etc/init.d/miniupnpd enabled") == 0) and "1" or "0"
+end
+
+s:option(Flag, "log_output").rmempty = true
+s:option(Value, "download").rmempty = true
+s:option(Value, "upload").rmempty = true
+
+return m \ No newline at end of file
diff --git a/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua b/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua
new file mode 100644
index 000000000..592388348
--- /dev/null
+++ b/applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua
@@ -0,0 +1,31 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+m = Map("upnpd", translate("upnpd"), translate("upnpd_desc"))
+
+s = m:section(NamedSection, "config", "upnpd", "")
+e = s:option(Flag, "enabled", translate("enable"))
+function e.write(self, section, value)
+ local cmd = (value == "1") and "enable" or "disable"
+ os.execute("/etc/init.d/miniupnpd " .. cmd)
+end
+
+function e.cfgvalue(self, section)
+ return (os.execute("/etc/init.d/miniupnpd enabled") == 0) and "1" or "0"
+end
+
+s:option(Value, "download").rmempty = true
+s:option(Value, "upload").rmempty = true
+
+return m \ No newline at end of file
diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile
index 8ae97fcf1..062e14c72 100644
--- a/contrib/package/luci/Makefile
+++ b/contrib/package/luci/Makefile
@@ -411,6 +411,16 @@ define Package/luci-app-statistics/install
$(call Package/luci/install/template,$(1),applications/luci-statistics)
endef
+define Package/luci-app-upnp
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core +miniupnpd
+ TITLE:=Universal Plug & Play configuration module
+endef
+
+define Package/luci-app-upnp/install
+ $(call Package/luci/install/template,$(1),applications/luci-upnp)
+endef
+
### Server Gateway Interfaces ###
@@ -566,6 +576,9 @@ endif
ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
PKG_SELECTED_MODULES+=applications/luci-statistics
endif
+ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
+ PKG_SELECTED_MODULES+=applications/luci-upnp
+endif
ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
PKG_SELECTED_MODULES+=libs/sgi-cgi
@@ -630,6 +643,7 @@ $(eval $(call BuildPackage,luci-app-olsr))
$(eval $(call BuildPackage,luci-app-qos))
$(eval $(call BuildPackage,luci-app-splash))
$(eval $(call BuildPackage,luci-app-statistics))
+$(eval $(call BuildPackage,luci-app-upnp))
$(eval $(call BuildPackage,luci-sgi-cgi))
$(eval $(call BuildPackage,luci-sgi-luci))
diff --git a/libs/web/root/etc/config/luci b/libs/web/root/etc/config/luci
index d85d4b45a..aa3553901 100644
--- a/libs/web/root/etc/config/luci
+++ b/libs/web/root/etc/config/luci
@@ -19,7 +19,7 @@ config extern flash_keep
option firewall "/etc/firewall.user"
config event uci_oncommit
- option network "/etc/init.d/network restart"
+ option network "/etc/init.d/network restart; /etc/init.d/dnsmasq restart"
option wireless "/etc/init.d/network restart"
option olsr "/etc/init.d/olsrd restart"
option dhcp "/etc/init.d/dnsmasq restart"
@@ -31,6 +31,7 @@ config event uci_oncommit
option luci_ethers "/etc/init.d/luci_ethers restart; /etc/init.d/dnsmasq restart"
option luci_splash "/etc/init.d/luci_splash restart"
option freifunk "/etc/init.d/luci_freifunk restart"
+ option upnpd "/etc/init.d/miniupnpd enabled && /etc/init.d/miniupnpd restart || /etc/init.d/miniupnpd stop"
config internal languages
option de "Deutsch"