misc/etv sync.

pull/1/head
runge 15 years ago
parent a8ae0625c6
commit 21fd3a45b9

@ -22,5 +22,5 @@ $USER's $DESKTOP desktop ($DISPLAY)
$PARAMS $PARAMS
</APPLET> </APPLET>
<BR> <BR>
<A href="http://www.tightvnc.com/">TightVNC site</A> <A href="http://www.karlrunge.com/x11vnc">x11vnc site</A>
</HTML> </HTML>

@ -69,5 +69,5 @@ $USER's $DESKTOP desktop ($DISPLAY)
$PARAMS $PARAMS
</APPLET> </APPLET>
<BR> <BR>
<A href="http://www.tightvnc.com/">TightVNC site</A> <A href="http://www.karlrunge.com/x11vnc">x11vnc site</A>
</HTML> </HTML>

@ -24,5 +24,5 @@ $USER's $DESKTOP desktop ($DISPLAY)
$PARAMS $PARAMS
</APPLET> </APPLET>
<BR> <BR>
<A href="http://www.ultravnc.com/">UltraVNC site</A> <A href="http://www.karlrunge.com/x11vnc">x11vnc site</A>
</HTML> </HTML>

@ -24,5 +24,5 @@ $USER's $DESKTOP desktop ($DISPLAY)
$PARAMS $PARAMS
</APPLET> </APPLET>
<BR> <BR>
<A href="http://www.ultravnc.com/">UltraVNC site</A> <A href="http://www.karlrunge.com/x11vnc">x11vnc site</A>
</HTML> </HTML>

@ -24,5 +24,5 @@ $USER's $DESKTOP desktop ($DISPLAY)
$PARAMS $PARAMS
</APPLET> </APPLET>
<BR> <BR>
<A href="http://www.ultravnc.com/">UltraVNC site</A> <A href="http://www.karlrunge.com/x11vnc">x11vnc site</A>
</HTML> </HTML>

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
VERSION="0.9.10" VERSION="0.9.11"
cd "$(dirname "$0")" cd "$(dirname "$0")"

