diff options
author | runge <runge> | 2007-09-11 20:27:13 +0000 |
---|---|---|
committer | runge <runge> | 2007-09-11 20:27:13 +0000 |
commit | 1392ead83a06762b57d1cb1ac37108675ffc666b (patch) | |
tree | 8e7bd90c6320ed14ec4442d72027a6d3282346cc | |
parent | 660d66c1d93da8fedd08a55413b640a8c6af02f0 (diff) | |
download | libtdevnc-1392ead83a06762b57d1cb1ac37108675ffc666b.tar.gz libtdevnc-1392ead83a06762b57d1cb1ac37108675ffc666b.zip |
update ss_vncviewer script, jars, and patch files.
-rw-r--r-- | classes/ssl/SignedUltraViewerSSL.jar | bin | 97693 -> 97673 bytes | |||
-rw-r--r-- | classes/ssl/SignedVncViewer.jar | bin | 79604 -> 79587 bytes | |||
-rw-r--r-- | classes/ssl/UltraViewerSSL.jar | bin | 94967 -> 94946 bytes | |||
-rw-r--r-- | classes/ssl/VncViewer.jar | bin | 76816 -> 76795 bytes | |||
-rwxr-xr-x | classes/ssl/ss_vncviewer | 155 | ||||
-rw-r--r-- | classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch | 15 | ||||
-rw-r--r-- | classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch | 15 |
7 files changed, 138 insertions, 47 deletions
diff --git a/classes/ssl/SignedUltraViewerSSL.jar b/classes/ssl/SignedUltraViewerSSL.jar Binary files differindex a9a3acf..5d4c984 100644 --- a/classes/ssl/SignedUltraViewerSSL.jar +++ b/classes/ssl/SignedUltraViewerSSL.jar diff --git a/classes/ssl/SignedVncViewer.jar b/classes/ssl/SignedVncViewer.jar Binary files differindex 4ba3ea5..29fe934 100644 --- a/classes/ssl/SignedVncViewer.jar +++ b/classes/ssl/SignedVncViewer.jar diff --git a/classes/ssl/UltraViewerSSL.jar b/classes/ssl/UltraViewerSSL.jar Binary files differindex 2fabae0..e0c99e1 100644 --- a/classes/ssl/UltraViewerSSL.jar +++ b/classes/ssl/UltraViewerSSL.jar diff --git a/classes/ssl/VncViewer.jar b/classes/ssl/VncViewer.jar Binary files differindex e5948e2..ffad1e2 100644 --- a/classes/ssl/VncViewer.jar +++ b/classes/ssl/VncViewer.jar diff --git a/classes/ssl/ss_vncviewer b/classes/ssl/ss_vncviewer index 179a59e..a7b8073 100755 --- a/classes/ssl/ss_vncviewer +++ b/classes/ssl/ss_vncviewer @@ -128,7 +128,7 @@ if [ "X$STUNNEL" = "X" ]; then fi help() { - tail +2 "$0" | sed -e '/^$/ q' + tail -n +2 "$0" | sed -e '/^$/ q' } gotalpha="" @@ -160,7 +160,7 @@ if [ "X$1" = "X-viewerflavor" ]; then echo "ultravnc" exit 0 fi - str=`$VNCVIEWERCMD -h 2>&1 | head -5` + str=`$VNCVIEWERCMD -h 2>&1 | head -n 5` if echo "$str" | grep -i 'TightVNC.viewer' > /dev/null; then echo "tightvnc" elif echo "$str" | grep -i 'RealVNC.Ltd' > /dev/null; then @@ -291,6 +291,18 @@ if [ "X$reverse" != "X" -a "X$direct_connect" = "X" ]; then export VNCVIEWER_LISTEN_LOCALHOST fi +rsh="" +if echo "$orig" | grep '^rsh://' > /dev/null; then + use_ssh=1 + rsh=1 + orig=`echo "$orig" | sed -e 's,rsh://,,'` +elif echo "$orig" | grep '^rsh:' > /dev/null; then + use_ssh=1 + rsh=1 + orig=`echo "$orig" | sed -e 's,rsh:,,'` +fi + + # play around with host:display port: if echo "$orig" | grep ':' > /dev/null; then : @@ -402,6 +414,9 @@ final() { kill -KILL "$stunnel_pid" 2>/dev/null stunnel_pid="" fi + if [ "X$tail_pid" != "X" ]; then + kill -TERM $tail_pid + fi } if [ "X$reverse" = "X" ]; then @@ -450,6 +465,32 @@ mytmp() { rchk } +rsh_setup() { + if echo "$ssh_host" | grep '@' > /dev/null; then + ul=`echo "$ssh_host" | awk -F@ '{print $1}'` + ul="-l $ul" + ssh_host=`echo "$ssh_host" | awk -F@ '{print $2}'` + else + ul="" + fi + ssh_cmd=`echo "$ssh_cmd" | sed -e 's/ -localhost/ /g'` +} + +rsh_viewer() { + trap "final" 0 2 15 + if [ "X$PORT" = "X" ]; then + exit 1 + elif [ $PORT -ge 5900 ]; then + vdpy=`expr $PORT - 5900` + else + vdpy=":$PORT" + fi + stty sane + echo "$VNCVIEWERCMD" "$@" $ssh_host:$vdpy + echo "" + $VNCVIEWERCMD "$@" $ssh_host:$vdpy +} + if [ "X$use_ssh" = "X1" ]; then ssh_port="22" ssh_host="$host" @@ -462,8 +503,8 @@ if [ "X$use_ssh" = "X1" ]; then # user1@gw1.com:port1,user2@ws2:port2 ssh_host1=`echo "$proxy1" | awk -F: '{print $1}'` ssh_port1=`echo "$proxy1" | awk -F: '{print $2}'` - if [ "X$ssh_port1" = "X" ]; then - ssh_port1="22" + if [ "X$ssh_port1" != "X" ]; then + ssh_port1="-p 22" fi ssh_host2=`echo "$proxy2" | awk -F: '{print $1}'` ssh_user2=`echo "$ssh_host2" | awk -F@ '{print $1}'` @@ -481,8 +522,8 @@ if [ "X$use_ssh" = "X1" ]; then proxport=`findfree 3500` echo echo "Running 1st ssh proxy:" - echo "$ssh -f -x -p $ssh_port1 $targ -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\"" - $ssh -f -x -p $ssh_port1 $targ -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30" + echo "$ssh -f -x $ssh_port1 $targ -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\"" + $ssh -f -x $ssh_port1 $targ -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30" ssh_args="$ssh_args -o NoHostAuthenticationForLocalhost=yes" sleep 1 stty sane @@ -512,8 +553,13 @@ if [ "X$use_ssh" = "X1" ]; then fi getport="" + teeport="" if echo "$ssh_cmd" | egrep "^(PORT=|P=)" > /dev/null; then getport=1 + if echo "$ssh_cmd" | egrep "^P=" > /dev/null; then + teeport=1 + fi + PORT="" ssh_cmd=`echo "$ssh_cmd" | sed -e 's/^PORT=[ ]*//' -e 's/^P=//'` SSVNC_NO_ENC_WARN=1 @@ -531,27 +577,54 @@ if [ "X$use_ssh" = "X1" ]; then pmark=`sh -c 'echo $$'` # the -t option actually speeds up typing response via VNC!! + if [ "X$ssh_port" = "X22" ]; then + ssh_port="" + else + ssh_port="-p $ssh_port" + fi if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then - echo "$ssh -x -p $ssh_port $targ $C $ssh_args $ssh_host \"$info\"" + echo "$ssh -x $ssh_port $targ $C $ssh_args $ssh_host \"$info\"" echo "" - $ssh -x -p $ssh_port $targ $C $ssh_args $ssh_host "$ssh_cmd" + $ssh -x $ssh_port $targ $C $ssh_args $ssh_host "$ssh_cmd" exit $? elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then - echo "$ssh -x -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" + echo "$ssh -x $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" echo "" - $ssh -x -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" + $ssh -x $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" rc=$? elif [ "X$getport" != "X" ]; then - echo "$ssh -x -f -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" - echo "" - tport=/tmp/tport${RANDOM}.$$ mytmp $tport - $ssh -x -f -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" > $tport - rc=$? + + if [ "X$rsh" != "X1" ]; then + if echo "$ssh_cmd" | grep -w sudo > /dev/null; then + echo "" + echo "Initial ssh with 'sudo id' to prime sudo so hopefully the next one" + echo "will require no password..." + echo "" + targ="-t" + $ssh -x $ssh_port $targ $ssh_args $ssh_host "sudo id; tty" + echo "" + fi + echo "$ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" + echo "" + $ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" > $tport + if [ "X$teeport" = "X1" ]; then + tail -f $tport 1>&2 & + tail_pid=$! + fi + rc=$? + else + rsh_setup + echo "rsh $ul $ssh_host \"$ssh_cmd\"" + echo "" + rsh $ul $ssh_host "$ssh_cmd" > $tport & + sleep 1 + rc=0 + fi if [ "X$SSVNC_EXTRA_SLEEP" != "X" ]; then sleep $SSVNC_EXTRA_SLEEP @@ -561,11 +634,11 @@ if [ "X$use_ssh" = "X1" ]; then i=0 while [ $i -lt 10 ]; do sleep 1 - PORT=`grep "^PORT=" $tport | head -1 | sed -e 's/PORT=//' -e 's/\r//g'` + PORT=`grep "^PORT=" $tport | head -n 1 | sed -e 's/PORT=//' -e 's/\r//g'` if echo "$PORT" | grep '^[0-9][0-9]*$' > /dev/null; then break fi - vnss=`sed -e 's/\r//g' $tport | egrep -i '^(New.* desktop is|A VNC server is already running).*:[0-9[0-9]*$' | head -1 | awk '{print $NF}'` + vnss=`sed -e 's/\r//g' $tport | egrep -i '^(New.* desktop is|A VNC server is already running).*:[0-9[0-9]*$' | head -n 1 | awk '{print $NF}'` if [ "X$vnss" != "X" ]; then PORT=`echo "$vnss" | awk -F: '{print $2}'` if echo "$PORT" | grep '^[0-9][0-9]*$' > /dev/null; then @@ -581,18 +654,33 @@ if [ "X$use_ssh" = "X1" ]; then done echo "PORT=$PORT" 1>&2 + rm -f $tport + if [ "X$rsh" = "X1" ]; then + rsh_viewer "$@" + exit $? + fi PPROXY_SOCKS=1 export PPROXY_SOCKS host="localhost" port="$PORT" proxy="localhost:$use" - rm -f $tport else - echo "$ssh -x -f -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" - echo "" - $ssh -x -f -p $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" - rc=$? + if [ "X$rsh" != "X1" ]; then + echo "$ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" + echo "" + $ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" + rc=$? + else + rsh_setup + echo "rsh $ul $ssh_host \"$ssh_cmd\"" + echo "" + rsh $ul $ssh_host "$ssh_cmd" & + sleep 1 + PORT=$port + rsh_viewer "$@" + exit $? + fi fi if [ "$rc" != "0" ]; then @@ -691,10 +779,11 @@ my ($first, $second) = split(/,/, $ENV{PPROXY_PROXY}); my ($proxy_host, $proxy_port) = split(/:/, $first); my $connect = $ENV{PPROXY_DEST}; -print STDERR "\nPPROXY v0.1: a tool for Web proxies and SOCKS connections.\n"; +print STDERR "PPROXY v0.1: a tool for Web proxies and SOCKS connections.\n"; print STDERR "proxy_host: $proxy_host\n"; print STDERR "proxy_port: $proxy_port\n"; print STDERR "proxy_connect: $connect\n"; +print STDERR "pproxy_listen: $ENV{PPROXY_LISTEN}\n"; print STDERR "\n"; my $listen_handle = ""; @@ -706,12 +795,12 @@ if ($ENV{PPROXY_LISTEN} != "") { Proto => "tcp" ); if (! $listen_sock) { - die "perl proxy: $!\n"; + die "pproxy: $!\n"; } my $ip; ($listen_handle, $ip) = $listen_sock->accept(); if (! $listen_handle) { - die "perl proxy: $!\n"; + die "pproxy: $!\n"; } } @@ -723,7 +812,7 @@ my $sock = IO::Socket::INET->new( if (! $sock) { unlink($0); - die "perl proxy: $!\n"; + die "pproxy: $!\n"; } my $con = ""; @@ -773,7 +862,7 @@ if ($ENV{PPROXY_SOCKS} ne "") { $con0 = $con; } -print STDERR "proxy_request1:\n$con0"; +print STDERR "proxy_request1: $con0"; print $sock $con; unlink($0); @@ -806,7 +895,7 @@ if ($rep !~ m,HTTP/.* 200,) { if ($second ne "") { $con = "CONNECT $connect HTTP/1.1\r\n"; $con .= "Host: $connect\r\n\r\n"; - print STDERR "proxy_request2:\n$con"; + print STDERR "proxy_request2: $con"; print $sock $con; @@ -823,14 +912,14 @@ if ($second ne "") { } if (fork) { - print STDERR "parent\[$$] STDIN -> socket\n\n"; + print STDERR "pproxy parent\[$$] STDIN -> socket\n"; if ($listen_handle) { xfer($listen_handle, $sock); } else { xfer(STDIN, $sock); } } else { - print STDERR "child \[$$] socket -> STDOUT\n\n"; + print STDERR "pproxy child \[$$] socket -> STDOUT\n"; if ($listen_handle) { xfer($sock, $listen_handle); } else { @@ -855,10 +944,10 @@ sub xfer { my $len = sysread($in, $buf, 8192); if (! defined($len)) { next if $! =~ /^Interrupted/; - print STDERR "perl proxy\[$$]: $!\n"; + print STDERR "pproxy\[$$]: $!\n"; last; } elsif ($len == 0) { - print STDERR "perl proxy\[$$]: Input is EOF.\n"; + print STDERR "pproxy\[$$]: Input is EOF.\n"; last; } my $offset = 0; @@ -866,7 +955,7 @@ sub xfer { while ($len) { my $written = syswrite($out, $buf, $len, $offset); if (! defined $written) { - print STDERR "perl proxy\[$$]: Output is EOF. $!\n"; + print STDERR "pproxy\[$$]: Output is EOF. $!\n"; $quit = 1; last; } diff --git a/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch b/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch index b67703f..cb0b82e 100644 --- a/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch +++ b/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch @@ -73,8 +73,8 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/RfbProto.java vnc_javasrc/RfbProto serverMajor = (b[4] - '0') * 100 + (b[5] - '0') * 10 + (b[6] - '0'); diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSLSocketToMe.java --- vnc_javasrc.orig/SSLSocketToMe.java 1969-12-31 19:00:00.000000000 -0500 -+++ vnc_javasrc/SSLSocketToMe.java 2007-09-04 23:13:00.000000000 -0400 -@@ -0,0 +1,1452 @@ ++++ vnc_javasrc/SSLSocketToMe.java 2007-09-05 00:13:45.000000000 -0400 +@@ -0,0 +1,1453 @@ +/* + * SSLSocketToMe.java: add SSL encryption to Java VNC Viewer. + * @@ -587,7 +587,7 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + throw new Exception("forcing CONNECT"); + } + -+ int timeout = 10; ++ int timeout = 6; + if (timeout > 0) { + socket = (SSLSocket) factory.createSocket(); + InetSocketAddress inetaddr = new InetSocketAddress(host, port); @@ -1454,9 +1454,8 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + dialog.pack(); + dialog.resize(dialog.preferredSize()); + -+ System.out.println("calling show()"); + dialog.show(); /* block here til Yes or No pressed. */ -+ System.out.println("done show()"); ++ System.out.println("done show()"); + return; + } + @@ -1464,11 +1463,13 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + System.out.println(evt.getActionCommand()); + if (evt.getSource() == yes) { + showCertDialog = false; ++ //dialog.dispose(); ++ dialog.hide(); + } else if (evt.getSource() == no) { + showCertDialog = true; ++ //dialog.dispose(); ++ dialog.hide(); + } -+ //dialog.dispose(); -+ dialog.hide(); + System.out.println("done actionPerformed()"); + } +} diff --git a/classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch b/classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch index 4bf45a5..b06036f 100644 --- a/classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch +++ b/classes/ssl/ultravnc-102-JavaViewer-ssl-etc.patch @@ -1815,8 +1815,8 @@ diff -Naur JavaViewer.orig/RfbProto.java JavaViewer/RfbProto.java diff -Naur JavaViewer.orig/SSLSocketToMe.java JavaViewer/SSLSocketToMe.java --- JavaViewer.orig/SSLSocketToMe.java 1969-12-31 19:00:00.000000000 -0500 -+++ JavaViewer/SSLSocketToMe.java 2007-09-04 23:13:00.000000000 -0400 -@@ -0,0 +1,1452 @@ ++++ JavaViewer/SSLSocketToMe.java 2007-09-05 00:13:45.000000000 -0400 +@@ -0,0 +1,1453 @@ +/* + * SSLSocketToMe.java: add SSL encryption to Java VNC Viewer. + * @@ -2329,7 +2329,7 @@ diff -Naur JavaViewer.orig/SSLSocketToMe.java JavaViewer/SSLSocketToMe.java + throw new Exception("forcing CONNECT"); + } + -+ int timeout = 10; ++ int timeout = 6; + if (timeout > 0) { + socket = (SSLSocket) factory.createSocket(); + InetSocketAddress inetaddr = new InetSocketAddress(host, port); @@ -3196,9 +3196,8 @@ diff -Naur JavaViewer.orig/SSLSocketToMe.java JavaViewer/SSLSocketToMe.java + dialog.pack(); + dialog.resize(dialog.preferredSize()); + -+ System.out.println("calling show()"); + dialog.show(); /* block here til Yes or No pressed. */ -+ System.out.println("done show()"); ++ System.out.println("done show()"); + return; + } + @@ -3206,11 +3205,13 @@ diff -Naur JavaViewer.orig/SSLSocketToMe.java JavaViewer/SSLSocketToMe.java + System.out.println(evt.getActionCommand()); + if (evt.getSource() == yes) { + showCertDialog = false; ++ //dialog.dispose(); ++ dialog.hide(); + } else if (evt.getSource() == no) { + showCertDialog = true; ++ //dialog.dispose(); ++ dialog.hide(); + } -+ //dialog.dispose(); -+ dialog.hide(); + System.out.println("done actionPerformed()"); + } +} |