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) |