@ -2,7 +2,7 @@
Copyright (C) 2002-2010 Karl J. Runge <runge@karlrunge.com> Copyright (C) 2002-2010 Karl J. Runge <runge@karlrunge.com>
All rights reserved. All rights reserved.
x11vnc README file Date: Fri Apr 30 00:43:58 EDT 2010 x11vnc README file Date: Sun May 2 18:25:14 EDT 2010
The following information is taken from these URLs: The following information is taken from these URLs:
@ -586,12 +586,12 @@ vncviewer -via $host localhost:0 # must be TightVNC vncviewer.
SourceForge.net. I use libvncserver for all of the VNC aspects; I SourceForge.net. I use libvncserver for all of the VNC aspects; I
couldn't have done without it. The full source code may be found and couldn't have done without it. The full source code may be found and
downloaded (either file-release tarball or GIT tree) from the above downloaded (either file-release tarball or GIT tree) from the above
link. As of Dec 2009, the x11vnc-0.9.9.tar.gz source package is link. As of May 2010, the x11vnc-0.9.10.tar.gz source package is
released (recommended download). The x11vnc 0.9.9 release notes. released (recommended download). The x11vnc 0.9.10 release notes.
The x11vnc package is the subset of the libvncserver package needed to The x11vnc package is the subset of the libvncserver package needed to
build the x11vnc program. Also, you can get a copy of my latest, build the x11vnc program. Also, you can get a copy of my latest,
bleeding edge x11vnc-0.9.10-dev.tar.gz tarball to build the most up to bleeding edge x11vnc-0.9.11-dev.tar.gz tarball to build the most up to
date one. date one.
Precompiled Binaries/Packages: See the FAQ below for information Precompiled Binaries/Packages: See the FAQ below for information
@ -629,13 +629,13 @@ vncviewer -via $host localhost:0 # must be TightVNC vncviewer.
default.) See this build FAQ for more details. default.) See this build FAQ for more details.
If your OS has libjpeg.so and libz.so in standard locations you can If your OS has libjpeg.so and libz.so in standard locations you can
build as follows (example given for the 0.9.9 release of x11vnc: build as follows (example given for the 0.9.10 release of x11vnc:
replace with the version you downloaded): replace with the version you downloaded):
(un-tar the x11vnc+libvncserver tarball) (un-tar the x11vnc+libvncserver tarball)
# gzip -dc x11vnc-0.9.9.tar.gz | tar -xvf - # gzip -dc x11vnc-0.9.10.tar.gz | tar -xvf -
(cd to the source directory) (cd to the source directory)
# cd x11vnc-0.9.9 # cd x11vnc-0.9.10
(run configure and then run make) (run configure and then run make)
# ./configure # ./configure
@ -885,13 +885,13 @@ make
I'd appreciate any additional testing very much. I'd appreciate any additional testing very much.
Thanks to those who suggested features and helped beta test x11vnc Thanks to those who suggested features and helped beta test x11vnc
0.9.9 released in Dec 2009! 0.9.10 released in May 2010!
Please help test and debug the 0.9.10 version for release sometime in Please help test and debug the 0.9.11 version for release sometime in
Spring 2010. Summer 2010.
The version 0.9.10 beta tarball is kept here: The version 0.9.11 beta tarball is kept here:
x11vnc-0.9.10-dev.tar.gz x11vnc-0.9.11-dev.tar.gz
There are also some Linux, Solaris, Mac OS X, and other OS test There are also some Linux, Solaris, Mac OS X, and other OS test
binaries here. Please kick the tires and report bugs, performance binaries here. Please kick the tires and report bugs, performance
@ -908,6 +908,10 @@ make
settings panel.) settings panel.)
Here are some features that will appear in the 0.9.11 release:
* Coming Soon.
Here are some features that will appear in the 0.9.10 release: Here are some features that will appear in the 0.9.10 release:
* The included SSL enabled Java applet viewer now supports Chained * The included SSL enabled Java applet viewer now supports Chained
SSL Certificates. The debugCerts=yes applet parameter aids SSL Certificates. The debugCerts=yes applet parameter aids
@ -11495,13 +11499,13 @@ or: PORT= vncserver :4; sleep 15
From the -help output: From the -help output:
SSVNC Viewer (based on TightVNC viewer version 1.3.9) SSVNC Viewer (based on TightVNC viewer version 1.3.9)
Usage: ./vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>] Usage: vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>]
./vncviewer [<OPTIONS>] [<HOST>][::<PORT#>] vncviewer [<OPTIONS>] [<HOST>][::<PORT#>]
./vncviewer [<OPTIONS>] exec=[CMD ARGS...] vncviewer [<OPTIONS>] exec=[CMD ARGS...]
./vncviewer [<OPTIONS>] fd=n vncviewer [<OPTIONS>] fd=n
./vncviewer [<OPTIONS>] /path/to/unix/socket vncviewer [<OPTIONS>] /path/to/unix/socket
./vncviewer [<OPTIONS>] -listen [<DISPLAY#>] vncviewer [<OPTIONS>] -listen [<DISPLAY#>]
./vncviewer -help vncviewer -help
<OPTIONS> are standard Xt options, or: <OPTIONS> are standard Xt options, or:
-via <GATEWAY> -via <GATEWAY>
@ -11781,6 +11785,10 @@ r
specify as many as you need on the command line. For specify as many as you need on the command line. For
example, -env SSVNC_MULTIPLE_LISTEN=MAX:5 -env EDITOR=vi example, -env SSVNC_MULTIPLE_LISTEN=MAX:5 -env EDITOR=vi
-noipv6 Disable all IPv6 sockets. Same as VNCVIEWER_NO_IPV6=1.
-noipv4 Disable all IPv4 sockets. Same as VNCVIEWER_NO_IPV4=1.
-printres Print out the Ssvnc X resources (appdefaults) and then exit -printres Print out the Ssvnc X resources (appdefaults) and then exit
You can save them to a file and customize them (e.g. the You can save them to a file and customize them (e.g. the
keybindings and Popup menu) Then point to the file via keybindings and Popup menu) Then point to the file via
@ -11792,6 +11800,18 @@ r
. .
This is currently the default, use -nopipeline to disable. This is currently the default, use -nopipeline to disable.
-appshare Enable features for use with x11vnc's -appshare mode where
instead of sharing the full desktop only the application's
windows are shared. Viewer multilisten mode is used to
create the multiple windows: -multilisten is implied.
See 'x11vnc -appshare -help' more information on the mode.
Features enabled in the viewer under -appshare are:
Minimum extra text in the title, auto -ycrop is disabled,
x11vnc -remote_prefix X11VNC_APPSHARE_CMD: message channel,
x11vnc initial window position hints. See also Escape Keys
below for additional key and mouse bindings.
-escape str This sets the 'Escape Keys' modifier sequence and enables -escape str This sets the 'Escape Keys' modifier sequence and enables
escape keys mode. When the modifier keys escape sequence escape keys mode. When the modifier keys escape sequence
is held down, the next keystroke is interpreted locally is held down, the next keystroke is interpreted locally
@ -12079,7 +12099,7 @@ x11vnc: a VNC server for real X displays
Here are all of x11vnc command line options: Here are all of x11vnc command line options:
% x11vnc -opts (see below for -help long descriptions) % x11vnc -opts (see below for -help long descriptions)
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-04-28 x11vnc: allow VNC connections to real X11 displays. 0.9.11 lastmod: 2010-05-02
x11vnc options: x11vnc options:
-display disp -auth file -N -display disp -auth file -N
@ -12209,7 +12229,7 @@ libvncserver-tight-extension options:
% x11vnc -help % x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-04-28 x11vnc: allow VNC connections to real X11 displays. 0.9.11 lastmod: 2010-05-02
(type "x11vnc -opts" to just list the options.) (type "x11vnc -opts" to just list the options.)

@ -255,7 +255,7 @@ Unix and Mac OS X:
Unpack the archive: Unpack the archive:
% gzip -dc ssvnc-1.0.27.tar.gz | tar xvf - % gzip -dc ssvnc-1.0.28.tar.gz | tar xvf -
Run the GUI: Run the GUI:
@ -263,7 +263,7 @@ Unix and Mac OS X:
% ./ssvnc/MacOSX/ssvnc (for Mac OS X) % ./ssvnc/MacOSX/ssvnc (for Mac OS X)
The smaller file "ssvnc_no_windows-1.0.27.tar.gz" The smaller file "ssvnc_no_windows-1.0.28.tar.gz"
could have been used as well. could have been used as well.
On MacOSX you could also click on the SSVNC app icon in the Finder. On MacOSX you could also click on the SSVNC app icon in the Finder.
@ -309,8 +309,8 @@ Unix/MacOSX Install:
For the conventional source tarball it will compile and install, e.g.: For the conventional source tarball it will compile and install, e.g.:
gzip -dc ssvnc-1.0.27.src.tar.gz | tar xvf - gzip -dc ssvnc-1.0.28.src.tar.gz | tar xvf -
cd ssvnc-1.0.27 cd ssvnc-1.0.28
make config make config
make all make all
make PREFIX=/my/install/dir install make PREFIX=/my/install/dir install
@ -322,7 +322,7 @@ Windows:
Unzip, using WinZip or a similar utility, the zip file: Unzip, using WinZip or a similar utility, the zip file:
ssvnc-1.0.27.zip ssvnc-1.0.28.zip
Run the GUI, e.g.: Run the GUI, e.g.:
@ -334,7 +334,7 @@ Windows:
select Open, and then OK to launch it. select Open, and then OK to launch it.
The smaller file "ssvnc_windows_only-1.0.27.zip" The smaller file "ssvnc_windows_only-1.0.28.zip"
could have been used as well. could have been used as well.
You can make a Windows shortcut to this program if you want to. You can make a Windows shortcut to this program if you want to.

@ -1086,11 +1086,25 @@ proc proxy_hostport {proxy} {
proc setb {} { proc setb {} {
wm withdraw . wm withdraw .
catch {destroy .b}
button .b -text "CONNECT_BR" -command {destroy .} button .b -text "CONNECT_BR" -command {destroy .}
pack .b pack .b
after 1000 check_callback after 1000 check_callback
} }
proc connect_br_sleep {} {
global env
if [info exists env(CONNECT_BR_SLEEP)] {
if [regexp {^[0-9][0-9]*$} $env(CONNECT_BR_SLEEP)] {
setb
for {set i 0} {$i < $env(CONNECT_BR_SLEEP)} {incr i} {
bmesg "$i sleep"
after 1000
}
}
}
}
global env global env
set got_connection 0 set got_connection 0
@ -1220,16 +1234,32 @@ if {$do_bridge} {
destroy . destroy .
exit 1 exit 1
} }
setb
set rc [catch {set lsock [socket $rhost $rport]}]
if {$rc != 0} {
puts stderr "error reversing"
bmesg "1 error reversing"
after 2000
set rc [catch {set lsock [socket $rhost $rport]}]
}
if {$rc != 0} {
puts stderr "error reversing"
bmesg "2 error reversing"
after 2000
set rc [catch {set lsock [socket $rhost $rport]}] set rc [catch {set lsock [socket $rhost $rport]}]
}
if {$rc != 0} { if {$rc != 0} {
puts stderr "error reversing" puts stderr "error reversing"
bmesg "3 error reversing"
destroy .; exit 1 destroy .; exit 1
} }
puts stderr "SSVNC_REVERSE to $rhost $rport OK"; puts stderr "SSVNC_REVERSE to $rhost $rport OK";
setb bmesg "SSVNC_REVERSE to $rhost $rport OK";
connect_br_sleep
handle_connection $lsock $rhost $rport handle_connection $lsock $rhost $rport
} else { } else {
set lport $env(SSVNC_LISTEN) set lport $env(SSVNC_LISTEN)
connect_br_sleep
set rc [catch {set lsock [socket -myaddr 127.0.0.1 -server handle_connection $lport]}] set rc [catch {set lsock [socket -myaddr 127.0.0.1 -server handle_connection $lport]}]
if {$rc != 0} { if {$rc != 0} {
puts stderr "error listening" puts stderr "error listening"

@ -60,7 +60,8 @@
# sslrepeater://host:port. # sslrepeater://host:port.
# #
# -showcert Only fetch the certificate using the 'openssl s_client' # -showcert Only fetch the certificate using the 'openssl s_client'
# command (openssl(1) must in installed). # command (openssl(1) must in installed). On ssvnc 1.0.27 and
# later the bundled command 'ultravnc_dsm_helper' is used.
# #
# See http://www.karlrunge.com/x11vnc/faq.html#faq-ssl-ca for details on # See http://www.karlrunge.com/x11vnc/faq.html#faq-ssl-ca for details on
# SSL certificates with VNC. # SSL certificates with VNC.
@ -273,6 +274,8 @@ do
"-sshargs") shift; ssh_args="$1" "-sshargs") shift; ssh_args="$1"
;; ;;
"-anondh") ciphers="ciphers=$anondh" "-anondh") ciphers="ciphers=$anondh"
ULTRAVNC_DSM_HELPER_SHOWCERT_ADH=1
export ULTRAVNC_DSM_HELPER_SHOWCERT_ADH
anondh_set=1 anondh_set=1
;; ;;
"-ciphers") shift; ciphers="ciphers=$1" "-ciphers") shift; ciphers="ciphers=$1"
@ -402,6 +405,23 @@ if uname -sr | egrep 'SunOS 5\.[5-8]' > /dev/null; then
dL="-h" dL="-h"
fi fi
have_uvnc_dsm_helper_showcert=""
if [ "X$showcert" = "X1" -a "X$SSVNC_USE_S_CLIENT" = "X" -a "X$reverse" = "X" ]; then
if type ultravnc_dsm_helper >/dev/null 2>&1; then
if ultravnc_dsm_helper -help 2>&1 | grep -w showcert >/dev/null; then
have_uvnc_dsm_helper_showcert=1
fi
fi
fi
have_uvnc_dsm_helper_ipv6=""
if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then
if type ultravnc_dsm_helper >/dev/null 2>&1; then
if ultravnc_dsm_helper -help 2>&1 | grep -iw ipv6 >/dev/null; then
have_uvnc_dsm_helper_ipv6=1
fi
fi
fi
rchk() { rchk() {
# a kludge to set $RANDOM if we are not bash: # a kludge to set $RANDOM if we are not bash:
if [ "X$BASH_VERSION" = "X" ]; then if [ "X$BASH_VERSION" = "X" ]; then
@ -586,6 +606,19 @@ elif echo "$host" | grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$'
: :
else else
# regular hostname, can't be sure... # regular hostname, can't be sure...
gout=""
if type getent > /dev/null 2>/dev/null; then
gout=`getent hosts "$host" 2>/dev/null`
fi
if echo "$gout" | grep ':.*:' > /dev/null; then
if echo "$gout" | grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' > /dev/null; then
:
else
echo "ipv6: "`echo "$gout" | grep ':.*:' | head -n 1`
ipv6=1
fi
fi
if [ "X$ipv6" = "X0" ]; then
hout="" hout=""
if type host > /dev/null 2>/dev/null; then if type host > /dev/null 2>/dev/null; then
host "$host" >/dev/null 2>&1 host "$host" >/dev/null 2>&1
@ -600,6 +633,7 @@ else
ipv6=1 ipv6=1
fi fi
fi fi
fi
if [ "X$ipv6" = "X0" ]; then if [ "X$ipv6" = "X0" ]; then
dout="" dout=""
if type dig > /dev/null 2>/dev/null; then if type dig > /dev/null 2>/dev/null; then
@ -664,10 +698,18 @@ fi
if [ "X$ipv6" = "X1" -a "X$direct_connect" = "X1" ]; then if [ "X$ipv6" = "X1" -a "X$direct_connect" = "X1" ]; then
if [ "X$proxy" = "X" -a "X$reverse" = "X" ]; then if [ "X$proxy" = "X" -a "X$reverse" = "X" ]; then
if [ "X$SSVNC_ULTRA_DSM" != "X" -a "X$have_uvnc_dsm_helper_ipv6" = "X1" ]; then
:
elif [ "X$SSVNC_NO_IPV6_PROXY" != "X" ]; then
:
elif [ "X$SSVNC_NO_IPV6_PROXY_DIRECT" != "X" ]; then
:
else
proxy="ipv6://$host:$port" proxy="ipv6://$host:$port"
echo "direct connect: set proxy=$proxy" echo "direct connect: set proxy=$proxy"
fi fi
fi fi
fi
# (possibly) tell the vncviewer to only listen on lo: # (possibly) tell the vncviewer to only listen on lo:
if [ "X$reverse" != "X" ]; then if [ "X$reverse" != "X" ]; then
@ -1009,6 +1051,8 @@ my $listen_handle = "";
my $sock = ""; my $sock = "";
my $parent = $$; my $parent = $$;
my $initial_data = "";
if ($ENV{PPROXY_VENCRYPT_VIEWER_BRIDGE}) { if ($ENV{PPROXY_VENCRYPT_VIEWER_BRIDGE}) {
my ($from, $to) = split(/,/, $ENV{PPROXY_VENCRYPT_VIEWER_BRIDGE}); my ($from, $to) = split(/,/, $ENV{PPROXY_VENCRYPT_VIEWER_BRIDGE});
do_vencrypt_viewer_bridge($from, $to); do_vencrypt_viewer_bridge($from, $to);
@ -1047,6 +1091,10 @@ print STDERR "pproxy_listen: $ENV{PPROXY_LISTEN}\n";
print STDERR "pproxy_reverse: $ENV{PPROXY_REVERSE}\n"; print STDERR "pproxy_reverse: $ENV{PPROXY_REVERSE}\n";
print STDERR "io_socket_inet6: $have_inet6\n"; print STDERR "io_socket_inet6: $have_inet6\n";
print STDERR "\n"; print STDERR "\n";
if (! $have_inet6) {
print STDERR "PPROXY: To enable IPv6 connections, install the IO::Socket::INET6 perl module.\n\n";
}
if (1) { if (1) {
print STDERR "pproxy 1st: $first\t- $mode_1st\n"; print STDERR "pproxy 1st: $first\t- $mode_1st\n";
print STDERR "pproxy 2nd: $second\t- $mode_2nd\n"; print STDERR "pproxy 2nd: $second\t- $mode_2nd\n";
@ -1347,10 +1395,24 @@ sub xfer_both {
} else { } else {
select(undef, undef, undef, 0.05); select(undef, undef, undef, 0.05);
if ($listen_handle) { if ($listen_handle) {
print STDERR "pproxy child [$$] socket -> listen_handle\n\n"; print STDERR "pproxy child [$$] socket -> listen_handle\n";
if ($initial_data ne "") {
my $len = length $initial_data;
print STDERR "pproxy child [$$] sending initial_data, length $len\n\n";
syswrite($listen_handle, $initial_data, $len);
} else {
print STDERR "\n";
}
xfer($sock, $listen_handle); xfer($sock, $listen_handle);
} else { } else {
print STDERR "pproxy child [$$] socket -> STDOUT\n\n"; print STDERR "pproxy child [$$] socket -> STDOUT\n";
if ($initial_data ne "") {
my $len = length $initial_data;
print STDERR "pproxy child [$$] sending initial_data, length $len\n\n";
syswrite(STDOUT, $initial_data, $len);
} else {
print STDERR "\n";
}
xfer($sock, STDOUT); xfer($sock, STDOUT);
} }
select(undef, undef, undef, 0.25); select(undef, undef, undef, 0.25);
@ -1578,11 +1640,20 @@ sub connection {
$rep .= pack("x") x 250; $rep .= pack("x") x 250;
syswrite($sock, $rep, 250); syswrite($sock, $rep, 250);
my $rfb = "";
my $ok = 1; my $ok = 1;
for (my $i = 0; $i < 12; $i++) { for (my $i = 0; $i < 12; $i++) {
my $c; my $c;
last if $ENV{PPROXY_GENERIC_REPEATER};
sysread($sock, $c, 1); sysread($sock, $c, 1);
print STDERR $c; print STDERR $c;
$rfb .= $c;
}
if ($rfb ne "" && $rfb !~ /^RFB 000\.000/) {
$initial_data = $rfb;
$rfb =~ s/\n//g;
print STDERR "detected non-UltraVNC repeater; forwarding \"$rfb\"\nlength: ", length($initial_data), "\n";
} }
} elsif ($ENV{PPROXY_VENCRYPT} ne "") { } elsif ($ENV{PPROXY_VENCRYPT} ne "") {
my $vencrypt = $ENV{PPROXY_VENCRYPT}; my $vencrypt = $ENV{PPROXY_VENCRYPT};
@ -2364,6 +2435,11 @@ NHAFL_warning() {
echo "" echo ""
} }
space_expand() {
str=`echo "$1" | sed -e 's/%SPACE/ /g' -e 's/%TAB/\t/g'`
echo "$str"
}
# handle ssh case: # handle ssh case:
# #
if [ "X$use_ssh" = "X1" ]; then if [ "X$use_ssh" = "X1" ]; then
@ -2604,9 +2680,14 @@ if [ "X$use_ssh" = "X1" ]; then
if [ "X$ssh_UKHF" != "X" ]; then if [ "X$ssh_UKHF" != "X" ]; then
ukhf="$ssh_UKHF$localhost_extra" ukhf="$ssh_UKHF$localhost_extra"
fi fi
echo "$ssh -f -x $ssh_port1 $targ -e none $ssh_NHAFL $ukhf -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\"" if echo "$ssh_host1" | grep '%' > /dev/null; then
uath=`space_expand "$ssh_host1"`
else
uath="$ssh_host1"
fi
echo "$ssh -f -x $ssh_port1 $targ -e none $ssh_NHAFL $ukhf -L $proxport:$ssh_host2:$ssh_port2 \"$uath\" \"sleep 30\""
echo "" echo ""
$ssh -f -x $ssh_port1 $targ -e none $ssh_NHAFL $ukhf -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30" $ssh -f -x $ssh_port1 $targ -e none $ssh_NHAFL $ukhf -L $proxport:$ssh_host2:$ssh_port2 "$uath" "sleep 30"
ssh_args="$ssh_args $ssh_NHAFL" ssh_args="$ssh_args $ssh_NHAFL"
sleep 1 sleep 1
stty sane stty sane
@ -2667,16 +2748,21 @@ if [ "X$use_ssh" = "X1" ]; then
ssh_port="-p $ssh_port" ssh_port="-p $ssh_port"
fi fi
if echo "$ssh_host" | grep '%' > /dev/null; then
uath=`space_expand "$ssh_host"`
else
uath="$ssh_host"
fi
if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then
echo "$ssh -x $ssh_port $targ $C $ssh_args $ssh_host \"$info\"" echo "$ssh -x $ssh_port $targ $C $ssh_args \"$uath\" \"$info\""
echo "" echo ""
$ssh -x $ssh_port $targ $C $ssh_args $ssh_host "$ssh_cmd" $ssh -x $ssh_port $targ $C $ssh_args "$uath" "$ssh_cmd"
exit $? exit $?
elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then
echo "$ssh -x $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host \"$info\"" echo "$ssh -x $ssh_port $targ $C $ssh_redir $ssh_args \"$uath\" \"$info\""
echo "" echo ""
$ssh -x $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" $ssh -x $ssh_port $targ $C $ssh_redir $ssh_args "$uath" "$ssh_cmd"
rc=$? rc=$?
elif [ "X$getport" != "X" ]; then elif [ "X$getport" != "X" ]; then
@ -2692,12 +2778,12 @@ if [ "X$use_ssh" = "X1" ]; then
echo "will require no password..." echo "will require no password..."
echo "" echo ""
targ="-t" targ="-t"
$ssh -x $ssh_port $targ $ssh_args $ssh_host "sudo id; tty" $ssh -x $ssh_port $targ $ssh_args "$uath" "sudo id; tty"
echo "" echo ""
fi 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 \"$uath\" \"$info\""
echo "" echo ""
$ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" > $tport 2> $tport2 $ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args "$uath" "$ssh_cmd" > $tport 2> $tport2
if [ "X$teeport" = "X1" ]; then if [ "X$teeport" = "X1" ]; then
tail -f $tport 1>&2 & tail -f $tport 1>&2 &
tail_pid=$! tail_pid=$!
@ -2707,9 +2793,9 @@ if [ "X$use_ssh" = "X1" ]; then
rc=$? rc=$?
else else
rsh_setup rsh_setup
echo "rsh $ul $ssh_host \"$ssh_cmd\"" echo "rsh $ul \"$ssh_host\" \"$ssh_cmd\""
echo "" echo ""
rsh $ul $ssh_host "$ssh_cmd" > $tport & rsh $ul "$ssh_host" "$ssh_cmd" > $tport &
sleep 1 sleep 1
rc=0 rc=0
fi fi
@ -2753,31 +2839,46 @@ if [ "X$use_ssh" = "X1" ]; then
done done
echo "found: PORT='$PORT'" 1>&2 echo "found: PORT='$PORT'" 1>&2
lh6=""
if [ "X$SSVNC_PORT_IPV6" != "X" ]; then
lh6=1
elif egrep 'Info: listening on IPv6 only|Info: listening only on IPv6' $tport > /dev/null; then
lh6=1
fi
if [ "X$lh6" = "X1" ]; then
echo "set SOCKS5 localhost to ::1" 1>&2
fi
rm -f $tport $tport2 rm -f $tport $tport2
if [ "X$rsh" = "X1" ]; then if [ "X$rsh" = "X1" ]; then
rsh_viewer "$@" rsh_viewer "$@"
exit $? exit $?
fi fi
PPROXY_SOCKS=1 PPROXY_SOCKS=5
if [ "X$SSVNC_SOCKS5" != "X" ]; then if [ "X$SSVNC_SOCKS5" != "X" ]; then
PPROXY_SOCKS=5 PPROXY_SOCKS=5
elif [ "X$SSVNC_SOCKS4" != "X" ]; then
PPROXY_SOCKS=1
fi fi
export PPROXY_SOCKS export PPROXY_SOCKS
if [ "X$lh6" = "X" ]; then
host="$localhost" host="$localhost"
else
host="::1"
fi
port="$PORT" port="$PORT"
proxy="$localhost:$use" proxy="$localhost:$use"
else else
if [ "X$rsh" != "X1" ]; then 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 \"$uath\" \"$info\""
echo "" echo ""
$ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" $ssh -x -f $ssh_port $targ $C $ssh_redir $ssh_args "$uath" "$ssh_cmd"
rc=$? rc=$?
else else
rsh_setup rsh_setup
echo "rsh $ul $ssh_host \"$ssh_cmd\"" echo "rsh $ul \"$ssh_host\" \"$ssh_cmd\""
echo "" echo ""
rsh $ul $ssh_host "$ssh_cmd" & rsh $ul "$ssh_host" "$ssh_cmd" &
sleep 1 sleep 1
PORT=$port PORT=$port
rsh_viewer "$@" rsh_viewer "$@"
@ -2787,7 +2888,7 @@ if [ "X$use_ssh" = "X1" ]; then
if [ "$rc" != "0" ]; then if [ "$rc" != "0" ]; then
echo "" echo ""
echo "ssh to $ssh_host failed." echo "ssh to \"$uath\" failed."
exit 1 exit 1
fi fi
stty sane stty sane
@ -2934,7 +3035,11 @@ if [ "X$crl" != "X" ]; then
fi fi
if [ "X$showcert" = "X1" ]; then if [ "X$showcert" = "X1" ]; then
if [ "X$ipv6" = "X1" -a "X$proxy" = "X" ]; then if [ "X$have_uvnc_dsm_helper_showcert" = "X1" ]; then
:
elif [ "X$SSVNC_NO_IPV6_PROXY" != "X" ]; then
:
elif [ "X$ipv6" = "X1" -a "X$proxy" = "X" ]; then
proxy="ipv6://$host:$port" proxy="ipv6://$host:$port"
fi fi
fi fi
@ -3015,7 +3120,9 @@ if [ "X$showcert" = "X1" ]; then
if [ "X$ciphers" != "X" ]; then if [ "X$ciphers" != "X" ]; then
cipher_args=`echo "$ciphers" | sed -e 's/ciphers=/-cipher /'` cipher_args=`echo "$ciphers" | sed -e 's/ciphers=/-cipher /'`
fi fi
if type openssl > /dev/null 2>&1; then if [ "X$have_uvnc_dsm_helper_showcert" = "X1" ]; then
:
elif type openssl > /dev/null 2>&1; then
: :
else else
echo "" echo ""
@ -3038,10 +3145,17 @@ if [ "X$showcert" = "X1" ]; then
if [ "X$SSVNC_FETCH_TIMEOUT" != "X" ]; then if [ "X$SSVNC_FETCH_TIMEOUT" != "X" ]; then
timeout=$SSVNC_FETCH_TIMEOUT timeout=$SSVNC_FETCH_TIMEOUT
fi fi
if [ "X$have_uvnc_dsm_helper_showcert" = "X1" ]; then
if type pkill >/dev/null 2>&1; then
(sleep $timeout; if kill -0 $$; then pkill -TERM -f "ultravnc_dsm_helper.*$host.*$port"; fi) >/dev/null 2>&1 &
fi
ultravnc_dsm_helper showcert $host:$port 2>&1
else
if type pkill >/dev/null 2>&1; then if type pkill >/dev/null 2>&1; then
(sleep $timeout; if kill -0 $$; then pkill -TERM -f "openssl.*s_client.*$host.*$port"; fi) >/dev/null 2>&1 & (sleep $timeout; if kill -0 $$; then pkill -TERM -f "openssl.*s_client.*$host.*$port"; fi) >/dev/null 2>&1 &
fi fi
openssl s_client $cipher_args -prexit -connect $host:$port 2>&1 < /dev/null openssl s_client $cipher_args -prexit -connect $host:$port 2>&1 < /dev/null
fi
rc=$? rc=$?
else else
tcert="" tcert=""

File diff suppressed because it is too large Load Diff

@ -453,7 +453,7 @@ if [ "X$SSVNC_BUILD_SKIP_VNCSTOREPW" = "X" ]; then
cd $tmp/vncstorepw cd $tmp/vncstorepw
make clean make clean
env LD_SSL="-L$start/$libs $LDFLAGS_OS" CPP_SSL="$CPPFLAGS_OS" make ultravnc_dsm_helper env LD_SSL="-L$start/$libs $LDFLAGS_OS $LD_SSL" CPP_SSL="$CPPFLAGS_OS" make ultravnc_dsm_helper
cd "$start" cd "$start"
cp -p $tmp/vncstorepw/ultravnc_dsm_helper $dest cp -p $tmp/vncstorepw/ultravnc_dsm_helper $dest

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
rm -rf ./src/tmp/* || exit 1 rm -rf ./src/tmp/* || exit 1
vers=1.0.27 vers=1.0.28
cd .. || exit 1 cd .. || exit 1

@ -1,8 +1,8 @@
.\" This file was automatically generated from x11vnc -help output. .\" This file was automatically generated from x11vnc -help output.
.TH X11VNC "1" "April 2010" "x11vnc " "User Commands" .TH X11VNC "1" "May 2010" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.9.10, lastmod: 2010-04-28 version: 0.9.11, lastmod: 2010-05-02
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...

@ -47,7 +47,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0; int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */ /* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.9.10 lastmod: 2010-04-28"; char lastmod[] = "0.9.11 lastmod: 2010-05-02";
/* X display info */ /* X display info */

Loading…
Cancel
Save