Update to 1.5.0

This commit is contained in:
Jan Grulich 2015-08-19 20:38:23 +02:00
parent df29ea27c1
commit 590f96d67c
11 changed files with 119 additions and 246 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ tigervnc-1.0.90-20100721svn4113.tar.bz2
/tigervnc-1.4.2.tar.gz /tigervnc-1.4.2.tar.gz
/tigervnc-1.4.3.tar.gz /tigervnc-1.4.3.tar.gz
/tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.tar.gz /tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.tar.gz
/tigervnc-1.5.0.tar.gz

View File

@ -1 +1 @@
7df7399ed51716d7ed72ecdf19a4e14f tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.tar.gz b11cc4c4d5249b9b8e355ee6f47ec4fe tigervnc-1.5.0.tar.gz

View File

@ -1,12 +0,0 @@
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;
}

View File

@ -1,96 +1,96 @@
diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.cc.getmaster tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.cc diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c
--- tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.cc.getmaster 2015-01-23 23:37:23.000000000 +0000 --- tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c.getmaster 2015-01-23 23:37:23.000000000 +0000
+++ tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.cc 2015-02-13 12:32:54.398502082 +0000 +++ tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c 2015-02-13 12:32:54.398502082 +0000
@@ -208,10 +208,7 @@ void InputDevice::PrepareInputDevices(vo @@ -210,10 +210,7 @@ void vncPrepareInputDevices(void)
unsigned InputDevice::getKeyboardState(void) unsigned vncGetKeyboardState(void)
{ {
- DeviceIntPtr master; - DeviceIntPtr master;
- -
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT); - master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
- return XkbStateFieldFromRec(&master->key->xkbInfo->state); - return XkbStateFieldFromRec(&master->key->xkbInfo->state);
+ return XkbStateFieldFromRec(&keyboardDev->master->key->xkbInfo->state); + return XkbStateFieldFromRec(&vncKeyboardDev->master->key->xkbInfo->state);
} }
unsigned InputDevice::getLevelThreeMask(void) unsigned vncGetLevelThreeMask(void)
@@ -232,7 +229,7 @@ unsigned InputDevice::getLevelThreeMask( @@ -232,7 +229,7 @@ unsigned InputDevice::vncGetLevelThreeMask(
return 0; return 0;
} }
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state); act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL) if (act == NULL)
@@ -257,7 +254,7 @@ KeyCode InputDevice::pressShift(void) @@ -257,7 +254,7 @@ KeyCode InputDevice::vncPressShift(void)
if (state & ShiftMask) if (state & ShiftMask)
return 0; return 0;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act; XkbAction *act;
unsigned char mask; unsigned char mask;
@@ -294,7 +291,7 @@ std::list<KeyCode> InputDevice::releaseS @@ -299,7 +296,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys)
if (!(state & ShiftMask))
return keys;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT); count = 0;
+ master = keyboardDev->master;
- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
+ master = vncKeyboardDev->master;
xkb = master->key->xkbInfo->desc; xkb = master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act; XkbAction *act;
@@ -347,7 +344,7 @@ KeyCode InputDevice::pressLevelThree(voi @@ -347,7 +344,7 @@ KeyCode InputDevice::vncPressLevelThree(voi
return 0; return 0;
} }
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state); act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL) if (act == NULL)
@@ -375,7 +372,7 @@ std::list<KeyCode> InputDevice::releaseL @@ -386,7 +383,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys)
if (!(state & mask))
return keys;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT); count = 0;
+ master = keyboardDev->master;
- master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
+ master = vncKeyboardDev->master;
xkb = master->key->xkbInfo->desc; xkb = master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
XkbAction *act; XkbAction *act;
@@ -416,7 +413,7 @@ KeyCode InputDevice::keysymToKeycode(Key @@ -416,7 +413,7 @@ KeyCode InputDevice::vncKeysymToKeycode(Key
if (new_state != NULL) if (new_state != NULL)
*new_state = state; *new_state = state;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) { for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
unsigned int state_out; unsigned int state_out;
KeySym dummy; KeySym dummy;
@@ -473,7 +470,7 @@ bool InputDevice::isLockModifier(KeyCode @@ -473,7 +470,7 @@ bool InputDevice::vncIsLockModifier(KeyCode
XkbDescPtr xkb; XkbDescPtr xkb;
XkbAction *act; XkbAction *act;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, keycode, state); act = XkbKeyActionPtr(xkb, keycode, state);
if (act == NULL) if (act == NULL)
@@ -511,7 +508,7 @@ bool InputDevice::isAffectedByNumLock(Ke @@ -524,7 +521,7 @@ int vncIsAffectedByNumLock(KeyCode keycode)
if (numlock_keycode == 0) if (numlock_keycode == 0)
return false; return 0;
- xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc; - xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
+ xkb = keyboardDev->master->key->xkbInfo->desc; + xkb = vncKeyboardDev->master->key->xkbInfo->desc;
act = XkbKeyActionPtr(xkb, numlock_keycode, state); act = XkbKeyActionPtr(xkb, numlock_keycode, state);
if (act == NULL) if (act == NULL)
@@ -545,7 +542,7 @@ KeyCode InputDevice::addKeysym(KeySym ke @@ -545,7 +542,7 @@ KeyCode InputDevice::vncAddKeysym(KeySym ke
KeySym *syms; KeySym *syms;
KeySym upper, lower; KeySym upper, lower;
- master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT); - master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
+ master = keyboardDev->master; + master = vncKeyboardDev->master;
xkb = master->key->xkbInfo->desc; xkb = master->key->xkbInfo->desc;
for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) { for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) {
if (XkbKeyNumGroups(xkb, key) == 0) if (XkbKeyNumGroups(xkb, key) == 0)

View File

@ -1,68 +0,0 @@
Patch by Nikos Mavrogiannopoulos <nmavrogi@redhat.com>
gnutls 3.4.0 drops gnutls_kx_set_priority which is used by tigervnc. The
attached patch fixes this issue and allows tigervnc to compile with new gnutls
versions.
diff --git a/common/rfb/CSecurityTLS.cxx b/common/rfb/CSecurityTLS.cxx
index 222748c..f7e9dfd 100644
--- a/common/rfb/CSecurityTLS.cxx
+++ b/common/rfb/CSecurityTLS.cxx
@@ -202,13 +202,12 @@ bool CSecurityTLS::processMsg(CConnection* cc)
void CSecurityTLS::setParam()
{
- static const int kx_anon_priority[] = { GNUTLS_KX_ANON_DH, 0 };
- static const int kx_priority[] = { GNUTLS_KX_DHE_DSS, GNUTLS_KX_RSA,
- GNUTLS_KX_DHE_RSA, GNUTLS_KX_SRP, 0 };
+ int ret;
if (anon) {
- if (gnutls_kx_set_priority(session, kx_anon_priority) != GNUTLS_E_SUCCESS)
- throw AuthFailureException("gnutls_kx_set_priority failed");
+ ret = gnutls_priority_set_direct(session, "NORMAL:+ANON-ECDH:+ANON-DH", NULL);
+ if (ret < 0)
+ throw AuthFailureException("gnutls_priority_set_direct failed");
if (gnutls_anon_allocate_client_credentials(&anon_cred) != GNUTLS_E_SUCCESS)
throw AuthFailureException("gnutls_anon_allocate_client_credentials failed");
@@ -218,8 +217,9 @@ void CSecurityTLS::setParam()
vlog.debug("Anonymous session has been set");
} else {
- if (gnutls_kx_set_priority(session, kx_priority) != GNUTLS_E_SUCCESS)
- throw AuthFailureException("gnutls_kx_set_priority failed");
+ ret = gnutls_set_default_priority(session);
+ if (ret < 0)
+ throw AuthFailureException("gnutls_set_default_priority failed");
if (gnutls_certificate_allocate_credentials(&cert_cred) != GNUTLS_E_SUCCESS)
throw AuthFailureException("gnutls_certificate_allocate_credentials failed");
diff --git a/common/rfb/SSecurityTLS.cxx b/common/rfb/SSecurityTLS.cxx
index d4e88d7..7ac4652 100644
--- a/common/rfb/SSecurityTLS.cxx
+++ b/common/rfb/SSecurityTLS.cxx
@@ -166,13 +166,17 @@ bool SSecurityTLS::processMsg(SConnection *sc)
void SSecurityTLS::setParams(gnutls_session session)
{
- static const int kx_anon_priority[] = { GNUTLS_KX_ANON_DH, 0 };
- static const int kx_priority[] = { GNUTLS_KX_DHE_DSS, GNUTLS_KX_RSA,
- GNUTLS_KX_DHE_RSA, GNUTLS_KX_SRP, 0 };
+ int ret;
- if (gnutls_kx_set_priority(session, anon ? kx_anon_priority : kx_priority)
- != GNUTLS_E_SUCCESS)
- throw AuthFailureException("gnutls_kx_set_priority failed");
+ if (anon) {
+ ret = gnutls_priority_set_direct(session, "NORMAL:+ANON-ECDH:+ANON-DH", NULL);
+ if (ret < 0)
+ throw AuthFailureException("gnutls_priority_set_direct failed");
+ } else {
+ ret = gnutls_set_default_priority(session);
+ if (ret < 0)
+ throw AuthFailureException("gnutls_set_default_priority failed");
+ }
if (gnutls_dh_params_init(&dh_params) != GNUTLS_E_SUCCESS)
throw AuthFailureException("gnutls_dh_params_init failed");

View File

@ -1,23 +1,24 @@
diff -up tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx.inetd-nowait tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
--- tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx.inetd-nowait 2013-05-23 12:20:35.836386218 +0100 index 1ebaeec..2d7a52f 100644
+++ tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx 2013-05-23 12:23:04.698003213 +0100 --- a/common/network/TcpSocket.cxx
@@ -325,18 +325,12 @@ bool TcpSocket::cork(int sock, bool enab +++ b/common/network/TcpSocket.cxx
@@ -369,18 +369,12 @@ bool TcpSocket::cork(int sock, bool enable) {
#endif #endif
} }
-bool TcpSocket::isSocket(int sock) -bool TcpSocket::isSocket(int sock)
+bool TcpSocket::isListening(int sock) -{
{ - vnc_sockaddr_t sa;
- struct sockaddr_in info; - socklen_t sa_size = sizeof(sa);
- socklen_t info_size = sizeof(info); - return getsockname(sock, &sa.u.sa, &sa_size) >= 0;
- return getsockname(sock, (struct sockaddr *)&info, &info_size) >= 0;
-} -}
- -
-bool TcpSocket::isConnected(int sock) -bool TcpSocket::isConnected(int sock)
-{ +bool TcpSocket::isListening(int sock)
- struct sockaddr_in info; {
- socklen_t info_size = sizeof(info); - vnc_sockaddr_t sa;
- return getpeername(sock, (struct sockaddr *)&info, &info_size) >= 0; - socklen_t sa_size = sizeof(sa);
- return getpeername(sock, &sa.u.sa, &sa_size) >= 0;
+ int listening = 0; + int listening = 0;
+ socklen_t listening_size = sizeof(listening); + socklen_t listening_size = sizeof(listening);
+ return getsockopt(sock, SOL_SOCKET, SO_ACCEPTCONN, &listening, + return getsockopt(sock, SOL_SOCKET, SO_ACCEPTCONN, &listening,
@ -25,10 +26,11 @@ diff -up tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.cxx.inetd-nowa
} }
int TcpSocket::getSockPort(int sock) 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 diff --git a/common/network/TcpSocket.h b/common/network/TcpSocket.h
--- tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h.inetd-nowait 2013-05-23 12:20:35.835386220 +0100 index 979cd4b..2bfe47b 100644
+++ tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h 2013-05-23 12:21:58.861730647 +0100 --- a/common/network/TcpSocket.h
@@ -57,8 +57,7 @@ namespace network { +++ b/common/network/TcpSocket.h
@@ -65,8 +65,7 @@ namespace network {
static bool enableNagles(int sock, bool enable); static bool enableNagles(int sock, bool enable);
static bool cork(int sock, bool enable); static bool cork(int sock, bool enable);
@ -38,16 +40,17 @@ diff -up tigervnc-1.2.80-20130314svn5065/common/network/TcpSocket.h.inetd-nowait
static int getSockPort(int sock); static int getSockPort(int sock);
private: private:
bool closeFd; 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 diff --git a/unix/xserver/hw/vnc/vncExtInit.cc b/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 index e307e31..dc449bd 100644
+++ tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/vncExtInit.cc 2013-05-23 12:21:10.545530308 +0100 --- a/unix/xserver/hw/vnc/vncExtInit.cc
@@ -225,8 +225,7 @@ void vncExtensionInit() +++ b/unix/xserver/hw/vnc/vncExtInit.cc
network::TcpListener* listener = 0; @@ -137,8 +137,7 @@ void vncExtensionInit(void)
network::TcpListener* httpListener = 0; std::list<network::TcpListener> listeners;
std::list<network::TcpListener> httpListeners;
if (scr == 0 && vncInetdSock != -1) { if (scr == 0 && vncInetdSock != -1) {
- if (network::TcpSocket::isSocket(vncInetdSock) && - if (network::TcpSocket::isSocket(vncInetdSock) &&
- !network::TcpSocket::isConnected(vncInetdSock)) - !network::TcpSocket::isConnected(vncInetdSock))
+ if (network::TcpSocket::isListening(vncInetdSock)) + if (network::TcpSocket::isListening(vncInetdSock))
{ {
listener = new network::TcpListener(NULL, 0, 0, vncInetdSock, true); listeners.push_back (network::TcpListener(vncInetdSock));
vlog.info("inetd wait"); vlog.info("inetd wait");

View File

@ -1,6 +1,7 @@
diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am.libvnc-os tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am.libvnc-os 2015-02-13 13:22:19.519322622 +0000 index d7ab259..fb477c5 100644
+++ tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am 2015-02-13 13:22:19.521322636 +0000 --- a/unix/xserver/hw/vnc/Makefile.am
+++ b/unix/xserver/hw/vnc/Makefile.am
@@ -5,6 +5,7 @@ RFB_LIB=$(LIB_DIR)/rfb/librfb.la @@ -5,6 +5,7 @@ RFB_LIB=$(LIB_DIR)/rfb/librfb.la
RDR_LIB=$(LIB_DIR)/rdr/librdr.la RDR_LIB=$(LIB_DIR)/rdr/librdr.la
NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
@ -8,8 +9,8 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am.libvnc-os tigervnc-1.4.2
+OS_LIB=$(LIB_DIR)/os/libos.la +OS_LIB=$(LIB_DIR)/os/libos.la
COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB) COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
# Hack to get the C headers to work when included from C++ code noinst_LTLIBRARIES = libvnccommon.la
@@ -58,7 +59,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I @@ -64,6 +65,6 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
@ -17,4 +18,3 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/Makefile.am.libvnc-os tigervnc-1.4.2
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB) +libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
EXTRA_DIST = Xvnc.man EXTRA_DIST = Xvnc.man

View File

@ -1,7 +1,7 @@
diff -Nur tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/Input.cc tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/Input.cc diff --git a/unix/xserver/hw/vnc/Input.c b/unix/xserver/hw/vnc/Input.c
--- tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/Input.cc 2015-03-01 12:58:35.000000000 -0700 --- a/unix/xserver/hw/vnc/Input.c
+++ tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/Input.cc 2015-08-04 10:02:26.234604801 -0600 +++ b/unix/xserver/hw/vnc/Input.c
@@ -378,7 +378,7 @@ @@ -301,7 +301,7 @@ static inline void pressKey(DeviceIntPtr dev, int kc, Bool down, const char *msg
n = GetKeyboardEvents(eventq, dev, action, kc); n = GetKeyboardEvents(eventq, dev, action, kc);
enqueueEvents(dev, n); enqueueEvents(dev, n);
#else #else

View File

@ -1,46 +1,16 @@
diff -Nur tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h diff -Nur tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h
--- tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h 2015-03-01 12:58:35.000000000 -0700 --- tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h 2015-03-01 12:58:35.000000000 -0700
+++ tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h 2015-08-04 09:46:14.796336147 -0600 +++ tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h 2015-08-04 09:46:14.796336147 -0600
@@ -48,8 +48,12 @@ @@ -48,8 +48,10 @@
#define XORG 115
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000))
#define XORG 116 #define XORG 116
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000)) #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
+#define XORG 117 #define XORG 117
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000)) +#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
+#define XORG 118 +#define XORG 118
#else #else
-#error "X.Org newer than 1.16 is not supported" -#error "X.Org newer than 1.17 is not supported"
+#error "X.Org newer than 1.18 is not supported" +#error "X.Org newer than 1.18 is not supported"
#endif #endif
#endif #endif
diff -Nur tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xvnc.cc tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xvnc.cc
--- tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xvnc.cc 2015-03-01 12:58:35.000000000 -0700
+++ tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xvnc.cc 2015-08-04 09:48:07.632507101 -0600
@@ -717,9 +717,9 @@
entries = pmap->pVisual->ColormapEntries;
pVisual = pmap->pVisual;
- ppix = (Pixel *)xalloc(entries * sizeof(Pixel));
- prgb = (xrgb *)xalloc(entries * sizeof(xrgb));
- defs = (xColorItem *)xalloc(entries * sizeof(xColorItem));
+ ppix = (Pixel *)calloc(entries, sizeof(Pixel));
+ prgb = (xrgb *)calloc(entries, sizeof(xrgb));
+ defs = (xColorItem *)calloc(entries, sizeof(xColorItem));
for (i = 0; i < entries; i++) ppix[i] = i;
/* XXX truecolor */
@@ -738,9 +738,9 @@
}
(*pmap->pScreen->StoreColors)(pmap, entries, defs);
- xfree(ppix);
- xfree(prgb);
- xfree(defs);
+ free(ppix);
+ free(prgb);
+ free(defs);
}
}

View File

@ -1,11 +1,6 @@
# https://fedoraproject.org/wiki/Packaging:SourceURL?rd=Packaging/SourceURL#Github
# Full hash for v1.4.3 tag:
%global commit 49d0629dd87c0eb695d72dec7481e9169f55ae9e
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: tigervnc Name: tigervnc
Version: 1.4.3 Version: 1.5.0
Release: 12%{?dist} Release: 1%{?dist}
Summary: A TigerVNC remote display system Summary: A TigerVNC remote display system
%global _hardened_build 1 %global _hardened_build 1
@ -14,7 +9,7 @@ Group: User Interface/Desktops
License: GPLv2+ License: GPLv2+
URL: http://www.tigervnc.com URL: http://www.tigervnc.com
Source0: https://github.com/TigerVNC/tigervnc/archive/%{commit}/tigervnc-%{commit}.tar.gz Source0: %{name}-%{version}.tar.gz
Source1: vncserver.service Source1: vncserver.service
Source2: vncserver.sysconfig Source2: vncserver.sysconfig
Source3: 10-libvnc.conf Source3: 10-libvnc.conf
@ -51,18 +46,15 @@ Provides: tightvnc = 1.5.0-0.15.20090204svn3586
Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586 Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586
Patch1: tigervnc-cookie.patch Patch1: tigervnc-cookie.patch
Patch2: tigervnc11-ldnow.patch
Patch3: tigervnc-libvnc-os.patch Patch3: tigervnc-libvnc-os.patch
Patch4: tigervnc11-rh692048.patch Patch4: tigervnc11-rh692048.patch
Patch5: tigervnc-inetd-nowait.patch Patch5: tigervnc-inetd-nowait.patch
Patch7: tigervnc-manpages.patch Patch7: tigervnc-manpages.patch
Patch8: tigervnc-getmaster.patch Patch8: tigervnc-getmaster.patch
Patch9: tigervnc-shebang.patch Patch9: tigervnc-shebang.patch
Patch11: tigervnc-format-security.patch
Patch14: tigervnc-xstartup.patch Patch14: tigervnc-xstartup.patch
Patch15: tigervnc-xserver118.patch Patch15: tigervnc-xserver118.patch
Patch16: tigervnc-gnutls-3.4.patch Patch17: tigervnc-xorg118-QueueKeyboardEvents.patch
Patch17: tigervnc-xorg118-QueueKeyboardEvents.patch
# This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg # This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg
Patch100: tigervnc-xserver116-rebased.patch Patch100: tigervnc-xserver116-rebased.patch
@ -158,10 +150,9 @@ BuildArch: noarch
This package contains icons for TigerVNC viewer This package contains icons for TigerVNC viewer
%prep %prep
%setup -qn %{name}-%{commit} %setup -q
%patch1 -p1 -b .cookie %patch1 -p1 -b .cookie
%patch2 -p1 -b .ldnow
%patch3 -p1 -b .libvnc-os %patch3 -p1 -b .libvnc-os
%patch4 -p1 -b .rh692048 %patch4 -p1 -b .rh692048
@ -186,18 +177,15 @@ popd
# Don't use shebang in vncserver script. # Don't use shebang in vncserver script.
%patch9 -p1 -b .shebang %patch9 -p1 -b .shebang
# Fixed build failure with -Werror=format-security (bug #1037358).
%patch11 -p1 -b .format-security
# Clearer xstartup file (bug #923655). # Clearer xstartup file (bug #923655).
%patch14 -p1 -b .xstartup %patch14 -p1 -b .xstartup
# Allow build against xorg-x11-server-1.18. # Allow build against xorg-x11-server-1.18.
%patch15 -p1 -b .xserver118 %patch15 -p1 -b .xserver118
# Fix the build with gnutls 3.4 (bug #1218518). %if 0%{?fedora} > 23
%patch16 -p1 -b .gnutls-3.4 %patch17 -p1 -b .xorg118-QueueKeyboardEvents
%patch17 -p1 %endif
%build %build
%ifarch sparcv9 sparc64 s390 s390x %ifarch sparcv9 sparc64 s390 s390x
@ -366,7 +354,10 @@ fi
%{_datadir}/icons/hicolor/*/apps/* %{_datadir}/icons/hicolor/*/apps/*
%changelog %changelog
* Tue Aug 04 2015 Kevin Fenzi <kevin@scrye.com> 1.4.3-12 * Wed Aug 19 2015 Jan Grulich <jgrulich@redhat.com> - 1.5.0-1
- 1.5.0
* Tue Aug 04 2015 Kevin Fenzi <kevin@scrye.com> - 1.4.3-12
- Rebuild to fix broken deps and build against xorg 1.18 prerelease - Rebuild to fix broken deps and build against xorg 1.18 prerelease
* Thu Jun 25 2015 Tim Waugh <twaugh@redhat.com> - 1.4.3-11 * Thu Jun 25 2015 Tim Waugh <twaugh@redhat.com> - 1.4.3-11

View File

@ -1,12 +0,0 @@
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)