From 898b8a9904f597be38eb7e80201ee958bab65668 Mon Sep 17 00:00:00 2001 From: Dirk Brenken Date: Sun, 4 Mar 2018 15:01:50 +0100 Subject: luci-app-travelmate: fixes for new QR code template * remove unofficial 'WPA2' enc. token for better compatibility with certain QR code reader, still 'WPA', 'WEP' and 'nopass' are supported * add WEP key slot support (not really needed, but it's still supported by LuCI wireless) * correct escape single quotes and other special chars in SSID & passwords * code cleanup Signed-off-by: Dirk Brenken --- .../luasrc/view/travelmate/ap_qr.htm | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'applications/luci-app-travelmate/luasrc/view') diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm index 6d6615095e..e6e4ede5ab 100644 --- a/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm +++ b/applications/luci-app-travelmate/luasrc/view/travelmate/ap_qr.htm @@ -18,19 +18,18 @@ This is free software, licensed under the Apache License, Version 2.0 local mode = s.mode or "" local ssid = s.ssid or "" local enc = s.encryption or "" - local key = s.key or "nokey" + local key = s.key or "" local hidden = s.hidden or "false" local disabled = s.disabled or "" - if device ~= "" and mode == "ap" and disabled ~= "1" then - if string.match(enc, '^psk2') then - enc = "wpa2" - elseif string.match(enc, '^psk') then - enc = "wpa" + local wep_slots = {s.key1 or "", s.key2 or "", s.key3 or "", s.key4 or ""} + + if device and mode == "ap" and disabled ~= "1" then + if string.match(enc, '^psk') then + enc = "WPA" elseif string.match(enc, '^wep') then + enc = "WEP" if tonumber(key) then - enc = "" - else - enc = "wep" + key = wep_slots[tonumber(key)] end elseif enc == "none" then enc = "nopass" @@ -41,9 +40,9 @@ This is free software, licensed under the Apache License, Version 2.0 if hidden == "1" then hidden = "true" end - if ssid ~= "" and enc ~= "" then - local e_ssid = string.gsub(ssid,"[\";\\:, ]","\\%1") - local e_key = string.gsub(key,"[\";\\:, ]","\\%1") + if ssid and enc and key then + local e_ssid = string.gsub(ssid,"[\"\\';:, ]",[[\\\%1]]) + local e_key = string.gsub(key,"[\"\\';:, ]",[[\\\%1]]) local qrcode = "" if nixio.fs.access("/usr/bin/qrencode") then qrcode = luci.sys.exec("/usr/bin/qrencode -I -t SVG -8 -o - 'WIFI:S:\"'" .. e_ssid .. "'\";T:'" .. enc .. "';P:\"'" .. e_key .. "'\";H:'" .. hidden .. "';'") -- cgit v1.2.3