From 17291d91bb3063fe8ba0bb5b73c329d317fa7108 Mon Sep 17 00:00:00 2001 From: 23hiro <23hiro@gmail.com> Date: Sun, 7 Jan 2018 02:44:53 +0100 Subject: rconnect: support -t timeout for aan like in drawterm; also rcpu, rexport/import --- rc/bin/rconnect | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'rc/bin/rconnect') diff --git a/rc/bin/rconnect b/rc/bin/rconnect index 86558059a..5d672aae7 100755 --- a/rc/bin/rconnect +++ b/rc/bin/rconnect @@ -2,8 +2,9 @@ rfork e argv0=$0 +aanto=86400 #one day fn usage { - echo 'usage:' $argv0 '[-u user] [-k keypattern] [-p] host remotescript localcommand arg ...' >[1=2] + echo 'usage:' $argv0 '[-u user] [-k keypattern] [-p] [-t timeout] host remotescript localcommand arg ...' >[1=2] exit 'usage' } @@ -24,6 +25,7 @@ while(~ $1 -*){ switch($1){ case -k; keyspec=($keyspec $2) case -u; keyspec=($keyspec `{user=$2 pvar user}) + case -t; aanto=$2 case *; usage } shift @@ -53,14 +55,14 @@ if(~ $filter aan){ echo -n 'announce *!0' >[1=3] echo `{cat $netdir/local} || exit bind '#|' /mnt/aan || exit - exec aan $netdir <>/mnt/aan/data1 >[1=0] >[2]/dev/null & + exec aan -m $aanto $netdir <>/mnt/aan/data1 >[1=0] >[2]/dev/null & } } <>/mnt/aan/data >[1=0] >[2]/dev/null { rfork n fn server { echo -n aanserver $netdir >/proc/$pid/args - rm -f /env/^('fn#server' 'fn#aanserver') + rm -f /env/^('fn#server' 'fn#aanserver' 'aanto') . <{n=`{read} && ! ~ $#n 0 && read -c $n} >[2=1] } exec tlssrv -A /bin/rc -c server @@ -69,9 +71,9 @@ if(~ $filter aan){ } fn aanclient { host=`{echo $host | sed 's/(.*)!([^!]+)$/\1/'}^!^`{read | sed 's/(.*)!([^!]+)$/\2/'} || exit - tlsclient -a -o <>{rfork s; aan -c $host >[1=0]} /bin/rc -c 'sendscript $*' $* + tlsclient -a -o <>{rfork s; aan -m $aanto -c $host >[1=0]} /bin/rc -c 'sendscript $*' $* } - exec $argv0 -k $"keyspec $host <{builtin whatis aanserver; echo aanserver} aanclient $* + exec $argv0 -k $"keyspec $host <{builtin whatis aanserver; pvar aanto; echo aanserver} aanclient $* exit } -- cgit v1.2.3