FreeBSD Bugzilla – Attachment 189385 Details for
Bug 224885
net/xrdp-devel: Update to 0.9.5
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
patch
patch-xrdp-devel-0.9.5.txt (text/plain), 17.98 KB, created by
Koichiro Iwao
on 2018-01-04 06:42:04 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Koichiro Iwao
Created:
2018-01-04 06:42:04 UTC
Size:
17.98 KB
patch
obsolete
>diff --git net/xrdp-devel/Makefile net/xrdp-devel/Makefile >index ff2a44b2c1a9..0ab9ee96bc16 100644 >--- net/xrdp-devel/Makefile >+++ net/xrdp-devel/Makefile >@@ -2,9 +2,8 @@ > # $FreeBSD$ > > PORTNAME= xrdp >-PORTVERSION= 0.9.4 >+PORTVERSION= 0.9.5 > DISTVERSIONPREFIX= v >-PORTREVISION= 1 > PORTEPOCH= 1 > CATEGORIES= net > PKGNAMESUFFIX= -devel >@@ -21,20 +20,19 @@ BUILD_DEPENDS= ${NONEXISTENT}:audio/pulseaudio:configure \ > ${LOCALBASE}/bin/nasm:devel/nasm > RUN_DEPENDS= ${LOCALBASE}/lib/xorg/modules/libxorgxrdp.so:x11-drivers/xorgxrdp > >-USES= autoreconf:build jpeg libtool pkgconfig ssl >+USES= autoreconf:build jpeg localbase libtool pkgconfig ssl > USE_XORG= ice pixman sm x11 xfixes xrandr > GNU_CONFIGURE= yes > USE_LDCONFIG= ${PREFIX}/lib/xrdp > USE_GITHUB= yes > GH_ACCOUNT= neutrinolabs > GH_PROJECT= xrdp librfxcodec:librfxcodec libpainter:libpainter >-GH_TAGNAME= v0.1.3:librfxcodec v0.1.1:libpainter >+GH_TAGNAME= v0.1.4:librfxcodec v0.1.1:libpainter > > CONFIGURE_ARGS= --localstatedir=/var --enable-strict-locations \ > --with-pkgconfigdir=${LOCALBASE}/libdata/pkgconfig \ > --enable-jpeg --enable-pixman --enable-rfxcodec --enable-painter >-LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB} -lssl >-CFLAGS+= -I${LOCALBASE}/include -L${OPENSSLINC} >+LDFLAGS+= -lssl > CONFLICTS= xrdp-[0-9]* > INSTALL_TARGET= install-strip > SUB_FILES= pkg-install pkg-message >diff --git net/xrdp-devel/distinfo net/xrdp-devel/distinfo >index 243041cffceb..84eb9f6d69b2 100644 >--- net/xrdp-devel/distinfo >+++ net/xrdp-devel/distinfo >@@ -1,7 +1,7 @@ >-TIMESTAMP = 1510103629 >-SHA256 (xrdp/neutrinolabs-xrdp-v0.9.4_GH0.tar.gz) = 962d9d14b9062654e4adc1c9aa1b1bd89d3707e57f20ef0c1b6e619dd025c5df >-SIZE (xrdp/neutrinolabs-xrdp-v0.9.4_GH0.tar.gz) = 1868159 >-SHA256 (xrdp/neutrinolabs-librfxcodec-v0.1.3_GH0.tar.gz) = 9a4612691d35431b17d2f8059e7be1cabbedd4823f84608e80ca64fdc869f272 >-SIZE (xrdp/neutrinolabs-librfxcodec-v0.1.3_GH0.tar.gz) = 46782 >+TIMESTAMP = 1514517059 >+SHA256 (xrdp/neutrinolabs-xrdp-v0.9.5_GH0.tar.gz) = a932fc6a56d570207a58df9238cdf44f717071fd8061ac4445b5193fc3c73392 >+SIZE (xrdp/neutrinolabs-xrdp-v0.9.5_GH0.tar.gz) = 1877715 >+SHA256 (xrdp/neutrinolabs-librfxcodec-v0.1.4_GH0.tar.gz) = 8e2d6060aca6d92ebd8b5cd295e9b85b8dd12ec00aacf7e3d351a8dacb56f4f3 >+SIZE (xrdp/neutrinolabs-librfxcodec-v0.1.4_GH0.tar.gz) = 48379 > SHA256 (xrdp/neutrinolabs-libpainter-v0.1.1_GH0.tar.gz) = 6caee8444fbd72677ac5e125c7ac99490688474975451668e751a9d9187ee5e6 > SIZE (xrdp/neutrinolabs-libpainter-v0.1.1_GH0.tar.gz) = 13929 >diff --git net/xrdp-devel/files/patch-CVE-2017-16927 net/xrdp-devel/files/patch-CVE-2017-16927 >deleted file mode 100644 >index c1e7e3fc1de5..000000000000 >--- net/xrdp-devel/files/patch-CVE-2017-16927 >+++ /dev/null >@@ -1,133 +0,0 @@ >---- sesman/libscp/libscp_v0.c.orig 2017-09-28 02:25:19 UTC >-+++ sesman/libscp/libscp_v0.c >-@@ -161,7 +161,7 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- struct SCP_SESSION *session = 0; >- tui16 sz; >- tui32 code = 0; >-- char buf[257]; >-+ char *buf = 0; >- >- if (!skipVchk) >- { >-@@ -226,27 +226,31 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- >- /* reading username */ >- in_uint16_be(c->in_s, sz); >-- buf[sz] = '\0'; >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >-- >-+ buf[sz] = '\0'; >- if (0 != scp_session_set_username(session, buf)) >- { >- scp_session_destroy(session); >- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__); >-+ g_free(buf); >- return SCP_SERVER_STATE_INTERNAL_ERR; >- } >-+ g_free(buf); >- >- /* reading password */ >- in_uint16_be(c->in_s, sz); >-- buf[sz] = '\0'; >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >-- >-+ buf[sz] = '\0'; >- if (0 != scp_session_set_password(session, buf)) >- { >- scp_session_destroy(session); >- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__); >-+ g_free(buf); >- return SCP_SERVER_STATE_INTERNAL_ERR; >- } >-+ g_free(buf); >- >- /* width */ >- in_uint16_be(c->in_s, sz); >-@@ -272,9 +276,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- >- if (sz > 0) >- { >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >- buf[sz] = '\0'; >- scp_session_set_domain(session, buf); >-+ g_free(buf); >- } >- } >- >-@@ -285,9 +291,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- >- if (sz > 0) >- { >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >- buf[sz] = '\0'; >- scp_session_set_program(session, buf); >-+ g_free(buf); >- } >- } >- >-@@ -298,9 +306,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- >- if (sz > 0) >- { >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >- buf[sz] = '\0'; >- scp_session_set_directory(session, buf); >-+ g_free(buf); >- } >- } >- >-@@ -311,9 +321,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- >- if (sz > 0) >- { >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >- buf[sz] = '\0'; >- scp_session_set_client_ip(session, buf); >-+ g_free(buf); >- } >- } >- } >-@@ -332,29 +344,35 @@ scp_v0s_accept(struct SCP_CONNECTION *c, >- scp_session_set_type(session, SCP_GW_AUTHENTICATION); >- /* reading username */ >- in_uint16_be(c->in_s, sz); >-- buf[sz] = '\0'; >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >-+ buf[sz] = '\0'; >- >- /* g_writeln("Received user name: %s",buf); */ >- if (0 != scp_session_set_username(session, buf)) >- { >- scp_session_destroy(session); >- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);*/ >-+ g_free(buf); >- return SCP_SERVER_STATE_INTERNAL_ERR; >- } >-+ g_free(buf); >- >- /* reading password */ >- in_uint16_be(c->in_s, sz); >-- buf[sz] = '\0'; >-+ buf = g_new0(char, sz); >- in_uint8a(c->in_s, buf, sz); >-+ buf[sz] = '\0'; >- >- /* g_writeln("Received password: %s",buf); */ >- if (0 != scp_session_set_password(session, buf)) >- { >- scp_session_destroy(session); >- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__); */ >-+ g_free(buf); >- return SCP_SERVER_STATE_INTERNAL_ERR; >- } >-+ g_free(buf); >- } >- else >- { >diff --git net/xrdp-devel/files/patch-configure.ac net/xrdp-devel/files/patch-configure.ac >index 9f5d8b3dd52e..762394926700 100644 >--- net/xrdp-devel/files/patch-configure.ac >+++ net/xrdp-devel/files/patch-configure.ac >@@ -1,6 +1,6 @@ >---- configure.ac.orig 2017-09-28 02:25:19 UTC >+--- configure.ac.orig 2017-12-27 14:40:24 UTC > +++ configure.ac >-@@ -156,11 +156,35 @@ AC_CHECK_FUNC(dlopen, [], >+@@ -159,11 +159,35 @@ AC_CHECK_FUNC(dlopen, [], > AC_SUBST(DLOPEN_LIBS) > > # checking for openssl >diff --git net/xrdp-devel/files/patch-issue-730 net/xrdp-devel/files/patch-issue-730 >deleted file mode 100644 >index 52dc5a8a287f..000000000000 >--- net/xrdp-devel/files/patch-issue-730 >+++ /dev/null >@@ -1,225 +0,0 @@ >---- common/xrdp_constants.h.orig 2017-09-28 02:25:19 UTC >-+++ common/xrdp_constants.h >-@@ -189,13 +189,21 @@ >- #define RDP_KEYPRESS 0 >- #define RDP_KEYRELEASE (KBD_FLAG_DOWN | KBD_FLAG_UP) >- >--#define MOUSE_FLAG_MOVE 0x0800 >--#define MOUSE_FLAG_BUTTON1 0x1000 >--#define MOUSE_FLAG_BUTTON2 0x2000 >--#define MOUSE_FLAG_BUTTON3 0x4000 >--#define MOUSE_FLAG_BUTTON4 0x0280 >--#define MOUSE_FLAG_BUTTON5 0x0380 >--#define MOUSE_FLAG_DOWN 0x8000 >-+/* Mouse Event (MS-RDPBCGR 2.2.8.1.1.3.1.1.3) */ >-+#define PTRFLAGS_HWHEEL 0x0400 >-+#define PTRFLAGS_WHEEL 0x0200 >-+#define PTRFLAGS_WHEEL_NEGATIVE 0x0100 >-+#define WheelRotationMask 0x01FF >-+#define PTRFLAGS_MOVE 0x0800 >-+#define PTRFLAGS_DOWN 0x8000 >-+#define PTRFLAGS_BUTTON1 0x1000 >-+#define PTRFLAGS_BUTTON2 0x2000 >-+#define PTRFLAGS_BUTTON3 0x4000 >-+ >-+/* Mouse Event (MS-RDPBCGR 2.2.8.1.1.3.1.1.4) */ >-+#define PTRXFLAGS_DOWN 0x8000 >-+#define PTRXFLAGS_BUTTON1 0x0001 >-+#define PTRXFLAGS_BUTTON2 0x0002 >- >- /* Raster operation masks */ >- #define ROP2_S(rop3) (rop3 & 0xf) >-@@ -594,11 +602,16 @@ >- #define SOLIDPATTERNBRUSHONLY 0x0040 >- #define ORDERFLAGS_EXTRA_FLAGS 0x0080 >- >--#define INPUT_FLAG_SCANCODES 0x0001 >--#define INPUT_FLAG_MOUSEX 0x0004 >--#define INPUT_FLAG_FASTPATH_INPUT 0x0008 >--#define INPUT_FLAG_UNICODE 0x0010 >--#define INPUT_FLAG_FASTPATH_INPUT2 0x0020 >-+/* Input Capability Set (MS-RDPBCGR 2.2.7.1.6) */ >-+#define INPUT_FLAG_SCANCODES 0x0001 >-+#define INPUT_FLAG_MOUSEX 0x0004 >-+#define INPUT_FLAG_FASTPATH_INPUT 0x0008 >-+#define INPUT_FLAG_UNICODE 0x0010 >-+#define INPUT_FLAG_FASTPATH_INPUT2 0x0020 >-+#define INPUT_FLAG_UNUSED1 0x0040 >-+#define INPUT_FLAG_UNUSED2 0x0080 >-+#define TS_INPUT_FLAG_MOUSE_HWHEEL 0x0100 >-+#define TS_INPUT_FLAG_QOE_TIMESTAMPS 0x0200 >- >- #define COMPDESK_NOT_SUPPORTED 0x0000 >- #define COMPDESK_SUPPORTED 0x0001 >---- libxrdp/xrdp_caps.c.orig 2017-09-28 02:25:19 UTC >-+++ libxrdp/xrdp_caps.c >-@@ -924,7 +924,11 @@ xrdp_caps_send_demand_active(struct xrdp >- out_uint16_le(s, RDP_CAPSET_INPUT); /* 13(0xd) */ >- out_uint16_le(s, RDP_CAPLEN_INPUT); /* 88(0x58) */ >- >-- flags = INPUT_FLAG_SCANCODES | INPUT_FLAG_MOUSEX | INPUT_FLAG_UNICODE; >-+ flags = INPUT_FLAG_SCANCODES | >-+ INPUT_FLAG_MOUSEX | >-+ INPUT_FLAG_UNICODE | >-+ TS_INPUT_FLAG_MOUSE_HWHEEL; >-+ >- if (self->client_info.use_fast_path & 2) >- { >- flags |= INPUT_FLAG_FASTPATH_INPUT | INPUT_FLAG_FASTPATH_INPUT2; >---- xrdp/xrdp_wm.c.orig 2017-09-28 02:25:19 UTC >-+++ xrdp/xrdp_wm.c >-@@ -1264,6 +1264,8 @@ xrdp_wm_mouse_click(struct xrdp_wm *self >- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON3UP, x, y, 0, 0); >- } >- >-+ /* vertical scroll */ >-+ >- if (but == 4) >- { >- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON4DOWN, >-@@ -1279,21 +1281,23 @@ xrdp_wm_mouse_click(struct xrdp_wm *self >- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON5UP, >- self->mouse_x, self->mouse_y, 0, 0); >- } >-- if (but == 6 && down) >-- { >-- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON6DOWN, x, y, 0, 0); >-- } >-- else if (but == 6 && !down) >-- { >-- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON6UP, x, y, 0, 0); >-- } >-- if (but == 7 && down) >-+ >-+ /* horizontal scroll */ >-+ >-+ if (but == 6) >- { >-- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON7DOWN, x, y, 0, 0); >-+ self->mm->mod->mod_event(self->mm->mod, WM_BUTTON6DOWN, >-+ self->mouse_x, self->mouse_y, 0, 0); >-+ self->mm->mod->mod_event(self->mm->mod, WM_BUTTON6UP, >-+ self->mouse_x, self->mouse_y, 0, 0); >- } >-- else if (but == 7 && !down) >-+ >-+ if (but == 7) >- { >-- self->mm->mod->mod_event(self->mm->mod, WM_BUTTON7UP, x, y, 0, 0); >-+ self->mm->mod->mod_event(self->mm->mod, WM_BUTTON7DOWN, >-+ self->mouse_x, self->mouse_y, 0, 0); >-+ self->mm->mod->mod_event(self->mm->mod, WM_BUTTON7UP, >-+ self->mouse_x, self->mouse_y, 0, 0); >- } >- } >- } >-@@ -1638,14 +1642,14 @@ xrdp_wm_process_input_mouse(struct xrdp_ >- { >- DEBUG(("mouse event flags %4.4x x %d y %d", device_flags, x, y)); >- >-- if (device_flags & MOUSE_FLAG_MOVE) /* 0x0800 */ >-+ if (device_flags & PTRFLAGS_MOVE) >- { >- xrdp_wm_mouse_move(self, x, y); >- } >- >-- if (device_flags & MOUSE_FLAG_BUTTON1) /* 0x1000 */ >-+ if (device_flags & PTRFLAGS_BUTTON1) >- { >-- if (device_flags & MOUSE_FLAG_DOWN) /* 0x8000 */ >-+ if (device_flags & PTRFLAGS_DOWN) >- { >- xrdp_wm_mouse_click(self, x, y, 1, 1); >- } >-@@ -1655,9 +1659,9 @@ xrdp_wm_process_input_mouse(struct xrdp_ >- } >- } >- >-- if (device_flags & MOUSE_FLAG_BUTTON2) /* 0x2000 */ >-+ if (device_flags & PTRFLAGS_BUTTON2) >- { >-- if (device_flags & MOUSE_FLAG_DOWN) /* 0x8000 */ >-+ if (device_flags & PTRFLAGS_DOWN) >- { >- xrdp_wm_mouse_click(self, x, y, 2, 1); >- } >-@@ -1667,9 +1671,9 @@ xrdp_wm_process_input_mouse(struct xrdp_ >- } >- } >- >-- if (device_flags & MOUSE_FLAG_BUTTON3) /* 0x4000 */ >-+ if (device_flags & PTRFLAGS_BUTTON3) >- { >-- if (device_flags & MOUSE_FLAG_DOWN) /* 0x8000 */ >-+ if (device_flags & PTRFLAGS_DOWN) >- { >- xrdp_wm_mouse_click(self, x, y, 3, 1); >- } >-@@ -1679,9 +1683,10 @@ xrdp_wm_process_input_mouse(struct xrdp_ >- } >- } >- >-- if (device_flags & 0x200) /* PTRFLAGS_WHEEL */ >-+ /* vertical mouse wheel */ >-+ if (device_flags & PTRFLAGS_WHEEL) >- { >-- if (device_flags & 0x100) /* PTRFLAGS_WHEEL_NEGATIVE */ >-+ if (device_flags & PTRFLAGS_WHEEL_NEGATIVE) >- { >- xrdp_wm_mouse_click(self, 0, 0, 5, 0); >- } >-@@ -1691,6 +1696,24 @@ xrdp_wm_process_input_mouse(struct xrdp_ >- } >- } >- >-+ /* horizontal mouse wheel */ >-+ >-+ /** >-+ * As mstsc does MOUSE not MOUSEX for horizontal scrolling, >-+ * PTRFLAGS_HWHEEL must be handled here. >-+ */ >-+ if (device_flags & PTRFLAGS_HWHEEL) >-+ { >-+ if (device_flags & PTRFLAGS_WHEEL_NEGATIVE) >-+ { >-+ xrdp_wm_mouse_click(self, 0, 0, 6, 0); >-+ } >-+ else >-+ { >-+ xrdp_wm_mouse_click(self, 0, 0, 7, 0); >-+ } >-+ } >-+ >- return 0; >- } >- >-@@ -1699,24 +1722,24 @@ static int >- xrdp_wm_process_input_mousex(struct xrdp_wm* self, int device_flags, >- int x, int y) >- { >-- if (device_flags & 0x8000) /* PTRXFLAGS_DOWN */ >-+ if (device_flags & PTRXFLAGS_DOWN) >- { >-- if (device_flags & 0x0001) /* PTRXFLAGS_BUTTON1 */ >-+ if (device_flags & PTRXFLAGS_BUTTON1) >- { >- xrdp_wm_mouse_click(self, x, y, 6, 1); >- } >-- else if (device_flags & 0x0002) /* PTRXFLAGS_BUTTON2 */ >-+ else if (device_flags & PTRXFLAGS_BUTTON2) >- { >- xrdp_wm_mouse_click(self, x, y, 7, 1); >- } >- } >- else >- { >-- if (device_flags & 0x0001) /* PTRXFLAGS_BUTTON1 */ >-+ if (device_flags & PTRXFLAGS_BUTTON1) >- { >- xrdp_wm_mouse_click(self, x, y, 6, 0); >- } >-- else if (device_flags & 0x0002) /* PTRXFLAGS_BUTTON2 */ >-+ else if (device_flags & PTRXFLAGS_BUTTON2) >- { >- xrdp_wm_mouse_click(self, x, y, 7, 0); >- } >diff --git net/xrdp-devel/files/patch-issue-910 net/xrdp-devel/files/patch-issue-910 >deleted file mode 100644 >index c21a7a7ed205..000000000000 >--- net/xrdp-devel/files/patch-issue-910 >+++ /dev/null >@@ -1,40 +0,0 @@ >---- sesman/chansrv/sound.c.orig 2017-09-28 02:25:19 UTC >-+++ sesman/chansrv/sound.c >-@@ -400,19 +400,16 @@ sound_process_output_format(int aindex, >- LOG(0, ("wFormatTag, fdk aac")); >- g_client_does_fdk_aac = 1; >- g_client_fdk_aac_index = aindex; >-- g_bbuf_size = 4096; >- break; >- case WAVE_FORMAT_MPEGLAYER3: >- LOG(0, ("wFormatTag, mp3")); >- g_client_does_mp3lame = 1; >- g_client_mp3lame_index = aindex; >-- g_bbuf_size = 11520; >- break; >- case WAVE_FORMAT_OPUS: >- LOG(0, ("wFormatTag, opus")); >- g_client_does_opus = 1; >- g_client_opus_index = aindex; >-- g_bbuf_size = 11520; >- break; >- } >- >-@@ -840,14 +837,17 @@ sound_wave_compress(char *data, int data >- { >- if (g_client_does_fdk_aac) >- { >-+ g_bbuf_size = 4096; >- return sound_wave_compress_fdk_aac(data, data_bytes, format_index); >- } >- else if (g_client_does_opus) >- { >-+ g_bbuf_size = 11520; >- return sound_wave_compress_opus(data, data_bytes, format_index); >- } >- else if (g_client_does_mp3lame) >- { >-+ g_bbuf_size = 11520; >- return sound_wave_compress_mp3lame(data, data_bytes, format_index); >- } >- return data_bytes; >diff --git net/xrdp-devel/files/patch-sesman_sesman.ini net/xrdp-devel/files/patch-sesman_sesman.ini >index 5d02badf7c03..5242cf4cf41b 100644 >--- net/xrdp-devel/files/patch-sesman_sesman.ini >+++ net/xrdp-devel/files/patch-sesman_sesman.ini >@@ -1,6 +1,6 @@ >---- sesman/sesman.ini.orig 2017-07-14 12:22:02 UTC >+--- sesman/sesman.ini.orig 2017-12-27 14:40:24 UTC > +++ sesman/sesman.ini >-@@ -77,8 +77,8 @@ param=xrdp/xorg.conf >+@@ -75,8 +75,8 @@ param=xrdp/xorg.conf > param=-noreset > param=-nolisten > param=tcp >@@ -9,5 +9,5 @@ > +#param=-logfile > +#param=.xorgxrdp.%s.log > >- [Chansrv] >- ; drive redirection, defaults to xrdp_client if not set >+ [X11rdp] >+ param=X11rdp
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 224885
: 189385