I've started working on an update to x11vnc. I've tested it on i386 and on two different systems, I've had it crash X11 on me when the client disconnects. I haven't had more time to look at it since.
Testing and suggestions welcome. I hope to give it more time this weekend. Again, this is not finished. Someone (an Anonymous Coward) offered to help/test on Undeadly. -ME Index: Makefile =================================================================== RCS file: /cvs/ports/x11/x11vnc/Makefile,v retrieving revision 1.2 diff -u -p -r1.2 Makefile --- Makefile 15 Sep 2007 20:04:26 -0000 1.2 +++ Makefile 9 Nov 2007 22:17:00 -0000 @@ -2,7 +2,7 @@ COMMENT= VNC server for real X displays -VERSION= 0.6.2 +VERSION= 0.9.3 DISTNAME= x11vnc-${VERSION} CATEGORIES= x11 @@ -16,14 +16,17 @@ PERMIT_PACKAGE_FTP= Yes PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes -WANTLIB= X11 Xext Xinerama Xtst c pthread z +WANTLIB= X11 Xdamage Xext Xfixes Xinerama Xrandr Xtst c crypto \ + pthread ssl z +LIB_DEPENDS= jpeg.>=62::graphics/jpeg MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libvncserver/} USE_X11= Yes -CONFIGURE_STYLE=gnu -CONFIGURE_ARGS+=--with-x +CONFIGURE_STYLE=simple +CONFIGURE_ARGS+=--with-x \ + --with-jpeg=${PREFIX} post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/x11vnc Index: distinfo =================================================================== RCS file: /cvs/ports/x11/x11vnc/distinfo,v retrieving revision 1.3 diff -u -p -r1.3 distinfo --- distinfo 5 Apr 2007 17:36:25 -0000 1.3 +++ distinfo 9 Nov 2007 22:17:00 -0000 @@ -1,5 +1,5 @@ -MD5 (x11vnc-0.6.2.tar.gz) = 6NLhEzJiTc8+6pkiSN2PaA== -RMD160 (x11vnc-0.6.2.tar.gz) = Dzdk8gdesxpHMULdLkX2e48Rc8U= -SHA1 (x11vnc-0.6.2.tar.gz) = hH2SYO6Noo5bqFTz3YS1pT36J3A= -SHA256 (x11vnc-0.6.2.tar.gz) = /5MvnyU53KC/uVgNoFV5FB2L4KSBXOhooB+FaY/e9a0= -SIZE (x11vnc-0.6.2.tar.gz) = 350243 +MD5 (x11vnc-0.9.3.tar.gz) = lu3/tanrNqrUYg9JylgQGw== +RMD160 (x11vnc-0.9.3.tar.gz) = 5AE+Yq8eniPIVmzznL7lr5O8xXI= +SHA1 (x11vnc-0.9.3.tar.gz) = e7Xg0W1frjAeb03LW5QZpeI5buM= +SHA256 (x11vnc-0.9.3.tar.gz) = CrBpCBTZt3O6eQ/eFyir6phfZOEpss9C4SQ10fCa32k= +SIZE (x11vnc-0.9.3.tar.gz) = 2105034 Index: patches/patch-configure =================================================================== RCS file: /cvs/ports/x11/x11vnc/patches/patch-configure,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-configure --- patches/patch-configure 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ patches/patch-configure 9 Nov 2007 22:17:00 -0000 @@ -1,9 +1,9 @@ -$OpenBSD: patch-configure,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ ---- configure.orig Thu Dec 2 20:42:03 2004 -+++ configure Thu Dec 2 20:42:44 2004 -@@ -5375,13 +5375,13 @@ fi - fi - if test ! -z "$HAVE_PTHREAD_H"; then +$OpenBSD$ +--- configure.orig Thu Nov 8 22:32:44 2007 ++++ configure Thu Nov 8 22:32:57 2007 +@@ -8515,13 +8515,13 @@ fi + + if test ! -z "$HAVE_PTHREAD_H"; then -echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5 -echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6 @@ -16,9 +16,9 @@ $OpenBSD: patch-configure,v 1.1.1.1 2004 -LIBS="-lpthread $LIBS" +LIBS="-pthread $LIBS" cat >conftest.$ac_ext <<_ACEOF - #line $LINENO "configure" /* confdefs.h. */ -@@ -5434,17 +5434,17 @@ if test $ac_cv_lib_pthread_pthread_mutex + _ACEOF +@@ -8584,17 +8584,17 @@ if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; t #define HAVE_LIBPTHREAD 1 _ACEOF @@ -27,9 +27,9 @@ $OpenBSD: patch-configure,v 1.1.1.1 2004 fi -- echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5 +- echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5 -echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6 -+ echo "$as_me:$LINENO: checking for pthread_mutex_lock in -pthread" >&5 ++ echo "$as_me:$LINENO: checking for pthread_mutex_lock in -pthread" >&5 +echo $ECHO_N "checking for pthread_mutex_lock in -pthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -38,5 +38,5 @@ $OpenBSD: patch-configure,v 1.1.1.1 2004 -LIBS="-lpthread $LIBS" +LIBS="-pthread $LIBS" cat >conftest.$ac_ext <<_ACEOF - #line $LINENO "configure" /* confdefs.h. */ + _ACEOF Index: patches/patch-libvncserver_httpd_c =================================================================== RCS file: patches/patch-libvncserver_httpd_c diff -N patches/patch-libvncserver_httpd_c --- patches/patch-libvncserver_httpd_c 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -$OpenBSD: patch-libvncserver_httpd_c,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ ---- libvncserver/httpd.c.orig Thu Dec 2 21:04:09 2004 -+++ libvncserver/httpd.c Thu Dec 2 21:04:52 2004 -@@ -123,7 +123,7 @@ httpCheckFds(rfbScreenInfoPtr rfbScreen) - fd_set fds; - struct timeval tv; - struct sockaddr_in addr; -- size_t addrlen = sizeof(addr); -+ socklen_t addrlen = sizeof(addr); - - if (!rfbScreen->httpDir) - return; -@@ -208,7 +208,7 @@ static void - httpProcessInput(rfbScreenInfoPtr rfbScreen) - { - struct sockaddr_in addr; -- size_t addrlen = sizeof(addr); -+ socklen_t addrlen = sizeof(addr); - char fullFname[512]; - char params[1024]; - char *ptr; Index: patches/patch-libvncserver_main_c =================================================================== RCS file: patches/patch-libvncserver_main_c diff -N patches/patch-libvncserver_main_c --- patches/patch-libvncserver_main_c 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-libvncserver_main_c,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ ---- libvncserver/main.c.orig Thu Dec 2 21:01:06 2004 -+++ libvncserver/main.c Thu Dec 2 21:02:08 2004 -@@ -323,7 +323,7 @@ listenerRun(void *data) - int client_fd; - struct sockaddr_in peer; - rfbClientPtr cl; -- size_t len; -+ socklen_t len; - - len = sizeof(peer); - Index: patches/patch-libvncserver_rfbserver_c =================================================================== RCS file: /cvs/ports/x11/x11vnc/patches/patch-libvncserver_rfbserver_c,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-libvncserver_rfbserver_c --- patches/patch-libvncserver_rfbserver_c 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ patches/patch-libvncserver_rfbserver_c 9 Nov 2007 22:17:00 -0000 @@ -1,30 +1,12 @@ -$OpenBSD: patch-libvncserver_rfbserver_c,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ ---- libvncserver/rfbserver.c.orig Tue Jun 15 15:23:57 2004 -+++ libvncserver/rfbserver.c Thu Dec 2 21:03:19 2004 -@@ -101,7 +101,7 @@ rfbClientListInit(rfbScreenInfoPtr rfbSc - { - if(sizeof(rfbBool)!=1) { - /* a sanity check */ -- fprintf(stderr,"rfbBool's size is not 1 (%d)!\n",sizeof(rfbBool)); -+ fprintf(stderr,"rfbBool's size is not 1 (%ld)!\n",(long)sizeof(rfbBool)); - /* we cannot continue, because rfbBool is supposed to be char everywhere */ - exit(1); - } -@@ -227,7 +227,7 @@ rfbNewTCPOrUDPClient(rfbScreen,sock,isUD - rfbClientIteratorPtr iterator; - rfbClientPtr cl,cl_; - struct sockaddr_in addr; -- size_t addrlen = sizeof(struct sockaddr_in); -+ socklen_t addrlen = sizeof(struct sockaddr_in); - - cl = (rfbClientPtr)calloc(sizeof(rfbClientRec),1); - -@@ -523,7 +523,7 @@ rfbProcessClientProtocolVersion(cl) +$OpenBSD$ +--- libvncserver/rfbserver.c.orig Thu Nov 8 22:35:54 2007 ++++ libvncserver/rfbserver.c Thu Nov 8 22:37:14 2007 +@@ -607,7 +607,7 @@ rfbProcessClientProtocolVersion(rfbClientPtr cl) pv[sz_rfbProtocolVersionMsg] = 0; if (sscanf(pv,rfbProtocolVersionFormat,&major_,&minor_) != 2) { - char name[1024]; + char name[1025]; - if(sscanf(pv,"RFB %03d.%03d %1024s\n",&major_,&minor_,name) != 3) { - rfbErr("rfbProcessClientProtocolVersion: not a valid RFB client\n"); + if(sscanf(pv,"RFB %03d.%03d %1023s\n",&major_,&minor_,name) != 3) { + rfbErr("rfbProcessClientProtocolVersion: not a valid RFB client: %s\n", pv); rfbCloseClient(cl); Index: patches/patch-libvncserver_sockets_c =================================================================== RCS file: patches/patch-libvncserver_sockets_c diff -N patches/patch-libvncserver_sockets_c --- patches/patch-libvncserver_sockets_c 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-libvncserver_sockets_c,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ ---- libvncserver/sockets.c.orig Thu Dec 2 21:03:26 2004 -+++ libvncserver/sockets.c Thu Dec 2 21:04:02 2004 -@@ -195,7 +195,7 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l - fd_set fds; - struct timeval tv; - struct sockaddr_in addr; -- size_t addrlen = sizeof(addr); -+ socklen_t addrlen = sizeof(addr); - char buf[6]; - const int one = 1; - int sock; Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/x11/x11vnc/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 PLIST --- pkg/PLIST 2 Dec 2004 21:21:23 -0000 1.1.1.1 +++ pkg/PLIST 9 Nov 2007 22:17:00 -0000 @@ -1,4 +1,20 @@ @comment $OpenBSD: PLIST,v 1.1.1.1 2004/12/02 21:21:23 sturm Exp $ bin/x11vnc [EMAIL PROTECTED] man/man1/x11vnc.1 share/doc/x11vnc/ share/doc/x11vnc/README +share/x11vnc/ +share/x11vnc/classes/ +share/x11vnc/classes/VncViewer.jar +share/x11vnc/classes/index.vnc +share/x11vnc/classes/ssl/ +share/x11vnc/classes/ssl/README +share/x11vnc/classes/ssl/SignedUltraViewerSSL.jar +share/x11vnc/classes/ssl/SignedVncViewer.jar +share/x11vnc/classes/ssl/UltraViewerSSL.jar +share/x11vnc/classes/ssl/VncViewer.jar +share/x11vnc/classes/ssl/index.vnc +share/x11vnc/classes/ssl/proxy.vnc +share/x11vnc/classes/ssl/ss_vncviewer +share/x11vnc/classes/ssl/ultra.vnc +share/x11vnc/classes/ssl/ultrasigned.vnc