Commit 05ba45f7 authored by runge's avatar runge

update to 1.0.8 and renaming

parent 8dead075
This diff is collapsed.
...@@ -6,16 +6,16 @@ is launched to used this SSL tunnel. ...@@ -6,16 +6,16 @@ is launched to used this SSL tunnel.
An example server would be "x11vnc -ssl", or any VNC server with a An example server would be "x11vnc -ssl", or any VNC server with a
2nd STUNNEL program running on the server side. 2nd STUNNEL program running on the server side.
Just click on the program "ssl_tightvncviewer.exe", and then enter Just click on the program "ssvnc.exe", and then enter the remote
the remote VNC Server and click "Connect". Click on "Help" for more VNC Server and click "Connect". Click on "Help" for more information
information. You can also set some simple options under "Options ..." information. You can also set some simple options under "Options ..."
Note that on Windows when the TightVNC viewer disconnects you may need to Note that on Windows when the TightVNC viewer disconnects you may need to
terminate the STUNNEL program manually. To do this: Click on the STUNNEL terminate the STUNNEL program manually. To do this: Click on the STUNNEL
icon (dark green) on the System Tray and then click "Exit". Before that, icon (dark green) on the System Tray and then click "Exit". Before that,
however, you will be prompted if you want ssl_tightvncviewer.exe to try however, you will be prompted if you want ssvnc.exe to try to terminate
to terminate STUNNEL for you. (Note that even if STUNNEL termination is STUNNEL for you. (Note that even if STUNNEL termination is successful,
successful, the Tray Icon may not go away until the mouse hovers over it!) the Tray Icon may not go away until the mouse hovers over it!)
With this STUNNEL and TightVNC Viewer wrapper you can also enable using With this STUNNEL and TightVNC Viewer wrapper you can also enable using
SSL Certificates with STUNNEL, and so the connection is not only encrypted SSL Certificates with STUNNEL, and so the connection is not only encrypted
......
...@@ -9,25 +9,25 @@ set server_fh "" ...@@ -9,25 +9,25 @@ set server_fh ""
set debug 0 set debug 0
if {$debug} { if {$debug} {
if {! [info exists env(SSL_VNC_DEST)]} { if {! [info exists env(SSVNC_DEST)]} {
set env(SSL_VNC_DEST) "haystack:2037" set env(SSVNC_DEST) "haystack:2037"
} }
if {! [info exists env(SSL_VNC_PROXY)]} { if {! [info exists env(SSVNC_PROXY)]} {
set env(SSL_VNC_PROXY) "haystack:2037" set env(SSVNC_PROXY) "haystack:2037"
} }
if {! [info exists env(SSL_VNC_LISTEN)]} { if {! [info exists env(SSVNC_LISTEN)]} {
set env(SSL_VNC_LISTEN) "6789" set env(SSVNC_LISTEN) "6789"
} }
} }
set dest $env(SSL_VNC_DEST) set dest $env(SSVNC_DEST)
if [regexp {,} $env(SSL_VNC_PROXY)] { if [regexp {,} $env(SSVNC_PROXY)] {
set s [split $env(SSL_VNC_PROXY) ","] set s [split $env(SSVNC_PROXY) ","]
set proxy1 [lindex $s 0] set proxy1 [lindex $s 0]
set proxy2 [lindex $s 1] set proxy2 [lindex $s 1]
} else { } else {
set proxy1 $env(SSL_VNC_PROXY) set proxy1 $env(SSVNC_PROXY)
} }
set s [split $proxy1 ":"] set s [split $proxy1 ":"]
...@@ -40,7 +40,7 @@ if {$proxy2 != ""} { ...@@ -40,7 +40,7 @@ if {$proxy2 != ""} {
set proxy2_port [lindex $s 1] set proxy2_port [lindex $s 1]
} }
set lport $env(SSL_VNC_LISTEN) set lport $env(SSVNC_LISTEN)
set got_connection 0 set got_connection 0
set lsock [socket -myaddr 127.0.0.1 -server handle_connection $lport] set lsock [socket -myaddr 127.0.0.1 -server handle_connection $lport]
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
# #
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com> # Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
# #
# ssl_vnc_gui: # sslvnc:
# #
# A wrapper for ssl_tightvncviewer using a tcl/tk gui. # A wrapper for ssvnc_cmd using a tcl/tk gui.
# #
# See ssl_tightvncviewer for details. # See ssvnc_cmd for details.
# #
if [ "X$XTERM_PRINT" != "X" ]; then if [ "X$XTERM_PRINT" != "X" ]; then
XTERM_PRINT="" XTERM_PRINT=""
...@@ -18,14 +18,25 @@ if [ "X$1" = "X-bg" ]; then ...@@ -18,14 +18,25 @@ if [ "X$1" = "X-bg" ]; then
exit 0 exit 0
fi fi
PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin:/usr/sfw/bin:/usr/local/bin
export PATH export PATH
if [ "X$WISH" = "X" ]; then
WISH=wish
for try in wish wish8.3 wish8.4 wish8.5
do
if type $try > /dev/null; then
WISH=$try
break
fi
done
fi
SSL_VNC_GUI_CMD="$0 $*"
export SSL_VNC_GUI_CMD SSVNC_GUI_CMD="$0 $*"
SSL_VNC_LAUNCH=$SSL_VNC_GUI_CMD export SSVNC_GUI_CMD
export SSL_VNC_LAUNCH SSVNC_LAUNCH=$SSVNC_GUI_CMD
export SSVNC_LAUNCH
# work out os.arch platform string and check for binaries: # work out os.arch platform string and check for binaries:
# #
...@@ -50,13 +61,48 @@ do ...@@ -50,13 +61,48 @@ do
fi fi
done done
dir=`dirname "$f"` dir=`dirname "$f"`
PATH="$dir:$PATH"
if [ ! -d "$dir/$name" ]; then nearby=0
echo "cannot find platform dir: $dir/$name for your OS:" if [ -x "$dir/vncviewer" -a -x "$dir/stunnel" ]; then
uname -sm nearby=1
echo "you can set the \$UNAME env. var. to override the setting."
exit 1
fi fi
if [ ! -d "$dir/$name" -a $nearby = 0 ]; then
echo
echo "Cannot find platform dir for your OS `uname -sm`:"
echo
echo " $dir/$name"
echo
PATH=$PATH:/usr/sbin:/usr/local/sbin:/dist/sbin
quit=0
if type vncviewer >/dev/null 2>/dev/null; then
:
else
echo "vncviewer not found in PATH."
quit=1
fi
if type stunnel >/dev/null 2>/dev/null; then
:
else
echo "stunnel not found in PATH."
quit=1
fi
echo
if [ "X$quit" = "X1" ]; then
echo "You can set the \$UNAME env. var. to override the OS setting."
echo "Or, if available, run the ./build.unix script to build it."
echo "Or install external \"vncviewer\" and \"stunnel\" packages."
exit 1
fi
echo "Using externel \"vncviewer\" and \"stunnel\" found in PATH."
else
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"}
export STUNNEL_EXTRA_OPTS
SSVNC_VIEWER_INTERNAL=1
export SSVNC_VIEWER_INTERNAL
fi
# Put our os.arch and other utils dirs at head of PATH to be sure to # Put our os.arch and other utils dirs at head of PATH to be sure to
# pick them up: # pick them up:
...@@ -69,10 +115,11 @@ else ...@@ -69,10 +115,11 @@ else
PATH="$dir:$dir/$name:$dir/util:$PATH" PATH="$dir:$dir/$name:$dir/util:$PATH"
fi fi
SSL_VNC_BASEDIR="$dir" SSVNC_BASEDIR="$dir"
export SSL_VNC_BASEDIR export SSVNC_BASEDIR
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"} if [ "X$WISH" = "Xwish" ]; then
export STUNNEL_EXTRA_OPTS exec ssvnc.tcl "$@"
else
exec ssl_tightvncviewer.tcl "$@" exec $WISH $dir/util/ssvnc.tcl "$@"
fi
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
# #
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com> # Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
# #
# ssl_tightvncviewer: # ssvnc_cmd:
# #
# A wrapper that calls ssl_vncviewer to use the enhanced TightVNC viewer. # A wrapper that calls ss_vncviewer to use the enhanced TightVNC viewer.
# #
# The enhanced TightVNC viewer features are: # The enhanced TightVNC viewer features are:
# #
...@@ -23,11 +23,11 @@ ...@@ -23,11 +23,11 @@
# #
# Usage: # Usage:
# #
# ssl_tightvncviewer [ssl_vncviewer-args] hostname:N [tightvncviewer-args] # ssvnc_cmd [ss_vncviewer-args] hostname:N [tightvncviewer-args]
# #
# "hostname:N" is the host and VNC display to connect to, e.g. snoopy:0 # "hostname:N" is the host and VNC display to connect to, e.g. snoopy:0
# #
# See the script util/ssl_vncviewer for details about its arguments: # See the script util/ss_vncviewer for details about its arguments:
# #
# -verify pemfile # -verify pemfile
# -mycert pemfile # -mycert pemfile
...@@ -86,18 +86,25 @@ fi ...@@ -86,18 +86,25 @@ fi
PATH=$PATH:/usr/bin:/bin PATH=$PATH:/usr/bin:/bin
export PATH export PATH
# Set this for ssl_vncviewer to pick up: # Set this for ss_vncviewer to pick up:
# #
use_ours=0
if [ "X$1" = "X-cotvnc" ]; then if [ "X$1" = "X-cotvnc" ]; then
shift shift
DARWIN_COTVNC=1 DARWIN_COTVNC=1
export DARWIN_COTVNC export DARWIN_COTVNC
elif [ "X$DARWIN_COTVNC" = "X" -a "X$DISPLAY" = "X" ]; then
uname=`uname`
if [ "X$uname" = "XDarwin" ]; then
DARWIN_COTVNC=1
export DARWIN_COTVNC
fi
fi fi
use_ours=0
if [ "X$VNCVIEWERCMD" = "X" ]; then if [ "X$VNCVIEWERCMD" = "X" ]; then
VNCVIEWERCMD="vncviewer" VNCVIEWERCMD="vncviewer"
export VNCVIEWERCMD export VNCVIEWERCMD
if [ "X$DARWIN_COTVNC" = "X" ]; then if [ "X$DARWIN_COTVNC" != "X" ]; then
use_ours=1 use_ours=1
fi fi
fi fi
...@@ -110,7 +117,7 @@ if [ "X$name" = "X" ]; then ...@@ -110,7 +117,7 @@ if [ "X$name" = "X" ]; then
fi fi
f="$0" f="$0"
for t in 1 2 3 4 5 for t in 1 2 3 4 5 6
do do
if [ -L "$f" ]; then if [ -L "$f" ]; then
f0="$f" f0="$f"
...@@ -125,12 +132,55 @@ do ...@@ -125,12 +132,55 @@ do
fi fi
done done
dir=`dirname "$f"` dir=`dirname "$f"`
PATH="$dir:$PATH"
nearby=0
if [ -x "$dir/vncviewer" -a -x "$dir/stunnel" ]; then
nearby=1
fi
if [ ! -d "$dir/$name" -a $nearby = 0 ]; then
echo
echo "Cannot find platform dir for your OS `uname -sm`:"
echo
echo " $dir/$name"
echo
PATH=$PATH:/usr/sbin:/usr/local/sbin:/dist/sbin
quit=0
if type vncviewer >/dev/null 2>/dev/null; then
:
else
echo "vncviewer not found in PATH."
quit=1
fi
if type stunnel >/dev/null 2>/dev/null; then
:
else
echo "stunnel not found in PATH."
quit=1
fi
echo
if [ "X$quit" = "X1" ]; then
echo "You can set the \$UNAME env. var. to override the OS setting."
echo "Or, if available, run the ./build.unix script to build it."
echo "Or install external \"vncviewer\" and \"stunnel\" packages."
exit 1
fi
echo "Using externel \"vncviewer\" and \"stunnel\" found in PATH."
if [ ! -d "$dir/$name" ]; then if [ "X$DARWIN_COTVNC" = "X" -a "X$VNCVIEWERCMD" = "Xvncviewer" ]; then
echo "cannot find platform dir: $dir/$name for your OS:" hstr=`"$VNCVIEWERCMD" -h 2>&1 | head -5`
uname -sm if echo "$hstr" | grep '^TightVNC.*version 1\.[23]' > /dev/null; then
echo "you can set the \$UNAME env. var. to override the setting." # we need to avoid raw encoding
exit 1 use_ours=1
fi
fi
else
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"}
export STUNNEL_EXTRA_OPTS
SSVNC_VIEWER_INTERNAL=1
export SSVNC_VIEWER_INTERNAL
use_ours=1
fi fi
# Put our os.arch and other utils dirs at head of PATH to be sure to # Put our os.arch and other utils dirs at head of PATH to be sure to
...@@ -144,15 +194,26 @@ else ...@@ -144,15 +194,26 @@ else
PATH="$dir:$dir/$name:$dir/util:$PATH" PATH="$dir:$dir/$name:$dir/util:$PATH"
fi fi
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"} base=`basename "$0"`
export STUNNEL_EXTRA_OPTS if [ "X$1" = "X-ssl" ]; then
shift
base="ssvnc_cmd"
fi
# If ours (and not cotvnc), force the use of tight encoding for localhost # If ours (and not cotvnc), force the use of tight encoding for localhost
# redir connection: # redir connection:
# #
# #
if [ $use_ours = 1 ]; then if [ $use_ours = 1 ]; then
ssl_vncviewer "$@" -encodings 'copyrect tight zrle zlib hextile' if [ "X$base" = "Xtightvncviewer" ]; then
"$VNCVIEWERCMD" -encodings 'copyrect tight zrle zlib hextile' "$@"
else
ss_vncviewer "$@" -encodings 'copyrect tight zrle zlib hextile'
fi
else else
ssl_vncviewer "$@" if [ "X$base" = "Xtightvncviewer" ]; then
"$VNCVIEWERCMD" "$@"
else
ss_vncviewer "$@"
fi
fi fi
#!/bin/sh #!/bin/sh
# #
# ssl_vncviewer: wrapper for vncviewer to use an stunnel SSL tunnel # ss_vncviewer: wrapper for vncviewer to use an stunnel SSL tunnel
# or an SSH tunnel. # or an SSH tunnel.
# #
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com> # Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
# #
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
# (or use stunnel on the server side for any other VNC server) # (or use stunnel on the server side for any other VNC server)
# #
# #
# Usage: ssl_vncviewer [cert-args] host:display <vncviewer-args> # Usage: ss_vncviewer [cert-args] host:display <vncviewer-args>
# #
# e.g.: ssl_vncviewer snoopy:0 # e.g.: ss_vncviewer snoopy:0
# ssl_vncviewer snoopy:0 -encodings "copyrect tight zrle hextile" # ss_vncviewer snoopy:0 -encodings "copyrect tight zrle hextile"
# #
# [cert-args] can be: # [cert-args] can be:
# #
...@@ -69,13 +69,13 @@ ...@@ -69,13 +69,13 @@
# #
# Examples: # Examples:
# #
# ssl_vncviewer -ssh bob@bobs-home.net:0 # ss_vncviewer -ssh bob@bobs-home.net:0
# ssl_vncviewer -ssh -sshcmd 'x11vnc -localhost' bob@bobs-home.net:0 # ss_vncviewer -ssh -sshcmd 'x11vnc -localhost' bob@bobs-home.net:0
# #
# ssl_vncviewer -ssh -proxy fred@mygate.com:2022 mymachine:0 # ss_vncviewer -ssh -proxy fred@mygate.com:2022 mymachine:0
# ssl_vncviewer -ssh -proxy bob@bobs-home.net:2222 localhost:0 # ss_vncviewer -ssh -proxy bob@bobs-home.net:2222 localhost:0
# #
# ssl_vncviewer -ssh -proxy fred@gw-host,fred@peecee localhost:0 # ss_vncviewer -ssh -proxy fred@gw-host,fred@peecee localhost:0
# #
# -sshcmd cmd Run "cmd" via ssh instead of the default "sleep 15" # -sshcmd cmd Run "cmd" via ssh instead of the default "sleep 15"
# e.g. -sshcmd 'x11vnc -display :0 -localhost -rfbport 5900' # e.g. -sshcmd 'x11vnc -display :0 -localhost -rfbport 5900'
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
# this if you need to tunnel additional services via -R and -L # this if you need to tunnel additional services via -R and -L
# (see -sshargs above). # (see -sshargs above).
# #
# ssl_vncviewer -sshssl -proxy fred@mygate.com mymachine:0 # ss_vncviewer -sshssl -proxy fred@mygate.com mymachine:0
# #
# #
# -alpha turn on cursor alphablending hack if you are using the # -alpha turn on cursor alphablending hack if you are using the
...@@ -129,11 +129,29 @@ use_sshssl="" ...@@ -129,11 +129,29 @@ use_sshssl=""
direct_connect="" direct_connect=""
ssh_sleep=15 ssh_sleep=15
ssh_cmd="sleep $ssh_sleep" ssh_cmd="sleep $ssh_sleep"
if [ "X$SSL_VNCVIEWER_SSH_CMD" != "X" ]; then if [ "X$SS_VNCVIEWER_SSH_CMD" != "X" ]; then
ssh_cmd="$SSL_VNCVIEWER_SSH_CMD" ssh_cmd="$SS_VNCVIEWER_SSH_CMD"
fi fi
ssh_args="" ssh_args=""
if [ "X$1" = "X-viewerflavor" ]; then
if echo "$VNCVIEWERCMD" | grep -i chicken.of > /dev/null; then
echo "cotvnc"
exit 0
fi
str=`"$VNCVIEWERCMD" -h 2>&1 | head -5`
if echo "$str" | grep -i 'TightVNC.viewer' > /dev/null; then
echo "tightvnc"
elif echo "$str" | grep -i 'RealVNC.Ltd' > /dev/null; then
echo "realvnc4"
elif echo "$str" | grep -i 'VNC viewer version 3' > /dev/null; then
echo "realvnc3"
else
echo "unknown"
fi
exit 0
fi
# grab our cmdline options: # grab our cmdline options:
while [ "X$1" != "X" ] while [ "X$1" != "X" ]
do do
...@@ -312,16 +330,16 @@ if [ "X$use_ssh" = "X1" ]; then ...@@ -312,16 +330,16 @@ if [ "X$use_ssh" = "X1" ]; then
fi fi
C="" C=""
if [ "X$SSL_VNCVIEWER_USE_C" != "X" ]; then if [ "X$SS_VNCVIEWER_USE_C" != "X" ]; then
C="-C" C="-C"
fi fi
# the -t option actually speeds up typing response via VNC!! # the -t option actually speeds up typing response via VNC!!
if [ "X$SSL_VNCVIEWER_SSH_ONLY" != "X" ]; then if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then
echo "$ssh -x -p $ssh_port -t $C $ssh_args $ssh_host \"$info\"" echo "$ssh -x -p $ssh_port -t $C $ssh_args $ssh_host \"$info\""
echo "" echo ""
$ssh -x -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd" $ssh -x -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd"
exit $? exit $?
elif [ "X$SSL_VNCVIEWER_NO_F" != "X" ]; then elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then
echo "$ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\"" echo "$ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\""
echo "" echo ""
$ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd" $ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd"
...@@ -401,17 +419,17 @@ fi ...@@ -401,17 +419,17 @@ fi
pcode() { pcode() {
tf=$1 tf=$1
SSL_VNC_PROXY=$proxy; export SSL_VNC_PROXY SSVNC_PROXY=$proxy; export SSVNC_PROXY
SSL_VNC_DEST="$host:$port"; export SSL_VNC_DEST SSVNC_DEST="$host:$port"; export SSVNC_DEST
cod='#!/usr/bin/perl cod='#!/usr/bin/perl
# A hack to glue stunnel to a Web proxy for client connections. # A hack to glue stunnel to a Web proxy for client connections.
use IO::Socket::INET; use IO::Socket::INET;
my ($first, $second) = split(/,/, $ENV{SSL_VNC_PROXY}); my ($first, $second) = split(/,/, $ENV{SSVNC_PROXY});
my ($proxy_host, $proxy_port) = split(/:/, $first); my ($proxy_host, $proxy_port) = split(/:/, $first);
my $connect = $ENV{SSL_VNC_DEST}; my $connect = $ENV{SSVNC_DEST};
print STDERR "\nperl script for web proxing:\n"; print STDERR "\nperl script for web proxing:\n";
print STDERR "proxy_host: $proxy_host\n"; print STDERR "proxy_host: $proxy_host\n";
...@@ -419,11 +437,11 @@ print STDERR "proxy_port: $proxy_port\n"; ...@@ -419,11 +437,11 @@ print STDERR "proxy_port: $proxy_port\n";
print STDERR "proxy_connect: $connect\n"; print STDERR "proxy_connect: $connect\n";
my $listen_handle = ""; my $listen_handle = "";
if ($ENV{SSL_VNC_LISTEN} != "") { if ($ENV{SSVNC_LISTEN} != "") {
my $listen_sock = IO::Socket::INET->new( my $listen_sock = IO::Socket::INET->new(
Listen => 2, Listen => 2,
LocalAddr => "localhost", LocalAddr => "localhost",
LocalPort => $ENV{SSL_VNC_LISTEN}, LocalPort => $ENV{SSVNC_LISTEN},
Proto => "tcp"); Proto => "tcp");
if (! $listen_sock) { if (! $listen_sock) {
die "perl proxy: $!\n"; die "perl proxy: $!\n";
...@@ -550,7 +568,7 @@ sub xfer { ...@@ -550,7 +568,7 @@ sub xfer {
ptmp="" ptmp=""
if [ "X$proxy" != "X" ]; then if [ "X$proxy" != "X" ]; then
ptmp="/tmp/ssl_vncviewer${RANDOM}.$$.pl" ptmp="/tmp/ss_vncviewer${RANDOM}.$$.pl"
mytmp "$ptmp" mytmp "$ptmp"
pcode "$ptmp" pcode "$ptmp"
connect="exec = $ptmp" connect="exec = $ptmp"
...@@ -575,8 +593,8 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -575,8 +593,8 @@ if [ "X$direct_connect" != "X" ]; then
fi fi
echo "" echo ""
if [ "X$ptmp" != "X" ]; then if [ "X$ptmp" != "X" ]; then
SSL_VNC_LISTEN=$use SSVNC_LISTEN=$use
export SSL_VNC_LISTEN export SSVNC_LISTEN
$ptmp & $ptmp &
sleep 2 sleep 2
host="localhost" host="localhost"
...@@ -589,7 +607,7 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -589,7 +607,7 @@ if [ "X$direct_connect" != "X" ]; then
fi fi
##debug = 7 ##debug = 7
tmp=/tmp/ssl_vncviewer${RANDOM}.$$ tmp=/tmp/ss_vncviewer${RANDOM}.$$
mytmp "$tmp" mytmp "$tmp"
cat > "$tmp" <<END cat > "$tmp" <<END
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# e.g. on Darwin we did: # e.g. on Darwin we did:
# #
# env LDFLAGS_OS="-L/Volumes/someplace/common/lib/" CPPFLAGS_OS="-I /Volumes/someplace/common/include" ./build.unix # env LDFLAGS_OS="-L/Volumes/someplace/common/lib" CPPFLAGS_OS="-I /Volumes/someplace/common/include" ./build.unix
# #
...@@ -16,9 +16,33 @@ export PATH ...@@ -16,9 +16,33 @@ export PATH
# Check location: # Check location:
# #
thisdir=`dirname "$0"` thisdir=`dirname "$0"`
if [ ! -d ./bin -o ! -d src/patches ]; then if [ ! -d ./bin -o ! -d src/patches -o ! -f ./build.unix ]; then
echo ""
echo "You must run this script from: $thisdir" echo "You must run this script from: $thisdir"
exit 1 echo ""
echo "Maybe:"
echo ""
echo " cd $thisdir"
echo " ./build.unix"
if [ "X$BUILD_UNIX" != "X" ]; then
sleep 2
exit 1
fi
echo ""
sleep 1
printf "Do you want me to run those for you? y/[n] "
read x
if [ "X$x" = "Xy" ]; then
BUILD_UNIX=1
export BUILD_UNIX
cd "$thisdir" || exit 1
echo "pwd:"
pwd
sleep 1
./build.unix
fi
exit $?
fi fi
# Try to find osname.arch # Try to find osname.arch
...@@ -112,6 +136,12 @@ elif uname | grep -i bsd > /dev/null; then ...@@ -112,6 +136,12 @@ elif uname | grep -i bsd > /dev/null; then
CPPFLAGS_OS="$CPPFLAGS_OS -I /usr/local/include -I /usr/pkg/include" CPPFLAGS_OS="$CPPFLAGS_OS -I /usr/local/include -I /usr/pkg/include"
fi fi
cnt=`ls ./src/patches/*.patch | wc -c`
if [ $cnt -lt 1 ]; then
echo "Could not find any patches in ./src/patches. Is your tarball missing them?"
exit 1
fi
# Do tightvnc viewer: # Do tightvnc viewer:
# #
tight_src=`ls -td ./src/vnc_unixsrc* | head -1` tight_src=`ls -td ./src/vnc_unixsrc* | head -1`
...@@ -126,18 +156,25 @@ echo "applying tight vnc patches:" ...@@ -126,18 +156,25 @@ echo "applying tight vnc patches:"
start=`pwd` start=`pwd`
cd $tmp; cd $tmp;
failed=0 failed=0
count=0
for patch in ../../patches/tight* for patch in ../../patches/tight*
do do
if [ ! -f "$patch" ]; then if [ ! -f "$patch" ]; then
continue continue
fi fi
patch -p0 < $patch echo PATCHING WITH: "$patch"
ls -l "$patch"
sleep 1
patch -p0 < "$patch"
if [ $? != 0 ]; then if [ $? != 0 ]; then
failed=`expr $failed + 1` failed=`expr $failed + 1`
else
count=`expr $count + 1`
fi fi
done done
sleep 1
cd "$start" cd "$start"
if [ $failed != 0 ]; then if [ $failed != 0 -o $count = 0 ]; then
ball=src/zips/vnc_unixsrc_vncviewer.patched.tar ball=src/zips/vnc_unixsrc_vncviewer.patched.tar
echo "patches failed, trying to use backup tarball:" echo "patches failed, trying to use backup tarball:"
ls -l $ball ls -l $ball
...@@ -207,18 +244,25 @@ echo "applying stunnel patches:" ...@@ -207,18 +244,25 @@ echo "applying stunnel patches:"
start=`pwd` start=`pwd`
cd $tmp; cd $tmp;
failed=0 failed=0
count=0
for patch in ../../patches/stunnel* for patch in ../../patches/stunnel*
do do
if [ ! -f "$patch" ]; then if [ ! -f "$patch" ]; then
continue continue
fi fi
echo PATCHING WITH: "$patch"
ls -l "$patch"
sleep 1
patch -p0 < $patch patch -p0 < $patch
if [ $? != 0 ]; then if [ $? != 0 ]; then
failed=`expr $failed + 1` failed=`expr $failed + 1`
else
count=`expr $count + 1`
fi fi
done done
sleep 1
cd "$start" cd "$start"
if [ $failed != 0 ]; then if [ $failed != 0 -o $count = 0 ]; then
ball=src/zips/stunnel.patched.tar ball=src/zips/stunnel.patched.tar
echo "patches failed, trying to use backup tarball:" echo "patches failed, trying to use backup tarball:"
ls -l $ball ls -l $ball
......
...@@ -162,10 +162,10 @@ ...@@ -162,10 +162,10 @@
2261967 196 -rwxr-xr-x 1 runge runge 193076 Jul 31 22:59 ./bin/Linux.i686/vncviewer 2261967 196 -rwxr-xr-x 1 runge runge 193076 Jul 31 22:59 ./bin/Linux.i686/vncviewer
2261999 80 -rwxr-xr-x 1 runge runge 77148 Jul 31 23:00 ./bin/Linux.i686/stunnel 2261999 80 -rwxr-xr-x 1 runge runge 77148 Jul 31 23:00 ./bin/Linux.i686/stunnel
5538622 4 drwxr-xr-x 2 runge runge 4096 Sep 12 21:24 ./bin/util 5538622 4 drwxr-xr-x 2 runge runge 4096 Sep 12 21:24 ./bin/util
5538759 12 -rwxr-xr-x 1 runge runge 12148 Sep 12 21:24 ./bin/util/ssl_vncviewer 5538759 12 -rwxr-xr-x 1 runge runge 12148 Sep 12 21:24 ./bin/util/ss_vncviewer
5538760 136 -rwxr-xr-x 1 runge runge 132853 Sep 12 21:17 ./bin/util/ssl_tightvncviewer.tcl 5538760 136 -rwxr-xr-x 1 runge runge 132853 Sep 12 21:17 ./bin/util/ssvnc.tcl
5538641 4 -rw-r--r-- 1 runge runge 981 Aug 4 09:27 ./bin/util/stunnel-server.conf 5538641 4 -rw-r--r-- 1 runge runge 981 Aug 4 09:27 ./bin/util/stunnel-server.conf
2851794 4 -rwxr-xr-x 1 runge runge 3581 Jul 31 23:00 ./bin/ssl_tightvncviewer 2851794 4 -rwxr-xr-x 1 runge runge 3581 Jul 31 23:00 ./bin/ssvnc_cmd
2851592 4 -rwxr-xr-x 1 runge runge 3752 Jul 31 23:01 ./bin/tightvncviewer 2851592 4 -rwxr-xr-x 1 runge runge 3752 Jul 31 23:01 ./bin/tightvncviewer
2425590 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:30 ./bin/Linux.alpha 2425590 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:30 ./bin/Linux.alpha
2425595 100 -rwxr-xr-x 1 runge runge 97504 Jul 31 23:30 ./bin/Linux.alpha/stunnel 2425595 100 -rwxr-xr-x 1 runge runge 97504 Jul 31 23:30 ./bin/Linux.alpha/stunnel
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
3064794 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:47 ./bin/SunOS.sun4u 3064794 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:47 ./bin/SunOS.sun4u
3064795 108 -rwxr-xr-x 1 runge runge 106260 Jul 31 23:45 ./bin/SunOS.sun4u/vncviewer 3064795 108 -rwxr-xr-x 1 runge runge 106260 Jul 31 23:45 ./bin/SunOS.sun4u/vncviewer
3064796 76 -rwxr-xr-x 1 runge runge 71748 Jul 31 23:47 ./bin/SunOS.sun4u/stunnel 3064796 76 -rwxr-xr-x 1 runge runge 71748 Jul 31 23:47 ./bin/SunOS.sun4u/stunnel
2851711 4 -rwxr-xr-x 1 runge runge 1310 Aug 29 16:29 ./bin/ssl_vnc_gui 2851711 4 -rwxr-xr-x 1 runge runge 1310 Aug 29 16:29 ./bin/ssvnc
2851793 4 -rwxr-xr-x 1 runge runge 640 Jul 31 17:22 ./bin/.linkin 2851793 4 -rwxr-xr-x 1 runge runge 640 Jul 31 17:22 ./bin/.linkin
3293942 4 drwxr-xr-x 2 runge runge 4096 Aug 1 22:14 ./bin/profiles 3293942 4 drwxr-xr-x 2 runge runge 4096 Aug 1 22:14 ./bin/profiles
3277791 8 -rwxr-xr-x 1 runge runge 4814 Jul 30 17:54 ./build.unix 3277791 8 -rwxr-xr-x 1 runge runge 4814 Jul 30 17:54 ./build.unix
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
5063556 16 -rw-r--r-- 1 runge runge 14478 Jul 27 16:32 ./man/man1/vncviewer.1 5063556 16 -rw-r--r-- 1 runge runge 14478 Jul 27 16:32 ./man/man1/vncviewer.1
5063557 24 -rw-r--r-- 1 runge runge 23885 Jul 27 16:33 ./man/man1/stunnel.1 5063557 24 -rw-r--r-- 1 runge runge 23885 Jul 27 16:33 ./man/man1/stunnel.1
5538624 4 drwxr-xr-x 4 runge runge 4096 Sep 6 16:30 ./Windows 5538624 4 drwxr-xr-x 4 runge runge 4096 Sep 6 16:30 ./Windows
5538633 2312 -rw-r--r-- 1 runge runge 2361922 Sep 12 22:27 ./Windows/ssl_tightvncviewer.exe 5538633 2312 -rw-r--r-- 1 runge runge 2361922 Sep 12 22:27 ./Windows/ssvnc.exe
5538576 4 -rw-r--r-- 1 runge runge 2149 Aug 2 09:42 ./Windows/README.txt 5538576 4 -rw-r--r-- 1 runge runge 2149 Aug 2 09:42 ./Windows/README.txt
3293943 4 drwxr-xr-x 2 runge runge 4096 Aug 1 22:14 ./Windows/profiles 3293943 4 drwxr-xr-x 2 runge runge 4096 Aug 1 22:14 ./Windows/profiles
4621136 4 drwxr-xr-x 5 runge runge 4096 Sep 6 16:30 ./Windows/util 4621136 4 drwxr-xr-x 5 runge runge 4096 Sep 6 16:30 ./Windows/util
......
#!/bin/sh #!/bin/sh
rm -rf ./src/tmp/* || exit 1 rm -rf ./src/tmp/* || exit 1
vers=1.0.7 vers=1.0.8
cd .. || exit 1 cd .. || exit 1
if [ -f enhanced_tightvnc_viewer-$vers.zip ]; then ###########################################
mv enhanced_tightvnc_viewer-$vers.zip enhanced_tightvnc_viewer-$vers.zip~ dest=./t.unix_only
rm -rf $dest
mkdir -p $dest || exit 1
tar cvf - ssvnc/{README,COPYING} ssvnc/bin ssvnc/Unix | (cd $dest; tar xvf -)
rm -f $dest/ssvnc/bin/.linkin
tar=ssvnc_unix_only-${vers}.tar.gz
(cd $dest; tar czvf ../$tar ssvnc)
ls -l $tar
rm -rf $dest
###########################################
dest=./t.unix_minimal
rm -rf $dest
mkdir -p $dest || exit 1
#tar cvf - ssvnc/{README,COPYING} ssvnc/bin/{ss*,util/ss*} ssvnc/Unix | (cd $dest; tar xvf -)
tar cvf - ssvnc/{README,COPYING} ssvnc/bin/{ss*,util/ss*} | (cd $dest; tar xvf -)
tar=ssvnc_unix_minimal-${vers}.tar.gz
(cd $dest; tar czvf ../$tar ssvnc)
ls -l $tar
rm -rf $dest
top='#!/bin/sh
n=11
tmp=`mktemp -d "/tmp/ssvnc.XXXXXX"` || exit 1
if [ "X$tmp" = "X" -o ! -d "$tmp" ]; then exit 1; fi
trap "cd /tmp; rm -rf $tmp" 0 2 15
tail +$n "$0" | (cd $tmp; tar xf -) || exit 1
$tmp/bin/ssvnc "$@"
exit 0
data__() {'
scr=./ssvnc.sh
echo "$top" > $scr
(cd ssvnc; tar cvf - README COPYING bin/{ss*,util/ss*}) >> $scr
chmod 755 $scr
ls -l $scr
if [ "X$1" = "Xquick" ]; then
exit 0
fi fi
rm -f enhanced_tightvnc_viewer_all-$vers.zip
rm -f enhanced_tightvnc_viewer-$vers.zip
zip -9 -r enhanced_tightvnc_viewer_all-$vers.zip enhanced_tightvnc_viewer
zip -9 -r enhanced_tightvnc_viewer-$vers.zip enhanced_tightvnc_viewer -x '*.zip' '*.tar.gz'
tar cvf - --exclude='*.zip' --exclude='*.tar.gz' enhanced_tightvnc_viewer | gzip -9 > enhanced_tightvnc_viewer-$vers.tar.gz
tar cvf - --exclude='*.zip' --exclude='*.tar.gz' --exclude='*.dll' --exclude='*.exe' --exclude enhanced_tightvnc_viewer/Windows/util enhanced_tightvnc_viewer | gzip -9 > enhanced_tightvnc_viewer_no_windows-$vers.tar.gz
ls -l enhanced_tightvnc_viewer*-$vers.* ###########################################
rm -f ssvnc_all-$vers.zip
rm -f ssvnc-$vers.zip
zip -9 -r ssvnc_all-$vers.zip ssvnc
zip -9 -r ssvnc-$vers.zip ssvnc -x '*.zip' '*.tar.gz'
tar cvf - --exclude='*.zip' --exclude='*.tar.gz' ssvnc | gzip -9 > ssvnc-$vers.tar.gz
tar cvf - --exclude='*.zip' --exclude='*.tar.gz' --exclude='*.dll' --exclude='*.exe' --exclude ssvnc/Windows/util ssvnc | gzip -9 > ssvnc_no_windows-$vers.tar.gz
ls -l ssvnc*-$vers.*
########################################### ###########################################
dest=./t.windows_only
rm -rf ${dest}
mkdir -p $dest || exit 1
rm -rf enhanced_tightvnc_viewer_windows_only-${vers}* cp -pR ssvnc $dest
rm -rf $dest/ssvnc/{src,bin,man}
rm -rf $dest/ssvnc/MacOSX
rm -rf $dest/ssvnc/Unix
rm -f $dest/ssvnc/build.unix
rm -f $dest/ssvnc/filelist.txt
cp -p ssvnc/bin/util/ssvnc.tcl $dest/ssvnc/Windows/util
cp -pR enhanced_tightvnc_viewer enhanced_tightvnc_viewer_windows_only-$vers zip=ssvnc_windows_only-${vers}.zip
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/{src,bin,man}/* rm -f $zip
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/bin/.linkin (cd $dest; zip -9 -r ../$zip ssvnc)
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/MacOSX
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/Unix
cp -p enhanced_tightvnc_viewer/bin/util/ssl_tightvncviewer.tcl enhanced_tightvnc_viewer_windows_only-$vers/Windows/util
rm -f enhanced_tightvnc_viewer_windows_only-$vers.zip ls -l $zip
zip -9 -r enhanced_tightvnc_viewer_windows_only-$vers.zip enhanced_tightvnc_viewer_windows_only-$vers rm -rf $dest
ls -l enhanced_tightvnc_viewer_windows_only-$vers.zip
rm -rf enhanced_tightvnc_viewer_windows_only-${vers}
...@@ -8,7 +8,7 @@ www.tightvnc.com windows ...@@ -8,7 +8,7 @@ www.tightvnc.com windows
standalone viewer binary: 209149 Jul 25 15:10 tightvnc-1.3dev7_x86_viewer.zip standalone viewer binary: 209149 Jul 25 15:10 tightvnc-1.3dev7_x86_viewer.zip
To save space they may not be included in the package you downloaded. To save space they may not be included in the package you downloaded.
The should be included in the "enhanced_tightvnc_viewer_all-<version>.zip" file. The should be included in the "ssvnc_all-<version>.zip" file.
Go to the websites indicated above or contact me if you cannot find them. Go to the websites indicated above or contact me if you cannot find them.
The stunnel.patched.tar vnc_unixsrc_vncviewer.patched.tar The stunnel.patched.tar vnc_unixsrc_vncviewer.patched.tar
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment