summaryrefslogtreecommitdiff
path: root/rc/bin/rconnect
diff options
context:
space:
mode:
author23hiro <23hiro@gmail.com>2018-01-07 02:44:53 +0100
committer23hiro <23hiro@gmail.com>2018-01-07 02:44:53 +0100
commit17291d91bb3063fe8ba0bb5b73c329d317fa7108 (patch)
tree33000d0a5b92b0f8f27a320a4ffe56adb6967c77 /rc/bin/rconnect
parent05f721e9987791aae8e07dd4435f04df6ce33c77 (diff)
rconnect: support -t timeout for aan like in drawterm; also rcpu, rexport/import
Diffstat (limited to 'rc/bin/rconnect')
-rwxr-xr-xrc/bin/rconnect12
1 files changed, 7 insertions, 5 deletions
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
}