Index: head/net/xrdp-devel/Makefile =================================================================== --- head/net/xrdp-devel/Makefile (revision 458648) +++ head/net/xrdp-devel/Makefile (revision 458649) @@ -1,107 +1,105 @@ # Created by: alepulver # $FreeBSD$ PORTNAME= xrdp -PORTVERSION= 0.9.4 +PORTVERSION= 0.9.5 DISTVERSIONPREFIX= v -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= net PKGNAMESUFFIX= -devel DIST_SUBDIR?= ${PORTNAME} MAINTAINER= meta+ports@vmeta.jp COMMENT= Open source Remote Desktop Protocol (RDP) server LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/COPYING # pulseaudio's built source is required for audio redirection 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 SUB_LIST= OPENSSLBASE=${OPENSSLBASE} OPTIONS_DEFINE= DEBUG FUSE IPV6 OPTIONS_DEFAULT= FDKAAC MP3LAME OPUS OPTIONS_GROUP= AUDIO_CODEC OPTIONS_GROUP_AUDIO_CODEC= FDKAAC MP3LAME OPUS FDKAAC_DESC= Enable Fraunhofer FDK AAC for audio redirection FUSE_DESC= Enable drive redirection via FUSE (experimental) MP3LAME_DESC= Enable MP3 Lame for audio redirection OPUS_DESC= Enable Opus for audio redirection DEBUG_CONFIGURE_ENABLE= xrdpdebug FDKAAC_CONFIGURE_ENABLE= fdkaac FDKAAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac FUSE_CONFIGURE_ENABLE= fuse FUSE_USES= fuse IPV6_CONFIGURE_ENABLE= ipv6 MP3LAME_CONFIGURE_ENABLE= mp3lame MP3LAME_LIB_DEPENDS= libmp3lame.so:audio/lame OPUS_CONFIGURE_ENABLE= opus OPUS_LIB_DEPENDS= libopus.so:audio/opus # don't forget to increase PORTREVISION after pulseaudio update PULSE_VERSION= ${MAKE} -C ${PORTSDIR}/audio/pulseaudio -VPORTVERSION PULSE_WRKSRC= ${MAKE} -C ${PORTSDIR}/audio/pulseaudio -VWRKSRC post-extract: # librfxcodec is provided as git submodule @${CP} -r ${WRKSRC_librfxcodec}/ ${WRKSRC}/librfxcodec/ @${CP} -r ${WRKSRC_libpainter}/ ${WRKSRC}/libpainter/ post-patch: @${REINPLACE_CMD} \ -e "s|^PULSE_SCRIPT=/etc/xrdp/pulse/default.pa|PULSE_SCRIPT=${PREFIX}/etc/xrdp/pulse/default.pa|" \ ${WRKSRC}/sesman/sesman.ini @${REINPLACE_CMD} \ -e "s|^PULSE_DIR = .*|PULSE_DIR = `${PULSE_WRKSRC}`|" \ -e "s|-Wall -O2|-Wall -O2 -I${LOCALBASE}/include|" \ ${WRKSRC}/sesman/chansrv/pulse/Makefile pre-configure: @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./bootstrap post-build: # build pulseaudio module @${CP} -r "`${PULSE_WRKSRC}`" ${WRKDIR} @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} -C sesman/chansrv/pulse post-install: # install pulseaudio module ${MKDIR} "${STAGEDIR}${PREFIX}/lib/pulse-`${PULSE_VERSION}`/modules/" .for f in module-xrdp-sink.so module-xrdp-source.so ${INSTALL_LIB} -m 0755 ${WRKSRC}/sesman/chansrv/pulse/$f \ "${STAGEDIR}${PREFIX}/lib/pulse-`${PULSE_VERSION}`/modules/" .endfor # substitute pkg-plist not using PLIST_SUB ${REINPLACE_CMD} -e "s|%%PULSE_VERSION%%|`${PULSE_VERSION}`|g" ${TMPPLIST} post-stage: @${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/rsakeys.ini @${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/cert.pem @${RM} ${STAGEDIR}${PREFIX}/etc/xrdp/key.pem .for f in sesman.ini startwm.sh reconnectwm.sh xrdp.ini xrdp_keyboard.ini @${MV} ${STAGEDIR}${PREFIX}/etc/xrdp/$f ${STAGEDIR}${PREFIX}/etc/xrdp/$f.sample .endfor .include Index: head/net/xrdp-devel/distinfo =================================================================== --- head/net/xrdp-devel/distinfo (revision 458648) +++ head/net/xrdp-devel/distinfo (revision 458649) @@ -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 Index: head/net/xrdp-devel/files/patch-issue-730 =================================================================== --- head/net/xrdp-devel/files/patch-issue-730 (revision 458648) +++ head/net/xrdp-devel/files/patch-issue-730 (nonexistent) @@ -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); - } Property changes on: head/net/xrdp-devel/files/patch-issue-730 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/xrdp-devel/files/patch-issue-910 =================================================================== --- head/net/xrdp-devel/files/patch-issue-910 (revision 458648) +++ head/net/xrdp-devel/files/patch-issue-910 (nonexistent) @@ -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; Property changes on: head/net/xrdp-devel/files/patch-issue-910 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/xrdp-devel/files/patch-CVE-2017-16927 =================================================================== --- head/net/xrdp-devel/files/patch-CVE-2017-16927 (revision 458648) +++ head/net/xrdp-devel/files/patch-CVE-2017-16927 (nonexistent) @@ -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 - { Property changes on: head/net/xrdp-devel/files/patch-CVE-2017-16927 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/xrdp-devel/files/patch-configure.ac =================================================================== --- head/net/xrdp-devel/files/patch-configure.ac (revision 458648) +++ head/net/xrdp-devel/files/patch-configure.ac (revision 458649) @@ -1,40 +1,40 @@ ---- 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 -PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [], +if test "x$freebsd" = "xyes"; then + # FreeBSD may have two OpenSSL, base and port however + # base OpenSSL doesn.t have openssl.pc file. + PKG_CHECK_MODULES( + [OPENSSL], + [openssl >= 0], + [freebsd_openssl=port], + [ + AC_CHECK_HEADER( + [openssl/rc4.h], + [freebsd_openssl=base], + [AC_MSG_ERROR([please install libssl-dev or openssl-devel])], + [#include ]) + ] + ) + + if test "x$freebsd_openssl" = "xport"; then + OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin + elif test "x$freebsd_openssl" = "xbase"; then + OPENSSL_BIN=/usr/bin + fi +else + # OpenSSL detection for other OS + PKG_CHECK_MODULES([OPENSSL], [openssl >= 0], [], [AC_MSG_ERROR([please install libssl-dev or openssl-devel])]) + OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin +fi # look for openssl binary -OPENSSL_BIN=`$PKG_CONFIG --variable=exec_prefix openssl`/bin AC_PATH_PROGS([OPENSSL], [openssl], [:], [$OPENSSL_BIN:$PATH]) # checking for pam variation Index: head/net/xrdp-devel/files/patch-sesman_sesman.ini =================================================================== --- head/net/xrdp-devel/files/patch-sesman_sesman.ini (revision 458648) +++ head/net/xrdp-devel/files/patch-sesman_sesman.ini (revision 458649) @@ -1,13 +1,13 @@ ---- 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 -param=-logfile -param=.xorgxrdp.%s.log +#param=-logfile +#param=.xorgxrdp.%s.log - [Chansrv] - ; drive redirection, defaults to xrdp_client if not set + [X11rdp] + param=X11rdp