From 95fbba75246cf1b5115bc5493d3119f9ea91221e Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 27 Apr 2014 18:18:08 +0200 Subject: update things --- ship/lib/filehooker | 6 +++--- ship/lib/network | 11 +++++++++++ ship/lib/retiolum | 16 +++++++++++++--- 3 files changed, 27 insertions(+), 6 deletions(-) (limited to 'ship') diff --git a/ship/lib/filehooker b/ship/lib/filehooker index 3c881f91..72be751a 100644 --- a/ship/lib/filehooker +++ b/ship/lib/filehooker @@ -13,7 +13,6 @@ ncdc_configure_netshare(){ rnd=`hexdump -n 2 -e '/2 "%u"' /dev/urandom` rnd_name="${2:-share_$rnd}" info "adding share" - (echo "/share $rnd_name $1") | ncdc_config } @@ -32,11 +31,12 @@ ncdc_configure_hub(){ echo "/hset autoconnect true") | ncdc_config } - -ncdc_install(){ +ncdc_download(){ install_dir="$(dirname "${ncdc_bin}")" info "installing ncdc to $install_dir" curl http://dev.yorhel.nl/download/ncdc-linux-x86_64-1.19.tar.gz | tar xz -C "$install_dir" +} +ncdc_install(){ useradd -m $ncdc_user ||: } diff --git a/ship/lib/network b/ship/lib/network index bc4d1047..6c8970a0 100644 --- a/ship/lib/network +++ b/ship/lib/network @@ -76,6 +76,17 @@ run_telnet(){ port="$2" $(which_telnet) "$host" "$port" } +port_open(){ + # $1 - host + # $2 - port + # nc -zw 2 $1 $2 + echo | run_telnet "$1" "$2" & pid=$! + { sleep 5; kill $pid;} & wid=$! + wait $pid + RET=$? + kill $wid >/dev/null 2>&1 + return $RET +} send_irc(){ ## reads from stdin, writes to IRC diff --git a/ship/lib/retiolum b/ship/lib/retiolum index 1e55041c..eba2775e 100644 --- a/ship/lib/retiolum +++ b/ship/lib/retiolum @@ -23,7 +23,17 @@ refresh_supernode_keys(){ fi done && return 1 } - +port_open(){ + # $1 - host + # $2 - port + # nc -zw 2 $1 $2 + echo | run_telnet "$1" "$2" & pid=$! + { sleep 5; kill $pid;} & wid=$! + wait $pid + RET=$? + kill $wid >/dev/null 2>&1 + return $RET +} find_supernodes(){ cd $hosts_dir set +f @@ -37,7 +47,7 @@ find_supernodes(){ ' $name`"; then port=${Port-655} for host in $Address; do - if nc -zw 2 $host $port 2>/dev/null; then + if port_open $host $port 2>/dev/null; then echo "$name [('$host', $port)]" fi & done @@ -63,7 +73,7 @@ find_active_nodes(){ ' $name`"; then port=${Port-655} for host in $Address; do - if nc -zw 2 $host $port 2>/dev/null; then + if port_open $host $port 2>/dev/null; then echo "$name [('$host', $port)]" fi & done -- cgit v1.2.3