diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-12-10 18:28:02 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-12-10 18:28:02 +0000 |
commit | e7396f95b6067ec4d931b269e68742e9eea31921 (patch) | |
tree | cdca31830735e4f685ab07d3fa1fb3dc325dc69c /openssh-model.lua | |
parent | ff2f0fbb017decbba5f2fd23a3f6c05d07c0e457 (diff) | |
download | acf-openssh-e7396f95b6067ec4d931b269e68742e9eea31921.tar.bz2 acf-openssh-e7396f95b6067ec4d931b269e68742e9eea31921.tar.xz |
Modified openssh to remove unintended dependence on tinydns.
git-svn-id: svn://svn.alpinelinux.org/acf/openssh/trunk@1635 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'openssh-model.lua')
-rw-r--r-- | openssh-model.lua | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/openssh-model.lua b/openssh-model.lua index 8875f04..a6722fc 100644 --- a/openssh-model.lua +++ b/openssh-model.lua @@ -124,21 +124,26 @@ function list_conn_peers() local ps = {} local who = {} config = read_config() - local f = io.popen( path .. 'netstat -lna | grep "ESTABLISHED"' ) - for line in f:lines() do + local f = io.popen( path .. 'netstat -lnaW | grep "ESTABLISHED"' ) + local flines = format.string_to_table(f:read("*a"), "\n") + f:close() + local g = io.popen( path .. 'netstat -laW | grep "ESTABLISHED"' ) + local glines = format.string_to_table(g:read("*a"), "\n") + g:close() + for i,line in ipairs(flines) do local loc, peer = string.match(line, "^%S+%s+%S+%s+%S+%s+(%S+)%s+(%S+)") - peer = string.match(peer, "%d+%.%d+%.%d+%.%d+") - if string.find(loc, ":"..config.value.Port.value.."$") and peer then - if not netstat[peer] then - local g = io.popen( path .. "dnsname " .. peer) - local name = g:read("*l") - g:close() - netstat[peer] = {cnt=0, name=name} + if loc then + peer = string.match(peer, "%d+%.%d+%.%d+%.%d+") + if string.find(loc, ":"..config.value.Port.value.."$") and peer then + if not netstat[peer] then + local name = string.match(glines[i], "^%S+%s+%S+%s+%S+%s+%S+%s+(%S+)") + name = string.gsub(name, ":.*", "") + netstat[peer] = {cnt=0, name=name} + end + netstat[peer].cnt = netstat[peer].cnt + 1 end - netstat[peer].cnt = netstat[peer].cnt + 1 end end - f:close() local f = io.popen( path .. 'ps | grep "sshd:" | grep -v "grep"' ) for line in f:lines() do |