* [gentoo-commits] gentoo commit in src/patchsets/tigervnc/1.3.1: 001_cookie.patch 005_ldnow.patch 010_gethomedir.patch 015_rh692048.patch 020_setcursor-crash.patch 025_inetd-nowait.patch 030_manpages.patch 035_getmaster.patch 040_format-security-patch.patch 045_zrle-crash.patch 050_cursor.patch 055_xstartup.patch 060_inputreset.patch 065_pointersync.patch 0999_server_xserver-1.14-rebased.patch 1000_server_xserver-1.15.patch 1005_server_xserver-1.16.patch 1006_server_xserver-1.16-2.patch
@ 2014-09-20 10:50 Raul Porcel (armin76)
0 siblings, 0 replies; only message in thread
From: Raul Porcel (armin76) @ 2014-09-20 10:50 UTC (permalink / raw
To: gentoo-commits
armin76 14/09/20 10:50:07
Added: 001_cookie.patch 005_ldnow.patch
010_gethomedir.patch 015_rh692048.patch
020_setcursor-crash.patch 025_inetd-nowait.patch
030_manpages.patch 035_getmaster.patch
040_format-security-patch.patch
045_zrle-crash.patch 050_cursor.patch
055_xstartup.patch 060_inputreset.patch
065_pointersync.patch
0999_server_xserver-1.14-rebased.patch
1000_server_xserver-1.15.patch
1005_server_xserver-1.16.patch
1006_server_xserver-1.16-2.patch
Log:
Add patchset for 1.3.1
Revision Changes Path
1.1 src/patchsets/tigervnc/1.3.1/001_cookie.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/001_cookie.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/001_cookie.patch?rev=1.1&content-type=text/plain
Index: 001_cookie.patch
===================================================================
diff -up tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie tigervnc-1.0.90-20091221svn3929/unix/vncserver
--- tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie 2009-11-12 11:39:54.000000000 +0100
+++ tigervnc-1.0.90-20091221svn3929/unix/vncserver 2009-12-21 16:15:01.907799091 +0100
@@ -189,27 +189,12 @@ $vncPort = 5900 + $displayNumber;
$desktopLog = "$vncUserDir/$host:$displayNumber.log";
unlink($desktopLog);
-# Make an X server cookie - use /dev/urandom on systems that have it,
-# otherwise use perl's random number generator, seeded with the sum
-# of the current time, our PID and part of the encrypted form of the password.
-
-my $cookie = "";
-if (open(URANDOM, '<', '/dev/urandom')) {
- my $randata;
- if (sysread(URANDOM, $randata, 16) == 16) {
- $cookie = unpack 'h*', $randata;
- }
- close(URANDOM);
-}
-if ($cookie eq "") {
- srand(time+$$+unpack("L",`cat $vncUserDir/passwd`));
- for (1..16) {
- $cookie .= sprintf("%02x", int(rand(256)) % 256);
- }
-}
-
-system("xauth -f $xauthorityFile add $host:$displayNumber . $cookie");
-system("xauth -f $xauthorityFile add $host/unix:$displayNumber . $cookie");
+# Make an X server cookie - use mcookie
+$cookie = `/usr/bin/mcookie`;
+open (XAUTH, "|xauth -f $xauthorityFile source -");
+print XAUTH "add $host:$displayNumber . $cookie\n";
+print XAUTH "add $host/unix:$displayNumber . $cookie\n";
+close XAUTH;
if ($opt{'-name'}) {
$desktopName = $opt{'-name'};
1.1 src/patchsets/tigervnc/1.3.1/005_ldnow.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/005_ldnow.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/005_ldnow.patch?rev=1.1&content-type=text/plain
Index: 005_ldnow.patch
===================================================================
diff -up tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am.ldnow tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am.ldnow 2011-10-31 09:14:40.000000000 +0100
+++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-08-22 15:51:47.013241342 +0200
@@ -53,7 +53,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
-I$(top_srcdir)/include \
${XSERVERLIBS_CFLAGS} -I$(includedir)
-libvnc_la_LDFLAGS = -module -avoid-version
+libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
1.1 src/patchsets/tigervnc/1.3.1/010_gethomedir.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/010_gethomedir.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/010_gethomedir.patch?rev=1.1&content-type=text/plain
Index: 010_gethomedir.patch
===================================================================
diff -up tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am.gethomedir tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am.gethomedir 2012-08-22 15:52:01.876216608 +0200
+++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-08-22 15:52:45.973143684 +0200
@@ -5,6 +5,7 @@ RFB_LIB=$(LIB_DIR)/rfb/librfb.la
RDR_LIB=$(LIB_DIR)/rdr/librdr.la
NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
+OS_LIB=$(LIB_DIR)/os/libos.la
COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
noinst_LTLIBRARIES = libvnccommon.la
@@ -55,7 +56,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
EXTRA_DIST = Xvnc.man
1.1 src/patchsets/tigervnc/1.3.1/015_rh692048.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/015_rh692048.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/015_rh692048.patch?rev=1.1&content-type=text/plain
Index: 015_rh692048.patch
===================================================================
diff -up tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityClient.cxx.rh690245 tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityClient.cxx
--- tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityClient.cxx.rh690245 2011-02-21 14:14:16.000000000 +0100
+++ tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityClient.cxx 2011-03-31 09:47:34.519099718 +0200
@@ -45,7 +45,7 @@ StringParameter SecurityClient::secTypes
("SecurityTypes",
"Specify which security scheme to use (None, VncAuth)",
#ifdef HAVE_GNUTLS
- "X509Plain,TLSPlain,X509Vnc,TLSVnc,X509None,TLSNone,VncAuth,None",
+ "VeNCrypt,X509Plain,TLSPlain,X509Vnc,TLSVnc,X509None,TLSNone,VncAuth,None",
#else
"VncAuth,None",
#endif
diff -up tigervnc-1.0.90-20110314svn4359/common/rfb/Security.cxx.rh690245 tigervnc-1.0.90-20110314svn4359/common/rfb/Security.cxx
--- tigervnc-1.0.90-20110314svn4359/common/rfb/Security.cxx.rh690245 2011-02-21 14:14:16.000000000 +0100
+++ tigervnc-1.0.90-20110314svn4359/common/rfb/Security.cxx 2011-03-31 09:47:34.519099718 +0200
@@ -67,7 +67,6 @@ const std::list<rdr::U8> Security::GetEn
list<rdr::U8> result;
list<U32>::iterator i;
- result.push_back(secTypeVeNCrypt);
for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++)
if (*i < 0x100)
result.push_back(*i);
@@ -105,8 +104,6 @@ bool Security::IsSupported(U32 secType)
for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++)
if (*i == secType)
return true;
- if (secType == secTypeVeNCrypt)
- return true;
return false;
}
diff -up tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityServer.cxx.rh690245 tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityServer.cxx
--- tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityServer.cxx.rh690245 2011-02-21 14:50:17.000000000 +0100
+++ tigervnc-1.0.90-20110314svn4359/common/rfb/SecurityServer.cxx 2011-03-31 10:06:43.595362302 +0200
@@ -39,7 +39,7 @@ StringParameter SecurityServer::secTypes
("SecurityTypes",
"Specify which security scheme to use (None, VncAuth)",
#ifdef HAVE_GNUTLS
- "VncAuth,TLSVnc",
+ "VncAuth",
#else
"VncAuth",
#endif
1.1 src/patchsets/tigervnc/1.3.1/020_setcursor-crash.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/020_setcursor-crash.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/020_setcursor-crash.patch?rev=1.1&content-type=text/plain
Index: 020_setcursor-crash.patch
===================================================================
diff -up tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc.jx tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc
--- tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc.jx 2012-08-27 09:02:47.000000000 -0400
+++ tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc 2013-06-17 09:42:14.310725996 -0400
@@ -479,6 +479,9 @@ void XserverDesktop::setCursor(CursorPtr
}
} else {
#endif
+ if (!cmap)
+ return;
+
xColorItem fg, bg;
fg.red = cursor->foreRed;
fg.green = cursor->foreGreen;
1.1 src/patchsets/tigervnc/1.3.1/025_inetd-nowait.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/025_inetd-nowait.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/025_inetd-nowait.patch?rev=1.1&content-type=text/plain
Index: 025_inetd-nowait.patch
===================================================================
diff -up tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx.inetd-nowait tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx
--- tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx.inetd-nowait 2013-05-23 12:20:35.836386218 +0100
+++ tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx 2013-05-23 12:23:04.698003213 +0100
@@ -325,18 +325,12 @@ bool TcpSocket::cork(int sock, bool enab
#endif
}
-bool TcpSocket::isSocket(int sock)
+bool TcpSocket::isListening(int sock)
{
- struct sockaddr_in info;
- socklen_t info_size = sizeof(info);
- return getsockname(sock, (struct sockaddr *)&info, &info_size) >= 0;
-}
-
-bool TcpSocket::isConnected(int sock)
-{
- struct sockaddr_in info;
- socklen_t info_size = sizeof(info);
- return getpeername(sock, (struct sockaddr *)&info, &info_size) >= 0;
+ int listening = 0;
+ socklen_t listening_size = sizeof(listening);
+ return getsockopt(sock, SOL_SOCKET, SO_ACCEPTCONN, &listening,
+ &listening_size) >= 0 && listening;
}
int TcpSocket::getSockPort(int sock)
diff -up tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h.inetd-nowait tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h
--- tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h.inetd-nowait 2013-05-23 12:20:35.835386220 +0100
+++ tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h 2013-05-23 12:21:58.861730647 +0100
@@ -57,8 +57,7 @@ namespace network {
static bool enableNagles(int sock, bool enable);
static bool cork(int sock, bool enable);
- static bool isSocket(int sock);
- static bool isConnected(int sock);
+ static bool isListening(int sock);
static int getSockPort(int sock);
private:
bool closeFd;
diff -up tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/vncExtInit.cc.inetd-nowait tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/vncExtInit.cc
--- tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/vncExtInit.cc.inetd-nowait 2013-03-14 17:11:22.000000000 +0000
+++ tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/vncExtInit.cc 2013-05-23 12:21:10.545530308 +0100
@@ -225,8 +225,7 @@ void vncExtensionInit()
network::TcpListener* listener = 0;
network::TcpListener* httpListener = 0;
if (scr == 0 && vncInetdSock != -1) {
- if (network::TcpSocket::isSocket(vncInetdSock) &&
- !network::TcpSocket::isConnected(vncInetdSock))
+ if (network::TcpSocket::isListening(vncInetdSock))
{
listener = new network::TcpListener(NULL, 0, 0, vncInetdSock, true);
vlog.info("inetd wait");
1.1 src/patchsets/tigervnc/1.3.1/030_manpages.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/030_manpages.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/030_manpages.patch?rev=1.1&content-type=text/plain
Index: 030_manpages.patch
===================================================================
diff -up tigervnc-1.2.80-20130314svn5065/unix/vncserver.man.manpages tigervnc-1.2.80-20130314svn5065/unix/vncserver.man
--- tigervnc-1.2.80-20130314svn5065/unix/vncserver.man.manpages 2013-07-03 12:44:03.820392690 +0100
+++ tigervnc-1.2.80-20130314svn5065/unix/vncserver.man 2013-07-03 12:44:44.222587028 +0100
@@ -92,6 +92,10 @@ argument. Thus, you can invoke "vncserv
end of your xstartup file after a particular application exits.
.TP
+.B \-list
+Lists running VNC servers.
+
+.TP
.B \-fp \fIfont-path\fP
If the vncserver script detects that the X Font Server (XFS) is running, it
will attempt to start Xvnc and configure Xvnc to use XFS for font handling.
diff -up tigervnc-1.2.80-20130314svn5065/unix/vncserver.manpages tigervnc-1.2.80-20130314svn5065/unix/vncserver
--- tigervnc-1.2.80-20130314svn5065/unix/vncserver.manpages 2013-07-03 12:39:08.754980784 +0100
+++ tigervnc-1.2.80-20130314svn5065/unix/vncserver 2013-07-03 12:43:57.932364387 +0100
@@ -551,6 +551,7 @@ sub Usage
" [-geometry <width>x<height>]\n".
" [-pixelformat rgbNNN|bgrNNN]\n".
" [-fp <font-path>]\n".
+ " [-cc <visual>]\n".
" [-fg]\n".
" [-autokill]\n".
" <Xvnc-options>...\n\n".
diff -up tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.cxx.manpages tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.cxx
diff -up tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.man.manpages tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.man
--- tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.man.manpages 2013-07-03 12:46:17.814038117 +0100
+++ tigervnc-1.2.80-20130314svn5065/unix/x0vncserver/x0vncserver.man 2013-07-03 12:58:32.814621597 +0100
@@ -68,7 +68,13 @@ to accept connections from any IP addres
Specify which security scheme to use for incoming connections. Valid values
are \fBNone\fP and \fBVncAuth\fP. Default is \fBVncAuth\fP.
.TP
-.B PasswordFile
+.B pam_server
+Service name for pam password validation (default is "vnc").
+.TP
+.B PlainUsers
+Users permission to access via Plain security type.
+.TP
+.B PasswordFile, rfbauth
Password file for VNC authentication. There is no default, you should
specify the password file explicitly. Password file should be created with
the \fBvncpasswd\fP(1) utility.
@@ -113,6 +119,16 @@ Accept key press and release events from
.B AcceptPointerEvents
Accept pointer events from clients. Default is on.
.TP
+.B AcceptCutText
+Accept clipboard updates from clients. Default is on.
+.TP
+.B MaxCutText
+Maximum permitted length of an incoming clipboard update (default is
+262144).
+.TP
+.B SendCutText
+Send clipboard changes to clients. Default is on.
+.TP
.B RemapKeys
Comma-separated list of incoming keysyms to remap. Mappings are expressed as
two hex values, prefixed by \fB0x\fP, and separated by \fB->\fP (`dash' and
@@ -154,23 +170,6 @@ clients may choose video selection thems
\fBVideoArea\fP parameter will take effect. If the argument is empty, no
video area is set (this is the default).
.TP
-.B VideoPriority
-Specify the priority of sending video updates. \fBx0vncserver\fP can be
-instructed to treat certain rectangular part of the screen as a video area
-and handle it in a special way for improved performance (see documentation on
-the \fBVideoArea\fP parameter). \fBVideoPriority\fP value controls how often
-video area will be sent to clients as compared to the rest of the screen.
-The priority must be an integer between 0 and 8, and the default value is 2.
-
-\fBVideoPriority\fP set to 1 gives the same priority both to video and to
-other pixels. Higher values give more priority to video. For example, the
-value 5 specifies that the rate of sending video will be five times higher
-than the rate of updating the rest of the screen. If \fBVideoPriority\fP is
-set to 0, it gives equal priority to video and other updates (just like the
-value 1) and also disables special encoding for video data. In other words,
-\fBVideoPriority\fP video area will be sent as a part of other screen
-contents.
-.TP
.B CompareFB
Perform pixel comparison on framebuffer to reduce unnecessary updates.
Default is on.
@@ -185,15 +184,6 @@ This enables system-specific access to c
screen (the default X visual often provides 256 colors). Also, in overlay
mode, \fBx0vncserver\fP can show correct mouse cursor. Default is on.
.TP
-.B UseHardwareJPEG
-Use hardware-accelerated JPEG compressor for video if available.
-\fBx0vncserver\fP can be instructed to treat certain rectangular part of the
-screen as a video area and handle it in a special way for improved
-performance. If the client supports Tight encoding and JPEG compression,
-such video areas will be sent as JPEG-encoded rectangles. And if this option
-is on, compression will be hardware-accelerated (currently, supported only in
-SGI/IRIX equipped with appropriate hardware). Default is on.
-.TP
.B ZlibLevel
Zlib compression level for ZRLE encoding (it does not affect Tight encoding).
Acceptable values are between 0 and 9. Default is to use the standard
@@ -222,6 +212,18 @@ Terminate after \fIN\fP seconds of user
.B ClientWaitTimeMillis
The number of milliseconds to wait for a client which is no longer
responding. Default is 20000.
+.TP
+.B DeferUpdate
+Time in milliseconds to defer updates (default is 1).
+.TP
+.B AlwaysSetDeferUpdateTimer
+Always reset the defer update timer on every change.
+.TP
+.B x509key
+Path to key of the x509 certificate in PEM format.
+.TP
+.B 509cert
+Path to x509 certificate in PEM format.
.SH SEE ALSO
.BR Xvnc (1),
.BR vncpasswd (1),
diff -up tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.cxx.manpages tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.cxx
--- tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.cxx.manpages 2013-07-03 12:00:58.005856116 +0100
+++ tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.cxx 2013-07-03 12:04:26.083023050 +0100
@@ -261,6 +261,11 @@ static void usage(const char *programNam
" %s [parameters] -listen [port] [parameters]\n",
programName, programName);
fprintf(stderr,"\n"
+ "Options:\n\n"
+ " -display Xdisplay - Specifies the X display for the viewer window\n"
+ " -geometry geometry - Standard X position and sizing specification.\n");
+
+ fprintf(stderr,"\n"
"Parameters can be turned on with -<param> or off with -<param>=0\n"
"Parameters which take a value can be specified as "
"-<param> <value>\n"
diff -up tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.man.manpages tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.man
--- tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.man.manpages 2013-07-03 11:40:48.905078300 +0100
+++ tigervnc-1.2.80-20130314svn5065/vncviewer/vncviewer.man 2013-07-03 12:00:13.116604372 +0100
@@ -113,12 +113,53 @@ Xvnc supports reverse connections with a
.B vncconfig.
.TP
-.B \-passwd \fIpassword-file\fP
+.B \-passwd \fIpassword-file\fP, \-PasswordFile \fIpassword-file\fP
If you are on a filesystem which gives you access to the password file used by
the server, you can specify it here to avoid typing it in. It will usually be
"~/.vnc/passwd".
.TP
+.B \-DotWhenNoCursor
+Show the dot cursor when the server sends an invisible cursor.
+
+.TP
+.B \-PointerEventInterval
+Time in milliseconds to rate-limit successive pointer events.
+
+.TP
+.B \-ImprovedHextile
+Try harder to compress data (default).
+
+.TP
+.B \-QualityLevel \fIlevel\fP
+JPEG quality level (default is 8).
+
+.TP
+.B \-NoJPEG
+Disable lossy JPEG compression in Tight encoding.
+
+.TP
+.B CompressLevel \fIlevel\fP
+Use specified compression level (default is 2).
+
+.TP
+.B CustomCompressLevel \fIlevel\fP
+Use custom compression level. Default is CompressLevel is specified.
+
+.TP
+.B \-SendPrimary
+Send the primary selection and cut buffer to the server as well as the
+clipboard selection (default).
+
+.TP
+.B \-SendClipboard
+Send clipboard changes to the server (default).
+
+.TP
+.B \-AcceptClipboard
+Accept clipboard changes from the server (default).
+
+.TP
.B \-Shared
When you make a connection to a VNC server, all other existing connections are
normally closed. This option requests that they be left open, allowing you to
@@ -140,6 +181,19 @@ Maximize viewer window.
Start in full-screen mode.
.TP
+.B \-FullScreenAllMonitors
+Enable full screen over all monitors (default).
+
+.TP
+.B \-FullscreenSystemKeys
+Pass special keys directly to the server in full-screen mode.
+
+.TP
+.B \-RemoteResize
+Dynamically resize the remote desktop size as the size of the local
+client window changes (default).
+
+.TP
.B \-DesktopSize \fIwidth\fPx\fIheight\fP
Instead of keeping the existing remote screen size, the client will attempt to
switch to the specified since when connecting. If the server does not support
@@ -214,6 +268,22 @@ command is executed with the environment
host, the port number on the remote host, and the gateway machine
respectively.
+.TP
+\fB\-ZlibLevel\fR \fIlevel\fR
+Zlib compression level.
+
+.TP
+.B \-x509crl \fIfile\fP
+X509 CRL file
+
+.TP
+.B \-x509ca \fIfile\fP
+X509 CA certificate
+
+.TP
+.B \-SecurityTypes \fItypes\fP
+Specify which security scheme to use.
+
.SH SEE ALSO
.BR Xvnc (1),
.BR vncpasswd (1),
1.1 src/patchsets/tigervnc/1.3.1/035_getmaster.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/035_getmaster.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/035_getmaster.patch?rev=1.1&content-type=text/plain
Index: 035_getmaster.patch
===================================================================
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.getmaster tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.getmaster 2013-07-12 09:30:50.551459439 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc 2013-07-12 09:38:31.037480528 +0100
@@ -232,10 +232,7 @@ void InputDevice::PrepareInputDevices(vo
unsigned InputDevice::getKeyboardState(void)
{
- DeviceIntPtr master;
-
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
- return XkbStateFieldFromRec(&master->key->xkbInfo->state);
+ return XkbStateFieldFromRec(&keyboardDev->master->key->xkbInfo->state);
}
unsigned InputDevice::getLevelThreeMask(void)
@@ -256,7 +253,7 @@ unsigned InputDevice::getLevelThreeMask(
return 0;
}
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL)
@@ -281,7 +278,7 @@ KeyCode InputDevice::pressShift(void)
if (state & ShiftMask)
return 0;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act;
unsigned char mask;
@@ -318,7 +315,7 @@ std::list<KeyCode> InputDevice::releaseS
if (!(state & ShiftMask))
return keys;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
+ master = keyboardDev->master;
xkb = master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act;
@@ -371,7 +368,7 @@ KeyCode InputDevice::pressLevelThree(voi
return 0;
}
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL)
@@ -399,7 +396,7 @@ std::list<KeyCode> InputDevice::releaseL
if (!(state & mask))
return keys;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
+ master = keyboardDev->master;
xkb = master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act;
@@ -440,7 +437,7 @@ KeyCode InputDevice::keysymToKeycode(Key
if (new_state != NULL)
*new_state = state;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
unsigned int state_out;
KeySym dummy;
@@ -497,7 +494,7 @@ bool InputDevice::isLockModifier(KeyCode
XkbDescPtr xkb;
XkbAction *act;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL)
@@ -535,7 +532,7 @@ bool InputDevice::isAffectedByNumLock(Ke
if (numlock_keycode == 0)
return false;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, numlock_keycode, state);
if (act == NULL)
@@ -569,7 +566,7 @@ KeyCode InputDevice::addKeysym(KeySym ke
KeySym *syms;
KeySym upper, lower;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
+ master = keyboardDev->master;
xkb = master->key->xkbInfo->desc;
for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) {
if (XkbKeyNumGroups(xkb, key) == 0)
1.1 src/patchsets/tigervnc/1.3.1/040_format-security-patch.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/040_format-security-patch.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/040_format-security-patch.patch?rev=1.1&content-type=text/plain
Index: 040_format-security-patch.patch
===================================================================
diff -up tigervnc-1.3.0/vncviewer/vncviewer.cxx.format-security tigervnc-1.3.0/vncviewer/vncviewer.cxx
--- tigervnc-1.3.0/vncviewer/vncviewer.cxx.format-security 2013-12-03 16:47:04.802800182 +0000
+++ tigervnc-1.3.0/vncviewer/vncviewer.cxx 2013-12-03 16:47:08.680820024 +0000
@@ -309,7 +309,7 @@ interpretViaParam(char *remoteHost, int
snprintf(vncServerName, VNCSERVERNAMELEN, "localhost::%d", localPort);
vncServerName[VNCSERVERNAMELEN - 1] = '\0';
- vlog.error(vncServerName);
+ vlog.error("%s", vncServerName);
return 0;
}
1.1 src/patchsets/tigervnc/1.3.1/045_zrle-crash.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/045_zrle-crash.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/045_zrle-crash.patch?rev=1.1&content-type=text/plain
Index: 045_zrle-crash.patch
===================================================================
diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx
--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash 2013-07-01 13:41:59.000000000 +0100
+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx 2013-12-12 17:30:48.510007365 +0000
@@ -55,16 +55,19 @@ Encoder* ZRLEEncoder::create(SMsgWriter*
}
ZRLEEncoder::ZRLEEncoder(SMsgWriter* writer_)
- : writer(writer_), zos(0,0,zlibLevel)
+ : writer(writer_)
{
if (sharedMos)
mos = sharedMos;
else
mos = new rdr::MemOutStream(129*1024);
+
+ zos = new rdr::ZlibOutStream(0, 0, zlibLevel);
}
ZRLEEncoder::~ZRLEEncoder()
{
+ delete zos;
if (!sharedMos)
delete mos;
}
@@ -78,10 +81,10 @@ bool ZRLEEncoder::writeRect(const Rect&
switch (writer->bpp()) {
case 8:
- wroteAll = zrleEncode8(r, mos, &zos, imageBuf, maxLen, actual, ig);
+ wroteAll = zrleEncode8(r, mos, zos, imageBuf, maxLen, actual, ig);
break;
case 16:
- wroteAll = zrleEncode16(r, mos, &zos, imageBuf, maxLen, actual, ig);
+ wroteAll = zrleEncode16(r, mos, zos, imageBuf, maxLen, actual, ig);
break;
case 32:
{
@@ -94,16 +97,16 @@ bool ZRLEEncoder::writeRect(const Rect&
if ((fitsInLS3Bytes && pf.isLittleEndian()) ||
(fitsInMS3Bytes && pf.isBigEndian()))
{
- wroteAll = zrleEncode24A(r, mos, &zos, imageBuf, maxLen, actual, ig);
+ wroteAll = zrleEncode24A(r, mos, zos, imageBuf, maxLen, actual, ig);
}
else if ((fitsInLS3Bytes && pf.isBigEndian()) ||
(fitsInMS3Bytes && pf.isLittleEndian()))
{
- wroteAll = zrleEncode24B(r, mos, &zos, imageBuf, maxLen, actual, ig);
+ wroteAll = zrleEncode24B(r, mos, zos, imageBuf, maxLen, actual, ig);
}
else
{
- wroteAll = zrleEncode32(r, mos, &zos, imageBuf, maxLen, actual, ig);
+ wroteAll = zrleEncode32(r, mos, zos, imageBuf, maxLen, actual, ig);
}
break;
}
diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.h
--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash 2013-07-01 13:42:01.000000000 +0100
+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.h 2013-12-12 17:30:48.510007365 +0000
@@ -45,7 +45,7 @@ namespace rfb {
private:
ZRLEEncoder(SMsgWriter* writer);
SMsgWriter* writer;
- rdr::ZlibOutStream zos;
+ rdr::ZlibOutStream* zos;
rdr::MemOutStream* mos;
static rdr::MemOutStream* sharedMos;
static int maxLen;
1.1 src/patchsets/tigervnc/1.3.1/050_cursor.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/050_cursor.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/050_cursor.patch?rev=1.1&content-type=text/plain
Index: 050_cursor.patch
===================================================================
diff -up tigervnc-1.3.0/vncviewer/Viewport.cxx.cursor tigervnc-1.3.0/vncviewer/Viewport.cxx
--- tigervnc-1.3.0/vncviewer/Viewport.cxx.cursor 2013-12-17 13:28:23.170400013 +0000
+++ tigervnc-1.3.0/vncviewer/Viewport.cxx 2013-12-17 13:29:46.095784064 +0000
@@ -931,7 +931,7 @@ void Viewport::popupContextMenu()
// Back to our proper mouse pointer.
#ifdef HAVE_FLTK_CURSOR
- if (Fl::belowmouse() == this)
+ if (Fl::belowmouse() == this && cursor)
window()->cursor(cursor, cursorHotspot.x, cursorHotspot.y);
#endif
1.1 src/patchsets/tigervnc/1.3.1/055_xstartup.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/055_xstartup.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/055_xstartup.patch?rev=1.1&content-type=text/plain
Index: 055_xstartup.patch
===================================================================
diff -up tigervnc-1.3.0/unix/vncserver.xstartup tigervnc-1.3.0/unix/vncserver
--- tigervnc-1.3.0/unix/vncserver.xstartup 2014-02-10 14:52:39.902673875 +0000
+++ tigervnc-1.3.0/unix/vncserver 2014-02-10 14:53:30.398847723 +0000
@@ -59,27 +59,7 @@ $defaultXStartup
= ("#!/bin/sh\n\n".
"unset SESSION_MANAGER\n".
"unset DBUS_SESSION_BUS_ADDRESS\n".
- "OS=`uname -s`\n".
- "if [ \$OS = 'Linux' ]; then\n".
- " case \"\$WINDOWMANAGER\" in\n".
- " \*gnome\*)\n".
- " if [ -e /etc/SuSE-release ]; then\n".
- " PATH=\$PATH:/opt/gnome/bin\n".
- " export PATH\n".
- " fi\n".
- " ;;\n".
- " esac\n".
- "fi\n".
- "if [ -x /etc/X11/xinit/xinitrc ]; then\n".
- " exec /etc/X11/xinit/xinitrc\n".
- "fi\n".
- "if [ -f /etc/X11/xinit/xinitrc ]; then\n".
- " exec sh /etc/X11/xinit/xinitrc\n".
- "fi\n".
- "[ -r \$HOME/.Xresources ] && xrdb \$HOME/.Xresources\n".
- "xsetroot -solid grey\n".
- "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n".
- "twm &\n");
+ "exec /etc/X11/xinit/xinitrc\n");
chop($host = `uname -n`);
1.1 src/patchsets/tigervnc/1.3.1/060_inputreset.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/060_inputreset.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/060_inputreset.patch?rev=1.1&content-type=text/plain
Index: 060_inputreset.patch
===================================================================
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc.inputreset 2013-07-01 13:41:24.000000000 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc 2014-07-14 13:08:01.482660946 +0100
@@ -68,6 +68,9 @@ rfb::BoolParameter avoidShiftNumLock("Av
#define BUTTONS 7
+class InputDevice *vncInputDevice;
+InputDevice InputDevice::singleton;
+
/* Event queue is shared between all devices. */
#if XORG == 15
static xEvent *eventq = NULL;
@@ -116,11 +119,13 @@ static void enqueueEvents(DeviceIntPtr d
}
#endif /* XORG < 111 */
-InputDevice::InputDevice(rfb::VNCServerST *_server)
- : server(_server), initialized(false), oldButtonMask(0)
+InputDevice::InputDevice()
+ : oldButtonMask(0)
{
int i;
+ vncInputDevice = this;
+
#if XORG < 111
initEventq();
#endif
@@ -195,16 +200,12 @@ void InputDevice::PointerMove(const rfb:
cursorPos = pos;
}
-void InputDevice::PointerSync(void)
+const rfb::Point &InputDevice::getPointerPos(void)
{
- if (cursorPos.equals(oldCursorPos))
- return;
-
- oldCursorPos = cursorPos;
- server->setCursorPos(cursorPos);
+ return cursorPos;
}
-static int pointerProc(DeviceIntPtr pDevice, int onoff)
+int InputDevice::pointerProc(DeviceIntPtr pDevice, int onoff)
{
BYTE map[BUTTONS + 1];
DevicePtr pDev = (DevicePtr)pDevice;
@@ -229,6 +230,8 @@ static int pointerProc(DeviceIntPtr pDev
btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
btn_labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP);
btn_labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN);
+ btn_labels[5] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
+ btn_labels[6] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_RIGHT);
axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
@@ -253,10 +256,9 @@ static int pointerProc(DeviceIntPtr pDev
case DEVICE_OFF:
pDev->on = FALSE;
break;
-#if 0
case DEVICE_CLOSE:
+ singleton.pointerDev = NULL;
break;
-#endif
}
return Success;
@@ -269,9 +271,7 @@ static void keyboardBell(int percent, De
vncBell();
}
-extern void GetInitKeyboardMap(KeySymsPtr keysyms, CARD8 *modmap);
-
-static int keyboardProc(DeviceIntPtr pDevice, int onoff)
+int InputDevice::keyboardProc(DeviceIntPtr pDevice, int onoff)
{
#if XORG < 17
KeySymsRec keySyms;
@@ -298,6 +298,9 @@ static int keyboardProc(DeviceIntPtr pDe
case DEVICE_OFF:
pDev->on = FALSE;
break;
+ case DEVICE_CLOSE:
+ singleton.keyboardDev = NULL;
+ break;
}
return Success;
@@ -305,11 +308,9 @@ static int keyboardProc(DeviceIntPtr pDe
void InputDevice::InitInputDevice(void)
{
- if (initialized)
+ if ((pointerDev != NULL) || (keyboardDev != NULL))
return;
- initialized = true;
-
#if XORG < 17
pointerDev = AddInputDevice(
#if XORG >= 16
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputCore.cc.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/InputCore.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/InputCore.cc.inputreset 2013-07-01 13:41:24.000000000 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputCore.cc 2014-07-14 13:08:01.483660952 +0100
@@ -174,7 +174,7 @@ KeySym keyboardMap[MAP_LEN * KEYSYMS_PER
XK_Menu, NoSymbol,
};
-void GetInitKeyboardMap(KeySymsPtr keysyms, CARD8 *modmap)
+void InputDevice::GetInitKeyboardMap(KeySymsPtr keysyms, CARD8 *modmap)
{
int i;
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/Input.h.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/Input.h
--- tigervnc-1.3.0/unix/xserver/hw/vnc/Input.h.inputreset 2013-07-01 13:41:24.000000000 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/Input.h 2014-07-14 13:08:01.483660952 +0100
@@ -29,20 +29,27 @@
#include <list>
-#include <rfb/VNCServerST.h>
+#include <rdr/types.h>
+#include <rfb/Rect.h>
extern "C" {
#include "input.h"
+/* The Xorg headers define macros that wreak havoc with STL */
+#undef max
};
#include "xorg-version.h"
-/* Represents input device (keyboard + pointer) */
+/*
+ * Represents input device (keyboard + pointer)
+ *
+ * Is a singleton as input devices are global in the X server so
+ * we do not have one per desktop (i.e. per screen).
+ */
+extern class InputDevice *vncInputDevice;
+
class InputDevice {
public:
- /* Create new InputDevice instance */
- InputDevice(rfb::VNCServerST *_server);
-
/*
* Press or release buttons. Relationship between buttonMask and
* buttons is specified in RFB protocol.
@@ -52,27 +59,28 @@ public:
/* Move pointer to target location (point coords are absolute). */
void PointerMove(const rfb::Point &point);
- /*
- * Send pointer position to clients. If not called then Move() calls
- * won't be visible to VNC clients.
- */
- void PointerSync(void);
+ /* Get current known location of the pointer */
+ const rfb::Point &getPointerPos(void);
+ /* Press or release one or more keys to get the given symbol */
void KeyboardPress(rdr::U32 keysym) { keyEvent(keysym, true); }
void KeyboardRelease(rdr::U32 keysym) { keyEvent(keysym, false); }
/*
- * Init input device. This cannot be done in the constructor
- * because constructor is called during X server extensions
- * initialization. Devices must be initialized after core
- * pointer/keyboard initialization which is actually after extesions
- * initialization. Check InitExtensions(), InitCoreDevices() and
- * InitInput() calls in dix/main.c. Instead it is called from
- * XserverDesktop at an appropriate time.
+ * Init input device.
+ * This has to be called after core pointer/keyboard
+ * initialization which unfortunately is after extesions
+ * initialization (which means we cannot call it in
+ * vncExtensionInit(). Check InitExtensions(),
+ * InitCoreDevices() and InitInput() calls in dix/main.c.
+ * Instead we call it from XserverDesktop at an appropriate
+ * time.
*/
void InitInputDevice(void);
private:
+ InputDevice();
+
void keyEvent(rdr::U32 keysym, bool down);
/* Backend dependent functions below here */
@@ -96,22 +104,28 @@ private:
KeyCode addKeysym(KeySym keysym, unsigned state);
private:
+ static int pointerProc(DeviceIntPtr pDevice, int onoff);
+ static int keyboardProc(DeviceIntPtr pDevice, int onoff);
+
#if XORG >= 17
static void vncXkbProcessDeviceEvent(int screenNum,
InternalEvent *event,
DeviceIntPtr dev);
+#else
+ static void GetInitKeyboardMap(KeySymsPtr keysyms, CARD8 *modmap);
#endif
private:
- rfb::VNCServerST *server;
- bool initialized;
DeviceIntPtr keyboardDev;
DeviceIntPtr pointerDev;
int oldButtonMask;
- rfb::Point cursorPos, oldCursorPos;
+ rfb::Point cursorPos;
KeySym pressedKeys[256];
+
+private:
+ static InputDevice singleton;
};
#endif
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.inputreset 2014-07-14 13:07:53.145619157 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc 2014-07-14 13:08:01.484660958 +0100
@@ -42,18 +42,6 @@ extern "C" {
#undef class
}
-#if XORG < 19
-static int vncXkbScreenPrivateKeyIndex;
-static DevPrivateKey vncXkbScreenPrivateKey = &vncXkbScreenPrivateKeyIndex;
-#else
-static DevPrivateKeyRec vncXkbPrivateKeyRec;
-#define vncXkbScreenPrivateKey (&vncXkbPrivateKeyRec)
-#endif
-
-#define vncXkbScreenPrivate(pScreen) \
- (*(InputDevice**) dixLookupPrivate(&(pScreen)->devPrivates, \
- vncXkbScreenPrivateKey))
-
#ifndef KEYBOARD_OR_FLOAT
#define KEYBOARD_OR_FLOAT MASTER_KEYBOARD
#endif
@@ -209,18 +197,6 @@ static unsigned XkbKeyEffectiveGroup(Xkb
void InputDevice::PrepareInputDevices(void)
{
-#if XORG < 19
- if (!dixRequestPrivate(vncXkbScreenPrivateKey, sizeof(InputDevice*)))
- FatalError("Failed to register TigerVNC XKB screen key\n");
-#else
- if (!dixRegisterPrivateKey(vncXkbScreenPrivateKey, PRIVATE_SCREEN,
- sizeof(InputDevice*)))
- FatalError("Failed to register TigerVNC XKB screen key\n");
-#endif
-
- for (int scr = 0; scr < screenInfo.numScreens; scr++)
- vncXkbScreenPrivate(screenInfo.screens[scr]) = this;
-
/*
* Not ideal since these callbacks do not stack, but it's the only
* decent way we can reliably catch events for both the slave and
@@ -633,10 +609,9 @@ void InputDevice::vncXkbProcessDeviceEve
InternalEvent *event,
DeviceIntPtr dev)
{
- InputDevice *self = vncXkbScreenPrivate(screenInfo.screens[screenNum]);
unsigned int backupctrls;
- if (event->device_event.sourceid == self->keyboardDev->id) {
+ if (event->device_event.sourceid == singleton.keyboardDev->id) {
XkbControlsPtr ctrls;
/*
@@ -658,7 +633,7 @@ void InputDevice::vncXkbProcessDeviceEve
dev->c_public.processInputProc(event, dev);
- if (event->device_event.sourceid == self->keyboardDev->id) {
+ if (event->device_event.sourceid == singleton.keyboardDev->id) {
XkbControlsPtr ctrls;
ctrls = dev->key->xkbInfo->desc->ctrls;
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc.inputreset 2013-07-01 13:41:24.000000000 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc 2014-07-14 13:08:01.487660972 +0100
@@ -112,9 +112,9 @@ static void vncExtensionInitWithParams(I
i.param->setParam(val);
}
}
-
- vncExtensionInit();
}
+
+ vncExtensionInit();
}
}
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.cc.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.cc.inputreset 2014-07-14 13:07:53.140619132 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.cc 2014-07-14 13:08:01.486660967 +0100
@@ -157,15 +157,12 @@ XserverDesktop::XserverDesktop(ScreenPtr
if (httpListener)
httpServer = new FileHTTPServer(this);
-
- inputDevice = new InputDevice(server);
}
XserverDesktop::~XserverDesktop()
{
if (!directFbptr)
delete [] data;
- delete inputDevice;
delete httpServer;
delete server;
}
@@ -583,7 +580,7 @@ void XserverDesktop::blockHandler(fd_set
// so we abuse the fact that this routine will be called first thing
// once the dix is done initialising.
// [1] Technically Xvnc has InitInput(), but libvnc.so has nothing.
- inputDevice->InitInputDevice();
+ vncInputDevice->InitInputDevice();
try {
int nextTimeout;
@@ -691,7 +688,11 @@ void XserverDesktop::wakeupHandler(fd_se
}
}
- inputDevice->PointerSync();
+ // We are responsible for propagating mouse movement between clients
+ if (!oldCursorPos.equals(vncInputDevice->getPointerPos())) {
+ oldCursorPos = vncInputDevice->getPointerPos();
+ server->setCursorPos(oldCursorPos);
+ }
}
// Then let the timers do some processing. Rescheduling is done in
@@ -818,8 +819,8 @@ void XserverDesktop::approveConnection(v
void XserverDesktop::pointerEvent(const Point& pos, int buttonMask)
{
- inputDevice->PointerMove(pos);
- inputDevice->PointerButtonAction(buttonMask);
+ vncInputDevice->PointerMove(pos);
+ vncInputDevice->PointerButtonAction(buttonMask);
}
void XserverDesktop::clientCutText(const char* str, int len)
@@ -1136,7 +1137,7 @@ void XserverDesktop::lookup(int index, i
void XserverDesktop::keyEvent(rdr::U32 keysym, bool down)
{
if (down)
- inputDevice->KeyboardPress(keysym);
+ vncInputDevice->KeyboardPress(keysym);
else
- inputDevice->KeyboardRelease(keysym);
+ vncInputDevice->KeyboardRelease(keysym);
}
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.h.inputreset tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.h
--- tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.h.inputreset 2013-07-01 13:41:24.000000000 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/XserverDesktop.h 2014-07-14 13:08:01.486660967 +0100
@@ -133,7 +133,6 @@ private:
#endif
ScreenPtr pScreen;
- InputDevice *inputDevice;
rfb::VNCServerST* server;
rfb::HTTPServer* httpServer;
network::TcpListener* listener;
@@ -153,5 +152,7 @@ private:
typedef std::map<RROutputPtr, rdr::U32> OutputIdMap;
OutputIdMap outputIdMap;
#endif
+
+ rfb::Point oldCursorPos;
};
#endif
1.1 src/patchsets/tigervnc/1.3.1/065_pointersync.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/065_pointersync.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/065_pointersync.patch?rev=1.1&content-type=text/plain
Index: 065_pointersync.patch
===================================================================
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc.pointersync tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc
--- tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc.pointersync 2014-07-14 16:27:49.412251632 +0100
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/Input.cc 2014-07-14 16:29:06.968643301 +0100
@@ -1,5 +1,5 @@
/* Copyright (C) 2009 TightVNC Team
- * Copyright (C) 2009 Red Hat, Inc.
+ * Copyright (C) 2009, 2014 Red Hat, Inc.
* Copyright 2013 Pierre Ossman for Cendio AB
*
* This is free software; you can redistribute it and/or modify
@@ -202,6 +202,14 @@ void InputDevice::PointerMove(const rfb:
const rfb::Point &InputDevice::getPointerPos(void)
{
+ if (pointerDev != NULL) {
+ int x, y;
+
+ GetSpritePosition (pointerDev, &x, &y);
+ cursorPos.x = x;
+ cursorPos.y = y;
+ }
+
return cursorPos;
}
1.1 src/patchsets/tigervnc/1.3.1/0999_server_xserver-1.14-rebased.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/0999_server_xserver-1.14-rebased.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/0999_server_xserver-1.14-rebased.patch?rev=1.1&content-type=text/plain
Index: 0999_server_xserver-1.14-rebased.patch
===================================================================
diff -up xorg-server-1.16.0/configure.ac.vnc xorg-server-1.16.0/configure.ac
--- xorg-server-1.16.0/configure.ac.vnc 2014-07-17 08:00:51.000000000 +0100
+++ xorg-server-1.16.0/configure.ac 2014-09-03 10:21:49.506109235 +0100
@@ -74,6 +74,7 @@ dnl forcing an entire recompile.x
AC_CONFIG_HEADERS(include/version-config.h)
AM_PROG_AS
+AC_PROG_CXX
AC_PROG_LN_S
LT_PREREQ([2.2])
LT_INIT([disable-static win32-dll])
@@ -1795,6 +1796,10 @@ if test "x$XVFB" = xyes; then
AC_SUBST([XVFB_SYS_LIBS])
fi
+dnl Xvnc DDX
+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
+AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
dnl Xnest DDX
@@ -1830,6 +1835,8 @@ if test "x$XORG" = xauto; then
fi
AC_MSG_RESULT([$XORG])
+AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+
if test "x$XORG" = xyes; then
XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
@@ -2051,7 +2058,6 @@ if test "x$XORG" = xyes; then
AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
@@ -2589,6 +2595,7 @@ hw/dmx/Makefile
hw/dmx/man/Makefile
hw/vfb/Makefile
hw/vfb/man/Makefile
+hw/vnc/Makefile
hw/xnest/Makefile
hw/xnest/man/Makefile
hw/xwin/Makefile
diff -up xorg-server-1.16.0/hw/Makefile.am.vnc xorg-server-1.16.0/hw/Makefile.am
--- xorg-server-1.16.0/hw/Makefile.am.vnc 2014-04-16 21:24:00.000000000 +0100
+++ xorg-server-1.16.0/hw/Makefile.am 2014-09-03 10:21:49.507109234 +0100
@@ -38,7 +38,8 @@ SUBDIRS = \
$(DMX_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
$(XQUARTZ_SUBDIRS) \
- $(XWAYLAND_SUBDIRS)
+ $(XWAYLAND_SUBDIRS) \
+ vnc
DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
diff -up xorg-server-1.16.0/mi/miinitext.c.vnc xorg-server-1.16.0/mi/miinitext.c
--- xorg-server-1.16.0/mi/miinitext.c.vnc 2014-04-16 21:24:00.000000000 +0100
+++ xorg-server-1.16.0/mi/miinitext.c 2014-09-03 10:21:49.508109234 +0100
@@ -111,6 +111,10 @@ SOFTWARE.
#include "micmap.h"
#include "globals.h"
+#ifdef TIGERVNC
+extern void vncExtensionInit(INITARGS);
+#endif
+
/* The following is only a small first step towards run-time
* configurable extensions.
*/
@@ -235,6 +239,9 @@ EnableDisableExtensionError(const char *
/* List of built-in (statically linked) extensions */
static const ExtensionModule staticExtensions[] = {
+#ifdef TIGERVNC
+ {vncExtensionInit, "VNC-EXTENSION", NULL},
+#endif
{GEExtensionInit, "Generic Event Extension", &noGEExtension},
{ShapeExtensionInit, "SHAPE", NULL},
#ifdef MITSHM
diff -up xorg-server-1.16.0/os/WaitFor.c.vnc xorg-server-1.16.0/os/WaitFor.c
--- xorg-server-1.16.0/os/WaitFor.c.vnc 2014-02-05 03:08:57.000000000 +0000
+++ xorg-server-1.16.0/os/WaitFor.c 2014-09-03 10:21:49.508109234 +0100
@@ -125,6 +125,9 @@ static void DoTimer(OsTimerPtr timer, CA
static void CheckAllTimers(void);
static OsTimerPtr timers = NULL;
+extern void vncWriteBlockHandler(fd_set *fds);
+extern void vncWriteWakeupHandler(int nfds, fd_set *fds);
+
/*****************
* WaitForSomething:
* Make the server suspend until there is
@@ -150,6 +153,7 @@ WaitForSomething(int *pClientsReady)
INT32 timeout = 0;
fd_set clientsReadable;
fd_set clientsWritable;
+ fd_set socketsWritable;
int curclient;
int selecterr;
static int nready;
@@ -212,6 +216,9 @@ WaitForSomething(int *pClientsReady)
XFD_COPYSET(&AllSockets, &LastSelectMask);
}
+ FD_ZERO(&socketsWritable);
+ vncWriteBlockHandler(&socketsWritable);
+
BlockHandler((void *) &wt, (void *) &LastSelectMask);
if (NewOutputPending)
FlushAllOutput();
@@ -223,10 +223,20 @@ WaitForSomething(int *pClientsReady)
i = Select(MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
}
else {
- i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
+ if (AnyClientsWriteBlocked)
+ XFD_ORSET(&socketsWritable, &ClientsWriteBlocked, &socketsWritable);
+
+ if (XFD_ANYSET(&socketsWritable)) {
+ i = Select(MaxClients, &LastSelectMask, &socketsWritable, NULL, wt);
+ if (AnyClientsWriteBlocked)
+ XFD_ANDSET(&clientsWritable, &socketsWritable, &ClientsWriteBlocked);
+ } else {
+ i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
+ }
}
selecterr = GetErrno();
WakeupHandler(i, (void *) &LastSelectMask);
+ vncWriteWakeupHandler(i, &socketsWritable);
if (i <= 0) { /* An error or timeout occurred */
if (dispatchException)
return 0;
1.1 src/patchsets/tigervnc/1.3.1/1000_server_xserver-1.15.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1000_server_xserver-1.15.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1000_server_xserver-1.15.patch?rev=1.1&content-type=text/plain
Index: 1000_server_xserver-1.15.patch
===================================================================
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h
--- tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx 2013-07-01 08:41:24.000000000 -0400
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h 2013-11-07 11:39:49.749992669 -0500
@@ -44,8 +44,10 @@
#define XORG 113
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000))
#define XORG 114
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000))
+#define XORG 115
#else
-#error "X.Org newer than 1.14 is not supported"
+#error "X.Org newer than 1.15 is not supported"
#endif
#endif
1.1 src/patchsets/tigervnc/1.3.1/1005_server_xserver-1.16.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1005_server_xserver-1.16.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1005_server_xserver-1.16.patch?rev=1.1&content-type=text/plain
Index: 1005_server_xserver-1.16.patch
===================================================================
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc.116 2013-05-30 16:53:40.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc 2014-04-28 16:55:02.591440218 +0200
@@ -262,7 +262,7 @@ static int pointerProc(DeviceIntPtr pDev
return Success;
}
-static void keyboardBell(int percent, DeviceIntPtr device, pointer ctrl,
+static void keyboardBell(int percent, DeviceIntPtr device, void * ctrl,
int class_)
{
if (percent > 0)
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc.116 2014-04-28 16:55:02.530441812 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc 2014-04-28 16:55:02.592440192 +0200
@@ -48,7 +48,7 @@ extern "C" {
#define public c_public
#define class c_class
-extern char *display;
+extern const char *display;
#include "colormapst.h"
#ifdef RANDR
@@ -174,7 +174,7 @@ void XserverDesktop::serverReset(ScreenP
{
pScreen = pScreen_;
int i;
- pointer retval;
+ void * retval;
#if XORG >= 17
#define dixLookupResource dixLookupResourceByType
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc.116 2014-04-28 16:55:02.524441969 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc 2014-04-28 16:55:02.592440192 +0200
@@ -65,18 +65,18 @@ extern "C" {
extern void vncExtensionInit();
static void vncResetProc(ExtensionEntry* extEntry);
- static void vncBlockHandler(pointer data, OSTimePtr t, pointer readmask);
- static void vncWakeupHandler(pointer data, int nfds, pointer readmask);
+ static void vncBlockHandler(void * data, OSTimePtr t, void * readmask);
+ static void vncWakeupHandler(void * data, int nfds, void * readmask);
void vncWriteBlockHandler(fd_set *fds);
void vncWriteWakeupHandler(int nfds, fd_set *fds);
- static void vncClientStateChange(CallbackListPtr*, pointer, pointer);
+ static void vncClientStateChange(CallbackListPtr*, void *, void *);
static void SendSelectionChangeEvent(Atom selection);
static int ProcVncExtDispatch(ClientPtr client);
static int SProcVncExtDispatch(ClientPtr client);
- static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data,
- pointer args);
+ static void vncSelectionCallback(CallbackListPtr *callbacks, void * data,
+ void * args);
- extern char *display;
+ extern const char *display;
extern char *listenaddr;
}
@@ -284,7 +284,7 @@ static void vncResetProc(ExtensionEntry*
{
}
-static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data, pointer args)
+static void vncSelectionCallback(CallbackListPtr *callbacks, void * data, void * args)
{
SelectionInfoRec *info = (SelectionInfoRec *) args;
Selection *selection = info->selection;
@@ -301,7 +301,7 @@ static void vncWriteWakeupHandlerFallbac
// selections have changed, and if so, notify any interested X clients.
//
-static void vncBlockHandler(pointer data, OSTimePtr timeout, pointer readmask)
+static void vncBlockHandler(void * data, OSTimePtr timeout, void * readmask)
{
fd_set* fds = (fd_set*)readmask;
@@ -312,7 +312,7 @@ static void vncBlockHandler(pointer data
desktop[scr]->blockHandler(fds, timeout);
}
-static void vncWakeupHandler(pointer data, int nfds, pointer readmask)
+static void vncWakeupHandler(void * data, int nfds, void * readmask)
{
fd_set* fds = (fd_set*)readmask;
@@ -402,7 +402,7 @@ static void vncWriteWakeupHandlerFallbac
vncWriteWakeupHandler(ret, &fallbackFds);
}
-static void vncClientStateChange(CallbackListPtr*, pointer, pointer p)
+static void vncClientStateChange(CallbackListPtr*, void *, void * p)
{
ClientPtr client = ((NewClientInfoRec*)p)->client;
if (client->clientState == ClientStateGone) {
@@ -468,7 +468,7 @@ void vncClientCutText(const char* str, i
static CARD32 queryConnectTimerCallback(OsTimerPtr timer,
- CARD32 now, pointer arg)
+ CARD32 now, void * arg)
{
if (queryConnectTimeout)
queryConnectDesktop->approveConnection(queryConnectId, false, "The attempt to prompt the user to accept the connection failed");
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc.116 2013-05-22 14:57:16.000000000 +0200
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc 2014-04-28 16:55:02.593440166 +0200
@@ -91,8 +91,8 @@ typedef struct {
} vncHooksScreenRec, *vncHooksScreenPtr;
typedef struct {
- GCFuncs *wrappedFuncs;
- GCOps *wrappedOps;
+ const GCFuncs *wrappedFuncs;
+ const GCOps *wrappedOps;
} vncHooksGCRec, *vncHooksGCPtr;
#if XORG == 15
@@ -141,11 +141,11 @@ static Bool vncHooksDisplayCursor(
#endif
ScreenPtr pScreen, CursorPtr cursor);
#if XORG < 112
-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
- pointer pReadmask);
+static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout,
+ void * pReadmask);
#else
-static void vncHooksBlockHandler(ScreenPtr pScreen, pointer pTimeout,
- pointer pReadmask);
+static void vncHooksBlockHandler(ScreenPtr pScreen, void * pTimeout,
+ void * pReadmask);
#endif
#ifdef RENDER
static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask,
@@ -174,7 +174,7 @@ static void vncHooksValidateGC(GCPtr pGC
static void vncHooksChangeGC(GCPtr pGC, unsigned long mask);
static void vncHooksCopyGC(GCPtr src, unsigned long mask, GCPtr dst);
static void vncHooksDestroyGC(GCPtr pGC);
-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue,int nrects);
+static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue,int nrects);
static void vncHooksDestroyClip(GCPtr pGC);
static void vncHooksCopyClip(GCPtr dst, GCPtr src);
@@ -226,10 +226,10 @@ static void vncHooksImageText16(Drawable
int count, unsigned short *chars);
static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase);
+ CharInfoPtr *ppci, void * pglyphBase);
static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase);
+ CharInfoPtr *ppci, void * pglyphBase);
static void vncHooksPushPixels(GCPtr pGC, PixmapPtr pBitMap,
DrawablePtr pDrawable, int w, int h, int x,
int y);
@@ -575,11 +575,11 @@ static Bool vncHooksDisplayCursor(
// these are just drawing the cursor.
#if XORG < 112
-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
- pointer pReadmask)
+static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout,
+ void * pReadmask)
#else
-static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout,
- pointer pReadmask)
+static void vncHooksBlockHandler(ScreenPtr pScreen_, void * pTimeout,
+ void * pReadmask)
#endif
{
#if XORG < 112
@@ -914,7 +914,7 @@ static void vncHooksDestroyGC(GCPtr pGC)
GCFuncUnwrapper u(pGC);
(*pGC->funcs->DestroyGC) (pGC);
}
-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue, int nrects)
+static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue, int nrects)
{
GCFuncUnwrapper u(pGC);
(*pGC->funcs->ChangeClip) (pGC, type, pValue, nrects);
@@ -954,7 +954,7 @@ public:
}
GCPtr pGC;
vncHooksGCPtr vncHooksGC;
- GCFuncs* oldFuncs;
+ const GCFuncs* oldFuncs;
ScreenPtr pScreen;
};
@@ -1793,7 +1793,7 @@ static void vncHooksImageText16(Drawable
static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
+ CharInfoPtr *ppci, void * pglyphBase)
{
GC_OP_UNWRAPPER(pDrawable, pGC, ImageGlyphBlt);
@@ -1819,7 +1819,7 @@ static void vncHooksImageGlyphBlt(Drawab
static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, unsigned int nglyph,
- CharInfoPtr *ppci, pointer pglyphBase)
+ CharInfoPtr *ppci, void * pglyphBase)
{
GC_OP_UNWRAPPER(pDrawable, pGC, PolyGlyphBlt);
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc.116 2013-03-14 18:52:53.000000000 +0100
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc 2014-04-28 16:55:02.593440166 +0200
@@ -81,11 +81,11 @@ static XF86ModuleVersionInfo vncVersRec
_X_EXPORT XF86ModuleData vncModuleData = { &vncVersRec, vncSetup, NULL };
-static pointer
-vncSetup(pointer module, pointer opts, int *errmaj, int *errmin) {
- LoadExtension(&vncExt, FALSE);
+static void *
+vncSetup(void * module, void * opts, int *errmaj, int *errmin) {
+ LoadExtensionList(&vncExt, 1, FALSE);
/* Need a non-NULL return value to indicate success */
- return (pointer)1;
+ return (void *)1;
}
static void vncExtensionInitWithParams(INITARGS)
diff -up tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc.116 tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc
--- tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc.116 2014-03-19 13:11:09.000000000 +0100
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc 2014-04-28 16:53:12.580314921 +0200
@@ -103,7 +103,7 @@ extern "C" {
"See http://www.tigervnc.org for information on TigerVNC.\n")
-extern char *display;
+extern const char *display;
extern int monitorResolution;
#define VFB_DEFAULT_WIDTH 1024
@@ -762,7 +762,7 @@ vfbUninstallColormap(ColormapPtr pmap)
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
RT_COLORMAP);
#else
- dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
+ dixLookupResourceByType((void * *) &curpmap, pmap->pScreen->defColormap,
RT_COLORMAP, serverClient, DixUnknownAccess);
#endif
(*pmap->pScreen->InstallColormap)(curpmap);
@@ -1597,7 +1597,7 @@ vfbScreenInit(ScreenPtr pScreen, int arg
} /* end vfbScreenInit */
-static void vfbClientStateChange(CallbackListPtr*, pointer, pointer) {
+static void vfbClientStateChange(CallbackListPtr*, void *, void *) {
dispatchException &= ~DE_RESET;
}
@@ -1625,7 +1625,7 @@ InitOutput(ScreenInfo *screenInfo, int a
#if XORG >= 113
#ifdef GLXEXT
if (serverGeneration == 1)
- LoadExtension(&glxExt, TRUE);
+ LoadExtensionList(&glxExt, 1, TRUE);
#endif
#endif
1.1 src/patchsets/tigervnc/1.3.1/1006_server_xserver-1.16-2.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1006_server_xserver-1.16-2.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/tigervnc/1.3.1/1006_server_xserver-1.16-2.patch?rev=1.1&content-type=text/plain
Index: 1006_server_xserver-1.16-2.patch
===================================================================
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h
--- tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx 2013-07-01 08:41:24.000000000 -0400
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h 2013-11-07 11:39:49.749992669 -0500
@@ -44,8 +44,10 @@
#define XORG 113
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000))
#define XORG 115
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000))
+#define XORG 116
#else
-#error "X.Org newer than 1.15 is not supported"
+#error "X.Org newer than 1.16 is not supported"
#endif
#endif
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-09-20 10:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-20 10:50 [gentoo-commits] gentoo commit in src/patchsets/tigervnc/1.3.1: 001_cookie.patch 005_ldnow.patch 010_gethomedir.patch 015_rh692048.patch 020_setcursor-crash.patch 025_inetd-nowait.patch 030_manpages.patch 035_getmaster.patch 040_format-security-patch.patch 045_zrle-crash.patch 050_cursor.patch 055_xstartup.patch 060_inputreset.patch 065_pointersync.patch 0999_server_xserver-1.14-rebased.patch 1000_server_xserver-1.15.patch 1005_server_xserver-1.16.patch 1006_server_xserver-1.16-2.patch Raul Porcel (armin76)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox