From 5c5b402cfb5c85101241aab72a0d2b33e370d084 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 17 Oct 2011 21:10:52 +0000 Subject: Added support for snom to scripts --- cgi-bin/provisioning.cgi | 23 +++++++++++++---------- config/acl.conf | 1 + config/determine_class.lua | 3 +++ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/cgi-bin/provisioning.cgi b/cgi-bin/provisioning.cgi index ba8f9a6..5ac1684 100755 --- a/cgi-bin/provisioning.cgi +++ b/cgi-bin/provisioning.cgi @@ -80,16 +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() + -- Hack to allow download of config files with firmare URL, replacing $SERV with SERVER_NAME + local firmwaretricks = {"Linksys", "snom"} + for i,n in ipairs(firmwaretricks) do + if string.match(user_agent, n) and posix.stat(root.."/"..n.."/"..basename) then + local f = io.open(root.."/"..n.."/"..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 end diff --git a/config/acl.conf b/config/acl.conf index 9469c42..9ce181f 100644 --- a/config/acl.conf +++ b/config/acl.conf @@ -1,2 +1,3 @@ Linksys Polycom +snom diff --git a/config/determine_class.lua b/config/determine_class.lua index ad32266..bf7a2fb 100644 --- a/config/determine_class.lua +++ b/config/determine_class.lua @@ -11,6 +11,9 @@ if string.match(agent, "Polycom") then elseif string.match(agent, "Linksys") then manufacture = "Linksys" model = string.match(agent, "Linksys/(%P+)") +elseif string.match(agent, "snom") then + manufacture = "Snom" + model = string.match(agent, "snom(%d+)") end APP.logevent("Found "..(manufacture or "").." model "..(model or "")) -- cgit v1.2.3