diff options
author | Mika Havela <mika.havela@gmail.com> | 2008-09-16 11:31:39 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2008-09-16 11:31:39 +0000 |
commit | 8854cd82b4214373d61ae9d363de4f7127985c0b (patch) | |
tree | 0121c27b689be0c9ec3dcb1b42393ac16a0279ab | |
parent | e986a42e901c866aa1eb8b4850495b7c336355a6 (diff) | |
download | acf-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.lua | 22 |
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 |