From 519965d79c160d7ce2f0ef7ab655d22f1b468cf8 Mon Sep 17 00:00:00 2001 From: Artem Sheremet Date: Sat, 26 Jul 2014 21:11:25 +0300 Subject: [PATCH] xmpp-resolve: print target FROM, as introduced --- bin/xmpp-resolve | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/bin/xmpp-resolve b/bin/xmpp-resolve index 20f4cad..ade7684 100755 --- a/bin/xmpp-resolve +++ b/bin/xmpp-resolve @@ -6,20 +6,24 @@ DNS_SERVER=$2 EXTRA_LINES_EXPR='(is an alias|has no|not found|^Using domain server:|^Name:|^Address:|^Aliases:|^$)' function print_host() { - port=$2 + local port=$2 for ipv in A AAAA; do if [ "$ipv" = A ]; then - argn=4 - wl='' - wr='' + local argn=4 + local wl='' + local wr='' else - argn=5 - wl='[' - wr=']' + local argn=5 + local wl='[' + local wr=']' fi host -t $ipv $1 $DNS_SERVER | grep -Ev "$EXTRA_LINES_EXPR" | awk "{ print \$$argn }" | while read server; do echo -n "$wl$server$wr:$port (${3-$ipv}" - if nc -nzw 2 $server $port &>/dev/null; then + local response + response=$(echo '' | nc -nw 2 -q 2 $server $port) + if [ $? -eq 0 ]; then + local introduced_as=$(echo "$response" | grep -Eo "from=.[^\'\"]+." | cut -d= -f2) + [ -n "$introduced_as" ] && echo -n " $introduced_as" echo ')' else echo ', unavailable)'