luci-app-fwknopd: Add qr code support

Signed-off-by: Jonathan Bennett <jbennett@incomsystems.biz>
This commit is contained in:
Jonathan Bennett 2015-05-17 22:33:30 -05:00
parent d009a73bd1
commit ce3179c6d1
4 changed files with 27 additions and 1 deletions

View file

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
LUCI_TITLE:=Fwknopd config - web config for the firewall knock daemon LUCI_TITLE:=Fwknopd config - web config for the firewall knock daemon
LUCI_DEPENDS:=+fwknopd LUCI_DEPENDS:=+fwknopd +qrencode
PKG_VERSION:=1.0 PKG_VERSION:=1.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=GPLv2 PKG_LICENSE:=GPLv2

View file

@ -6,6 +6,9 @@ m = Map("fwknopd", translate("Firewall Knock Operator"))
s = m:section(TypedSection, "global", translate("Enable Uci/Luci control")) -- Set uci control on or off s = m:section(TypedSection, "global", translate("Enable Uci/Luci control")) -- Set uci control on or off
s.anonymous=true s.anonymous=true
s:option(Flag, "uci_enabled", translate("Enable config overwrite"), translate("When unchecked, the config files in /etc/fwknopd will be used as is, ignoring any settings here.")) s:option(Flag, "uci_enabled", translate("Enable config overwrite"), translate("When unchecked, the config files in /etc/fwknopd will be used as is, ignoring any settings here."))
qr = s:option(DummyValue, "note0", "dummy")
qr.template = "fwknopd-qr"
qr:depends("uci_enabled", "1")
s = m:section(TypedSection, "access", translate("access.conf stanzas")) -- set the access.conf settings s = m:section(TypedSection, "access", translate("access.conf stanzas")) -- set the access.conf settings
s.anonymous=true s.anonymous=true

View file

@ -0,0 +1 @@
<% print(luci.sys.exec("sh /usr/sbin/gen-qr.sh")) %>

View file

@ -0,0 +1,22 @@
#!/bin/sh
key_base64=$(uci get fwknopd.@access[0].KEY_BASE64)
key=$(uci get fwknopd.@access[0].KEY)
hmac_key_base64=$(uci get fwknopd.@access[0].HMAC_KEY_BASE64)
hmac_key=$(uci get fwknopd.@access[0].HMAC_KEY)
if [ $key_base64 != "" ]; then
qr="KEY_BASE64:$key_base64"
fi
if [ $key != "" ]; then
qr="$qr KEY:$key"
fi
if [ $hmac_key_base64 != "" ]; then
qr="$qr HMAC_KEY_BASE64:$hmac_key_base64"
fi
if [ $hmac_key != "" ]; then
qr="$qr HMAC_KEY:$hmac_key"
fi
qrencode -o - "$qr"