diff options
5 files changed, 3 insertions, 268 deletions
diff --git a/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch deleted file mode 100644 index d44445fa9f..0000000000 --- a/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ /dev/null | |||
| @@ -1,111 +0,0 @@ | |||
| 1 | From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 30 Nov 2019 11:43:32 -0800 | ||
| 4 | Subject: [PATCH] Fix build on 32bit arches with 64bit time_t | ||
| 5 | |||
| 6 | time element is deprecated on new input_event structure in kernel's | ||
| 7 | input.h [1] | ||
| 8 | |||
| 9 | [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://github.com/LibVNC/x11vnc/pull/117] | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/uinput.c | 28 ++++++++++++++++++++++++---- | ||
| 15 | 1 file changed, 24 insertions(+), 4 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/uinput.c b/src/uinput.c | ||
| 18 | index 28fbad3..343b7c5 100644 | ||
| 19 | --- a/src/uinput.c | ||
| 20 | +++ b/src/uinput.c | ||
| 21 | @@ -54,6 +54,11 @@ so, delete this exception statement from your version. | ||
| 22 | #include <linux/input.h> | ||
| 23 | #include <linux/uinput.h> | ||
| 24 | |||
| 25 | +#ifndef input_event_sec | ||
| 26 | +#define input_event_sec time.tv_sec | ||
| 27 | +#define input_event_usec time.tv_usec | ||
| 28 | +#endif | ||
| 29 | + | ||
| 30 | #if !defined(EV_SYN) || !defined(SYN_REPORT) | ||
| 31 | #undef UINPUT_OK | ||
| 32 | #endif | ||
| 33 | @@ -710,6 +715,7 @@ void parse_uinput_str(char *in) { | ||
| 34 | static void ptr_move(int dx, int dy) { | ||
| 35 | #ifdef UINPUT_OK | ||
| 36 | struct input_event ev; | ||
| 37 | + struct timeval tval; | ||
| 38 | int d = direct_rel_fd < 0 ? fd : direct_rel_fd; | ||
| 39 | |||
| 40 | if (injectable && strchr(injectable, 'M') == NULL) { | ||
| 41 | @@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) { | ||
| 42 | |||
| 43 | if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d); | ||
| 44 | |||
| 45 | - gettimeofday(&ev.time, NULL); | ||
| 46 | + gettimeofday(&tval, NULL); | ||
| 47 | + ev.input_event_sec = tval.tv_sec; | ||
| 48 | + ev.input_event_usec = tval.tv_usec; | ||
| 49 | ev.type = EV_REL; | ||
| 50 | ev.code = REL_Y; | ||
| 51 | ev.value = dy; | ||
| 52 | @@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) { | ||
| 53 | static void ptr_abs(int x, int y, int p) { | ||
| 54 | #ifdef UINPUT_OK | ||
| 55 | struct input_event ev; | ||
| 56 | + struct timeval tval; | ||
| 57 | int x0, y0; | ||
| 58 | int d = direct_abs_fd < 0 ? fd : direct_abs_fd; | ||
| 59 | |||
| 60 | @@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) { | ||
| 61 | |||
| 62 | if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d); | ||
| 63 | |||
| 64 | - gettimeofday(&ev.time, NULL); | ||
| 65 | + gettimeofday(&tval, NULL); | ||
| 66 | + ev.input_event_sec = tval.tv_sec; | ||
| 67 | + ev.input_event_usec = tval.tv_usec; | ||
| 68 | ev.type = EV_ABS; | ||
| 69 | ev.code = ABS_Y; | ||
| 70 | ev.value = y; | ||
| 71 | @@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;} | ||
| 72 | static void button_click(int down, int btn) { | ||
| 73 | #ifdef UINPUT_OK | ||
| 74 | struct input_event ev; | ||
| 75 | + struct timeval tval; | ||
| 76 | int d = direct_btn_fd < 0 ? fd : direct_btn_fd; | ||
| 77 | |||
| 78 | if (injectable && strchr(injectable, 'B') == NULL) { | ||
| 79 | @@ -959,7 +971,12 @@ static void button_click(int down, int btn) { | ||
| 80 | if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d); | ||
| 81 | |||
| 82 | memset(&ev, 0, sizeof(ev)); | ||
| 83 | - gettimeofday(&ev.time, NULL); | ||
| 84 | + gettimeofday(&tval, NULL); | ||
| 85 | + gettimeofday(&tval, NULL); | ||
| 86 | + ev.input_event_sec = tval.tv_sec; | ||
| 87 | + ev.input_event_usec = tval.tv_usec; | ||
| 88 | + ev.input_event_sec = tval.tv_sec; | ||
| 89 | + ev.input_event_usec = tval.tv_usec; | ||
| 90 | ev.type = EV_KEY; | ||
| 91 | ev.value = down; | ||
| 92 | |||
| 93 | @@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) { | ||
| 94 | void uinput_key_command(int down, int keysym, rfbClientPtr client) { | ||
| 95 | #ifdef UINPUT_OK | ||
| 96 | struct input_event ev; | ||
| 97 | + struct timeval tval; | ||
| 98 | int scancode; | ||
| 99 | allowed_input_t input; | ||
| 100 | int d = direct_key_fd < 0 ? fd : direct_key_fd; | ||
| 101 | @@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) { | ||
| 102 | if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d); | ||
| 103 | |||
| 104 | memset(&ev, 0, sizeof(ev)); | ||
| 105 | - gettimeofday(&ev.time, NULL); | ||
| 106 | + gettimeofday(&tval, NULL); | ||
| 107 | + ev.input_event_sec = tval.tv_sec; | ||
| 108 | + ev.input_event_usec = tval.tv_usec; | ||
| 109 | ev.type = EV_KEY; | ||
| 110 | ev.code = (unsigned char) scancode; | ||
| 111 | ev.value = down; | ||
diff --git a/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch b/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch deleted file mode 100644 index a15f3fe5bd..0000000000 --- a/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 686491573827b98ba031adaa5da373366079d3d8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Dagenais?= <jeff.dagenais@gmail.com> | ||
| 3 | Date: Mon, 11 Feb 2019 11:42:59 -0500 | ||
| 4 | Subject: [PATCH] misc/Makefile.am: don't install Xdummy when configured | ||
| 5 | --without-x | ||
| 6 | |||
| 7 | Upstream-status: submitted https://github.com/jeff-dagenais/x11vnc/pull/1 | ||
| 8 | |||
| 9 | Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com> | ||
| 10 | --- | ||
| 11 | misc/Makefile.am | 6 +++++- | ||
| 12 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/misc/Makefile.am b/misc/Makefile.am | ||
| 15 | index c0b98c8..e4a22c1 100644 | ||
| 16 | --- a/misc/Makefile.am | ||
| 17 | +++ b/misc/Makefile.am | ||
| 18 | @@ -18,7 +18,10 @@ EXTRA_DIST = \ | ||
| 19 | uinput.pl \ | ||
| 20 | ultravnc_repeater.pl \ | ||
| 21 | vcinject.pl \ | ||
| 22 | - x11vnc_loop \ | ||
| 23 | + x11vnc_loop | ||
| 24 | + | ||
| 25 | +if HAVE_X11 | ||
| 26 | +EXTRA_DIST += \ | ||
| 27 | Xdummy.c \ | ||
| 28 | Xdummy.in | ||
| 29 | |||
| 30 | @@ -32,3 +35,4 @@ do_dummy_c_subst = $(SED) \ | ||
| 31 | Xdummy: $(srcdir)/Xdummy.in $(srcdir)/Xdummy.c | ||
| 32 | $(do_dummy_c_subst) < $< > $@.tmp | ||
| 33 | mv -f $@.tmp $@ | ||
| 34 | +endif | ||
| 35 | -- | ||
| 36 | 2.17.1 | ||
| 37 | |||
diff --git a/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch deleted file mode 100644 index 8e894bd8e7..0000000000 --- a/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch +++ /dev/null | |||
| @@ -1,86 +0,0 @@ | |||
| 1 | From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Mon, 27 Jun 2016 04:44:14 -0400 | ||
| 4 | Subject: [PATCH] configure.ac: remove redundant RPATH | ||
| 5 | |||
| 6 | It caused oe QA issue: | ||
| 7 | ... | ||
| 8 | |ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/ | ||
| 9 | x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths] | ||
| 10 | ... | ||
| 11 | |||
| 12 | Upstream-Status: Inappropriate [oe specific] | ||
| 13 | |||
| 14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 15 | --- | ||
| 16 | configure.ac | 21 +++++---------------- | ||
| 17 | 1 file changed, 5 insertions(+), 16 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/configure.ac b/configure.ac | ||
| 20 | index 6f664d0..f986686 100644 | ||
| 21 | --- a/configure.ac | ||
| 22 | +++ b/configure.ac | ||
| 23 | @@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then | ||
| 24 | saved_LDFLAGS="$LDFLAGS" | ||
| 25 | CPPFLAGS="$CPPFLAGS -I$with_ssl/include" | ||
| 26 | LDFLAGS="$LDFLAGS -L$with_ssl/lib" | ||
| 27 | - if test "x$ld_minus_R" = "xno"; then | ||
| 28 | + if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then | ||
| 29 | : | ||
| 30 | - elif test "x$GCC" = "xyes"; then | ||
| 31 | - LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib" | ||
| 32 | else | ||
| 33 | LDFLAGS="$LDFLAGS -R$with_ssl/lib" | ||
| 34 | fi | ||
| 35 | @@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno | ||
| 36 | fi | ||
| 37 | if test "x$with_system_libvncserver" != "xyes"; then | ||
| 38 | rflag="" | ||
| 39 | - if test "x$ld_minus_R" = "xno"; then | ||
| 40 | + if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then | ||
| 41 | : | ||
| 42 | - elif test "x$GCC" = "xyes"; then | ||
| 43 | - rflag="-Xlinker -R$with_system_libvncserver/lib" | ||
| 44 | else | ||
| 45 | rflag="-R$with_system_libvncserver/lib" | ||
| 46 | fi | ||
| 47 | @@ -484,10 +480,8 @@ new enough. | ||
| 48 | elif libvncserver-config --version 1>/dev/null 2>&1; then | ||
| 49 | rflag="" | ||
| 50 | rprefix=`libvncserver-config --prefix` | ||
| 51 | - if test "x$ld_minus_R" = "xno"; then | ||
| 52 | + if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then | ||
| 53 | : | ||
| 54 | - elif test "x$GCC" = "xyes"; then | ||
| 55 | - rflag=" -Xlinker -R$rprefix/lib " | ||
| 56 | else | ||
| 57 | rflag=" -R$rprefix/lib " | ||
| 58 | fi | ||
| 59 | @@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then | ||
| 60 | saved_LDFLAGS="$LDFLAGS" | ||
| 61 | CPPFLAGS="$CPPFLAGS -I$with_jpeg/include" | ||
| 62 | LDFLAGS="$LDFLAGS -L$with_jpeg/lib" | ||
| 63 | - if test "x$ld_minus_R" = "xno"; then | ||
| 64 | + if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then | ||
| 65 | : | ||
| 66 | - elif test "x$GCC" = "xyes"; then | ||
| 67 | - # this is not complete... in general a rat's nest. | ||
| 68 | - LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib" | ||
| 69 | else | ||
| 70 | LDFLAGS="$LDFLAGS -R$with_jpeg/lib" | ||
| 71 | fi | ||
| 72 | @@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then | ||
| 73 | saved_LDFLAGS="$LDFLAGS" | ||
| 74 | CPPFLAGS="$CPPFLAGS -I$with_zlib/include" | ||
| 75 | LDFLAGS="$LDFLAGS -L$with_zlib/lib" | ||
| 76 | - if test "x$ld_minus_R" = "xno"; then | ||
| 77 | + if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then | ||
| 78 | : | ||
| 79 | - elif test "x$GCC" = "xyes"; then | ||
| 80 | - LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib" | ||
| 81 | else | ||
| 82 | LDFLAGS="$LDFLAGS -R$with_zlib/lib" | ||
| 83 | fi | ||
| 84 | -- | ||
| 85 | 2.8.1 | ||
| 86 | |||
diff --git a/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch b/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch deleted file mode 100644 index a571ba2838..0000000000 --- a/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | From 95a10ab64c2dbbec2c8dad91a5ffb73a0d68474b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jonathan Liu <net147@gmail.com> | ||
| 3 | Date: Mon, 16 Mar 2020 20:04:06 +1100 | ||
| 4 | Subject: [PATCH] src/cursor: fix xfc NULL pointer dereference | ||
| 5 | |||
| 6 | xfc->width and xfc->height for the XFixes cursor image returned from | ||
| 7 | XFixesGetCursorImage(dpy) are accessed without first checking that xfc | ||
| 8 | is not NULL. This can result in the server sometimes crashing when | ||
| 9 | moving a Google Chrome window. | ||
| 10 | |||
| 11 | Fixes: 37c946191a0f ("Broken cursor bugfix for 64 bit systems (#49)") | ||
| 12 | Upstream-Status: Accepted | ||
| 13 | Signed-off-by: Jonathan Liu <net147@gmail.com> | ||
| 14 | --- | ||
| 15 | src/cursor.c | 2 +- | ||
| 16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/src/cursor.c b/src/cursor.c | ||
| 19 | index 39e73a6..74a08c6 100644 | ||
| 20 | --- a/src/cursor.c | ||
| 21 | +++ b/src/cursor.c | ||
| 22 | @@ -1311,7 +1311,7 @@ static int get_exact_cursor(int init) { | ||
| 23 | |||
| 24 | /* retrieve the cursor info + pixels from server: */ | ||
| 25 | xfc = XFixesGetCursorImage(dpy); | ||
| 26 | - { | ||
| 27 | + if (xfc) { | ||
| 28 | /* 2017-07-09, Stephan Fuhrmann: This fixes an implementation flaw for 64 bit systems. | ||
| 29 | * The XFixesCursorImage structure says xfc->pixels is (unsigned long*) in the structure, but | ||
| 30 | * the protocol spec says it's 32 bit per pixel | ||
diff --git a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb index e3a1914fef..50ce9a59e0 100644 --- a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb +++ b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb | |||
| @@ -7,12 +7,11 @@ LICENSE = "GPLv2+" | |||
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
| 8 | file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314" | 8 | file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314" |
| 9 | 9 | ||
| 10 | SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8" | 10 | SRCREV = "87cd0530f438372dda3c70bb491a6fd19f09acc2" |
| 11 | PV .= "+git${SRCPV}" | ||
| 12 | |||
| 11 | SRC_URI = "git://github.com/LibVNC/x11vnc \ | 13 | SRC_URI = "git://github.com/LibVNC/x11vnc \ |
| 12 | file://starting-fix.patch \ | 14 | file://starting-fix.patch \ |
| 13 | file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \ | ||
| 14 | file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ | ||
| 15 | file://src-cursor-fix-xfc-NULL-pointer-dereference.patch \ | ||
| 16 | " | 15 | " |
| 17 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
| 18 | 17 | ||
