From 43b995148183a350c8d8af0dd202ad9dcc9fd8c9 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Thu, 17 Jul 2008 18:11:15 +0000 Subject: [PATCH] New application luci-upnp for luci-full and luci-mini --- applications/luci-upnp/Makefile | 2 ++ applications/luci-upnp/luasrc/controller/upnp.lua | 30 ++++++++++++++++++++ applications/luci-upnp/luasrc/i18n/upnp.de.lua | 6 ++++ applications/luci-upnp/luasrc/i18n/upnp.en.lua | 6 ++++ .../luci-upnp/luasrc/model/cbi/upnp/upnp.lua | 32 ++++++++++++++++++++++ .../luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua | 31 +++++++++++++++++++++ contrib/package/luci/Makefile | 14 ++++++++++ libs/web/root/etc/config/luci | 3 +- 8 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 applications/luci-upnp/Makefile create mode 100644 applications/luci-upnp/luasrc/controller/upnp.lua create mode 100644 applications/luci-upnp/luasrc/i18n/upnp.de.lua create mode 100644 applications/luci-upnp/luasrc/i18n/upnp.en.lua create mode 100644 applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua create mode 100644 applications/luci-upnp/luasrc/model/cbi/upnp/upnpmini.lua 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 +Copyright 2008 Jo-Philipp Wich + +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 +Copyright 2008 Jo-Philipp Wich + +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 +Copyright 2008 Jo-Philipp Wich + +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" -- 2.11.0