# HG changeset patch # User Pascal Bellard # Date 1391878743 0 # Node ID 31599711e8147357e65216832e70fb709b720521 # Parent 7710488e9e49fd094d7827a74986f3c1876ad95e dropbear/pppssh: add routes support diff -r 7710488e9e49 -r 31599711e814 dropbear/stuff/sshx --- a/dropbear/stuff/sshx Sat Feb 08 13:29:05 2014 +0000 +++ b/dropbear/stuff/sshx Sat Feb 08 16:59:03 2014 +0000 @@ -16,7 +16,7 @@ *) break ;; esac done - [ -n "$1" ] || set -- "${TERM:-false} || xterm -ls" + [ -n "$1" ] || set -- "${TERM:-xterm} -ls || ${TERM:-sakura} -l || xterm -ls" exec dbclient -f -R $((6000+$n)):localhost:$((6000+${svr%.*})) $r \ "xauth add $dpy $data; export DISPLAY=$scr; $@ ; xauth remove $dpy" \ /dev/null @@ -26,19 +26,24 @@ { [ -z "$DROPBEAR_PASSWORD" ] && echo -n "ssh password: " && read -s -t 30 DROPBEAR_PASSWORD && export DROPBEAR_PASSWORD - dbclient -y $1 true || exit 1 - ff=/tmp/pppssh$$ + for i in $4 ; do + echo "route add -net $i dev \$1" + done > /etc/ppp/ip-up.d/pppssh$$ + chmod +x /etc/ppp/ip-up.d/pppssh$$ + ssh="dbclient -y" + $ssh $1 true || exit 1 n=10.$(($$%256)).$(($$/256)) - ppp="/usr/sbin/pppd local lock notty" - mkfifo $ff - dbclient -y $1 "$ppp ${3:-proxyarp}" <$ff | $ppp ${2:-$n.1:$n.2} >$ff - rm -f $ff + ppp="/usr/sbin/pppd local noauth nodetach" + $ppp ${2:-$n.1:$n.2} passive pty "$ssh $1 $ppp ${3:-proxyarp} notty" \ + ipparam pppssh$$ + rm -f /etc/ppp/ip-up.d/pppssh$$ } case "$(basename $0)" in -ppp*) [ -z "$1" ] && - echo "Usage: $0 '[sshargs] user@remote' '[localip:remoteip] [localpppargs]' 'remotepppargs'" || - pppssh "$@" ;; +ppp*) [ -z "$1" ] && cat <> $fs/etc/ppp/ip-up <> $fs/etc/ppp/ip-down <