Commit 6de3f0be authored by runge's avatar runge

Sync ssvncviewer changes.

parent b74c8f42
......@@ -6,6 +6,10 @@
warning about missing Xvfb, Xdummy, or Xvnc in -create.
Fix __LINUX_VIDEODEV2_H / HAVE_V4L2. Always print out info
about Xinerama screens.
* x11vnc/misc/enhanced_tightvnc_viewer: check for host cmd.
fix stunnel mode w/o proxy. Update to stunnel 4.33, Fix
build.unix with new stunnel on Solaris. ipv6 support for
unix ssvncviewer
2010-04-09 Karl Runge <runge@karlrunge.com>
* classes/ssl: debugging and workarounds for java viewer
......
......@@ -586,9 +586,12 @@ elif echo "$host" | grep '^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$'
:
else
# regular hostname, can't be sure...
host "$host" >/dev/null 2>&1
host "$host" >/dev/null 2>&1
hout=`host "$host" 2>/dev/null`
hout=""
if type host > /dev/null 2>/dev/null; then
host "$host" >/dev/null 2>&1
host "$host" >/dev/null 2>&1
hout=`host "$host" 2>/dev/null`
fi
if echo "$hout" | grep -i 'has ipv6 address' > /dev/null; then
if echo "$hout" | grep -i 'has address' > /dev/null; then
:
......@@ -598,7 +601,10 @@ else
fi
fi
if [ "X$ipv6" = "X0" ]; then
dout=""
if type dig > /dev/null 2>/dev/null; then
dout=`dig -t any "$host" 2>/dev/null`
fi
if echo "$dout" | grep -i "^$host" | grep '[ ]AAAA[ ]' > /dev/null; then
if echo "$dout" | grep -i "^$host" | grep '[ ]A[ ]' > /dev/null; then
:
......@@ -3024,8 +3030,10 @@ if [ "X$showcert" = "X1" ]; then
fi
#echo "openssl s_client $cipher_args -connect $host:$port"
if [ "X$reverse" = "X" ]; then
host $host >/dev/null 2>&1
host $host >/dev/null 2>&1
if type host > /dev/null 2>/dev/null; then
host $host >/dev/null 2>&1
host $host >/dev/null 2>&1
fi
timeout=15
if [ "X$SSVNC_FETCH_TIMEOUT" != "X" ]; then
timeout=$SSVNC_FETCH_TIMEOUT
......
......@@ -439,8 +439,9 @@ proc help {} {
Options -> Help), the port mapping is similar, except "listening
display :0" corresponds to port 5500, :1 to 5501, etc.
Specify a specific interface, e.g. 192.168.1.1:0 to have stunnel
only listen on that interface. IPv6 also works, e.g. :::0 or ::1:0
This also works for UN-encrypted reverse connections as well ('None').
listen on that interface only. Listening on IPv6 can also be done, use
e.g. :::0 or ::1:0 This listening on IPv6 (:::0) works for UN-encrypted
reverse connections as well (mode 'None').
Zeroconf/Bonjour:
......@@ -3455,6 +3456,9 @@ proc do_viewer_windows {n} {
set nn [expr "$nn + 5500"]
}
global direct_connect_reverse_host_orig is_win9x
if {![info exists direct_connect_reverse_host_orig]} {
set direct_connect_reverse_host_orig ""
}
if {$direct_connect_reverse_host_orig != "" && !$is_win9x} {
set nn2 [expr $nn + 15]
set h0 $direct_connect_reverse_host_orig
......@@ -8627,11 +8631,15 @@ proc launch {{hp ""}} {
set ipv6_pid ""
global have_ipv6
if {$have_ipv6} {
set res [ipv6_proxy $proxy $host $port]
set proxy [lindex $res 0]
set host [lindex $res 1]
set port [lindex $res 2]
set ipv6_pid [lindex $res 3]
if {$proxy == "" && $use_ssl} {
# stunnel can handle ipv6
} else {
set res [ipv6_proxy $proxy $host $port]
set proxy [lindex $res 0]
set host [lindex $res 1]
set port [lindex $res 2]
set ipv6_pid [lindex $res 3]
}
}
if {$proxy != ""} {
......
......@@ -387,7 +387,7 @@ if [ "X$SSVNC_BUILD_SKIP_STUNNEL" = "X" ]; then
cd $tmp/stunnel
if [ `uname` = "SunOS" ]; then
cp configure configure.orig
sed -e "s,/var/ssl,/var/ssl /usr/sfw," configure.orig > configure
sed -e "s,maindir in,maindir in /usr/sfw," configure.orig > configure
fi
env LDFLAGS="-L$start/$libs $LDFLAGS_OS" CPPFLAGS="$CPPFLAGS_OS" ./configure --disable-libwrap --enable-ipv6
make
......
......@@ -5,13 +5,13 @@
.\" Copyright (C) 1998 Marcus.Brinkmann@ruhr-uni-bochum.de
.\" Copyright (C) 2000,2001 Red Hat, Inc.
.\" Copyright (C) 2001-2003 Constantin Kaplinsky <const@ce.cctpu.edu.ru>
.\" Copyright (C) 2006-2009 Karl J. Runge <runge@karlrunge.com>
.\" Copyright (C) 2006-2010 Karl J. Runge <runge@karlrunge.com>
.\"
.\" You may distribute under the terms of the GNU General Public
.\" License as specified in the file LICENCE.TXT that comes with the
.\" TightVNC distribution.
.\"
.TH ssvncviewer 1 "September 2009" "" "SSVNC"
.TH ssvncviewer 1 "April 2010" "" "SSVNC"
.SH NAME
ssvncviewer \- an X viewer client for VNC
.SH SYNOPSIS
......@@ -453,6 +453,12 @@ To save writing a shell script to set environment
variables, specify as many as you need on the command line. For example,
-env SSVNC_MULTIPLE_LISTEN=MAX:5 -env EDITOR=vi
.TP
\fB\-noipv6\fR
Disable all IPv6 sockets. Same as VNCVIEWER_NO_IPV6=1.
.TP
\fB\-noipv4\fR
Disable all IPv4 sockets. Same as VNCVIEWER_NO_IPV4=1.
.TP
\fB\-printres\fR
Print out the Ssvnc X resources (appdefaults) and
then exit. You can save them to a file and customize them (e.g. the
......
diff -Naur stunnel.orig/src/client.c stunnel/src/client.c
--- stunnel.orig/src/client.c 2008-03-27 04:35:27.000000000 -0400
+++ stunnel/src/client.c 2008-11-19 21:40:00.000000000 -0500
@@ -191,6 +191,7 @@
--- stunnel.orig/src/client.c 2010-04-04 17:00:29.000000000 -0400
+++ stunnel/src/client.c 2010-04-12 17:12:47.000000000 -0400
@@ -187,6 +187,7 @@
enter_critical_section(CRIT_CLIENTS); /* for multi-cpu machines */
s_log(LOG_DEBUG, "%s finished (%d left)", c->opt->servname,
s_log(LOG_DEBUG, "Service %s finished (%d left)", c->opt->servname,
--num_clients);
+ if (getenv("STUNNEL_ONCE")) {fprintf(stderr, "stunnel: exiting.\n"); exit(0);}
+ if (getenv("STUNNEL_ONCE")) {fprintf(stderr, "stunnel: exiting.\n"); exit(0);}
leave_critical_section(CRIT_CLIENTS);
#endif
}
diff -Naur stunnel.orig/src/network.c stunnel/src/network.c
--- stunnel.orig/src/network.c 2008-03-27 05:28:16.000000000 -0400
+++ stunnel/src/network.c 2008-11-19 21:39:41.000000000 -0500
@@ -346,6 +346,7 @@
/* no logging is possible in a signal handler */
#ifdef USE_FORK
--num_clients; /* one client less */
+ if (getenv("STUNNEL_ONCE")) exit(0);
#endif /* USE_FORK */
}
#else /* __sgi */
@@ -432,9 +433,11 @@
#ifdef HAVE_WAIT_FOR_PID
while((pid=wait_for_pid(-1, &status, WNOHANG))>0) {
--num_clients; /* one client less */
+ if (getenv("STUNNEL_ONCE")) exit(0);
#else
--- stunnel.orig/src/network.c 2010-02-04 05:31:45.000000000 -0500
+++ stunnel/src/network.c 2010-04-12 17:13:53.000000000 -0400
@@ -437,6 +437,7 @@
if((pid=wait(&status))>0) {
--num_clients; /* one client less */
+ if (getenv("STUNNEL_ONCE")) exit(0);
#endif
+ if (getenv("STUNNEL_ONCE")) 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 2008-06-21 17:18:23.000000000 -0400
+++ stunnel/src/options.c 2008-11-19 21:15:01.000000000 -0500
@@ -465,6 +465,7 @@
--- stunnel.orig/src/options.c 2010-04-05 14:44:43.000000000 -0400
+++ stunnel/src/options.c 2010-04-12 17:19:18.000000000 -0400
@@ -470,6 +470,7 @@
switch(cmd) {
case CMD_INIT:
options.option.syslog=1;
+ if (getenv("STUNNEL_NO_SYSLOG")) options.option.syslog=0;
new_global_options.option.syslog=1;
+ if (getenv("STUNNEL_NO_SYSLOG")) new_global_options.option.syslog=0;
break;
case CMD_EXEC:
if(strcasecmp(opt, "syslog"))
diff -Naur stunnel.orig/src/stunnel.c stunnel/src/stunnel.c
--- stunnel.orig/src/stunnel.c 2008-06-21 17:32:45.000000000 -0400
+++ stunnel/src/stunnel.c 2008-11-19 21:14:28.000000000 -0500
@@ -301,6 +301,7 @@
--- stunnel.orig/src/stunnel.c 2010-02-25 04:57:11.000000000 -0500
+++ stunnel/src/stunnel.c 2010-04-12 17:16:33.000000000 -0400
@@ -306,6 +306,7 @@
max_clients=0;
s_log(LOG_NOTICE, "No limit detected for the number of clients");
}
#endif
#endif
+ if (getenv("STUNNEL_MAX_CLIENTS")) max_clients = atoi(getenv("STUNNEL_MAX_CLIENTS"));
+ if (getenv("STUNNEL_MAX_CLIENTS")) max_clients = atoi(getenv("STUNNEL_MAX_CLIENTS"));
}
#if !defined (USE_WIN32) && !defined (__vms) && !defined(USE_OS2)
#ifdef HAVE_CHROOT
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