Gentoo Archives: gentoo-commits

From: Johannes Huber <johu@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: kde-base/krfb/, kde-base/krfb/files/
Date: Thu, 31 Jul 2014 20:42:15
Message-Id: 1406832033.93ea1f0d442364cab3392a99672ff650530abff5.johu@gentoo
1 commit: 93ea1f0d442364cab3392a99672ff650530abff5
2 Author: Johannes Huber <johu <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jul 31 18:40:33 2014 +0000
4 Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 31 18:40:33 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=93ea1f0d
7
8 [kde-base/krfb] Unbundle libvncserver, bug #515276
9
10 Package-Manager: portage-2.2.10
11
12 ---
13 ....14.0-CVE-2014-4607-unbundle-libvncserver.patch | 133 +++++++++++++++++++++
14 ...{krfb-4.13.95.ebuild => krfb-4.13.95-r1.ebuild} | 3 +
15 kde-base/krfb/krfb-4.14.49.9999.ebuild | 3 +
16 3 files changed, 139 insertions(+)
17
18 diff --git a/kde-base/krfb/files/krfb-4.14.0-CVE-2014-4607-unbundle-libvncserver.patch b/kde-base/krfb/files/krfb-4.14.0-CVE-2014-4607-unbundle-libvncserver.patch
19 new file mode 100644
20 index 0000000..202519b
21 --- /dev/null
22 +++ b/kde-base/krfb/files/krfb-4.14.0-CVE-2014-4607-unbundle-libvncserver.patch
23 @@ -0,0 +1,133 @@
24 +From 766fc7694a58b7e01c003356db94276f07b791b5 Mon Sep 17 00:00:00 2001
25 +From: Johannes Huber <johu@g.o>
26 +Date: Thu, 31 Jul 2014 19:41:01 +0200
27 +Subject: [PATCH] CVE-2014-4607: Unbundle libvncserver
28 +
29 +http://seclists.org/oss-sec/2014/q2/676
30 +
31 +REVIEW: 119548
32 +---
33 + CMakeLists.txt | 7 +++---
34 + cmake/modules/FindLibVNCServer.cmake | 41 ++++++++++++++++++++++++++++++++++++
35 + krfb/CMakeLists.txt | 2 ++
36 + krfb/rfb.h | 2 +-
37 + 4 files changed, 47 insertions(+), 5 deletions(-)
38 + create mode 100644 cmake/modules/FindLibVNCServer.cmake
39 +
40 +diff --git a/CMakeLists.txt b/CMakeLists.txt
41 +index 4aa24dd..0b29da0 100644
42 +--- a/CMakeLists.txt
43 ++++ b/CMakeLists.txt
44 +@@ -32,6 +32,8 @@ set(CMAKE_MODULE_PATH
45 + ${CMAKE_MODULE_PATH}
46 + )
47 +
48 ++find_package(LibVNCServer REQUIRED)
49 ++
50 + macro_optional_find_package(TelepathyQt4)
51 + macro_log_feature(TelepathyQt4_FOUND "telepathy-qt" "Telepathy Qt Bindings" "http://telepathy.freedesktop.org" FALSE "0.9" "Needed to build Telepathy Tubes support.")
52 +
53 +@@ -44,8 +46,6 @@ macro_bool_to_01(X11_XShm_FOUND HAVE_XSHM)
54 + include_directories ("${CMAKE_CURRENT_BINARY_DIR}/krfb"
55 + "${CMAKE_CURRENT_SOURCE_DIR}/krfb"
56 + "${CMAKE_CURRENT_SOURCE_DIR}/krfb/ui"
57 +- "${CMAKE_CURRENT_SOURCE_DIR}/libvncserver/"
58 +- "${CMAKE_CURRENT_BINARY_DIR}/libvncserver/"
59 + )
60 +
61 + if(Q_WS_X11)
62 +@@ -54,9 +54,8 @@ if(Q_WS_X11)
63 + endif(NOT X11_XTest_FOUND)
64 + endif(Q_WS_X11)
65 +
66 +-add_subdirectory(libvncserver)
67 + add_subdirectory(krfb)
68 +-add_subdirectory (framebuffers)
69 ++add_subdirectory(framebuffers)
70 + add_subdirectory(doc)
71 +
72 + if (NOT INSIDE_KDENETWORK)
73 +diff --git a/cmake/modules/FindLibVNCServer.cmake b/cmake/modules/FindLibVNCServer.cmake
74 +new file mode 100644
75 +index 0000000..5927ab2
76 +--- /dev/null
77 ++++ b/cmake/modules/FindLibVNCServer.cmake
78 +@@ -0,0 +1,41 @@
79 ++# cmake macro to test LIBVNCSERVER LIB
80 ++
81 ++# Copyright (c) 2006, Alessandro Praduroux <pradu@×××××.it>
82 ++# Copyright (c) 2007, Urs Wolfer <uwolfer @ kde.org>
83 ++#
84 ++# Redistribution and use is allowed according to the terms of the BSD license.
85 ++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
86 ++
87 ++INCLUDE(CheckPointerMember)
88 ++
89 ++IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
90 ++ # Already in cache, be silent
91 ++ SET(LIBVNCSERVER_FIND_QUIETLY TRUE)
92 ++ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
93 ++
94 ++FIND_PATH(LIBVNCSERVER_INCLUDE_DIR rfb/rfb.h)
95 ++
96 ++FIND_LIBRARY(LIBVNCSERVER_LIBRARIES NAMES vncserver libvncserver)
97 ++
98 ++# libvncserver and libvncclient are in the same package, so it does
99 ++# not make sense to add a new cmake script for finding libvncclient.
100 ++# instead just find the libvncclient also in this file.
101 ++FIND_PATH(LIBVNCCLIENT_INCLUDE_DIR rfb/rfbclient.h)
102 ++FIND_LIBRARY(LIBVNCCLIENT_LIBRARIES NAMES vncclient libvncclient)
103 ++
104 ++IF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
105 ++ SET(CMAKE_REQUIRED_INCLUDES "${LIBVNCSERVER_INCLUDE_DIR}" "${CMAKE_REQUIRED_INCLUDES}")
106 ++ CHECK_POINTER_MEMBER(rfbClient* GotXCutText rfb/rfbclient.h LIBVNCSERVER_FOUND)
107 ++ENDIF (LIBVNCSERVER_INCLUDE_DIR AND LIBVNCSERVER_LIBRARIES)
108 ++
109 ++IF (LIBVNCSERVER_FOUND)
110 ++ IF (NOT LIBVNCSERVER_FIND_QUIETLY)
111 ++ MESSAGE(STATUS "Found LibVNCServer: ${LIBVNCSERVER_LIBRARIES}")
112 ++ ENDIF (NOT LIBVNCSERVER_FIND_QUIETLY)
113 ++ELSE (LIBVNCSERVER_FOUND)
114 ++ IF (LIBVNCSERVER_FIND_REQUIRED)
115 ++ MESSAGE(FATAL_ERROR "Could NOT find acceptable version of LibVNCServer (version 0.9 or later required).")
116 ++ ENDIF (LIBVNCSERVER_FIND_REQUIRED)
117 ++ENDIF (LIBVNCSERVER_FOUND)
118 ++
119 ++MARK_AS_ADVANCED(LIBVNCSERVER_INCLUDE_DIR LIBVNCSERVER_LIBRARIES)
120 +\ No newline at end of file
121 +diff --git a/krfb/CMakeLists.txt b/krfb/CMakeLists.txt
122 +index a65eea8..100b49b 100644
123 +--- a/krfb/CMakeLists.txt
124 ++++ b/krfb/CMakeLists.txt
125 +@@ -20,6 +20,7 @@ target_link_libraries (krfbprivate
126 + ${QT_QTCORE_LIBRARY}
127 + ${QT_QTGUI_LIBRARY}
128 + ${X11_X11_LIB}
129 ++ ${LIBVNCSERVER_LIBRARIES}
130 + )
131 +
132 + set_target_properties (krfbprivate PROPERTIES
133 +@@ -103,6 +104,7 @@ target_link_libraries (krfb
134 + ${QT_QTNETWORK_LIBRARY}
135 + ${KDE4_KDNSSD_LIBS}
136 + ${KDE4_KDEUI_LIBS}
137 ++ ${LIBVNCSERVER_LIBRARIES}
138 + )
139 +
140 + if(TelepathyQt4_FOUND)
141 +diff --git a/krfb/rfb.h b/krfb/rfb.h
142 +index 40308a2..fa94eda 100644
143 +--- a/krfb/rfb.h
144 ++++ b/krfb/rfb.h
145 +@@ -6,7 +6,7 @@
146 + #ifndef KRFB_RFB_H
147 + #define KRFB_RFB_H
148 +
149 +-#include "../libvncserver/rfb/rfb.h"
150 ++#include "rfb/rfb.h"
151 +
152 + #undef TRUE
153 + #undef FALSE
154 +--
155 +2.0.2
156 +
157
158 diff --git a/kde-base/krfb/krfb-4.13.95.ebuild b/kde-base/krfb/krfb-4.13.95-r1.ebuild
159 similarity index 85%
160 rename from kde-base/krfb/krfb-4.13.95.ebuild
161 rename to kde-base/krfb/krfb-4.13.95-r1.ebuild
162 index 418905e..6030a3a 100644
163 --- a/kde-base/krfb/krfb-4.13.95.ebuild
164 +++ b/kde-base/krfb/krfb-4.13.95-r1.ebuild
165 @@ -13,6 +13,7 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
166 IUSE="debug telepathy"
167
168 DEPEND="
169 + >=net-libs/libvncserver-0.9.9
170 sys-libs/zlib
171 virtual/jpeg:0
172 !aqua? (
173 @@ -25,6 +26,8 @@ DEPEND="
174 "
175 RDEPEND="${DEPEND}"
176
177 +PATCHES=( "${FILESDIR}/${PN}-4.14.0-CVE-2014-4607-unbundle-libvncserver.patch" )
178 +
179 src_configure() {
180 local mycmakeargs=(
181 $(cmake-utils_use_with telepathy TelepathyQt4)
182
183 diff --git a/kde-base/krfb/krfb-4.14.49.9999.ebuild b/kde-base/krfb/krfb-4.14.49.9999.ebuild
184 index b6b6d7b..7840cdd 100644
185 --- a/kde-base/krfb/krfb-4.14.49.9999.ebuild
186 +++ b/kde-base/krfb/krfb-4.14.49.9999.ebuild
187 @@ -13,6 +13,7 @@ KEYWORDS=""
188 IUSE="debug telepathy"
189
190 DEPEND="
191 + >=net-libs/libvncserver-0.9.9
192 sys-libs/zlib
193 virtual/jpeg:0
194 !aqua? (
195 @@ -25,6 +26,8 @@ DEPEND="
196 "
197 RDEPEND="${DEPEND}"
198
199 +PATCHES=( "${FILESDIR}/${PN}-4.14.0-CVE-2014-4607-unbundle-libvncserver.patch" )
200 +
201 src_configure() {
202 local mycmakeargs=(
203 $(cmake-utils_use_with telepathy TelepathyQt4)