Commit 2635ae44 authored by runge's avatar runge

configure.ac -R and macosx, prepare_x11vnc_dist.sh rpm fix

parent 17f88b49
2006-11-07 Karl Runge <runge@karlrunge.com>
* configure.ac: clean up -R linker case, add --without-macosx-native
* prepare_x11vnc_dist.sh: have "make rpm" work properly for
x11vnc package.
2006-07-17 Karl Runge <runge@karlrunge.com> 2006-07-17 Karl Runge <runge@karlrunge.com>
* configure.ac: move non-X11 tests out of HAVE_X: set * configure.ac: move non-X11 tests out of HAVE_X: set
SSL_LIBS and CRYPT_LIBS and some header checks. SSL_LIBS and CRYPT_LIBS and some header checks.
......
...@@ -126,6 +126,7 @@ help() { ...@@ -126,6 +126,7 @@ help() {
gotalpha="" gotalpha=""
use_ssh="" use_ssh=""
use_sshssl="" use_sshssl=""
direct_connect=""
ssh_sleep=15 ssh_sleep=15
ssh_cmd="sleep $ssh_sleep" ssh_cmd="sleep $ssh_sleep"
if [ "X$SSL_VNCVIEWER_SSH_CMD" != "X" ]; then if [ "X$SSL_VNCVIEWER_SSH_CMD" != "X" ]; then
...@@ -181,6 +182,15 @@ if [ "X$use_ssh" = "X1" -a "X$use_sshssl" = "X" ]; then ...@@ -181,6 +182,15 @@ if [ "X$use_ssh" = "X1" -a "X$use_sshssl" = "X" ]; then
fi fi
fi fi
if echo "$orig" | grep '^vnc://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vnc://,,'`
verify=""
mycert=""
use_ssh=""
use_sshssl=""
direct_connect=1
fi
# play around with host:display port: # play around with host:display port:
if echo "$orig" | grep ':' > /dev/null; then if echo "$orig" | grep ':' > /dev/null; then
: :
...@@ -277,8 +287,8 @@ if [ "X$use_ssh" = "X1" ]; then ...@@ -277,8 +287,8 @@ if [ "X$use_ssh" = "X1" ]; then
proxport=`findfree 3500` proxport=`findfree 3500`
echo echo
echo "Running 1st ssh proxy:" echo "Running 1st ssh proxy:"
echo "$ssh -f -p $ssh_port1 -t -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\"" echo "$ssh -f -x -p $ssh_port1 -t -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\""
$ssh -f -p $ssh_port1 -t -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30" $ssh -f -x -p $ssh_port1 -t -e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30"
ssh_args="$ssh_args -o NoHostAuthenticationForLocalhost=yes" ssh_args="$ssh_args -o NoHostAuthenticationForLocalhost=yes"
sleep 1 sleep 1
stty sane stty sane
...@@ -307,18 +317,18 @@ if [ "X$use_ssh" = "X1" ]; then ...@@ -307,18 +317,18 @@ if [ "X$use_ssh" = "X1" ]; then
fi fi
# the -t option actually speeds up typing response via VNC!! # the -t option actually speeds up typing response via VNC!!
if [ "X$SSL_VNCVIEWER_SSH_ONLY" != "X" ]; then if [ "X$SSL_VNCVIEWER_SSH_ONLY" != "X" ]; then
echo "$ssh -p $ssh_port -t $C $ssh_args $ssh_host \"$info\"" echo "$ssh -x -p $ssh_port -t $C $ssh_args $ssh_host \"$info\""
echo "" echo ""
$ssh -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd" $ssh -x -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd"
exit $? exit $?
elif [ "X$SSL_VNCVIEWER_NO_F" != "X" ]; then elif [ "X$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 -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\""
echo "" echo ""
$ssh -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd" $ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd"
else else
echo "$ssh -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\"" echo "$ssh -x -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\""
echo "" echo ""
$ssh -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd" $ssh -x -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd"
fi fi
if [ "$?" != "0" ]; then if [ "$?" != "0" ]; then
echo "" echo ""
...@@ -337,9 +347,9 @@ if [ "X$use_ssh" = "X1" ]; then ...@@ -337,9 +347,9 @@ if [ "X$use_ssh" = "X1" ]; then
stty sane stty sane
if [ "X$use_sshssl" = "X" ]; then if [ "X$use_sshssl" = "X" ]; then
echo "Running viewer:" echo "Running viewer:"
echo $VNCVIEWERCMD "$@" localhost:$N echo "$VNCVIEWERCMD" "$@" localhost:$N
echo "" echo ""
$VNCVIEWERCMD "$@" localhost:$N "$VNCVIEWERCMD" "$@" localhost:$N
exit $? exit $?
else else
...@@ -408,6 +418,23 @@ print STDERR "proxy_host: $proxy_host\n"; ...@@ -408,6 +418,23 @@ print STDERR "proxy_host: $proxy_host\n";
print STDERR "proxy_port: $proxy_port\n"; print STDERR "proxy_port: $proxy_port\n";
print STDERR "proxy_connect: $connect\n"; print STDERR "proxy_connect: $connect\n";
my $listen_handle = "";
if ($ENV{SSL_VNC_LISTEN} != "") {
my $listen_sock = IO::Socket::INET->new(
Listen => 2,
LocalAddr => "localhost",
LocalPort => $ENV{SSL_VNC_LISTEN},
Proto => "tcp");
if (! $listen_sock) {
die "perl proxy: $!\n";
}
my $ip;
($listen_handle, $ip) = $listen_sock->accept();
if (! $listen_handle) {
die "perl proxy: $!\n";
}
}
my $sock = IO::Socket::INET->new( my $sock = IO::Socket::INET->new(
PeerAddr => $proxy_host, PeerAddr => $proxy_host,
PeerPort => $proxy_port, PeerPort => $proxy_port,
...@@ -462,10 +489,18 @@ if ($second ne "") { ...@@ -462,10 +489,18 @@ if ($second ne "") {
if (fork) { if (fork) {
print STDERR "parent\[$$] STDIN -> socket\n\n"; print STDERR "parent\[$$] STDIN -> socket\n\n";
xfer(STDIN, $sock); if ($listen_handle) {
xfer($listen_handle, $sock);
} else {
xfer(STDIN, $sock);
}
} else { } else {
print STDERR "child \[$$] socket -> STDOUT\n\n"; print STDERR "child \[$$] socket -> STDOUT\n\n";
xfer($sock, STDOUT); if ($listen_handle) {
xfer($sock, $listen_handle);
} else {
xfer($sock, STDOUT);
}
} }
exit; exit;
...@@ -523,6 +558,35 @@ else ...@@ -523,6 +558,35 @@ else
connect="connect = $host:$port" connect="connect = $host:$port"
fi fi
if [ "X$direct_connect" != "X" ]; then
echo ""
echo "Running viewer for direct connection:"
echo ""
echo "** NOTE: THERE WILL BE NO SSL OR SSH ENCRYPTION **"
echo ""
if type printf > /dev/null 2>&1; then
printf "Are you sure you want to continue? [y]/n "
else
echo -n "Are you sure you want to continue? [y]/n "
fi
read x
if [ "X$x" = "Xn" ]; then
exit 1
fi
echo ""
if [ "X$ptmp" != "X" ]; then
SSL_VNC_LISTEN=$use
export SSL_VNC_LISTEN
$ptmp &
sleep 2
host="localhost"
disp="$N"
fi
echo "$VNCVIEWERCMD" "$@" $host:$disp
echo ""
"$VNCVIEWERCMD" "$@" $host:$disp
exit $?
fi
##debug = 7 ##debug = 7
tmp=/tmp/ssl_vncviewer${RANDOM}.$$ tmp=/tmp/ssl_vncviewer${RANDOM}.$$
...@@ -566,9 +630,9 @@ rm -f "$tmp" ...@@ -566,9 +630,9 @@ rm -f "$tmp"
echo "" echo ""
echo "Running viewer:" echo "Running viewer:"
echo $VNCVIEWERCMD "$@" localhost:$N echo "$VNCVIEWERCMD" "$@" localhost:$N
echo "" echo ""
$VNCVIEWERCMD "$@" localhost:$N "$VNCVIEWERCMD" "$@" localhost:$N
kill $pid kill $pid
sleep 1 sleep 1
...@@ -65,6 +65,7 @@ AH_TEMPLATE(HAVE_LINUX_VIDEODEV_H, [video4linux build environment present]) ...@@ -65,6 +65,7 @@ AH_TEMPLATE(HAVE_LINUX_VIDEODEV_H, [video4linux build environment present])
AH_TEMPLATE(HAVE_LINUX_FB_H, [linux fb device build environment present]) AH_TEMPLATE(HAVE_LINUX_FB_H, [linux fb device build environment present])
AH_TEMPLATE(HAVE_LINUX_INPUT_H, [linux/input.h present]) AH_TEMPLATE(HAVE_LINUX_INPUT_H, [linux/input.h present])
AH_TEMPLATE(HAVE_LINUX_UINPUT_H, [linux uinput device build environment present]) AH_TEMPLATE(HAVE_LINUX_UINPUT_H, [linux uinput device build environment present])
AH_TEMPLATE(HAVE_MACOSX_NATIVE_DISPLAY, [build MacOS X native display support])
AC_ARG_WITH(xkeyboard, AC_ARG_WITH(xkeyboard,
[ --without-xkeyboard disable xkeyboard extension support],,) [ --without-xkeyboard disable xkeyboard extension support],,)
...@@ -88,6 +89,8 @@ AC_ARG_WITH(fbdev, ...@@ -88,6 +89,8 @@ AC_ARG_WITH(fbdev,
[ --without-fbdev disable linux fb device support],,) [ --without-fbdev disable linux fb device support],,)
AC_ARG_WITH(uinput, AC_ARG_WITH(uinput,
[ --without-uinput disable linux uinput device support],,) [ --without-uinput disable linux uinput device support],,)
AC_ARG_WITH(macosx-native,
[ --without-macosx-native disable MacOS X native display support],,)
if test "x$with_x" = "xno"; then if test "x$with_x" = "xno"; then
HAVE_X="false" HAVE_X="false"
...@@ -275,8 +278,22 @@ if test "x$with_uinput" != "xno"; then ...@@ -275,8 +278,22 @@ if test "x$with_uinput" != "xno"; then
fi fi
fi fi
if test "x$with_macosx_native" != "xno"; then
AC_DEFINE(HAVE_MACOSX_NATIVE_DISPLAY)
fi
# Checks for libraries. # Checks for libraries.
uname_s=`(uname -s) 2>/dev/null`
ld_minus_R="yes"
if test "x$uname_s" = "xHP-UX"; then
ld_minus_R="no"
elif test "x$uname_s" = "xOSF1"; then
ld_minus_R="no"
elif test "x$uname_s" = "xDarwin"; then
ld_minus_R="no"
fi
AC_ARG_WITH(jpeg, AC_ARG_WITH(jpeg,
[ --without-jpeg disable support for jpeg] [ --without-jpeg disable support for jpeg]
[ --with-jpeg=DIR use jpeg include/library files in DIR],,) [ --with-jpeg=DIR use jpeg include/library files in DIR],,)
...@@ -294,10 +311,7 @@ if test "x$with_jpeg" != "xno"; then ...@@ -294,10 +311,7 @@ if test "x$with_jpeg" != "xno"; then
saved_LDFLAGS="$LDFLAGS" saved_LDFLAGS="$LDFLAGS"
CPPFLAGS="$CPPFLAGS -I$with_jpeg/include" CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
LDFLAGS="$LDFLAGS -L$with_jpeg/lib" LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
uname_s=`(uname -s) 2>/dev/null` if test "x$ld_minus_R" = "xno"; then
if test "x$uname_s" = "xHP-UX"; then
:
elif test "x$uname_s" = "xOSF1"; then
: :
elif test "x$GCC" = "xyes"; then elif test "x$GCC" = "xyes"; then
# this is not complete... in general a rat's nest. # this is not complete... in general a rat's nest.
...@@ -344,10 +358,7 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then ...@@ -344,10 +358,7 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
saved_LDFLAGS="$LDFLAGS" saved_LDFLAGS="$LDFLAGS"
CPPFLAGS="$CPPFLAGS -I$with_zlib/include" CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
LDFLAGS="$LDFLAGS -L$with_zlib/lib" LDFLAGS="$LDFLAGS -L$with_zlib/lib"
uname_s=`(uname -s) 2>/dev/null` if test "x$ld_minus_R" = "xno"; then
if test "x$uname_s" = "xHP-UX"; then
:
elif test "x$uname_s" = "xOSF1"; then
: :
elif test "x$GCC" = "xyes"; then elif test "x$GCC" = "xyes"; then
LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib" LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
......
...@@ -44,9 +44,31 @@ into a versatile and performant while still easy to use program.\ ...@@ -44,9 +44,31 @@ into a versatile and performant while still easy to use program.\
x11vnc was put together and is (actively ;-) maintained by\ x11vnc was put together and is (actively ;-) maintained by\
Karl Runge <runge@karlrunge.com>\ Karl Runge <runge@karlrunge.com>\
\ \
%prep\ /i' \
/' \ > x11vnc.spec.in.tmp
> x11vnc.spec.in
perl -e '
$s = 0;
while (<>) {
if ($s) {
if (/^\s*$/) {
$s = 0;
}
} else {
if (/^%files\s*$/ || /^%files devel/) {
$s = 1;
}
}
next if $s;
if (/^%files x11vnc/) {
print "\%files\n";
print "\%doc README x11vnc/ChangeLog\n";
next;
}
print;
}' < x11vnc.spec.in.tmp > x11vnc.spec.in
rm -f x11vnc.spec.in.tmp
mv libvncserver/Makefile.am libvncserver/Makefile.am.LibVNCServer mv libvncserver/Makefile.am libvncserver/Makefile.am.LibVNCServer
......
2006-11-07 Karl Runge <runge@karlrunge.com>
* ssl_vncviewer: vnc:// direct connect, add -x to ssh,
SSL_VNC_LISTEN variable for direct proxy.
2006-10-29 Karl Runge <runge@karlrunge.com> 2006-10-29 Karl Runge <runge@karlrunge.com>
* x11vnc: Add tip about how to reenable RECORD extension. * x11vnc: Add tip about how to reenable RECORD extension.
......
This diff is collapsed.
.\" This file was automatically generated from x11vnc -help output. .\" This file was automatically generated from x11vnc -help output.
.TH X11VNC "1" "October 2006" "x11vnc " "User Commands" .TH X11VNC "1" "November 2006" "x11vnc " "User Commands"
.SH NAME .SH NAME
x11vnc - allow VNC connections to real X11 displays x11vnc - allow VNC connections to real X11 displays
version: 0.8.3, lastmod: 2006-10-29 version: 0.8.3, lastmod: 2006-11-06
.SH SYNOPSIS .SH SYNOPSIS
.B x11vnc .B x11vnc
[OPTION]... [OPTION]...
......
...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0; ...@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0; int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */ /* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.8.3 lastmod: 2006-10-29"; char lastmod[] = "0.8.3 lastmod: 2006-11-06";
/* X display info */ /* X display info */
......
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