summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-10-17 18:15:19 +0000
committerTed Trask <ttrask01@yahoo.com>2011-10-17 18:15:19 +0000
commit9f42d98e92205a91dc89450cf8c6e67cb4c4fe1a (patch)
tree31a5f8aac6a6961d90b9ba1ffad0ada7d5fff61d
parent741c1743762d25c0b0691a2100013f36c19aa89a (diff)
downloadacf-provisioning-9f42d98e92205a91dc89450cf8c6e67cb4c4fe1a.tar.bz2
acf-provisioning-9f42d98e92205a91dc89450cf8c6e67cb4c4fe1a.tar.xz
Added special handling for Linksys files in acf-provisioning-linksys
-rwxr-xr-xcgi-bin/provisioning.cgi14
1 files changed, 14 insertions, 0 deletions
diff --git a/cgi-bin/provisioning.cgi b/cgi-bin/provisioning.cgi
index e8af6be..ba8f9a6 100755
--- a/cgi-bin/provisioning.cgi
+++ b/cgi-bin/provisioning.cgi
@@ -8,6 +8,7 @@ local root = ENV["DOCUMENT_ROOT"] or ""
local request_method = ENV["REQUEST_METHOD"] or ""
local user_agent = ENV["HTTP_USER_AGENT"] or ""
local ip_address = ENV["REMOTE_ADDR"] or ""
+local server = ENV["SERVER_NAME"] or ""
local log = io.open("/var/log/provisioning.log", "a+")
log:write("Running provisioning.cgi ".. os.date() .. "\n")
@@ -79,6 +80,19 @@ local basename = posix.basename(path_info)
local mac = string.match(basename, "%x%x%x%x%x%x%x%x%x%x%x%x")
if ( request_method == "GET" ) then
+ -- If it's a Linksys and corresponding file exists in /Linksys/ then serve it up, replacing $SERV with SERVER_NAME
+ if string.match(user_agent, "Linksys") and posix.stat(root.."/Linksys/"..basename) then
+ local f = io.open(root.."/Linksys/"..basename, "r")
+ if f then
+ log:write("Translating local file\n")
+ io.stdout:write("Content-Type: \n\n")
+ io.stdout:write((string.gsub(f:read("*a"), "%$SERV", server)))
+ f:close()
+ log:close()
+ os.exit()
+ end
+ end
+
-- don't even bother for files that don't contain a MAC
if mac == nil then
http_code(404)