summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-wol/luasrc
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2017-01-27 10:36:12 +0200
committerHannu Nyman <hannu.nyman@iki.fi>2017-01-27 10:37:54 +0200
commit16bbe45e95d89c61323f5a86401a8ed4287af030 (patch)
tree4df6d0a8f29ac12916007361322f6eeb87ecdbe2 /applications/luci-app-wol/luasrc
parentc5b84f2fba12d4779677840c9e2186794f6f85b2 (diff)
luci-app-wol: add ability to send packet to broadcast address
Add the ability to send the WOL packet to the broadcast address, if etherwake is used as the wol tool. Modified from the original idea in #975 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'applications/luci-app-wol/luasrc')
-rw-r--r--applications/luci-app-wol/luasrc/model/cbi/wol.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/applications/luci-app-wol/luasrc/model/cbi/wol.lua b/applications/luci-app-wol/luasrc/model/cbi/wol.lua
index e87cac3dc..ec6a1be2a 100644
--- a/applications/luci-app-wol/luasrc/model/cbi/wol.lua
+++ b/applications/luci-app-wol/luasrc/model/cbi/wol.lua
@@ -48,6 +48,13 @@ sys.net.mac_hints(function(mac, name)
host:value(mac, "%s (%s)" %{ mac, name })
end)
+if has_ewk then
+ broadcast = s:option(Flag, "broadcast",
+ translate("Send to broadcast address"))
+ if has_wol then
+ broadcast:depends("binary", "/usr/bin/etherwake")
+ end
+end
function host.write(self, s, val)
local host = luci.http.formvalue("cbid.wol.1.mac")
@@ -59,8 +66,10 @@ function host.write(self, s, val)
if util == "/usr/bin/etherwake" then
local iface = luci.http.formvalue("cbid.wol.1.iface")
- cmd = "%s -D%s %q" %{
- util, (iface ~= "" and " -i %q" % iface or ""), host
+ local broadcast = luci.http.formvalue("cbid.wol.1.broadcast")
+ cmd = "%s -D%s %s %q" %{
+ util, (iface ~= "" and " -i %q" % iface or ""),
+ (broadcast == "1" and " -b" or ""), host
}
else
cmd = "%s -v %q" %{ util, host }