summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-09-16 11:31:39 +0000
committerMika Havela <mika.havela@gmail.com>2008-09-16 11:31:39 +0000
commit8854cd82b4214373d61ae9d363de4f7127985c0b (patch)
tree0121c27b689be0c9ec3dcb1b42393ac16a0279ab
parente986a42e901c866aa1eb8b4850495b7c336355a6 (diff)
downloadacf-quagga-8854cd82b4214373d61ae9d363de4f7127985c0b.tar.bz2
acf-quagga-8854cd82b4214373d61ae9d363de4f7127985c0b.tar.xz
Bugfix. Now reading password from config instead of using hardcoded pw
git-svn-id: svn://svn.alpinelinux.org/acf/quagga/trunk@1467 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--bgp-model.lua22
1 files changed, 21 insertions, 1 deletions
diff --git a/bgp-model.lua b/bgp-model.lua
index 07c5b24..1166837 100644
--- a/bgp-model.lua
+++ b/bgp-model.lua
@@ -12,11 +12,31 @@ local packagename = "quagga"
-- ################################################################################
-- LOCAL FUNCTIONS
+local function parseconfigfile()
+ local conf = {}
+ local f = io.open(configfile, "r")
+ local line, key, _, k, v
+
+ if not f then
+ return nil
+ end
+
+ for line in f:lines() do
+ line = string.gsub(line, "%s*#.*", "")
+ local k,v = string.match(line, "^%s*(%S*)%s+(.*)")
+ if k then
+ conf[k] = v
+ end
+ end
+ f:close()
+ return conf
+end
local function telnetshowipbgp()
local output = {}
+ local configfile = parseconfigfile()
local cmd_output_result, cmd_output_error
- local cmd = path .. "echo -e 'zebpasswd\nshow ip bgp\nquit\n' | nc localhost bgpd 2>/dev/null"
+ local cmd = path .. "echo -e '" .. (configfile.password or "") .. "\nshow ip bgp\nquit\n' | nc localhost bgpd 2>/dev/null"
local f = io.popen( cmd )
local line = f:read("*l")
local validoutput