parent
94501cdcfa
commit
130cf391b6
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,228 @@
|
||||
Enhanced TightVNC Viewer package
|
||||
|
||||
Copyright (c) Karl J. Runge <runge@karlrunge.com>
|
||||
All rights reserved.
|
||||
|
||||
These packages provide 1) An enhanced TightVNC Viewer on Unix, 2) Binaries
|
||||
for many Operating Systems (including Windows) for your convenience,
|
||||
3) Wrapper scripts and etc. for gluing them all together.
|
||||
|
||||
One can straight-forwardly download all of the components and get them
|
||||
to work together by oneself: this package is mostly for your convenience
|
||||
to combine and wrap together the freely available software.
|
||||
|
||||
Bundled software co-shipped in this package is copyright and licensed
|
||||
by others. See these sites and related ones for more information:
|
||||
|
||||
http://www.tightvnc.com
|
||||
http://www.realvnc.com
|
||||
http://www.stunnel.org
|
||||
http://www.openssl.org
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
Note: Some of the Windows binaries included contain cryptographic software
|
||||
that you may not be allowed to download, use, or redistribute. Please
|
||||
check your situation first before downloading any of these packages.
|
||||
See the survey http://rechten.uvt.nl/koops/cryptolaw/index.htm for useful
|
||||
information. The Unix programs do not contain cryptographic software, but
|
||||
rather will make use of cryptographic libraries that are installed on your
|
||||
Unix system. Depending on your circumstances you may still need to check.
|
||||
|
||||
All work by Karl J. Runge in this package is Copyright (c) Karl J. Runge
|
||||
and is licensed under the GPL as described in the file COPYING in this
|
||||
directory.
|
||||
|
||||
All the files and information in this package are provided "AS IS"
|
||||
without any warranty of any kind. Use them at your own risk.
|
||||
|
||||
|
||||
=============================================================================
|
||||
|
||||
This package contains a convenient collection of enhanced TightVNC viewers
|
||||
and stunnel binaries for different flavors of Unix and wrapper scripts,
|
||||
etc to glue them together. SSL and SSH encryption tunnelling is provided.
|
||||
|
||||
Also, a Windows SSL wrapper for the co-bundled TightVNC binary and other
|
||||
utilities are provided. (Launch ssl_tightvncviewer.exe in the
|
||||
Windows subdirectory).
|
||||
|
||||
|
||||
Features:
|
||||
--------
|
||||
|
||||
The enhanced TightVNC viewer features are:
|
||||
|
||||
- SSL support for connections using the co-bundled stunnel program.
|
||||
|
||||
- Automatic SSH connections from the GUI (ssh must already be
|
||||
installed on Unix; co-bundled plink is used on Windows)
|
||||
|
||||
- rfbNewFBSize VNC support on Unix (screen resizing)
|
||||
|
||||
- cursor alphablending with x11vnc at 32bpp (-alpha option, Unix only)
|
||||
|
||||
- xgrabserver support for fullscreen mode, for old window
|
||||
managers (-grab option, Unix only).
|
||||
|
||||
- Automatic Service tunnelling via SSH for CUPS and SMB Printing,
|
||||
ESD/ARTSD Audio, and SMB (Windows/Samba) filesystem mounting.
|
||||
|
||||
- Port Knocking for "closed port" SSH/SSL connections. In addition
|
||||
to a simple fixed port sequence and one-time-pad implementation,
|
||||
a hook is also provided to run any port knocking client before a
|
||||
connecting.
|
||||
|
||||
|
||||
Your package should have included binaries for many OS's: Linux, Solaris,
|
||||
FreeBSD, etc. See the subdirectories of
|
||||
|
||||
./bin
|
||||
|
||||
for the ones that were shipped in this package, e.g. ./bin/Linux.i686
|
||||
Run "uname -sm" to see your OS+arch combination. (See the
|
||||
./bin/tightvncviewer -h output for how to override platform autodection
|
||||
via the UNAME env. var).
|
||||
|
||||
|
||||
If you need to Build:
|
||||
--------------------
|
||||
|
||||
If your OS/arch is not included, the script "build.unix" may be able to
|
||||
successfully build on for you and deposit the binaries down in ./bin/...
|
||||
using the included source code.
|
||||
|
||||
You must run the build.unix script from this directory (that this toplevel
|
||||
README is in) and like this:
|
||||
|
||||
./build.unix
|
||||
|
||||
|
||||
The programs:
|
||||
------------
|
||||
|
||||
The wrapper scripts:
|
||||
|
||||
./bin/ssl_tightvncviewer
|
||||
./bin/tightvncviewer
|
||||
|
||||
are the main programs you will run and will try to autodetect your OS+arch
|
||||
combination and if binaries are present for it automatically use them.
|
||||
(if not found try the running the build.unix script).
|
||||
|
||||
If you prefer a GUI to prompt for parameters and then start ssl_tightvncviewer
|
||||
you can run this instead:
|
||||
|
||||
./bin/ssl_vnc_gui
|
||||
|
||||
this is essentially the same GUI that is run on Windows (the
|
||||
ssl_tightvncviewer.exe).
|
||||
|
||||
Using the GUI is it impossible to initiate a VNC connection that is not
|
||||
encrypted with either SSL or SSH. Unencrypted VNC connections can only
|
||||
be started by manually running the ./bin/tightvncviewer script.
|
||||
|
||||
For convenience, you can make symlinks from a directory in your PATH to
|
||||
any of the 3 programs above you wish to run. That is all you usually
|
||||
need to do for it to pick up all of the binaries, utils, etc. E.g.
|
||||
assuming $HOME/bin is in your $PATH:
|
||||
|
||||
cd $HOME/bin
|
||||
ln -s /path/to/enhanced_tightvnc_viewer/bin/{s,t}* .
|
||||
|
||||
(note the "." at the end). The above commands is basically the way to
|
||||
"install" this package on Unix.
|
||||
|
||||
|
||||
On Windows run:
|
||||
|
||||
Windows/ssl_tightvncviewer.exe
|
||||
|
||||
|
||||
Examples:
|
||||
--------
|
||||
|
||||
Use enhanced TightVNC unix viewer to connect to x11vnc via SSL:
|
||||
|
||||
./bin/ssl_tightvncviewer far-away.east:0
|
||||
|
||||
./bin/tightvncviewer -ssl far-away.east:0 (same)
|
||||
|
||||
./bin/ssl_vnc_gui (start GUI launcher)
|
||||
|
||||
Use enhanced TightVNC unix viewer without SSL:
|
||||
|
||||
./bin/tightvncviewer far-away.east:0
|
||||
|
||||
Use SSL to connect to a x11vnc server, and also verify the server's
|
||||
identity using the SSL Certificate in the file ./x11vnc.pem:
|
||||
|
||||
./bin/ssl_tightvncviewer -alpha -verify ./x11vnc.pem far-away.east:0
|
||||
|
||||
(also turns on the viewer-side cursor alphablending hack).
|
||||
|
||||
|
||||
Brief description of the subdirectories:
|
||||
---------------------------------------
|
||||
|
||||
./bin/util some utility scripts, e.g. ssl_vncviewer
|
||||
and ssl_tightvncviewer.tcl
|
||||
|
||||
./src source code and patches.
|
||||
./src/zips zip files of source code and binaries.
|
||||
|
||||
./src/vnc_unixsrc unpacked tightvnc source code tree.
|
||||
./src/stunnel-4.14 unpacked stunnel source code tree.
|
||||
./src/patches patches to TightVNC viewer for the new
|
||||
features on Unix (used by build.unix).
|
||||
./src/tmp temporary build dir for build.unix
|
||||
(the last four are used by build.unix)
|
||||
|
||||
|
||||
./man man pages for TightVNC viewer and stunnel.
|
||||
|
||||
./Windows Stock TightVNC viewer and Stunnel, Openssl
|
||||
etc Windows binaries. ssl_tightvncviewer.exe
|
||||
is the program to run.
|
||||
|
||||
Since they are large, depending on which package you use not all of the
|
||||
above may be present in your package.
|
||||
|
||||
|
||||
Help and Info:
|
||||
-------------
|
||||
|
||||
For more help on other options and usage patterns run these:
|
||||
|
||||
./bin/ssl_tightvncviewer -h
|
||||
./bin/tightvncviewer -h
|
||||
./bin/util/ssl_vncviewer -h
|
||||
|
||||
See also:
|
||||
|
||||
http://www.karlrunge.com/x11vnc
|
||||
http://www.karlrunge.com/x11vnc/#faq
|
||||
x11vnc -h | more
|
||||
|
||||
http://www.stunnel.org
|
||||
http://www.openssl.org
|
||||
http://www.tightvnc.com
|
||||
http://www.realvnc.com
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
|
||||
Windows:
|
||||
-------
|
||||
|
||||
A wrapper to create a STUNNEL tunnel and then launch the
|
||||
Windows TightVNC viewer is provided in:
|
||||
|
||||
Windows/ssl_tightvncviewer.exe
|
||||
|
||||
Just launch it and fill in the remote VNC display.
|
||||
|
||||
Click the Help buttons for more info. There is also a
|
||||
Windows/README.txt file.
|
||||
|
||||
On Windows you may need to terminate the STUNNEL process
|
||||
from the System Tray if the tool cannot terminate it
|
||||
by itself. Just right-click on the STUNNEL icon.
|
@ -0,0 +1,51 @@
|
||||
|
||||
This is a Windows utility to automatically start up STUNNEL to redirect
|
||||
SSL VNC connections to a remote host. Then TightVNC Viewer (included)
|
||||
is launched to used this SSL tunnel.
|
||||
|
||||
An example server would be "x11vnc -ssl", or any VNC server with a
|
||||
2nd STUNNEL program running on the server side.
|
||||
|
||||
Just click on the program "ssl_tightvncviewer.exe", and then enter
|
||||
the remote VNC Server and click "Connect". Click on "Help" for more
|
||||
information. You can also set some simple options under "Options ..."
|
||||
|
||||
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
|
||||
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
|
||||
to terminate STUNNEL for you. (Note that even if STUNNEL termination is
|
||||
successful, 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
|
||||
SSL Certificates with STUNNEL, and so the connection is not only encrypted
|
||||
but it is also not susceptible to man-in-the-middle attacks.
|
||||
|
||||
See the STUNNEL and x11vnc documentation for how to create and add SSL
|
||||
Certificates (PEM files) for authentication. Click on the "Certs ..."
|
||||
button to specify the certificate(s). See the Help there for more info
|
||||
and also:
|
||||
|
||||
http://www.karlrunge.com/x11vnc
|
||||
http://www.tightvnc.com
|
||||
http://www.stunnel.org
|
||||
http://www.openssl.org
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
You can use x11vnc to create certificates if you like:
|
||||
|
||||
http://www.karlrunge.com/x11vnc/#faq-ssl-ca
|
||||
|
||||
|
||||
Misc:
|
||||
|
||||
The openssl.exe stunnel.exe vncviewer.exe libeay32.dll
|
||||
libssl32.dll programs came from the websites mentioned above.
|
||||
|
||||
IMPORTANT: some of these binaries may have cryptographic
|
||||
software that you may not be allowed to download or use.
|
||||
See the above websites for more information and also the
|
||||
util/info subdirectories.
|
||||
|
||||
Also, the kill.exe and tlist.exe programs in the w98 directory
|
||||
came from diagnostic tools ftp site of Microsoft's.
|
@ -0,0 +1 @@
|
||||
http://www.tux.org/~ricdude/EsounD.html
|
@ -0,0 +1 @@
|
||||
http://www.stunnel.org/download/stunnel/win32/
|
@ -0,0 +1 @@
|
||||
http://www.stunnel.org/download/binaries.html
|
@ -0,0 +1 @@
|
||||
http://www.chiark.greenend.org.uk/%7esgtatham/putty/download.html
|
@ -0,0 +1 @@
|
||||
http://www.chiark.greenend.org.uk/%7esgtatham/putty/licence.html
|
@ -0,0 +1 @@
|
||||
http://www.stunnel.org/download/stunnel/win32/
|
@ -0,0 +1 @@
|
||||
http://www.stunnel.org/download/binaries.html
|
@ -0,0 +1 @@
|
||||
http://www.tightvnc.com/download.html
|
@ -0,0 +1 @@
|
||||
http://www.tightvnc.com
|
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Example SSL stunnel CLIENT configuration file. (you run stunnel on
|
||||
# this machine and point your vnc viewer to it, it goes to remote VNC
|
||||
# server via SSL)
|
||||
#
|
||||
# To use this file you will need to edit it. Then you will need
|
||||
# to manually start up stunnel using it.
|
||||
# (e.g. /path/to/stunnel stunnel-server.conf)
|
||||
#
|
||||
# This is just an example and is not used by the tools in this package.
|
||||
# It is here to show how to create outgoing SSL connections to remote
|
||||
# VNC servers when not using the tools in this package.
|
||||
#
|
||||
client = yes
|
||||
options = ALL
|
||||
RNDbytes = 2048
|
||||
RNDfile = bananarand.bin
|
||||
RNDoverwrite = yes
|
||||
#
|
||||
# Remote server certs could go here:
|
||||
# CApath = /path/to/.../crt-dir
|
||||
# CAfile = /path/to/.../foo.crt
|
||||
# verify = 2
|
||||
# My cert could go here:
|
||||
# cert = /path/to/.../my.pem
|
||||
#
|
||||
[vnc]
|
||||
#
|
||||
# Set to local listening port number (e.g. 5900 for vnc display 0):
|
||||
#
|
||||
accept = localhost:5900
|
||||
#
|
||||
# Set to remote host:port to connect to (e.g. far-away.east:5900):
|
||||
# (this is where the VNC server is. :0 -> port 5900, etc)
|
||||
#
|
||||
connect = HOST:PORT
|
||||
delay = no
|
||||
#
|
||||
# You could add additional ones going to other VNC servers:
|
||||
# [vnc2]
|
||||
# accept = localhost:5901
|
||||
# connect = HOST2:PORT2
|
||||
# etc ...
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Example SSL stunnel SERVER configuration file. (e.g. for your VNC
|
||||
# server on this same machine.)
|
||||
#
|
||||
# To use this file you may need to edit it. Then you will need
|
||||
# to manually start up stunnel using it.
|
||||
# (e.g. /path/to/stunnel stunnel-server.conf)
|
||||
#
|
||||
# This is just an example and is not used by the tools in this package.
|
||||
# It is here in case you wanted to see how to add SSL support to any
|
||||
# VNC server you have.
|
||||
#
|
||||
RNDbytes = 2048
|
||||
RNDfile = bananarand.bin
|
||||
RNDoverwrite = yes
|
||||
#
|
||||
# Remote client certs could go here:
|
||||
# CApath = /path/to/.../crt-dir
|
||||
# CAfile = /path/to/.../foo.crt
|
||||
# verify = 2
|
||||
# My server cert could go here:
|
||||
# cert = /path/to/.../my.pem
|
||||
#
|
||||
[vnc]
|
||||
#
|
||||
# Set to local listening port number (e.g. 5901 for vnc display 1):
|
||||
# so the remote viewers would connect to: yourmachine:1
|
||||
#
|
||||
accept = 5901
|
||||
#
|
||||
# Set to localhost:port to connect to VNC server on this same machine:
|
||||
# (E.g. you run WinVNC on :0, preferably listening on localhost).
|
||||
#
|
||||
connect = localhost:5900
|
@ -0,0 +1 @@
|
||||
ftp://ftp.microsoft.com/Services/TechNet/samples/PS/Win98/Reskit/DIAGNOSE/
|
@ -0,0 +1,124 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
|
||||
#
|
||||
# ssl_tightvncviewer:
|
||||
#
|
||||
# A wrapper that calls ssl_vncviewer to use the enhanced TightVNC viewer.
|
||||
#
|
||||
# The enhanced TightVNC viewer features are:
|
||||
#
|
||||
# - SSL support for connections using the co-bundled stunnel program.
|
||||
# - rfbNewFBSize VNC support (screen resizing)
|
||||
# - cursor alphablending with x11vnc at 32bpp
|
||||
# - xgrabserver support for fullscreen mode (for old window mgrs)
|
||||
#
|
||||
#
|
||||
# Your platform (e.g. Linux.i686) is autodetected and enhanced
|
||||
# vncviewer and stunnel binaries for it are used (see the ./bin directory).
|
||||
#
|
||||
# See the build.unix script if your platform is not in this package.
|
||||
# You can also set the env. var. UNAME=os.arch to any "os.arch" you want
|
||||
# to override the autodetetion.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# ssl_tightvncviewer [ssl_vncviewer-args] hostname:N [tightvncviewer-args]
|
||||
#
|
||||
# "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:
|
||||
#
|
||||
# -verify pemfile
|
||||
# -mycert pemfile
|
||||
# -proxy phost:pport
|
||||
# -alpha
|
||||
# -grab
|
||||
#
|
||||
#
|
||||
# See the TightVNC viewer documentation for on its cmdline arguments.
|
||||
#
|
||||
# For convenience, here is the current (7/2006) TightVNC viewer -help output:
|
||||
#
|
||||
# TightVNC viewer version 1.3dev5
|
||||
#
|
||||
# Usage: vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>]
|
||||
# vncviewer [<OPTIONS>] [<HOST>][::<PORT#>]
|
||||
# vncviewer [<OPTIONS>] -listen [<DISPLAY#>]
|
||||
# vncviewer -help
|
||||
#
|
||||
# <OPTIONS> are standard Xt options, or:
|
||||
# -via <GATEWAY>
|
||||
# -shared (set by default)
|
||||
# -noshared
|
||||
# -viewonly
|
||||
# -fullscreen
|
||||
# -noraiseonbeep
|
||||
# -passwd <PASSWD-FILENAME> (standard VNC authentication)
|
||||
# -user <USERNAME> (Unix login authentication)
|
||||
# -encodings <ENCODING-LIST> (e.g. "tight copyrect")
|
||||
# -bgr233
|
||||
# -owncmap
|
||||
# -truecolour
|
||||
# -depth <DEPTH>
|
||||
# -compresslevel <COMPRESS-VALUE> (0..9: 0-fast, 9-best)
|
||||
# -quality <JPEG-QUALITY-VALUE> (0..9: 0-low, 9-high)
|
||||
# -nojpeg
|
||||
# -nocursorshape
|
||||
# -x11cursor
|
||||
# -autopass
|
||||
#
|
||||
# Option names may be abbreviated, e.g. -bgr instead of -bgr233.
|
||||
# See the manual page for more information.
|
||||
#
|
||||
|
||||
if [ "X$1" = "X-h" -o "X$1" = "X-help" -o "X$1" = "X--help" ]; then
|
||||
head -70 "$0" | grep -v bin/sh
|
||||
exit
|
||||
fi
|
||||
|
||||
# Include /usr/bin... to be sure to get regular utilities:
|
||||
#
|
||||
PATH=$PATH:/usr/bin:/bin
|
||||
export PATH
|
||||
|
||||
# Set this for ssl_vncviewer to pick up:
|
||||
#
|
||||
VNCVIEWERCMD="vncviewer"
|
||||
export VNCVIEWERCMD
|
||||
|
||||
# work out os.arch platform string and check for binaries:
|
||||
#
|
||||
name=$UNAME
|
||||
if [ "X$name" = "X" ]; then
|
||||
name=`uname -sm | sed -e 's/ /./'`
|
||||
fi
|
||||
|
||||
if [ -L "$0" ]; then
|
||||
d=`dirname "\`ls -l "$0" | sed -e 's/^.* -> //'\`"`
|
||||
if echo "$d" | grep '^/' > /dev/null; then
|
||||
dir="$d"
|
||||
else
|
||||
dir="`dirname "$0"`/$d"
|
||||
fi
|
||||
else
|
||||
dir=`dirname "$0"`
|
||||
fi
|
||||
if [ ! -d "$dir/$name" ]; then
|
||||
echo "cannot find platform dir: $dir/$name for your OS:"
|
||||
uname -sm
|
||||
echo "you can set the \$UNAME env. var. to override the setting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Put our os.arch and other utils dirs at head of PATH to be sure to
|
||||
# pick them up:
|
||||
#
|
||||
PATH="$dir:$dir/$name:$dir/util:$PATH"
|
||||
|
||||
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"}
|
||||
export STUNNEL_EXTRA_OPTS
|
||||
|
||||
# Force the use of tight encoding for localhost redir connection:
|
||||
#
|
||||
ssl_vncviewer "$@" -encodings 'copyrect tight zrle zlib hextile'
|
@ -0,0 +1,64 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
|
||||
#
|
||||
# ssl_vnc_gui:
|
||||
#
|
||||
# A wrapper for ssl_tightvncviewer using a tcl/tk gui.
|
||||
#
|
||||
# See ssl_tightvncviewer for details.
|
||||
#
|
||||
if [ "X$XTERM_PRINT" != "X" ]; then
|
||||
XTERM_PRINT=""
|
||||
cat > /dev/null
|
||||
fi
|
||||
if [ "X$1" = "X-bg" ]; then
|
||||
shift
|
||||
$0 "$@" &
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin
|
||||
export PATH
|
||||
|
||||
SSL_VNC_GUI_CMD="$0 $*"
|
||||
export SSL_VNC_GUI_CMD
|
||||
SSL_VNC_LAUNCH=$SSL_VNC_GUI_CMD
|
||||
export SSL_VNC_LAUNCH
|
||||
|
||||
# work out os.arch platform string and check for binaries:
|
||||
#
|
||||
name=$UNAME
|
||||
if [ "X$name" = "X" ]; then
|
||||
name=`uname -sm | sed -e 's/ /./'`
|
||||
fi
|
||||
|
||||
if [ -L "$0" ]; then
|
||||
d=`dirname "\`ls -l "$0" | sed -e 's/^.* -> //'\`"`
|
||||
if echo "$d" | grep '^/' > /dev/null; then
|
||||
dir="$d"
|
||||
else
|
||||
dir="`dirname "$0"`/$d"
|
||||
fi
|
||||
else
|
||||
dir=`dirname "$0"`
|
||||
fi
|
||||
if [ ! -d "$dir/$name" ]; then
|
||||
echo "cannot find platform dir: $dir/$name for your OS:"
|
||||
uname -sm
|
||||
echo "you can set the \$UNAME env. var. to override the setting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Put our os.arch and other utils dirs at head of PATH to be sure to
|
||||
# pick them up:
|
||||
#
|
||||
PATH="$dir:$dir/$name:$dir/util:$PATH"
|
||||
|
||||
SSL_VNC_BASEDIR="$dir"
|
||||
export SSL_VNC_BASEDIR
|
||||
|
||||
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"}
|
||||
export STUNNEL_EXTRA_OPTS
|
||||
|
||||
exec ssl_tightvncviewer.tcl "$@"
|
@ -0,0 +1,129 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
|
||||
#
|
||||
# tightvncviewer:
|
||||
#
|
||||
# A wrapper that calls the enhanced TightVNC viewer.
|
||||
#
|
||||
# The enhanced TightVNC viewer features are:
|
||||
#
|
||||
# - SSL support for connections using the co-bundled stunnel program.
|
||||
# - rfbNewFBSize VNC support (screen resizing)
|
||||
# - cursor alphablending with x11vnc at 32bpp
|
||||
# - xgrabserver support for fullscreen mode (for old window mgrs)
|
||||
#
|
||||
#
|
||||
# Your platform (e.g. Linux.i686) is autodetected and enhanced
|
||||
# vncviewer and stunnel binaries for it are used (see the ./bin directory).
|
||||
#
|
||||
# See the build.unix script if your platform is not in this package if
|
||||
# you want to build one.
|
||||
#
|
||||
# See the build.unix script if your platform is not in this package if you want to build one.
|
||||
# You can also set the env. var. UNAME=os.arch to any "os.arch" you want
|
||||
# to override the autodetetion.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# tightvncviewer [tightvncviewer-args] hostname:N
|
||||
# or
|
||||
# tightvncviewer -ssl hostname:N [tightvncviewer-args]
|
||||
#
|
||||
# "hostname:N" is the host and VNC display to connect to, e.g. snoopy:0
|
||||
#
|
||||
# If the first argument is "-ssl" then ssl_tightvncviewer is called
|
||||
# instead. See that script for details.
|
||||
#
|
||||
# See the TightVNC viewer documentation for on its cmdline arguments.
|
||||
#
|
||||
# For convenience, here is the current (7/2006) TightVNC viewer -help output:
|
||||
#
|
||||
# TightVNC viewer version 1.3dev5
|
||||
#
|
||||
# Usage: vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>]
|
||||
# vncviewer [<OPTIONS>] [<HOST>][::<PORT#>]
|
||||
# vncviewer [<OPTIONS>] -listen [<DISPLAY#>]
|
||||
# vncviewer -help
|
||||
#
|
||||
# <OPTIONS> are standard Xt options, or:
|
||||
# -via <GATEWAY>
|
||||
# -shared (set by default)
|
||||
# -noshared
|
||||
# -viewonly
|
||||
# -fullscreen
|
||||
# -noraiseonbeep
|
||||
# -passwd <PASSWD-FILENAME> (standard VNC authentication)
|
||||
# -user <USERNAME> (Unix login authentication)
|
||||
# -encodings <ENCODING-LIST> (e.g. "tight copyrect")
|
||||
# -bgr233
|
||||
# -owncmap
|
||||
# -truecolour
|
||||
# -depth <DEPTH>
|
||||
# -compresslevel <COMPRESS-VALUE> (0..9: 0-fast, 9-best)
|
||||
# -quality <JPEG-QUALITY-VALUE> (0..9: 0-low, 9-high)
|
||||
# -nojpeg
|
||||
# -nocursorshape
|
||||
# -x11cursor
|
||||
# -autopass
|
||||
#
|
||||
# Option names may be abbreviated, e.g. -bgr instead of -bgr233.
|
||||
# See the manual page for more information.
|
||||
#
|
||||
|
||||
if [ "X$1" = "X-h" -o "X$1" = "X-help" -o "X$1" = "X--help" ]; then
|
||||
head -69 "$0" | grep -v bin/sh
|
||||
exit
|
||||
fi
|
||||
|
||||
# Include /usr/bin... to be sure to get regular utilities:
|
||||
#
|
||||
PATH=$PATH:/usr/bin:/bin
|
||||
export PATH
|
||||
|
||||
# Set this for ssl_vncviewer to pick up:
|
||||
#
|
||||
VNCVIEWERCMD="vncviewer"
|
||||
export VNCVIEWERCMD
|
||||
|
||||
# work out os.arch platform string and check for binaries:
|
||||
#
|
||||
name=$UNAME
|
||||
if [ "X$name" = "X" ]; then
|
||||
name=`uname -sm | sed -e 's/ /./'`
|
||||
fi
|
||||
|
||||
if [ -L "$0" ]; then
|
||||
d=`dirname "\`ls -l "$0" | sed -e 's/^.* -> //'\`"`
|
||||
if echo "$d" | grep '^/' > /dev/null; then
|
||||
dir="$d"
|
||||
else
|
||||
dir="`dirname "$0"`/$d"
|
||||
fi
|
||||
else
|
||||
dir=`dirname "$0"`
|
||||
fi
|
||||
if [ ! -d "$dir/$name" ]; then
|
||||
echo "cannot find platform dir: $dir/$name for your OS:"
|
||||
uname -sm
|
||||
echo "you can set the \$UNAME env. var. to override the setting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Put our os.arch and other utils dirs at head of PATH to be sure to
|
||||
# pick them up:
|
||||
#
|
||||
PATH="$dir:$dir/$name:$dir/util:$PATH"
|
||||
|
||||
if [ "X$1" = "X-ssl" ]; then
|
||||
shift
|
||||
ssl_tightvncviewer "$@"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"}
|
||||
export STUNNEL_EXTRA_OPTS
|
||||
|
||||
# Force the use of tight encoding for localhost redir connection:
|
||||
#
|
||||
vncviewer -encodings 'copyrect tight zrle zlib hextile' "$@"
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,530 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# ssl_vncviewer: wrapper for vncviewer to use an stunnel SSL tunnel
|
||||
# or an SSH tunnel.
|
||||
#
|
||||
# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
|
||||
#
|
||||
# You must have stunnel(8) installed on the system and in your PATH
|
||||
# (however, see the -ssh option below, in which case you will need ssh(1)
|
||||
# installed) Note: stunnel is usually installed in an "sbin" subdirectory.
|
||||
#
|
||||
# You should have "x11vnc -ssl ..." or "x11vnc -stunnel ..."
|
||||
# already running as the VNC server on the remote machine.
|
||||
# (or use stunnel on the server side for any other VNC server)
|
||||
#
|
||||
#
|
||||
# Usage: ssl_vncviewer [cert-args] host:display <vncviewer-args>
|
||||
#
|
||||
# e.g.: ssl_vncviewer snoopy:0
|
||||
# ssl_vncviewer snoopy:0 -encodings "copyrect tight zrle hextile"
|
||||
#
|
||||
# [cert-args] can be:
|
||||
#
|
||||
# -verify /path/to/cacert.pem
|
||||
# -mycert /path/to/mycert.pem
|
||||
# -proxy host:port
|
||||
#
|
||||
# -verify specifies a CA cert PEM file (or a self-signed one) for
|
||||
# authenticating the VNC server.
|
||||
#
|
||||
# -mycert specifies this client's cert+key PEM file for the VNC server to
|
||||
# authenticate this client.
|
||||
#
|
||||
# -proxy try host:port as a Web proxy to use the CONNECT method
|
||||
# to reach the VNC server (e.g. your firewall requires a proxy).
|
||||
# For the "double proxy" case use -proxy host1:port1,host2:port2
|
||||
#
|
||||
# See http://www.karlrunge.com/x11vnc/#faq-ssl-ca for details on SSL
|
||||
# certificates with VNC.
|
||||
#
|
||||
# A few other args (not related to SSL and certs):
|
||||
#
|
||||
# -ssh Use ssh instead of stunnel SSL. ssh(1) must be installed and you
|
||||
# must be able to log into the remote machine via ssh.
|
||||
#
|
||||
# In this case "host:display" may be of the form "user@host:display"
|
||||
# where "user@host" is used for the ssh login (see ssh(1) manpage).
|
||||
#
|
||||
# If -proxy is supplied it can be of the forms: "gwhost" "gwhost:port"
|
||||
# "user@gwhost" or "user@gwhost:port". "gwhost" is an incoming ssh
|
||||
# gateway machine (the VNC server is not running there), an ssh -L
|
||||
# redir is used to "host" in "host:display" from "gwhost". Any "user@"
|
||||
# part must be in the -proxy string (not in "host:display").
|
||||
#
|
||||
# Under -proxy use "gwhost:port" if connecting to any ssh port
|
||||
# other than the default (22). (even for the non-gateway case,
|
||||
# -proxy must be used to specify a non-standard ssh port)
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# ssl_vncviewer -ssh bob@bobs-home.net:0
|
||||
# ssl_vncviewer -ssh -sshcmd 'x11vnc -localhost' bob@bobs-home.net:0
|
||||
#
|
||||
# ssl_vncviewer -ssh -proxy fred@mygate.com:2022 mymachine:0
|
||||
# ssl_vncviewer -ssh -proxy bob@bobs-home.net:2222 localhost:0
|
||||
#
|
||||
# -sshcmd cmd Run "cmd" via ssh instead of the default "sleep 15"
|
||||
# e.g. -sshcmd 'x11vnc -display :0 -localhost -rfbport 5900'
|
||||
#
|
||||
# -sshargs "args" pass "args" to the ssh process, e.g. -L/-R port redirs.
|
||||
#
|
||||
# -sshssl Tunnel the SSL connection thru a SSH connection. The tunnel as
|
||||
# under -ssh is set up and the SSL connection goes thru it. Use
|
||||
# this if you want to have and end-to-end SSL connection but must
|
||||
# go thru a SSH gateway host (e.g. not the vnc server). Or use
|
||||
# this if you need to tunnel additional services via -R and -L
|
||||
# (see -sshargs above).
|
||||
#
|
||||
# ssl_vncviewer -sshssl -proxy fred@mygate.com mymachine:0
|
||||
#
|
||||
#
|
||||
# -alpha turn on cursor alphablending hack if you are using the
|
||||
# enhanced tightvnc vncviewer.
|
||||
#
|
||||
# -grab turn on XGrabServer hack if you are using the enhanced tightvnc
|
||||
# vncviewer (e.g. for fullscreen mode in some windowmanagers like
|
||||
# fvwm that do not otherwise work in fullscreen mode)
|
||||
#
|
||||
#
|
||||
# set VNCVIEWERCMD to whatever vncviewer command you want to use.
|
||||
#
|
||||
VNCIPCMD=${VNCVIEWERCMD:-vncip}
|
||||
VNCVIEWERCMD=${VNCVIEWERCMD:-vncviewer}
|
||||
#
|
||||
# Same for STUNNEL, e.g. set it to /path/to/stunnel or stunnel4, etc.
|
||||
#
|
||||
|
||||
|
||||
PATH=$PATH:/usr/sbin:/usr/local/sbin:/dist/sbin; export PATH
|
||||
|
||||
if [ "X$STUNNEL" = "X" ]; then
|
||||
type stunnel4 > /dev/null 2>&1
|
||||
if [ $? = 0 ]; then
|
||||
STUNNEL=stunnel4
|
||||
else
|
||||
STUNNEL=stunnel
|
||||
fi
|
||||
fi
|
||||
|
||||
help() {
|
||||
tail +2 "$0" | sed -e '/^$/ q'
|
||||
}
|
||||
|
||||
gotalpha=""
|
||||
use_ssh=""
|
||||
use_sshssl=""
|
||||
ssh_sleep=15
|
||||
ssh_cmd="sleep $ssh_sleep"
|
||||
if [ "X$SSL_VNCVIEWER_SSH_CMD" != "X" ]; then
|
||||
ssh_cmd="$SSL_VNCVIEWER_SSH_CMD"
|
||||
fi
|
||||
ssh_args=""
|
||||
|
||||
# grab our cmdline options:
|
||||
while [ "X$1" != "X" ]
|
||||
do
|
||||
case $1 in
|
||||
"-verify") shift; verify="$1"
|
||||
;;
|
||||
"-mycert") shift; mycert="$1"
|
||||
;;
|
||||
"-proxy") shift; proxy="$1"
|
||||
;;
|
||||
"-ssh") use_ssh=1
|
||||
;;
|
||||
"-sshssl") use_ssh=1
|
||||
use_sshssl=1
|
||||
;;
|
||||
"-sshcmd") shift; ssh_cmd="$1"
|
||||
;;
|
||||
"-sshargs") shift; ssh_args="$1"
|
||||
;;
|
||||
"-alpha") gotalpha=1
|
||||
;;
|
||||
"-grab") VNCVIEWER_GRAB_SERVER=1; export VNCVIEWER_GRAB_SERVER
|
||||
;;
|
||||
"-h"*) help; exit 0
|
||||
;;
|
||||
"--h"*) help; exit 0
|
||||
;;
|
||||
*) break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "X$gotalpha" != "X1" ]; then
|
||||
NO_ALPHABLEND=1
|
||||
export NO_ALPHABLEND
|
||||
fi
|
||||
|
||||
orig="$1"
|
||||
shift
|
||||
|
||||
if [ "X$use_ssh" = "X1" -a "X$use_sshssl" = "X" ]; then
|
||||
if [ "X$mycert" != "X" -o "X$verify" != "X" ]; then
|
||||
echo "-mycert and -verify cannot be used in -ssh mode"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# play around with host:display port:
|
||||
if echo "$orig" | grep ':' > /dev/null; then
|
||||
:
|
||||
else
|
||||
orig="$orig:0"
|
||||
fi
|
||||
|
||||
host=`echo "$orig" | awk -F: '{print $1}'`
|
||||
disp=`echo "$orig" | awk -F: '{print $2}'`
|
||||
if [ "X$host" = "X" ]; then
|
||||
host=localhost
|
||||
fi
|
||||
if [ $disp -lt 200 ]; then
|
||||
port=`expr $disp + 5900`
|
||||
else
|
||||
port=$disp
|
||||
fi
|
||||
|
||||
# try to find an open listening port via netstat(1):
|
||||
inuse=""
|
||||
if uname | grep Linux > /dev/null; then
|
||||
inuse=`netstat -ant | egrep 'LISTEN|WAIT|ESTABLISH|CLOSE' | awk '{print $4}' | sed 's/^.*://'`
|
||||
elif uname | grep SunOS > /dev/null; then
|
||||
inuse=`netstat -an -f inet -P tcp | grep LISTEN | awk '{print $1}' | sed 's/^.*\.//'`
|
||||
# add others...
|
||||
fi
|
||||
|
||||
date_sec=`date +%S`
|
||||
|
||||
findfree() {
|
||||
try0=$1
|
||||
try=$try0
|
||||
use0=""
|
||||
|
||||
while [ $try -lt 6000 ]
|
||||
do
|
||||
if [ "X$inuse" = "X" ]; then
|
||||
break
|
||||
fi
|
||||
if echo "$inuse" | grep -w $try > /dev/null; then
|
||||
:
|
||||
else
|
||||
use0=$try
|
||||
break
|
||||
fi
|
||||
try=`expr $try + 1`
|
||||
done
|
||||
if [ "X$use0" = "X" ]; then
|
||||
use0=`expr $date_sec + $try0`
|
||||
fi
|
||||
|
||||
echo $use0
|
||||
}
|
||||
|
||||
use=`findfree 5930`
|
||||
|
||||
if [ $use -ge 5900 ]; then
|
||||
N=`expr $use - 5900`
|
||||
else
|
||||
N=$use
|
||||
fi
|
||||
|
||||
if echo "$0" | grep vncip > /dev/null; then
|
||||
VNCVIEWERCMD="$VNCIPCMD"
|
||||
fi
|
||||
|
||||
if [ "X$use_ssh" = "X1" ]; then
|
||||
ssh_port="22"
|
||||
ssh_host="$host"
|
||||
vnc_host="localhost"
|
||||
ssh=${SSH:-"ssh -x"}
|
||||
if [ "X$proxy" != "X" ]; then
|
||||
ssh_port=`echo "$proxy" | awk -F: '{print $2}'`
|
||||
if [ "X$ssh_port" = "X" ]; then
|
||||
ssh_port="22"
|
||||
fi
|
||||
ssh_host=`echo "$proxy" | awk -F: '{print $1}'`
|
||||
vnc_host="$host"
|
||||
fi
|
||||
echo ""
|
||||
echo "Running ssh:"
|
||||
sz=`echo "$ssh_cmd" | wc -c`
|
||||
if [ "$sz" -gt 200 ]; then
|
||||
info="..."
|
||||
else
|
||||
info="$ssh_cmd"
|
||||
fi
|
||||
|
||||
C=""
|
||||
if [ "X$SSL_VNCVIEWER_USE_C" != "X" ]; then
|
||||
C="-C"
|
||||
fi
|
||||
# the -t option actually speeds up typing response via VNC!!
|
||||
if [ "X$SSL_VNCVIEWER_SSH_ONLY" != "X" ]; then
|
||||
echo "$ssh -p $ssh_port -t $C $ssh_args $ssh_host \"$info\""
|
||||
echo ""
|
||||
$ssh -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd"
|
||||
exit $?
|
||||
elif [ "X$SSL_VNCVIEWER_NO_F" != "X" ]; then
|
||||
echo "$ssh -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\""
|
||||
echo ""
|
||||
$ssh -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd"
|
||||
else
|
||||
echo "$ssh -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\""
|
||||
echo ""
|
||||
$ssh -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd"
|
||||
fi
|
||||
if [ "$?" != "0" ]; then
|
||||
echo ""
|
||||
echo "ssh to $ssh_host failed."
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
if [ "X$ssh_cmd" = "Xsleep $ssh_sleep" ] ; then
|
||||
sleep 1
|
||||
else
|
||||
# let any command get started a bit.
|
||||
sleep 5
|
||||
fi
|
||||
echo ""
|
||||
#reset
|
||||
stty sane
|
||||
if [ "X$use_sshssl" = "X" ]; then
|
||||
echo "Running viewer:"
|
||||
echo $VNCVIEWERCMD "$@" localhost:$N
|
||||
echo ""
|
||||
$VNCVIEWERCMD "$@" localhost:$N
|
||||
|
||||
exit $?
|
||||
else
|
||||
use2=`findfree 5960`
|
||||
host0=$host
|
||||
port0=$port
|
||||
host=localhost
|
||||
port=$use
|
||||
use=$use2
|
||||
N=`expr $use - 5900`
|
||||
proxy=""
|
||||
fi
|
||||
fi
|
||||
|
||||
# create the stunnel config file:
|
||||
if [ "X$verify" != "X" ]; then
|
||||
if [ -d $verify ]; then
|
||||
verify="CApath = $verify"
|
||||
else
|
||||
verify="CAfile = $verify"
|
||||
fi
|
||||
verify="$verify
|
||||
verify = 2"
|
||||
fi
|
||||
if [ "X$mycert" != "X" ]; then
|
||||
cert="cert = $mycert"
|
||||
fi
|
||||
|
||||
mytmp() {
|
||||
tf=$1
|
||||
rm -rf "$tf" || exit 1
|
||||
if [ -d "$tf" ]; then
|
||||
echo "tmp file $tf still exists as a directory."
|
||||
exit 1
|
||||
elif [ -L "$tf" ]; then
|
||||
echo "tmp file $tf still exists as a symlink."
|
||||
exit 1
|
||||
elif [ -f "$tf" ]; then
|
||||
echo "tmp file $tf still exists."
|
||||
exit 1
|
||||
fi
|
||||
touch "$tf" || exit 1
|
||||
chmod 600 "$tf" || exit 1
|
||||
}
|
||||
|
||||
if echo "$RANDOM" | grep '[^0-9]' > /dev/null; then
|
||||
RANDOM=`date +%S`
|
||||
fi
|
||||
|
||||
pcode() {
|
||||
tf=$1
|
||||
SSL_VNC_PROXY=$proxy; export SSL_VNC_PROXY
|
||||
SSL_VNC_DEST="$host:$port"; export SSL_VNC_DEST
|
||||
cod='#!/usr/bin/perl
|
||||
|
||||
# A hack to glue stunnel to a Web proxy for client connections.
|
||||
|
||||
use IO::Socket::INET;
|
||||
|
||||
my ($first, $second) = split(/,/, $ENV{SSL_VNC_PROXY});
|
||||
my ($proxy_host, $proxy_port) = split(/:/, $first);
|
||||
my $connect = $ENV{SSL_VNC_DEST};
|
||||
|
||||
print STDERR "\nperl script for web proxing:\n";
|
||||
print STDERR "proxy_host: $proxy_host\n";
|
||||
print STDERR "proxy_port: $proxy_port\n";
|
||||
print STDERR "proxy_connect: $connect\n";
|
||||
|
||||
my $sock = IO::Socket::INET->new(
|
||||
PeerAddr => $proxy_host,
|
||||
PeerPort => $proxy_port,
|
||||
Proto => "tcp");
|
||||
|
||||
if (! $sock) {
|
||||
unlink($0);
|
||||
die "perl proxy: $!\n";
|
||||
}
|
||||
|
||||
my $con = "";
|
||||
if ($second ne "") {
|
||||
$con = "CONNECT $second HTTP/1.1\r\n";
|
||||
$con .= "Host: $second\r\n\r\n";
|
||||
} else {
|
||||
$con = "CONNECT $connect HTTP/1.1\r\n";
|
||||
$con .= "Host: $connect\r\n\r\n";
|
||||
}
|
||||
|
||||
print STDERR "proxy_request1:\n$con";
|
||||
print $sock $con;
|
||||
|
||||
unlink($0);
|
||||
|
||||
my $rep = "";
|
||||
while ($rep !~ /\r\n\r\n/) {
|
||||
my $c = getc($sock);
|
||||
print STDERR $c;
|
||||
$rep .= $c;
|
||||
}
|
||||
if ($rep !~ m,HTTP/.* 200,) {
|
||||
die "proxy error: $rep\n";
|
||||
}
|
||||
|
||||
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 $sock $con;
|
||||
|
||||
$rep = "";
|
||||
while ($rep !~ /\r\n\r\n/) {
|
||||
my $c = getc($sock);
|
||||
print STDERR $c;
|
||||
$rep .= $c;
|
||||
}
|
||||
if ($rep !~ m,HTTP/.* 200,) {
|
||||
die "proxy error: $rep\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (fork) {
|
||||
print STDERR "parent\[$$] STDIN -> socket\n\n";
|
||||
xfer(STDIN, $sock);
|
||||
} else {
|
||||
print STDERR "child \[$$] socket -> STDOUT\n\n";
|
||||
xfer($sock, STDOUT);
|
||||
}
|
||||
exit;
|
||||
|
||||
sub xfer {
|
||||
my($in, $out) = @_;
|
||||
$RIN = $WIN = $EIN = "";
|
||||
$ROUT = "";
|
||||
vec($RIN, fileno($in), 1) = 1;
|
||||
vec($WIN, fileno($in), 1) = 1;
|
||||
$EIN = $RIN | $WIN;
|
||||
|
||||
while (1) {
|
||||
my $nf = 0;
|
||||
while (! $nf) {
|
||||
$nf = select($ROUT=$RIN, undef, undef, undef);
|
||||
}
|
||||
my $len = sysread($in, $buf, 8192);
|
||||
if (! defined($len)) {
|
||||
next if $! =~ /^Interrupted/;
|
||||
print STDERR "perl proxy\[$$]: $!\n";
|
||||
last;
|
||||
} elsif ($len == 0) {
|
||||
print STDERR "perl proxy\[$$]: Input is EOF.\n";
|
||||
last;
|
||||
}
|
||||
my $offset = 0;
|
||||
my $quit = 0;
|
||||
while ($len) {
|
||||
my $written = syswrite($out, $buf, $len, $offset);
|
||||
if (! defined $written) {
|
||||
print STDERR "perl proxy\[$$]: Output is EOF. $!\n";
|
||||
$quit = 1;
|
||||
last;
|
||||
}
|
||||
$len -= $written;
|
||||
$offset += $written;
|
||||
}
|
||||
last if $quit;
|
||||
}
|
||||
close($in);
|
||||
close($out);
|
||||
}
|
||||
'
|
||||
echo "$cod" > $tf
|
||||
chmod 700 $tf
|
||||
}
|
||||
|
||||
ptmp=""
|
||||
if [ "X$proxy" != "X" ]; then
|
||||
ptmp="/tmp/ssl_vncviewer${RANDOM}.$$.pl"
|
||||
mytmp "$ptmp"
|
||||
pcode "$ptmp"
|
||||
connect="exec = $ptmp"
|
||||
else
|
||||
connect="connect = $host:$port"
|
||||
fi
|
||||
|
||||
|
||||
##debug = 7
|
||||
tmp=/tmp/ssl_vncviewer${RANDOM}.$$
|
||||
mytmp "$tmp"
|
||||
|
||||
cat > "$tmp" <<END
|
||||
foreground = yes
|
||||
pid =
|
||||
client = yes
|
||||
debug = 6
|
||||
$STUNNEL_EXTRA_OPTS
|
||||
$verify
|
||||
$cert
|
||||
|
||||
[vnc_stunnel]
|
||||
accept = localhost:$use
|
||||
$connect
|
||||
END
|
||||
|
||||
echo ""
|
||||
echo "Using this stunnel configuration:"
|
||||
echo ""
|
||||
cat "$tmp" | uniq
|
||||
echo ""
|
||||
sleep 1
|
||||
|
||||
echo ""
|
||||
echo "Running: stunnel"
|
||||
echo "$STUNNEL $tmp"
|
||||
$STUNNEL "$tmp" < /dev/tty > /dev/tty &
|
||||
pid=$!
|
||||
echo ""
|
||||
|
||||
# pause here to let the user supply a possible passphrase for the
|
||||
# mycert key:
|
||||
if [ "X$mycert" != "X" ]; then
|
||||
sleep 4
|
||||
fi
|
||||
sleep 2
|
||||
rm -f "$tmp"
|
||||
|
||||
echo ""
|
||||
echo "Running viewer:"
|
||||
echo $VNCVIEWERCMD "$@" localhost:$N
|
||||
echo ""
|
||||
$VNCVIEWERCMD "$@" localhost:$N
|
||||
|
||||
kill $pid
|
||||
sleep 1
|
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Example SSL stunnel SERVER configuration file. (e.g. for your VNC
|
||||
# server on this same machine.)
|
||||
#
|
||||
# To use this file you may need to edit it. Then you will need
|
||||
# to manually start up stunnel using it.
|
||||
# (e.g. /path/to/stunnel stunnel-server.conf)
|
||||
#
|
||||
# This is just an example and is not used by the tools in this package.
|
||||
# It is here in case you wanted to see how to add SSL support to any
|
||||
# VNC server you have.
|
||||
#
|
||||
RNDbytes = 2048
|
||||
RNDfile = bananarand.bin
|
||||
RNDoverwrite = yes
|
||||
#
|
||||
# Remote client certs could go here:
|
||||
# CApath = /path/to/.../crt-dir
|
||||
# CAfile = /path/to/.../foo.crt
|
||||
# verify = 2
|
||||
# My server cert could go here:
|
||||
# cert = /path/to/.../my.pem
|
||||
#
|
||||
[vnc]
|
||||
#
|
||||
# Set to local listening port number (e.g. 5901 for vnc display 1):
|
||||
# so the remote viewers would connect to: yourmachine:1
|
||||
#
|
||||
accept = 5901
|
||||
#
|
||||
# Set to localhost:port to connect to VNC server on this same machine:
|
||||
# (E.g. you run WinVNC on :0, preferably listening on localhost).
|
||||
#
|
||||
connect = localhost:5900
|
@ -0,0 +1,244 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Add useful directories to PATH:
|
||||
#
|
||||
PATH=$PATH:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin/X11:/usr/openwin/bin:/opt/SUNWspro/bin:/usr/sfw/bin:/usr/ccs/bin
|
||||
export PATH
|
||||
|
||||
# Check location:
|
||||
#
|
||||
thisdir=`dirname "$0"`
|
||||
if [ ! -d ./bin -o ! -d src/patches ]; then
|
||||
echo "You must run this script from: $thisdir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Try to find osname.arch
|
||||
#
|
||||
name=$UNAME
|
||||
if [ "X$name" = "X" ]; then
|
||||
name=`uname -sm | sed -e 's/ /./'`
|
||||
fi
|
||||
if [ "X$name" = "X" ]; then
|
||||
echo "cannot determine platform: os.arch, e.g. Linux.i686"
|
||||
echo "set \$UNAME manually and retry."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Work out main destination:
|
||||
#
|
||||
dest=./bin/$name
|
||||
if [ -d $dest ]; then
|
||||
printf "$dest exists. overwrite it? [y]/n "
|
||||
read x
|
||||
if [ "X$x" = "Xn" ]; then
|
||||
exit
|
||||
fi
|
||||
rm -rf $dest
|
||||
fi
|
||||
mkdir -p $dest || exit 1
|
||||
|
||||
# Create a tmp dir for this build:
|
||||
#
|
||||
tmp=./src/tmp/$name.$$
|
||||
if [ "X$TMPDIR" != "X" ]; then
|
||||
tmp="$TMPDIR/$tmp"
|
||||
fi
|
||||
mkdir -p $tmp || exit 1
|
||||
|
||||
# Try to find some static archives of various libraries:
|
||||
#
|
||||
libs="$tmp/libs"
|
||||
mkdir -p $libs || exit 1
|
||||
#for liba in libz.a libjpeg.a libssl.a libcrypto.a
|
||||
for liba in libz.a libjpeg.a
|
||||
do
|
||||
for dir in /usr/lib /lib /usr/local/lib /usr/pkg/lib /usr/sfw/lib /usr/openwin/lib
|
||||
do
|
||||
if [ "$name" = "Linux.x86_64" -o "$name" = "Linux.ppc64" ] ; then
|
||||
dir64=`echo "$dir" | sed -e 's,lib,lib64,'`
|
||||
fi
|
||||
try="$dir/$liba"
|
||||
if [ -f $try ]; then
|
||||
cp -p "$try" $libs
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo "Found these static archive libraries, will try to use them..."
|
||||
ls -ld $libs
|
||||
ls -l $libs
|
||||
echo
|
||||
|
||||
have_gcc=""
|
||||
if type gcc > /dev/null; then
|
||||
have_gcc=1
|
||||
fi
|
||||
have_cc=""
|
||||
if type cc > /dev/null; then
|
||||
have_cc=1
|
||||
fi
|
||||
|
||||
if [ "X$have_cc" = "X" ]; then
|
||||
if [ "X$have_gcc" = "X1" ]; then
|
||||
cat > $tmp/cc <<END
|
||||
#!/bin/sh
|
||||
gcc "\$@"
|
||||
END
|
||||
chmod 755 $tmp/cc
|
||||
PATH=$PATH:`pwd`/$tmp
|
||||
type cc
|
||||
type gcc
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ `uname` = "SunOS" ]; then
|
||||
LDFLAGS_OS="$LDFLAGS_OS -L/usr/sfw/lib -R/usr/sfw/lib"
|
||||
CPPFLAGS_OS="$CPPFLAGS_OS -I /usr/sfw/include"
|
||||
elif uname | grep -i bsd > /dev/null; then
|
||||
LDFLAGS_OS="$LDFLAGS_OS -L/usr/local/lib -L/usr/pkg/lib"
|
||||
CPPFLAGS_OS="$CPPFLAGS_OS -I /usr/local/include -I /usr/pkg/include"
|
||||
fi
|
||||
|
||||
# Do tightvnc viewer:
|
||||
#
|
||||
tight_src=`ls -td ./src/vnc_unixsrc* | head -1`
|
||||
if [ ! -d $tight_src ]; then
|
||||
echo "could not locate tight vnc viewer source"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp -pR "$tight_src" "$tmp/vnc_unixsrc" || exit 1
|
||||
|
||||
echo "applying tight vnc patches:"
|
||||
start=`pwd`
|
||||
cd $tmp;
|
||||
failed=0
|
||||
for patch in ../../patches/tight*
|
||||
do
|
||||
if [ ! -f "$patch" ]; then
|
||||
continue
|
||||
fi
|
||||
patch -p0 < $patch
|
||||
if [ $? != 0 ]; then
|
||||
failed=`expr $failed + 1`
|
||||
fi
|
||||
done
|
||||
cd "$start"
|
||||
if [ $failed != 0 ]; then
|
||||
ball=src/zips/vnc_unixsrc_vncviewer.patched.tar
|
||||
echo "patches failed, trying to use backup tarball:"
|
||||
ls -l $ball
|
||||
sleep 2
|
||||
cat $ball | (cd $tmp; tar -xvf -)
|
||||
fi
|
||||
echo
|
||||
|
||||
|
||||
cd $tmp/vnc_unixsrc
|
||||
xmkmf
|
||||
make Makefiles
|
||||
mv vncviewer/Makefile vncviewer/Makefile.orig
|
||||
sed -e "s,EXTRA_LDOPTIONS =,EXTRA_LDOPTIONS = -L$start/$libs $LDFLAGS_OS," \
|
||||
-e "s,CCOPTIONS =,CCOPTIONS = $CPPFLAGS_OS," \
|
||||
vncviewer/Makefile.orig > vncviewer/Makefile
|
||||
|
||||
if [ `uname` = "SunOS" ]; then
|
||||
for d in vncviewer libvncauth vncconnect vncpasswd
|
||||
do
|
||||
mv $d/Makefile $d/Makefile.orig
|
||||
sed -e "s,CCOPTIONS =.*\$,CCOPTIONS = $CPPFLAGS_OS," \
|
||||
$d/Makefile.orig > $d/Makefile
|
||||
done
|
||||
fi
|
||||
|
||||
make depend
|
||||
echo $PATH
|
||||
make all
|
||||
ls -l vncviewer/vncviewer
|
||||
cd "$start"
|
||||
src=$tmp/vnc_unixsrc/vncviewer/vncviewer
|
||||
sync
|
||||
sleep 2
|
||||
sync
|
||||
strip $src
|
||||
sync
|
||||
sleep 2
|
||||
sync
|
||||
wc $src
|
||||
sum $src
|
||||
sleep 2
|
||||
echo cp -p $src $dest/vncviewer
|
||||
cp -p $src $dest/vncviewer || exit 1
|
||||
sleep 1
|
||||
cp -p $src $dest/vncviewer || exit 1
|
||||
ls -l $src $dest/vncviewer
|
||||
$dest/vncviewer -h
|
||||
ldd $dest/vncviewer
|
||||
echo ""
|
||||
|
||||
# Do stunnel:
|
||||
#
|
||||
stunnel_src=`ls -td ./src/stunnel* | head -1`
|
||||
if [ ! -d $stunnel_src ]; then
|
||||
echo "could not locate stunnel source"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp -pR "$stunnel_src" "$tmp/stunnel" || exit 1
|
||||
|
||||
echo "applying stunnel patches:"
|
||||
start=`pwd`
|
||||
cd $tmp;
|
||||
failed=0
|
||||
for patch in ../../patches/stunnel*
|
||||
do
|
||||
if [ ! -f "$patch" ]; then
|
||||
continue
|
||||
fi
|
||||
patch -p0 < $patch
|
||||
if [ $? != 0 ]; then
|
||||
failed=`expr $failed + 1`
|
||||
fi
|
||||
done
|
||||
cd "$start"
|
||||
if [ $failed != 0 ]; then
|
||||
ball=src/zips/stunnel.patched.tar
|
||||
echo "patches failed, trying to use backup tarball:"
|
||||
ls -l $ball
|
||||
sleep 2
|
||||
cat $ball | (cd $tmp; tar -xvf -)
|
||||
fi
|
||||
echo
|
||||
|
||||
|
||||
cd $tmp/stunnel
|
||||
if [ `uname` = "SunOS" ]; then
|
||||
cp configure configure.orig
|
||||
sed -e "s,/var/ssl,/var/ssl /usr/sfw," configure.orig > configure
|
||||
fi
|
||||
env LDFLAGS="-L$start/$libs $LDFLAGS_OS" CPPFLAGS="$CPPFLAGS_OS" ./configure --disable-libwrap
|
||||
make
|
||||
ls -l src/stunnel
|
||||
cd "$start"
|
||||
src=$tmp/stunnel/src/stunnel
|
||||
sync
|
||||
sleep 2
|
||||
sync
|
||||
strip $src
|
||||
sync
|
||||
sleep 2
|
||||
sync
|
||||
wc $src
|
||||
sum $src
|
||||
sleep 2
|
||||
echo cp -p $src $dest/stunnel
|
||||
cp -p $src $dest/stunnel || exit 1
|
||||
sleep 1
|
||||
cp -p $src $dest/stunnel || exit 1
|
||||
ls -l $src $dest/stunnel
|
||||
$dest/stunnel -help
|
||||
ldd $dest/stunnel
|
||||
echo ""
|
||||
|
||||
$dest/vncviewer -h
|
||||
ldd $dest/vncviewer
|
@ -0,0 +1,280 @@
|
||||
3277703 4 drwxr-xr-x 6 runge runge 4096 Sep 13 21:28 .
|
||||
3277704 4 drwxr-xr-x 7 runge runge 4096 Aug 2 10:05 ./src
|
||||
3277781 4 drwxr-xr-x 2 runge runge 4096 Aug 2 10:09 ./src/zips
|
||||
3277782 484 -rw-r--r-- 1 runge runge 488512 Jul 25 15:09 ./src/zips/stunnel-4.14.tar.gz
|
||||
3277783 212 -rw-r--r-- 1 runge runge 209149 Jul 25 15:10 ./src/zips/tightvnc-1.3dev7_x86_viewer.zip
|
||||
3277784 2136 -rw-r--r-- 1 runge runge 2182134 Jul 25 15:11 ./src/zips/tightvnc-1.3dev7_unixsrc.tar.gz
|
||||
3277792 4 -rw-r--r-- 1 runge runge 753 Aug 2 10:09 ./src/zips/README
|
||||
3277786 364 -rw-r--r-- 1 runge runge 368640 Jul 27 19:06 ./src/zips/vnc_unixsrc_vncviewer.patched.tar
|
||||
3277787 1996 -rw-r--r-- 1 runge runge 2037760 Jul 31 23:42 ./src/zips/stunnel.patched.tar
|
||||
2982849 4 drwxr-xr-x 2 runge runge 4096 Sep 10 14:37 ./src/patches
|
||||
2982852 4 -rw-r--r-- 1 runge runge 3750 Feb 5 2005 ./src/patches/tight-vncviewer-alphahack.patch
|
||||
2982854 4 -rw-r--r-- 1 runge runge 1143 Jul 25 15:25 ./src/patches/tight-vncviewer-fullscreen.patch
|
||||
2982865 8 -rw-r--r-- 1 runge runge 7633 Jul 27 19:01 ./src/patches/tight-vncviewer-newfbsize.patch
|
||||
2982955 4 -rwxr-xr-x 1 runge runge 1529 Sep 10 12:07 ./src/patches/_bundle
|
||||
2982877 4 -rwxr-xr-x 1 runge runge 78 Jul 27 14:41 ./src/patches/_getpatches
|
||||
2983012 4 -rw-r--r-- 1 runge runge 4072 Jul 31 22:59 ./src/patches/stunnel-maxconn.patch
|
||||
2982878 4 -rwxr-xr-x 1 runge runge 117 Jul 27 19:06 ./src/patches/_vncpatchapplied
|
||||
2982880 4 -rw-r--r-- 1 runge runge 223 Aug 24 10:11 ./src/patches/README
|
||||
2982850 4 drwxr-xr-x 8 runge runge 4096 Jul 25 15:21 ./src/vnc_unixsrc
|
||||
2982885 4 -rw-r--r-- 1 runge runge 356 Apr 30 2002 ./src/vnc_unixsrc/Imakefile
|
||||
2982886 20 -rw-r--r-- 1 runge runge 18000 Jun 11 2000 ./src/vnc_unixsrc/LICENCE.TXT
|
||||
2982887 12 -rw-r--r-- 1 runge runge 8341 Jul 4 2005 ./src/vnc_unixsrc/README
|
||||
2982888 12 -rw-r--r-- 1 runge runge 9682 Jul 4 2005 ./src/vnc_unixsrc/tightvnc.spec
|
||||
2982889 4 -rw-r--r-- 1 runge runge 486 Aug 30 2002 ./src/vnc_unixsrc/vnc-xclients.patch
|
||||
2982890 4 -rwxr-xr-x 1 runge runge 2042 Mar 19 2002 ./src/vnc_unixsrc/vncinstall
|
||||
2982891 16 -rwxr-xr-x 1 runge runge 15239 Jul 4 2005 ./src/vnc_unixsrc/vncserver
|
||||
2982892 4 -rwxr-xr-x 1 runge runge 1726 Aug 30 2002 ./src/vnc_unixsrc/vncserver.init
|
||||
2982893 4 -rw-r--r-- 1 runge runge 3070 Aug 7 2002 ./src/vnc_unixsrc/vncserver.man
|
||||
4359127 4 drwxr-xr-x 2 runge runge 4096 Jul 27 16:25 ./src/vnc_unixsrc/classes
|
||||
2851413 4 drwxr-xr-x 2 runge runge 4096 Jul 5 2005 ./src/vnc_unixsrc/include
|
||||
2851414 44 -rw-r--r-- 1 runge runge 43296 May 27 2004 ./src/vnc_unixsrc/include/rfbproto.h
|
||||
2851415 4 -rw-r--r-- 1 runge runge 1166 Jun 11 2000 ./src/vnc_unixsrc/include/vncauth.h
|
||||
2851416 4 drwxr-xr-x 2 runge runge 4096 Jul 5 2005 ./src/vnc_unixsrc/libvncauth
|
||||
2851417 4 -rw-r--r-- 1 runge runge 199 Apr 30 2002 ./src/vnc_unixsrc/libvncauth/Imakefile
|
||||
2851418 16 -rw-r--r-- 1 runge runge 15487 Jun 11 2000 ./src/vnc_unixsrc/libvncauth/d3des.c
|
||||
2851419 4 -rw-r--r-- 1 runge runge 1618 Jun 11 2000 ./src/vnc_unixsrc/libvncauth/d3des.h
|
||||
2851420 8 -rw-r--r-- 1 runge runge 5879 Mar 1 2003 ./src/vnc_unixsrc/libvncauth/vncauth.c
|
||||
2851421 4 drwxr-xr-x 2 runge runge 4096 Jul 5 2005 ./src/vnc_unixsrc/vncconnect
|
||||
2851422 4 -rw-r--r-- 1 runge runge 163 Apr 30 2002 ./src/vnc_unixsrc/vncconnect/Imakefile
|
||||
2851423 4 -rw-r--r-- 1 runge runge 1167 Nov 10 2000 ./src/vnc_unixsrc/vncconnect/vncconnect.c
|
||||
2851424 4 -rw-r--r-- 1 runge runge 1083 Feb 5 2003 ./src/vnc_unixsrc/vncconnect/vncconnect.man
|
||||
2851425 4 drwxr-xr-x 2 runge runge 4096 Jul 5 2005 ./src/vnc_unixsrc/vncpasswd
|
||||
2851426 4 -rw-r--r-- 1 runge runge 256 Apr 30 2002 ./src/vnc_unixsrc/vncpasswd/Imakefile
|
||||
2851427 8 -rw-r--r-- 1 runge runge 7681 Mar 1 2003 ./src/vnc_unixsrc/vncpasswd/vncpasswd.c
|
||||
2851428 4 -rw-r--r-- 1 runge runge 3222 Mar 1 2003 ./src/vnc_unixsrc/vncpasswd/vncpasswd.man
|
||||
2851429 4 drwxr-xr-x 2 runge runge 4096 Aug 3 19:10 ./src/vnc_unixsrc/vncviewer
|
||||
2851430 4 -rw-r--r-- 1 runge runge 1057 Mar 12 2003 ./src/vnc_unixsrc/vncviewer/Imakefile
|
||||
2851431 16 -rw-r--r-- 1 runge runge 12375 Jul 4 2005 ./src/vnc_unixsrc/vncviewer/README
|
||||
2851432 4 -rw-r--r-- 1 runge runge 3198 Feb 7 2003 ./src/vnc_unixsrc/vncviewer/Vncviewer
|
||||
2851433 16 -rw-r--r-- 1 runge runge 14159 Jul 4 2005 ./src/vnc_unixsrc/vncviewer/argsresources.c
|
||||
2851434 8 -rw-r--r-- 1 runge runge 5362 Apr 1 2003 ./src/vnc_unixsrc/vncviewer/caps.c
|
||||
2851435 4 -rw-r--r-- 1 runge runge 2074 Apr 1 2003 ./src/vnc_unixsrc/vncviewer/caps.h
|
||||
2851436 16 -rw-r--r-- 1 runge runge 15568 Apr 30 2002 ./src/vnc_unixsrc/vncviewer/colour.c
|
||||
2851437 4 -rw-r--r-- 1 runge runge 2295 Jun 11 2000 ./src/vnc_unixsrc/vncviewer/corre.c
|
||||
2851438 16 -rw-r--r-- 1 runge runge 14504 Jan 15 2003 ./src/vnc_unixsrc/vncviewer/cursor.c
|
||||
2851439 12 -rw-r--r-- 1 runge runge 11832 May 28 2004 ./src/vnc_unixsrc/vncviewer/desktop.c
|
||||
2851440 4 -rw-r--r-- 1 runge runge 2621 Oct 26 2000 ./src/vnc_unixsrc/vncviewer/dialogs.c
|
||||
2851441 12 -rw-r--r-- 1 runge runge 11671 Oct 9 2003 ./src/vnc_unixsrc/vncviewer/fullscreen.c
|
||||
2851442 4 -rw-r--r-- 1 runge runge 3639 Jun 11 2000 ./src/vnc_unixsrc/vncviewer/hextile.c
|
||||
2851443 8 -rw-r--r-- 1 runge runge 7463 Jan 16 2001 ./src/vnc_unixsrc/vncviewer/listen.c
|
||||
2851444 12 -rw-r--r-- 1 runge runge 9120 Jan 15 2003 ./src/vnc_unixsrc/vncviewer/misc.c
|
||||
2851445 4 -rw-r--r-- 1 runge runge 2749 Jun 11 2000 ./src/vnc_unixsrc/vncviewer/popup.c
|
||||
2851446 40 -rw-r--r-- 1 runge runge 38923 Mar 11 2004 ./src/vnc_unixsrc/vncviewer/rfbproto.c
|
||||
2851447 4 -rw-r--r-- 1 runge runge 2411 Jun 11 2000 ./src/vnc_unixsrc/vncviewer/rre.c
|
||||
2851448 12 -rw-r--r-- 1 runge runge 9985 Mar 3 2004 ./src/vnc_unixsrc/vncviewer/selection.c
|
||||
2851449 4 -rw-r--r-- 1 runge runge 2439 Jun 11 2000 ./src/vnc_unixsrc/vncviewer/shm.c
|
||||
2851450 12 -rw-r--r-- 1 runge runge 9253 Jan 14 2001 ./src/vnc_unixsrc/vncviewer/sockets.c
|
||||
2851451 16 -rw-r--r-- 1 runge runge 16069 Apr 30 2002 ./src/vnc_unixsrc/vncviewer/tight.c
|
||||
2851452 8 -rw-r--r-- 1 runge runge 6695 Jul 31 2003 ./src/vnc_unixsrc/vncviewer/tunnel.c
|
||||
2851453 4 -rw-r--r-- 1 runge runge 4040 Jan 13 2004 ./src/vnc_unixsrc/vncviewer/vncviewer.c
|
||||
2851454 8 -rw-r--r-- 1 runge runge 7236 Mar 11 2004 ./src/vnc_unixsrc/vncviewer/vncviewer.h
|
||||
2851455 16 -rw-r--r-- 1 runge runge 14478 Mar 11 2004 ./src/vnc_unixsrc/vncviewer/vncviewer.man
|
||||
2851456 8 -rw-r--r-- 1 runge runge 4437 Jan 16 2001 ./src/vnc_unixsrc/vncviewer/zlib.c
|
||||
2982894 36 -rw-r--r-- 1 runge runge 34369 Jul 5 2005 ./src/vnc_unixsrc/WhatsNew
|
||||
2982895 84 -rw-r--r-- 1 runge runge 80366 Jul 5 2005 ./src/vnc_unixsrc/ChangeLog
|
||||
2670933 4 drwxr-xr-x 6 runge runge 4096 Aug 2 09:03 ./src/stunnel-4.14
|
||||
3621575 4 drwxr-xr-x 2 runge runge 4096 Nov 2 2005 ./src/stunnel-4.14/auto
|
||||
3621576 44 -rwxr-xr-x 1 runge runge 43609 Aug 10 2004 ./src/stunnel-4.14/auto/config.guess
|
||||
3621577 32 -rwxr-xr-x 1 runge runge 31160 Aug 10 2004 ./src/stunnel-4.14/auto/config.sub
|
||||
3621578 16 -rwxr-xr-x 1 runge runge 13866 Aug 10 2004 ./src/stunnel-4.14/auto/depcomp
|
||||
3621579 8 -rwxr-xr-x 1 runge runge 7122 Aug 10 2004 ./src/stunnel-4.14/auto/install-sh
|
||||
3621580 184 -rw-r--r-- 1 runge runge 184019 Aug 10 2004 ./src/stunnel-4.14/auto/ltmain.sh
|
||||
3621581 12 -rwxr-xr-x 1 runge runge 10266 Aug 10 2004 ./src/stunnel-4.14/auto/missing
|
||||
3621582 4 -rwxr-xr-x 1 runge runge 1988 Aug 10 2004 ./src/stunnel-4.14/auto/mkinstalldirs
|
||||
5456722 4 drwxr-xr-x 2 runge runge 4096 Jul 31 22:47 ./src/stunnel-4.14/src
|
||||
5456723 4 -rw-r--r-- 1 runge runge 1594 Oct 15 2005 ./src/stunnel-4.14/src/Makefile.am
|
||||
5456724 20 -rw-r--r-- 1 runge runge 19314 Oct 25 2005 ./src/stunnel-4.14/src/Makefile.in
|
||||
5456725 4 -rwxr-xr-x 1 runge runge 2954 Apr 20 2005 ./src/stunnel-4.14/src/stunnel3.in
|
||||
5456727 4 -rw-r--r-- 1 runge runge 2376 Dec 31 2004 ./src/stunnel-4.14/src/env.c
|
||||
5456728 8 -rw-r--r-- 1 runge runge 7878 Oct 21 2005 ./src/stunnel-4.14/src/common.h
|
||||
5456775 12 -rw-r--r-- 1 runge runge 10893 Oct 27 2005 ./src/stunnel-4.14/src/prototypes.h
|
||||
5456776 40 -rw-r--r-- 1 runge runge 36917 Oct 24 2005 ./src/stunnel-4.14/src/client.c
|
||||
5456777 12 -rw-r--r-- 1 runge runge 9827 Sep 28 2005 ./src/stunnel-4.14/src/log.c
|
||||
5456778 44 -rw-r--r-- 1 runge runge 43728 Oct 20 2005 ./src/stunnel-4.14/src/options.c
|
||||
5456779 12 -rw-r--r-- 1 runge runge 9137 Apr 11 2005 ./src/stunnel-4.14/src/protocol.c
|
||||
5456780 20 -rw-r--r-- 1 runge runge 19335 Oct 30 2005 ./src/stunnel-4.14/src/network.c
|
||||
5456781 16 -rw-r--r-- 1 runge runge 12947 Feb 28 2005 ./src/stunnel-4.14/src/resolver.c
|
||||
5456782 28 -rw-r--r-- 1 runge runge 25216 Oct 27 2005 ./src/stunnel-4.14/src/ssl.c
|
||||
5456783 12 -rw-r--r-- 1 runge runge 9935 Oct 19 2005 ./src/stunnel-4.14/src/sthreads.c
|
||||
5456784 16 -rw-r--r-- 1 runge runge 14074 Nov 2 2005 ./src/stunnel-4.14/src/stunnel.c
|
||||
5456785 12 -rw-r--r-- 1 runge runge 8254 Jun 13 2005 ./src/stunnel-4.14/src/pty.c
|
||||
5456786 32 -rw-r--r-- 1 runge runge 28682 Sep 29 2005 ./src/stunnel-4.14/src/gui.c
|
||||
5456787 4 -rw-r--r-- 1 runge runge 227 Nov 5 2002 ./src/stunnel-4.14/src/resources.h
|
||||
5456788 4 -rw-r--r-- 1 runge runge 1441 Oct 21 2005 ./src/stunnel-4.14/src/resources.rc
|
||||
5456789 8 -rw-r--r-- 1 runge runge 4710 Jul 18 2002 ./src/stunnel-4.14/src/stunnel.ico
|
||||
5456791 4 -rw-r--r-- 1 runge runge 76 Jul 18 2002 ./src/stunnel-4.14/src/make.bat
|
||||
5456792 4 -rw-r--r-- 1 runge runge 1001 Oct 15 2005 ./src/stunnel-4.14/src/Makefile.w32
|
||||
3670989 4 drwxr-xr-x 2 runge runge 4096 Nov 2 2005 ./src/stunnel-4.14/tools
|
||||
3670990 4 -rw-r--r-- 1 runge runge 1448 Sep 14 2005 ./src/stunnel-4.14/tools/Makefile.am
|
||||
3670991 12 -rw-r--r-- 1 runge runge 12178 Oct 25 2005 ./src/stunnel-4.14/tools/Makefile.in
|
||||
3670992 4 -rw-r--r-- 1 runge runge 1436 Sep 22 2005 ./src/stunnel-4.14/tools/stunnel.conf-sample.in
|
||||
3670993 4 -rw-r--r-- 1 runge runge 966 Oct 25 2005 ./src/stunnel-4.14/tools/stunnel.init.in
|
||||
3670994 4 -rw-r--r-- 1 runge runge 1121 Jul 18 2002 ./src/stunnel-4.14/tools/ca.html
|
||||
3670995 4 -rwxr-xr-x 1 runge runge 1793 Jul 18 2002 ./src/stunnel-4.14/tools/ca.pl
|
||||
3670996 4 -rw-r--r-- 1 runge runge 409 Jul 18 2002 ./src/stunnel-4.14/tools/importCA.html
|
||||
3670997 4 -rwxr-xr-x 1 runge runge 105 Jul 18 2002 ./src/stunnel-4.14/tools/importCA.sh
|
||||
3670998 4 -rwxr-xr-x 1 runge runge 223 Apr 23 2004 ./src/stunnel-4.14/tools/script.sh
|
||||
3670999 4 -rw-r--r-- 1 runge runge 2618 Oct 21 2005 ./src/stunnel-4.14/tools/stunnel.spec
|
||||
3671000 4 -rw-r--r-- 1 runge runge 2989 Jul 6 2005 ./src/stunnel-4.14/tools/stunnel.mak
|
||||
3671001 4 -rw-r--r-- 1 runge runge 1175 Sep 1 2002 ./src/stunnel-4.14/tools/stunnel.cnf
|
||||
3671002 4 -rw-r--r-- 1 runge runge 3285 Oct 21 2005 ./src/stunnel-4.14/tools/stunnel.nsi
|
||||
3671003 4 -rw-r--r-- 1 runge runge 1148 Sep 22 2005 ./src/stunnel-4.14/tools/stunnel.conf
|
||||
2670934 4 -rw-r--r-- 1 runge runge 725 Aug 12 2002 ./src/stunnel-4.14/README
|
||||
2670935 12 -rw-r--r-- 1 runge runge 8824 Oct 25 2005 ./src/stunnel-4.14/configure.ac
|
||||
2670936 240 -rw-r--r-- 1 runge runge 239347 Oct 25 2005 ./src/stunnel-4.14/aclocal.m4
|
||||
2670937 4 -rw-r--r-- 1 runge runge 1273 Sep 14 2005 ./src/stunnel-4.14/Makefile.am
|
||||
2670938 24 -rw-r--r-- 1 runge runge 20876 Oct 25 2005 ./src/stunnel-4.14/Makefile.in
|
||||
2670939 768 -rwxr-xr-x 1 runge runge 780103 Oct 25 2005 ./src/stunnel-4.14/configure
|
||||
2670940 4 -rw-r--r-- 1 runge runge 99 Aug 12 2002 ./src/stunnel-4.14/AUTHORS
|
||||
2670941 4 -rw-r--r-- 1 runge runge 788 Sep 13 2002 ./src/stunnel-4.14/COPYING
|
||||
2670942 28 -rw-r--r-- 1 runge runge 25682 Nov 2 2005 ./src/stunnel-4.14/ChangeLog
|
||||
2670943 4 -rw-r--r-- 1 runge runge 1066 Aug 10 2002 ./src/stunnel-4.14/INSTALL
|
||||
2670944 4 -rw-r--r-- 1 runge runge 955 Aug 12 2002 ./src/stunnel-4.14/NEWS
|
||||
2670945 4 -rw-r--r-- 1 runge runge 1461 Jul 27 2005 ./src/stunnel-4.14/TODO
|
||||
2670946 4 -rw-r--r-- 1 runge runge 222 Jul 18 2002 ./src/stunnel-4.14/PORTS
|
||||
2670947 4 -rw-r--r-- 1 runge runge 270 Aug 9 2004 ./src/stunnel-4.14/BUGS
|
||||
2671491 20 -rw-r--r-- 1 runge runge 17982 Jul 18 2002 ./src/stunnel-4.14/COPYRIGHT.GPL
|
||||
2671492 4 -rw-r--r-- 1 runge runge 199 Jul 18 2002 ./src/stunnel-4.14/CREDITS
|
||||
2671493 4 -rw-r--r-- 1 runge runge 687 Jul 21 2005 ./src/stunnel-4.14/INSTALL.W32
|
||||
5653462 4 drwxr-xr-x 4 runge runge 4096 Jul 30 17:46 ./src/stunnel-4.14/doc
|
||||
5653463 4 -rw-r--r-- 1 runge runge 1009 Jan 15 2005 ./src/stunnel-4.14/doc/Makefile.am
|
||||
5653464 12 -rw-r--r-- 1 runge runge 12152 Oct 25 2005 ./src/stunnel-4.14/doc/Makefile.in
|
||||
5653465 16 -rw-r--r-- 1 runge runge 16341 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.pod
|
||||
5653466 20 -rw-r--r-- 1 runge runge 18829 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.pl.pod
|
||||
5653467 20 -rw-r--r-- 1 runge runge 17798 Dec 25 2004 ./src/stunnel-4.14/doc/stunnel.fr.pod
|
||||
5653468 24 -rw-r--r-- 1 runge runge 23885 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.8
|
||||
5653469 28 -rw-r--r-- 1 runge runge 26536 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.pl.8
|
||||
5653470 28 -rw-r--r-- 1 runge runge 24864 Jan 15 2005 ./src/stunnel-4.14/doc/stunnel.fr.8
|
||||
5653471 28 -rw-r--r-- 1 runge runge 26128 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.html
|
||||
5653472 32 -rw-r--r-- 1 runge runge 28753 Sep 29 2005 ./src/stunnel-4.14/doc/stunnel.pl.html
|
||||
5653473 28 -rw-r--r-- 1 runge runge 27205 Jan 15 2005 ./src/stunnel-4.14/doc/stunnel.fr.html
|
||||
4342742 4 drwxr-xr-x 2 runge runge 4096 Jul 18 2002 ./src/stunnel-4.14/doc/en
|
||||
4342743 12 -rw-r--r-- 1 runge runge 8414 Jul 18 2002 ./src/stunnel-4.14/doc/en/VNC_StunnelHOWTO.html
|
||||
4342744 4 -rw-r--r-- 1 runge runge 4045 Jul 18 2002 ./src/stunnel-4.14/doc/en/transproxy.txt
|
||||
4342745 4 drwxr-xr-x 2 runge runge 4096 Jul 18 2002 ./src/stunnel-4.14/doc/pl
|
||||
4342746 36 -rw-r--r-- 1 runge runge 36360 Jul 18 2002 ./src/stunnel-4.14/doc/pl/tworzenie_certyfikatow.html
|
||||
4342747 8 -rw-r--r-- 1 runge runge 5068 Jul 18 2002 ./src/stunnel-4.14/doc/pl/faq.stunnel-2.html
|
||||
3653836 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:44 ./src/tmp
|
||||
3277788 4 -rw-r--r-- 1 runge runge 301 Aug 2 10:05 ./src/README
|
||||
2851457 4 drwxr-xr-x 12 runge runge 4096 Aug 29 16:32 ./bin
|
||||
2261930 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:00 ./bin/Linux.i686
|
||||
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
|
||||
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
|
||||
5538760 136 -rwxr-xr-x 1 runge runge 132853 Sep 12 21:17 ./bin/util/ssl_tightvncviewer.tcl
|
||||
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
|
||||
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
|
||||
2425595 100 -rwxr-xr-x 1 runge runge 97504 Jul 31 23:30 ./bin/Linux.alpha/stunnel
|
||||
2425596 272 -rwxr-xr-x 1 runge runge 274312 Jul 31 23:24 ./bin/Linux.alpha/vncviewer
|
||||
3883808 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:24 ./bin/Linux.x86_64
|
||||
3883809 84 -rwxr-xr-x 1 runge runge 77896 Jul 31 23:24 ./bin/Linux.x86_64/stunnel
|
||||
3883810 112 -rwxr-xr-x 1 runge runge 109656 Jul 31 23:23 ./bin/Linux.x86_64/vncviewer
|
||||
3883811 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:27 ./bin/FreeBSD.i386
|
||||
3883812 68 -rwxr-xr-x 1 runge runge 64660 Jul 31 23:27 ./bin/FreeBSD.i386/stunnel
|
||||
3883813 180 -rwxr-xr-x 1 runge runge 176796 Jul 31 23:24 ./bin/FreeBSD.i386/vncviewer
|
||||
3687167 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:27 ./bin/OpenBSD.i386
|
||||
3687164 76 -rwxr-xr-x 1 runge runge 72260 Jul 31 23:27 ./bin/OpenBSD.i386/stunnel
|
||||
3687165 180 -rwxr-xr-x 1 runge runge 179036 Jul 31 23:24 ./bin/OpenBSD.i386/vncviewer
|
||||
4359128 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:27 ./bin/NetBSD.i386
|
||||
4359129 72 -rwxr-xr-x 1 runge runge 69064 Jul 31 23:27 ./bin/NetBSD.i386/stunnel
|
||||
4359130 176 -rwxr-xr-x 1 runge runge 172624 Jul 31 23:24 ./bin/NetBSD.i386/vncviewer
|
||||
2851458 4 drwxr-xr-x 2 runge runge 4096 Jul 31 23:25 ./bin/Linux.ppc64
|
||||
2851459 76 -rwxr-xr-x 1 runge runge 72856 Jul 31 23:25 ./bin/Linux.ppc64/stunnel
|
||||
2851460 196 -rwxr-xr-x 1 runge runge 196112 Jul 31 23:24 ./bin/Linux.ppc64/vncviewer
|
||||
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
|
||||
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
|
||||
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
|
||||
3277791 8 -rwxr-xr-x 1 runge runge 4814 Jul 30 17:54 ./build.unix
|
||||
3277785 20 -rw-r--r-- 1 runge runge 18043 Aug 1 2001 ./COPYING
|
||||
3277827 8 -rw-r--r-- 1 runge runge 7222 Sep 10 16:04 ./README
|
||||
5063553 4 drwxr-xr-x 3 runge runge 4096 Jul 27 16:32 ./man
|
||||
5063554 4 drwxr-xr-x 2 runge runge 4096 Jul 27 16:33 ./man/man1
|
||||
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
|
||||
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
|
||||
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
|
||||
4621136 4 drwxr-xr-x 5 runge runge 4096 Sep 6 16:30 ./Windows/util
|
||||
5096237 4 drwxr-xr-x 2 runge runge 4096 Sep 2 16:06 ./Windows/util/esound
|
||||
5096238 148 -rw-rw-rw- 1 runge runge 146432 Jun 26 2004 ./Windows/util/esound/cygaudiofile.dll
|
||||
5096239 60 -rw-rw-rw- 1 runge runge 53270 Feb 19 2003 ./Windows/util/esound/cygesd.dll
|
||||
5096241 1132 -rw-rw-rw- 1 runge runge 1153417 May 26 2004 ./Windows/util/esound/cygwin1.dll
|
||||
5096242 68 -rw-r--r-- 1 runge runge 65385 Feb 19 2003 ./Windows/util/esound/esd.exe
|
||||
5096248 24 -rw-r--r-- 1 runge runge 21282 Feb 19 2003 ./Windows/util/esound/esdcat.exe
|
||||
5096249 32 -rw-r--r-- 1 runge runge 32330 Feb 19 2003 ./Windows/util/esound/esdctl.exe
|
||||
5096251 24 -rw-r--r-- 1 runge runge 21428 Feb 19 2003 ./Windows/util/esound/esdfilt.exe
|
||||
5096252 24 -rw-r--r-- 1 runge runge 22643 Feb 19 2003 ./Windows/util/esound/esdloop.exe
|
||||
5096253 24 -rw-r--r-- 1 runge runge 21264 Feb 19 2003 ./Windows/util/esound/esdmon.exe
|
||||
5096254 28 -rw-r--r-- 1 runge runge 24835 Feb 19 2003 ./Windows/util/esound/esdplay.exe
|
||||
5096255 24 -rw-r--r-- 1 runge runge 21288 Feb 19 2003 ./Windows/util/esound/esdrec.exe
|
||||
5096256 28 -rw-r--r-- 1 runge runge 25151 Feb 19 2003 ./Windows/util/esound/esdsample.exe
|
||||
5096258 4 -rw-r--r-- 1 runge runge 51 Sep 2 16:05 ./Windows/util/esound/example.bat
|
||||
4621144 1132 -rwxr-xr-x 1 runge runge 1153024 Mar 23 2005 ./Windows/util/openssl.exe
|
||||
5538626 1548 -rwxr-xr-x 1 runge runge 1578787 Mar 23 2005 ./Windows/util/libeay32.dll
|
||||
5538629 624 -rwxr-xr-x 1 runge runge 632226 Mar 23 2005 ./Windows/util/libssl32.dll
|
||||
4621310 128 -rw-r--r-- 1 runge runge 126976 Sep 4 10:56 ./Windows/util/pageant.exe
|
||||
4621311 164 -rw-r--r-- 1 runge runge 163840 Sep 4 10:57 ./Windows/util/puttygen.exe
|
||||
5538631 76 -rwxr-xr-x 1 runge runge 73728 Feb 26 2006 ./Windows/util/stunnel.exe
|
||||
5538625 360 -rwxr-xr-x 1 runge runge 364544 Jul 5 2005 ./Windows/util/vncviewer.exe
|
||||
4621143 260 -rw-r--r-- 1 runge runge 262144 Sep 2 21:19 ./Windows/util/plink.exe
|
||||
3293944 4 drwxr-xr-x 8 runge runge 4096 Sep 5 20:57 ./Windows/util/info
|
||||
3293945 4 drwxr-xr-x 2 runge runge 4096 Aug 2 09:40 ./Windows/util/info/vncviewer
|
||||
5538627 20 -rw-r--r-- 1 runge runge 18340 Jul 6 2005 ./Windows/util/info/vncviewer/LICENCE.txt
|
||||
5538628 4 -rw-r--r-- 1 runge runge 1238 Jul 6 2005 ./Windows/util/info/vncviewer/README.txt
|
||||
3294015 4 -rw-r--r-- 1 runge runge 24 Aug 2 09:39 ./Windows/util/info/vncviewer/location.url
|
||||
3294016 4 -rw-r--r-- 1 runge runge 38 Aug 2 09:39 ./Windows/util/info/vncviewer/download.url
|
||||
3293947 4 drwxr-xr-x 2 runge runge 4096 Aug 2 09:38 ./Windows/util/info/stunnel
|
||||
3293948 4 -rw-r--r-- 1 runge runge 99 Aug 12 2002 ./Windows/util/info/stunnel/AUTHORS
|
||||
3293949 4 -rw-r--r-- 1 runge runge 788 Sep 13 2002 ./Windows/util/info/stunnel/COPYING
|
||||
3293950 20 -rw-r--r-- 1 runge runge 17982 Jul 18 2002 ./Windows/util/info/stunnel/COPYRIGHT.GPL
|
||||
3293951 4 -rw-r--r-- 1 runge runge 199 Jul 18 2002 ./Windows/util/info/stunnel/CREDITS
|
||||
3293952 4 -rw-r--r-- 1 runge runge 687 Jul 21 2005 ./Windows/util/info/stunnel/INSTALL.W32
|
||||
3293953 4 -rw-r--r-- 1 runge runge 725 Aug 12 2002 ./Windows/util/info/stunnel/README
|
||||
3293954 28 -rw-r--r-- 1 runge runge 25682 Nov 2 2005 ./Windows/util/info/stunnel/ChangeLog
|
||||
3293955 4 -rw-r--r-- 1 runge runge 1066 Aug 10 2002 ./Windows/util/info/stunnel/INSTALL
|
||||
3293956 4 -rw-r--r-- 1 runge runge 955 Aug 12 2002 ./Windows/util/info/stunnel/NEWS
|
||||
3293958 4 -rw-r--r-- 1 runge runge 222 Jul 18 2002 ./Windows/util/info/stunnel/PORTS
|
||||
3293959 4 -rw-r--r-- 1 runge runge 1461 Jul 27 2005 ./Windows/util/info/stunnel/TODO
|
||||
3293960 28 -rw-r--r-- 1 runge runge 26128 Sep 29 2005 ./Windows/util/info/stunnel/stunnel.html
|
||||
3293969 16 -rw-r--r-- 1 runge runge 14638 Aug 2 09:37 ./Windows/util/info/stunnel/download.html
|
||||
3294011 4 -rw-r--r-- 1 runge runge 47 Aug 2 09:15 ./Windows/util/info/stunnel/download.url
|
||||
3294012 24 -rw-r--r-- 1 runge runge 21815 Aug 2 09:13 ./Windows/util/info/stunnel/location.html
|
||||
3294013 4 -rw-r--r-- 1 runge runge 46 Aug 2 09:13 ./Windows/util/info/stunnel/location.url
|
||||
3293961 4 drwxr-xr-x 2 runge runge 4096 Aug 2 09:37 ./Windows/util/info/openssl
|
||||
3293965 4 -rw-r--r-- 1 runge runge 47 Aug 2 09:15 ./Windows/util/info/openssl/download.url
|
||||
3293963 4 -rw-r--r-- 1 runge runge 46 Aug 2 09:13 ./Windows/util/info/openssl/location.url
|
||||
3293964 4 -rw-r--r-- 1 runge runge 3489 Nov 28 2005 ./Windows/util/info/openssl/COPYRIGHT.SSLeay
|
||||
3293967 16 -rw-r--r-- 1 runge runge 14638 Aug 2 09:37 ./Windows/util/info/openssl/download.html
|
||||
3293962 24 -rw-r--r-- 1 runge runge 21815 Aug 2 09:13 ./Windows/util/info/openssl/location.html
|
||||
2261824 4 drwxr-xr-x 2 runge runge 4096 Aug 2 09:36 ./Windows/util/info/plink
|
||||
3293966 4 -rw-r--r-- 1 runge runge 3549 Aug 2 09:35 ./Windows/util/info/plink/licence.html
|
||||
3293968 4 -rw-r--r-- 1 runge runge 65 Aug 2 09:35 ./Windows/util/info/plink/licence.url
|
||||
2261825 28 -rw-r--r-- 1 runge runge 24744 Aug 2 09:35 ./Windows/util/info/plink/download.html
|
||||
2261826 4 -rw-r--r-- 1 runge runge 66 Aug 2 09:35 ./Windows/util/info/plink/download.url
|
||||
2229126 4 drwxr-xr-x 2 runge runge 4096 Sep 3 12:09 ./Windows/util/info/esound
|
||||
2229127 20 -rw-r--r-- 1 runge runge 17992 Sep 3 12:09 ./Windows/util/info/esound/COPYING
|
||||
2229128 4 -rw-r--r-- 1 runge runge 40 Sep 3 12:07 ./Windows/util/info/esound/download.url
|
||||
2229129 28 -rw-r--r-- 1 runge runge 25265 Sep 3 12:09 ./Windows/util/info/esound/COPYING.LIB
|
||||
2229130 4 -rw-r--r-- 1 runge runge 2153 Sep 3 12:09 ./Windows/util/info/esound/AUTHORS
|
||||
2229131 4 -rw-r--r-- 1 runge runge 1936 Sep 3 12:09 ./Windows/util/info/esound/README
|
||||
2229132 4 -rw-r--r-- 1 runge runge 178 Sep 3 12:09 ./Windows/util/info/esound/MAINTAINERS
|
||||
3113803 4 drwxr-xr-x 2 runge runge 4096 Sep 5 20:58 ./Windows/util/info/netcat
|
||||
3113804 8 -rw-r--r-- 1 runge runge 6833 Dec 27 2004 ./Windows/util/info/netcat/readme.txt
|
||||
3113805 20 -rw-r--r-- 1 runge runge 18009 Dec 27 2004 ./Windows/util/info/netcat/license.txt
|
||||
3064790 4 drwxr-xr-x 2 runge runge 4096 Aug 2 09:40 ./Windows/util/w98
|
||||
4621137 120 -rw-r--r-- 1 runge runge 118524 Feb 26 1997 ./Windows/util/w98/kill.exe
|
||||
4621138 116 -rw-r--r-- 1 runge runge 114240 Feb 26 1997 ./Windows/util/w98/tlist.exe
|
||||
3064797 24 -rw-r--r-- 1 runge runge 24576 Apr 30 1998 ./Windows/util/w98/README.DOC
|
||||
3064799 4 -rw-r--r-- 1 runge runge 75 Aug 2 08:56 ./Windows/util/w98/location.url
|
||||
4621140 4 -rw-r--r-- 1 runge runge 981 Aug 4 09:27 ./Windows/util/stunnel-server.conf
|
||||
4621142 4 -rw-r--r-- 1 runge runge 1173 Aug 4 09:27 ./Windows/util/stunnel-client.conf
|
||||
4621312 64 -rw-r--r-- 1 runge runge 61440 Dec 29 2004 ./Windows/util/netcat.exe
|
||||
5538607 416 -rw-r--r-- 1 runge runge 421888 Sep 6 14:14 ./Windows/util/putty.exe
|
@ -0,0 +1,7 @@
|
||||
|
||||
In this directory we have source zip/tgz files in zip/, the patches
|
||||
we created in patches/, a temporary build dir (used by build.unix)
|
||||
in tmp/, and unpacked sources in vnc_unixsrc/ and stunnel-4.14/ (used
|
||||
by the build.unix script).
|
||||
|
||||
See the README in the directory one level up for more information.
|
@ -0,0 +1,6 @@
|
||||
All of the patch files and scripts in this directory are
|
||||
|
||||
Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com>
|
||||
|
||||
and are licensed by the GPL. See the README and COPYING files two
|
||||
directories up for more information.
|
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm -rf ./src/tmp/* || exit 1
|
||||
vers=1.0.3
|
||||
|
||||
cd .. || exit 1
|
||||
|
||||
if [ -f enhanced_tightvnc_viewer-$vers.zip ]; then
|
||||
mv enhanced_tightvnc_viewer-$vers.zip enhanced_tightvnc_viewer-$vers.zip~
|
||||
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 -rf enhanced_tightvnc_viewer_windows_only-${vers}*
|
||||
|
||||
cp -pR enhanced_tightvnc_viewer enhanced_tightvnc_viewer_windows_only-$vers
|
||||
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/{src,bin,man}/*
|
||||
rm -rf enhanced_tightvnc_viewer_windows_only-$vers/bin/.linkin
|
||||
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
|
||||
zip -9 -r enhanced_tightvnc_viewer_windows_only-$vers.zip enhanced_tightvnc_viewer_windows_only-$vers
|
||||
|
||||
ls -l enhanced_tightvnc_viewer_windows_only-$vers.zip
|
||||
rm -rf enhanced_tightvnc_viewer_windows_only-${vers}
|
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
cp -p /dist/src/apps/VNC/tight_vnc_1.3dev5/tight-vncviewer*patch .
|
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
make clean
|
||||
rm -f *.o
|
||||
cd ../..
|
||||
tar -cvf ../../zips/vnc_unixsrc_vncviewer.patched.tar vnc_unixsrc/vncviewer
|
@ -0,0 +1,124 @@
|
||||
diff -Naur stunnel.orig/src/client.c stunnel/src/client.c
|
||||
--- stunnel.orig/src/client.c 2005-10-24 14:00:56.000000000 -0400
|
||||
+++ stunnel/src/client.c 2006-07-31 21:51:37.000000000 -0400
|
||||
@@ -126,6 +126,10 @@
|
||||
s_log(LOG_DEBUG, "%s finished (%d left)", c->opt->servname,
|
||||
--num_clients);
|
||||
leave_critical_section(CRIT_CLIENTS);
|
||||
+ if (num_clients <= 0 && options.maxconn > 0 && num_conn >= options.maxconn) {
|
||||
+ s_log(LOG_NOTICE, "client() finished: exceeded maxconn");
|
||||
+ exit(0);
|
||||
+ }
|
||||
#endif
|
||||
free(c);
|
||||
#ifdef DEBUG_STACK_SIZE
|
||||
diff -Naur stunnel.orig/src/network.c stunnel/src/network.c
|
||||
--- stunnel.orig/src/network.c 2005-10-30 16:35:42.000000000 -0500
|
||||
+++ stunnel/src/network.c 2006-07-31 21:53:49.000000000 -0400
|
||||
@@ -329,6 +329,10 @@
|
||||
/* no logging is possible in a signal handler */
|
||||
#ifdef USE_FORK
|
||||
num_clients--; /* one client less */
|
||||
+ if (num_clients <= 0 && options.maxconn > 0 && num_conn >= options.maxconn) {
|
||||
+ s_log(LOG_NOTICE, "sigchld_handler() finished: exceeded maxconn");
|
||||
+ exit(0);
|
||||
+ }
|
||||
#endif /* USE_FORK */
|
||||
}
|
||||
#else /* __sgi */
|
||||
@@ -375,6 +379,10 @@
|
||||
if((pid=wait(&status))>0) {
|
||||
num_clients--; /* one client less */
|
||||
#endif
|
||||
+ if (num_clients <= 0 && options.maxconn > 0 && num_conn >= options.maxconn) {
|
||||
+ s_log(LOG_NOTICE, "client_status() finished: exceeded maxconn");
|
||||
+ exit(0);
|
||||
+ }
|
||||
#ifdef WIFSIGNALED
|
||||
if(WIFSIGNALED(status)) {
|
||||
s_log(LOG_DEBUG, "Process %d terminated on signal %d (%d left)",
|
||||
diff -Naur stunnel.orig/src/options.c stunnel/src/options.c
|
||||
--- stunnel.orig/src/options.c 2005-10-20 03:12:07.000000000 -0400
|
||||
+++ stunnel/src/options.c 2006-07-31 22:49:57.000000000 -0400
|
||||
@@ -665,6 +665,24 @@
|
||||
break;
|
||||
}
|
||||
|
||||
+ /* maxconn */
|
||||
+ switch(cmd) {
|
||||
+ case CMD_INIT:
|
||||
+ options.maxconn=0;
|
||||
+ break;
|
||||
+ case CMD_EXEC:
|
||||
+ if(strcasecmp(opt, "maxconn"))
|
||||
+ break;
|
||||
+ options.maxconn=atoi(arg);
|
||||
+ return NULL; /* OK */
|
||||
+ case CMD_DEFAULT:
|
||||
+ log_raw("%-15s = 0", "maxconn");
|
||||
+ break;
|
||||
+ case CMD_HELP:
|
||||
+ log_raw("%-15s = maximum number of accepted connections", "maxconn");
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
if(cmd==CMD_EXEC)
|
||||
return option_not_found;
|
||||
return NULL; /* OK */
|
||||
diff -Naur stunnel.orig/src/prototypes.h stunnel/src/prototypes.h
|
||||
--- stunnel.orig/src/prototypes.h 2005-10-27 05:41:28.000000000 -0400
|
||||
+++ stunnel/src/prototypes.h 2006-07-31 22:49:36.000000000 -0400
|
||||
@@ -44,6 +44,7 @@
|
||||
/**************************************** Prototypes for stunnel.c */
|
||||
|
||||
extern int num_clients;
|
||||
+extern int num_conn;
|
||||
|
||||
void main_initialize(char *, char *);
|
||||
void main_execute(void);
|
||||
@@ -113,6 +114,7 @@
|
||||
long session_timeout;
|
||||
int verify_level;
|
||||
int verify_use_only_my;
|
||||
+ int maxconn;
|
||||
long ssl_options;
|
||||
|
||||
/* some global data for stunnel.c */
|
||||
diff -Naur stunnel.orig/src/stunnel.c stunnel/src/stunnel.c
|
||||
--- stunnel.orig/src/stunnel.c 2005-11-02 15:18:42.000000000 -0500
|
||||
+++ stunnel/src/stunnel.c 2006-07-31 21:40:04.000000000 -0400
|
||||
@@ -53,6 +53,7 @@
|
||||
#endif
|
||||
|
||||
int num_clients=0; /* Current number of clients */
|
||||
+int num_conn=0; /* Total number of connections */
|
||||
|
||||
/* Functions */
|
||||
|
||||
@@ -138,6 +139,7 @@
|
||||
}
|
||||
|
||||
num_clients=0;
|
||||
+ num_conn=0;
|
||||
|
||||
/* bind local ports */
|
||||
for(opt=local_options.next; opt; opt=opt->next) {
|
||||
@@ -222,6 +224,18 @@
|
||||
return; /* error */
|
||||
}
|
||||
}
|
||||
+ num_conn++;
|
||||
+fprintf(stderr, "num_conn: %d\n", num_conn);
|
||||
+ if (options.maxconn > 0 && num_conn > options.maxconn) {
|
||||
+ s_log(LOG_WARNING, "Connection rejected: exceeded maxconn (%d>%d)",
|
||||
+ num_conn, options.maxconn);
|
||||
+ closesocket(s);
|
||||
+ if (num_clients == 0) {
|
||||
+ s_log(LOG_WARNING, "Finished via maxconn.");
|
||||
+ exit(0);
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
s_ntop(from_address, &addr);
|
||||
s_log(LOG_DEBUG, "%s accepted FD=%d from %s",
|
||||
opt->servname, s, from_address);
|
@ -0,0 +1,42 @@
|
||||
--- vnc_unixsrc.orig/vncviewer/fullscreen.c 2003-10-09 05:23:49.000000000 -0400
|
||||
+++ vnc_unixsrc/vncviewer/fullscreen.c 2004-12-26 21:21:44.000000000 -0500
|
||||
@@ -173,9 +173,15 @@
|
||||
XtVaSetValues(popup, XtNoverrideRedirect, True, NULL);
|
||||
|
||||
/* Try to get the input focus. */
|
||||
-
|
||||
+
|
||||
+#if 0
|
||||
XSetInputFocus(dpy, DefaultRootWindow(dpy), RevertToPointerRoot,
|
||||
CurrentTime);
|
||||
+#else
|
||||
+ XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot,
|
||||
+ CurrentTime);
|
||||
+#endif
|
||||
+
|
||||
|
||||
/* Optionally, grab the keyboard. */
|
||||
|
||||
@@ -184,6 +190,10 @@
|
||||
GrabModeAsync, CurrentTime) != GrabSuccess) {
|
||||
fprintf(stderr, "XtGrabKeyboard() failed.\n");
|
||||
}
|
||||
+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge bot of FullScreenOn */
|
||||
+ fprintf(stderr, "calling XGrabServer(dpy)\n");
|
||||
+ XGrabServer(dpy);
|
||||
+}
|
||||
}
|
||||
|
||||
|
||||
@@ -210,6 +220,11 @@
|
||||
|
||||
appData.fullScreen = False;
|
||||
|
||||
+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge top of FullScreenOff */
|
||||
+ fprintf(stderr, "calling XUngrabServer(dpy)\n");
|
||||
+ XUngrabServer(dpy);
|
||||
+}
|
||||
+
|
||||
if (appData.grabKeyboard)
|
||||
XtUngrabKeyboard(desktop, CurrentTime);
|
||||
|
@ -0,0 +1,285 @@
|
||||
--- vnc_unixsrc.orig/vncviewer/desktop.c 2004-05-28 13:29:29.000000000 -0400
|
||||
+++ vnc_unixsrc/vncviewer/desktop.c 2006-07-27 11:30:01.000000000 -0400
|
||||
@@ -50,6 +50,30 @@
|
||||
},
|
||||
};
|
||||
|
||||
+void create_image() {
|
||||
+ image = NULL;
|
||||
+
|
||||
+#ifdef MITSHM
|
||||
+ if (appData.useShm) {
|
||||
+ image = CreateShmImage();
|
||||
+ if (!image)
|
||||
+ appData.useShm = False;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ if (!image) {
|
||||
+ image = XCreateImage(dpy, vis, visdepth, ZPixmap, 0, NULL,
|
||||
+ si.framebufferWidth, si.framebufferHeight,
|
||||
+ BitmapPad(dpy), 0);
|
||||
+
|
||||
+ image->data = malloc(image->bytes_per_line * image->height);
|
||||
+ if (!image->data) {
|
||||
+ fprintf(stderr,"malloc failed\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
/*
|
||||
* DesktopInitBeforeRealization creates the "desktop" widget and the viewport
|
||||
@@ -82,30 +106,9 @@
|
||||
for (i = 0; i < 256; i++)
|
||||
modifierPressed[i] = False;
|
||||
|
||||
- image = NULL;
|
||||
-
|
||||
-#ifdef MITSHM
|
||||
- if (appData.useShm) {
|
||||
- image = CreateShmImage();
|
||||
- if (!image)
|
||||
- appData.useShm = False;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- if (!image) {
|
||||
- image = XCreateImage(dpy, vis, visdepth, ZPixmap, 0, NULL,
|
||||
- si.framebufferWidth, si.framebufferHeight,
|
||||
- BitmapPad(dpy), 0);
|
||||
-
|
||||
- image->data = malloc(image->bytes_per_line * image->height);
|
||||
- if (!image->data) {
|
||||
- fprintf(stderr,"malloc failed\n");
|
||||
- exit(1);
|
||||
- }
|
||||
- }
|
||||
+ create_image();
|
||||
}
|
||||
|
||||
-
|
||||
/*
|
||||
* DesktopInitAfterRealization does things which require the X windows to
|
||||
* exist. It creates some GCs and sets the dot cursor.
|
||||
@@ -460,3 +463,69 @@
|
||||
break;
|
||||
}
|
||||
}
|
||||
+
|
||||
+static void reset_image(void) {
|
||||
+ if (UsingShm()) {
|
||||
+ ShmCleanup();
|
||||
+ } else {
|
||||
+ if (image && image->data) {
|
||||
+ free(image->data);
|
||||
+ XDestroyImage(image);
|
||||
+ image = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ create_image();
|
||||
+ XFlush(dpy);
|
||||
+}
|
||||
+
|
||||
+void ReDoDesktop(void) {
|
||||
+ int w, h, x, y, dw, dh;
|
||||
+
|
||||
+ if (appData.fullScreen) {
|
||||
+ if (image && image->data) {
|
||||
+ int len;
|
||||
+ int h = image->height;
|
||||
+ int w = image->width;
|
||||
+ len = image->bytes_per_line * image->height;
|
||||
+ /* black out window first: */
|
||||
+ memset(image->data, 0, len);
|
||||
+ XPutImage(dpy, XtWindow(desktop), gc, image, 0, 0, 0, 0, w, h);
|
||||
+ XFlush(dpy);
|
||||
+ }
|
||||
+ XtResizeWidget(desktop, si.framebufferWidth, si.framebufferHeight, 0);
|
||||
+ XSync(dpy, False);
|
||||
+ usleep(100*1000);
|
||||
+ FullScreenOn();
|
||||
+ XSync(dpy, False);
|
||||
+ usleep(100*1000);
|
||||
+ reset_image();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ dw = appData.wmDecorationWidth;
|
||||
+ dh = appData.wmDecorationHeight;
|
||||
+
|
||||
+ w = si.framebufferWidth;
|
||||
+ h = si.framebufferHeight;
|
||||
+
|
||||
+ if (w + dw >= dpyWidth) {
|
||||
+ w = dpyWidth - dw;
|
||||
+ }
|
||||
+ if (h + dh >= dpyHeight) {
|
||||
+ h = dpyHeight - dh;
|
||||
+ }
|
||||
+
|
||||
+ XtVaSetValues(toplevel, XtNmaxWidth, w, XtNmaxHeight, h, NULL);
|
||||
+
|
||||
+ XtVaSetValues(desktop, XtNwidth, si.framebufferWidth,
|
||||
+ XtNheight, si.framebufferHeight, NULL);
|
||||
+
|
||||
+ x = (dpyWidth - w - dw)/2;
|
||||
+ y = (dpyHeight - h - dh)/2;
|
||||
+
|
||||
+ XtResizeWidget(desktop, si.framebufferWidth, si.framebufferHeight, 0);
|
||||
+
|
||||
+ XtConfigureWidget(toplevel, x + dw, y + dh, w, h, 0);
|
||||
+
|
||||
+ reset_image();
|
||||
+}
|
||||
--- vnc_unixsrc.orig/vncviewer/fullscreen.c 2003-10-09 05:23:49.000000000 -0400
|
||||
+++ vnc_unixsrc/vncviewer/fullscreen.c 2006-07-27 14:36:06.000000000 -0400
|
||||
@@ -85,10 +85,13 @@
|
||||
Dimension oldViewportWidth, oldViewportHeight, clipWidth, clipHeight;
|
||||
Position viewportX, viewportY;
|
||||
|
||||
+ Bool fsAlready = appData.fullScreen, toobig = False;
|
||||
+
|
||||
appData.fullScreen = True;
|
||||
|
||||
if (si.framebufferWidth > dpyWidth || si.framebufferHeight > dpyHeight) {
|
||||
|
||||
+ toobig = True;
|
||||
XtVaSetValues(viewport, XtNforceBars, True, NULL);
|
||||
XtVaGetValues(viewport, XtNwidth, &oldViewportWidth,
|
||||
XtNheight, &oldViewportHeight, NULL);
|
||||
@@ -129,6 +132,7 @@
|
||||
reparenting our window to the root. The window manager will get a
|
||||
ReparentNotify and hopefully clean up its frame window. */
|
||||
|
||||
+if (! fsAlready) {
|
||||
XtVaSetValues(toplevel, XtNoverrideRedirect, True, NULL);
|
||||
|
||||
XReparentWindow(dpy, XtWindow(toplevel), DefaultRootWindow(dpy), 0, 0);
|
||||
@@ -164,10 +168,22 @@
|
||||
|
||||
XtManageChild(viewport);
|
||||
|
||||
- /* Now we can set "toplevel" to its proper size. */
|
||||
+} else {
|
||||
+ XSync(dpy, False);
|
||||
+}
|
||||
|
||||
+ /* Now we can set "toplevel" to its proper size. */
|
||||
XtResizeWidget(toplevel, toplevelWidth, toplevelHeight, 0);
|
||||
|
||||
+if (fsAlready) {
|
||||
+ XtResizeWidget(viewport, viewportWidth, viewportHeight, 0);
|
||||
+ if (! toobig) {
|
||||
+ XtVaSetValues(viewport, XtNforceBars, False, NULL);
|
||||
+ }
|
||||
+ XMoveWindow(dpy, XtWindow(viewport), viewportX, viewportY);
|
||||
+ XSync(dpy, False);
|
||||
+}
|
||||
+
|
||||
/* Set the popup to overrideRedirect too */
|
||||
|
||||
XtVaSetValues(popup, XtNoverrideRedirect, True, NULL);
|
||||
--- vnc_unixsrc.orig/vncviewer/rfbproto.c 2004-03-11 13:14:39.000000000 -0500
|
||||
+++ vnc_unixsrc/vncviewer/rfbproto.c 2006-07-25 21:51:20.000000000 -0400
|
||||
@@ -177,6 +177,9 @@
|
||||
sig_rfbEncodingPointerPos, "Pointer position update");
|
||||
CapsAdd(encodingCaps, rfbEncodingLastRect, rfbTightVncVendor,
|
||||
sig_rfbEncodingLastRect, "LastRect protocol extension");
|
||||
+
|
||||
+ CapsAdd(encodingCaps, rfbEncodingNewFBSize, rfbTightVncVendor,
|
||||
+ sig_rfbEncodingNewFBSize, "New FB size protocol extension");
|
||||
}
|
||||
|
||||
|
||||
@@ -729,6 +732,7 @@
|
||||
Bool requestCompressLevel = False;
|
||||
Bool requestQualityLevel = False;
|
||||
Bool requestLastRectEncoding = False;
|
||||
+ Bool requestNewFBSizeEncoding = True;
|
||||
|
||||
spf.type = rfbSetPixelFormat;
|
||||
spf.format = myFormat;
|
||||
@@ -806,6 +810,10 @@
|
||||
if (se->nEncodings < MAX_ENCODINGS && requestLastRectEncoding) {
|
||||
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingLastRect);
|
||||
}
|
||||
+
|
||||
+ if (se->nEncodings < MAX_ENCODINGS && requestNewFBSizeEncoding) {
|
||||
+ encs[se->nEncodings++] = Swap32IfLE(rfbEncodingNewFBSize);
|
||||
+ }
|
||||
}
|
||||
else {
|
||||
if (SameMachine(rfbsock)) {
|
||||
@@ -849,6 +857,7 @@
|
||||
}
|
||||
|
||||
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingLastRect);
|
||||
+ encs[se->nEncodings++] = Swap32IfLE(rfbEncodingNewFBSize);
|
||||
}
|
||||
|
||||
len = sz_rfbSetEncodingsMsg + se->nEncodings * 4;
|
||||
@@ -1038,6 +1047,16 @@
|
||||
}
|
||||
continue;
|
||||
}
|
||||
+ if (rect.encoding == rfbEncodingNewFBSize) {
|
||||
+ fprintf(stderr,"New Size: %dx%d at (%d, %d)\n",
|
||||
+ rect.r.w, rect.r.h, rect.r.x, rect.r.y);
|
||||
+ si.framebufferWidth = rect.r.w;
|
||||
+ si.framebufferHeight = rect.r.h;
|
||||
+ fprintf(stderr, "si: %d %d\n", si.framebufferWidth, si.framebufferHeight);
|
||||
+ ReDoDesktop();
|
||||
+
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
if ((rect.r.x + rect.r.w > si.framebufferWidth) ||
|
||||
(rect.r.y + rect.r.h > si.framebufferHeight))
|
||||
--- vnc_unixsrc.orig/vncviewer/shm.c 2000-06-11 08:00:53.000000000 -0400
|
||||
+++ vnc_unixsrc/vncviewer/shm.c 2006-07-26 23:30:42.000000000 -0400
|
||||
@@ -41,6 +41,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
+Bool UsingShm() {
|
||||
+ return needShmCleanup;
|
||||
+}
|
||||
+
|
||||
static int
|
||||
ShmCreationXErrorHandler(Display *dpy, XErrorEvent *error)
|
||||
{
|
||||
--- vnc_unixsrc.orig/vncviewer/vncviewer.h 2004-03-11 13:14:40.000000000 -0500
|
||||
+++ vnc_unixsrc/vncviewer/vncviewer.h 2006-07-26 23:31:25.000000000 -0400
|
||||
@@ -162,6 +162,8 @@
|
||||
extern void CopyDataToScreen(char *buf, int x, int y, int width, int height);
|
||||
extern void SynchroniseScreen();
|
||||
|
||||
+extern void ReDoDesktop();
|
||||
+
|
||||
/* dialogs.c */
|
||||
|
||||
extern void ServerDialogDone(Widget w, XEvent *event, String *params,
|
||||
@@ -243,6 +245,7 @@
|
||||
|
||||
extern XImage *CreateShmImage();
|
||||
extern void ShmCleanup();
|
||||
+extern Bool UsingShm();
|
||||
|
||||
/* sockets.c */
|
||||
|
||||
--- vnc_unixsrc.orig/vncviewer/vncviewer.c 2004-01-13 09:22:05.000000000 -0500
|
||||
+++ vnc_unixsrc/vncviewer/vncviewer.c 2006-07-27 19:00:25.000000000 -0400
|
||||
@@ -57,6 +57,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ if (argc > 1 && strstr(argv[1], "-h") == argv[1]) {
|
||||
+ usage();
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
/* Call the main Xt initialisation function. It parses command-line options,
|
||||
generating appropriate resource specs, and makes a connection to the X
|
||||
display. */
|
@ -0,0 +1,15 @@
|
||||
This is where we keep the 3rd party source zip and tar.gz files used
|
||||
to build this package.
|
||||
|
||||
www.stunnel.org source 488512 Jul 25 15:09 stunnel-4.14.tar.gz
|
||||
www.tightvnc.com source 2182134 Jul 25 15:11 tightvnc-1.3dev7_unixsrc.tar.gz
|
||||
www.tightvnc.com windows
|
||||
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.
|
||||
The should be included in the "enhanced_tightvnc_viewer_all-<version>.zip" file.
|
||||
Go to the websites indicated above or contact me if you cannot find them.
|
||||
|
||||
The stunnel.patched.tar vnc_unixsrc_vncviewer.patched.tar
|
||||
files are tarballs of the original sources above with patches applied
|
||||
(used by build.unix script when patching fails).
|
Loading…
Reference in new issue