From 10992d6b10559daa792bcd7609eb6929d4fe3692 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Fri, 11 Aug 2017 15:36:39 +0200 Subject: [PATCH] luci-app-mwan3: change hotplug script to mwan3.user Replace old "/etc/hotplug.d/iface/16-mwancustom" edit possibility with the new "/etc/mwan3.user" hotplug script. Which will also be saved during sysupgrade. Signed-off-by: Florian Eckert --- .../model/cbi/mwan/advanced_hotplugscript.lua | 51 +++++++------------ 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua index 0e7b8b11d0..1b97080216 100644 --- a/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua +++ b/applications/luci-app-mwan3/luasrc/model/cbi/mwan/advanced_hotplugscript.lua @@ -1,55 +1,40 @@ -- ------ hotplug script configuration ------ -- fs = require "nixio.fs" -sys = require "luci.sys" ut = require "luci.util" -script = "/etc/hotplug.d/iface/16-mwancustom" -scriptBackup = "/etc/hotplug.d/iface/16-mwancustombak" - -if luci.http.formvalue("cbid.luci.1._restorebak") then -- restore button has been clicked - luci.http.redirect(luci.dispatcher.build_url("admin/network/mwan/advanced/hotplugscript") .. "?restore=yes") -elseif luci.http.formvalue("restore") == "yes" then -- restore script from backup - os.execute("cp -f " .. scriptBackup .. " " .. script) -end - +script = "/etc/mwan3.user" m5 = SimpleForm("luci", nil) m5:append(Template("mwan/advanced_hotplugscript")) -- highlight current tab f = m5:section(SimpleSection, nil, - translate("This section allows you to modify the contents of /etc/hotplug.d/iface/16-mwancustom
" .. - "This is useful for running system commands and/or scripts based on interface ifup or ifdown hotplug events

" .. + translate("This section allows you to modify the content of \"/etc/mwan3.user\".
" .. + "The file is also preserved during sysupgrade.
" .. + "
" .. "Notes:
" .. - "The first line of the script must be "#!/bin/sh" without quotes
" .. - "Lines beginning with # are comments and are not executed

" .. - "Available variables:
" .. - "$ACTION is the hotplug event (ifup, ifdown)
" .. - "$INTERFACE is the interface name (wan1, wan2, etc.)
" .. - "$DEVICE is the device name attached to the interface (eth0.1, eth1, etc.)")) - - -restore = f:option(Button, "_restorebak", translate("Restore default hotplug script")) - restore.inputtitle = translate("Restore...") - restore.inputstyle = "apply" + "This file is interpreted as a shell script.
" .. + "The first line of the script must be "#!/bin/sh" without quotes.
" .. + "Lines beginning with # are comments and are not executed.
" .. + "Put your custom mwan3 action here, they will
" .. + "be executed with each netifd hotplug interface event
" .. + "on interfaces for which mwan3 is enabled.
" .. + "
" .. + "There are three main environment variables that are passed to this script.
" .. + "
" .. + "$ACTION Either \"ifup\" or \"ifdown\"
" .. + "$INTERFACE Name of the interface which went up or down (e.g. \"wan\" or \"wwan\")
" .. + "$DEVICE Physical device name which interface went up or down (e.g. \"eth0\" or \"wwan0\")
" .. + "
")) t = f:option(TextValue, "lines") t.rmempty = true t.rows = 20 - function t.cfgvalue() - local hps = fs.readfile(script) - if not hps or hps == "" then -- if script does not exist or is blank restore from backup - sys.call("cp -f " .. scriptBackup .. " " .. script) - return fs.readfile(script) - else - return hps - end + return fs.readfile(script) end - function t.write(self, section, data) -- format and write new data to script return fs.writefile(script, ut.trim(data:gsub("\r\n", "\n")) .. "\n") end - return m5 -- 2.30.2