This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository nx-libs. from debe460 debian/control: add Breaks statement on pre-4.1.0.0 x2goserver to x2goagent package. new c2b050e nx-X11: Backport CVE-2017-2624 (timingsafe_memcmp) new 4537ad4 Refresh: - 0016_nx-X11_install-location.debian.patch - 9900-dxpc-license-history.full+lite.patch The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 11 ++ .../0016_nx-X11_install-location.debian.patch | 2 +- ...2017-2624-Use-timingsafe_memcmp-to-c.full.patch | 162 +++++++++++++++++++++ .../9900-dxpc-license-history.full+lite.patch | 25 +--- debian/patches/series | 1 + 5 files changed, 181 insertions(+), 20 deletions(-) create mode 100644 debian/patches/1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository nx-libs. commit c2b050e3003e70b453e212236bcd4e50ee9f9fa7 Author: Ulrich Sibiller <uli42@gmx.de> Date: Thu Mar 9 08:24:28 2017 +0100 nx-X11: Backport CVE-2017-2624 (timingsafe_memcmp) Backported from Arctica GH 3.6.x branch. v2: backport to nx-libs 3.6.x (Ulrich Sibiller) v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) --- debian/changelog | 8 + ...2017-2624-Use-timingsafe_memcmp-to-c.full.patch | 162 +++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 171 insertions(+) diff --git a/debian/changelog b/debian/changelog index 1c5cc5b..19284e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -36,6 +36,14 @@ nx-libs (2:3.5.0.33-0x2go1) UNRELEASED; urgency=low not libnx-xinerama1). Backported from Arctica GH 3.6.x branch. + [ Ulrich Sibiller ] + * nx-X11: Backport CVE-2017-2624 (timingsafe_memcmp) + Backported from Arctica GH 3.6.x branch. + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + Adds: + - 1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch + -- X2Go Release Manager <git-admin@x2go.org> Sat, 04 Jul 2015 06:29:19 +0200 nx-libs (2:3.5.0.32-0x2go1) unstable; urgency=low diff --git a/debian/patches/1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch b/debian/patches/1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch new file mode 100644 index 0000000..799777c --- /dev/null +++ b/debian/patches/1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch @@ -0,0 +1,162 @@ +commit 65c5d8ad7a46a83338c23dee66e208a014c3d3d2 +Author: Ulrich Sibiller <uli42@gmx.de> +Date: Fri Mar 3 22:46:33 2017 +0100 + + Backport CVE-2017-2624 (timingsafe_memcmp) + + Fixes ArcticaProject/nx-libs#365 + + These two commits: + + commit 5c44169caed811e59a65ba346de1cadb46d266ec + Author: Adam Jackson <ajax@redhat.com> + Date: Thu Mar 2 17:20:30 2017 -0500 + + os: Squash missing declaration warning for timingsafe_memcmp + + timingsafe_memcmp.c:21:1: warning: no previous prototype for ‘timingsafe_memcmp’ [-Wmissing-prototypes] + timingsafe_memcmp(const void *b1, const void *b2, size_t len) + + Signed-off-by: Adam Jackson <ajax@redhat.com> + + commit d7ac755f0b618eb1259d93c8a16ec6e39a18627c + Author: Matthieu Herrb <matthieu@herrb.eu> + Date: Tue Feb 28 19:18:25 2017 +0100 + + Use timingsafe_memcmp() to compare MIT-MAGIC-COOKIES CVE-2017-2624 + + Provide the function definition for systems that don't have it. + + Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.6.x (Ulrich Sibiller) + v3: backport to nx-libs 3.5.0.x (Mihai Moldovan) + +commit 22f542626cf9935fd55a899e21144111e481542c +Author: Ulrich Sibiller <uli42@gmx.de> +Date: Sat Mar 4 16:10:38 2017 +0100 + + os: add timingsafe_memcmp to Imake + + There might be some library linking missing on platforms that deliver + timingsafe_memcmp but I cannot test that here. + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.5.0.x (Mihai Moldovan) +--- a/nx-X11/config/cf/Imake.tmpl ++++ b/nx-X11/config/cf/Imake.tmpl +@@ -484,6 +484,9 @@ XCOMM the platform-specific parameters - + #ifndef HasBasename + #define HasBasename YES + #endif ++#ifndef HasTimingsafeMemcmp ++#define HasTimingsafeMemcmp NO /* assume not */ ++#endif + #ifndef HasGetopt + # if !defined(Win32Architecture) && !defined(OS2Architecture) + # define HasGetopt YES +--- a/nx-X11/programs/Xserver/include/os.h ++++ b/nx-X11/programs/Xserver/include/os.h +@@ -480,6 +480,11 @@ extern void AbortDDX(void); + extern void ddxGiveUp(void); + extern int TimeSinceLastInputEvent(void); + ++#ifndef HAVE_TIMINGSAFE_MEMCMP ++extern _X_EXPORT int ++timingsafe_memcmp(const void *b1, const void *b2, size_t len); ++#endif ++ + /* Logging. */ + typedef enum _LogParameter { + XLOG_FLUSH, +--- a/nx-X11/programs/Xserver/os/Imakefile ++++ b/nx-X11/programs/Xserver/os/Imakefile +@@ -127,17 +127,22 @@ GETPEER_DEFINES = -DHAS_GETPEEREID + # endif + #endif + ++#if !HasTimingsafeMemcmp ++TMEMCMP_SRCS = timingsafe_memcmp.c ++TMEMCMP_OBJS = timingsafe_memcmp.o ++#endif ++ + BOOTSTRAPCFLAGS = + SRCS = WaitFor.c access.c connection.c io.c $(COLOR_SRCS) \ + osinit.c utils.c log.c auth.c mitauth.c secauth.c \ + $(XDMAUTHSRCS) $(RPCSRCS) $(KRB5SRCS) xdmcp.c OtherSources \ + transport.c $(SNPRINTF_SRCS) $(STRLCAT_SRCS) \ +- $(MALLOC_SRCS) $(LBX_SRCS) xprintf.c ++ $(MALLOC_SRCS) $(LBX_SRCS) xprintf.c $(TMEMCMP_SRCS) + OBJS = WaitFor.o access.o connection.o io.o $(COLOR_OBJS) \ + osinit.o utils.o log.o auth.o mitauth.o secauth.o \ + $(XDMAUTHOBJS) $(RPCOBJS) $(KRB5OBJS) xdmcp.o OtherObjects \ + transport.o $(SNPRINTF_OBJS) $(STRLCAT_OBJS) \ +- $(MALLOC_OBJS) $(LBX_OBJS) xprintf.o ++ $(MALLOC_OBJS) $(LBX_OBJS) xprintf.o $(TMEMCMP_OBJS) + + #if SpecialMalloc + MEM_DEFINES = -DSPECIAL_MALLOC +--- a/nx-X11/programs/Xserver/os/mitauth.c ++++ b/nx-X11/programs/Xserver/os/mitauth.c +@@ -84,7 +84,7 @@ MitCheckCookie ( + + for (auth = mit_auth; auth; auth=auth->next) { + if (data_length == auth->len && +- memcmp (data, auth->data, (int) data_length) == 0) ++ timingsafe_memcmp (data, auth->data, (int) data_length) == 0) + return auth->id; + } + *reason = "Invalid MIT-MAGIC-COOKIE-1 key"; +--- /dev/null ++++ b/nx-X11/programs/Xserver/os/timingsafe_memcmp.c +@@ -0,0 +1,47 @@ ++/* ++ * Copyright (c) 2014 Google Inc. ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include <limits.h> ++#include <string.h> ++#include <nx-X11/Xfuncproto.h> ++#include "os.h" ++ ++int ++timingsafe_memcmp(const void *b1, const void *b2, size_t len) ++{ ++ const unsigned char *p1 = b1, *p2 = b2; ++ size_t i; ++ int res = 0, done = 0; ++ ++ for (i = 0; i < len; i++) { ++ /* lt is -1 if p1[i] < p2[i]; else 0. */ ++ int lt = (p1[i] - p2[i]) >> CHAR_BIT; ++ ++ /* gt is -1 if p1[i] > p2[i]; else 0. */ ++ int gt = (p2[i] - p1[i]) >> CHAR_BIT; ++ ++ /* cmp is 1 if p1[i] > p2[i]; -1 if p1[i] < p2[i]; else 0. */ ++ int cmp = lt - gt; ++ ++ /* set res = cmp if !done. */ ++ res |= cmp & ~done; ++ ++ /* set done if p1[i] != p2[i]. */ ++ done |= lt | gt; ++ } ++ ++ return (res); ++} diff --git a/debian/patches/series b/debian/patches/series index f0f7e6a..6a24429 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -147,6 +147,7 @@ 1258_nx-X11_randr-Clean-up-compiler-warnings-about-u.full.patch 1259_nx-X11_Make-RANDR-_set_-timestamps-follow-clien.full.patch 1260_nx-X11_xserver-Avoid-sending-uninitialized-padd.full.patch +1270_nx-X11_CVE-2017-2624-Use-timingsafe_memcmp-to-c.full.patch 9900-dxpc-license-history.full+lite.patch 0016_nx-X11_install-location.debian.patch 0102_xserver-xext_set-securitypolicy-path.debian.patch -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository nx-libs. commit 4537ad4c20d3a2bd068a016f4b0acc72401e7812 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu Mar 9 08:29:23 2017 +0100 Refresh: - 0016_nx-X11_install-location.debian.patch - 9900-dxpc-license-history.full+lite.patch --- debian/changelog | 3 +++ .../0016_nx-X11_install-location.debian.patch | 2 +- .../9900-dxpc-license-history.full+lite.patch | 25 ++++++---------------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/debian/changelog b/debian/changelog index 19284e2..204d37d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,9 @@ nx-libs (2:3.5.0.33-0x2go1) UNRELEASED; urgency=low environment. * debian/x2goagent.install: - Add new x2goagent.options file. + * Refresh: + - 0016_nx-X11_install-location.debian.patch + - 9900-dxpc-license-history.full+lite.patch [ Mike Gabriel ] * debian/libxinerama1.postinst.in: diff --git a/debian/patches/0016_nx-X11_install-location.debian.patch b/debian/patches/0016_nx-X11_install-location.debian.patch index 94e2cb0..aa4d359 100644 --- a/debian/patches/0016_nx-X11_install-location.debian.patch +++ b/debian/patches/0016_nx-X11_install-location.debian.patch @@ -6,7 +6,7 @@ Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Last-Update: 2012-12-31 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl -@@ -829,7 +829,7 @@ +@@ -832,7 +832,7 @@ TCLIBDIR = TclLibDir #define AlternateUsrLibDir YES #endif #else diff --git a/debian/patches/9900-dxpc-license-history.full+lite.patch b/debian/patches/9900-dxpc-license-history.full+lite.patch index 4695b66..b263f0a 100644 --- a/debian/patches/9900-dxpc-license-history.full+lite.patch +++ b/debian/patches/9900-dxpc-license-history.full+lite.patch @@ -21,9 +21,6 @@ Subject: [PATCH 3/3] Document retroactive re-licensing of the original DXPC create mode 100644 doc/DXPC_re-licensed::debbug_784565.mbox create mode 100644 nxcomp/README.on-retroactive-DXPC-license -diff --git a/doc/DXPC_re-licensed::debbug_784565.mbox b/doc/DXPC_re-licensed::debbug_784565.mbox -new file mode 100644 -index 0000000..be81324 --- /dev/null +++ b/doc/DXPC_re-licensed::debbug_784565.mbox @@ -0,0 +1,3769 @@ @@ -3796,8 +3793,6 @@ index 0000000..be81324 + + + -diff --git a/nxcomp/LICENSE b/nxcomp/LICENSE -index 2b32034..02ab0e2 100644 --- a/nxcomp/LICENSE +++ b/nxcomp/LICENSE @@ -1,4 +1,5 @@ @@ -3807,7 +3802,7 @@ index 2b32034..02ab0e2 100644 NXCOMP library and NX extensions to X are copyright of NoMachine. Redistribution and use of this software is allowed according to the -@@ -18,6 +19,8 @@ along with this program; if not, you can request a copy to NoMachine +@@ -18,6 +19,8 @@ along with this program; if not, you can or write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA @@ -3816,7 +3811,7 @@ index 2b32034..02ab0e2 100644 Parts of this software are derived from DXPC project. These copyright notices apply to original DXPC code: -@@ -29,9 +32,59 @@ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +@@ -29,9 +32,59 @@ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. @@ -3826,8 +3821,8 @@ index 2b32034..02ab0e2 100644 Copyright (c) 1999 Kevin Vigor and Brian Pane -Copyright (c) 2000,2006 Gian Filippo Pinzari and Brian Pane +<crossed-out>Copyright (c) 2000,2006 Gian Filippo Pinzari and Brian Pane</crossed-out> -+ -+All rights reserved. + + All rights reserved. + +============================================================================== + @@ -3844,7 +3839,7 @@ index 2b32034..02ab0e2 100644 +crossed-out his name in the above copyright notice and moved him to the +top list of copyright holders associated with the GPL-2 re-licensing done +by NoMachine. - ++ +Thus, the version of DXPC where NXCOMP got forked from (most likely some +DXPC version between release 3.7.0 and release 3.8.0) can be considered +as BSD-2-clause, as quoted below: @@ -3852,7 +3847,7 @@ index 2b32034..02ab0e2 100644 +Copyright (c) 1995,1996 Brian Pane +Copyright (c) 1996,1997 Zachary Vonler and Brian Pane +Copyright (c) 1999-2002 Kevin Vigor and Brian Pane - All rights reserved. ++All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: @@ -3878,8 +3873,6 @@ index 2b32034..02ab0e2 100644 +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -diff --git a/nxcomp/Misc.cpp b/nxcomp/Misc.cpp -index 0095eaa..5d53524 100644 --- a/nxcomp/Misc.cpp +++ b/nxcomp/Misc.cpp @@ -384,9 +384,9 @@ static const char CopyrightInfo[] = @@ -3895,9 +3888,6 @@ index 0095eaa..5d53524 100644 \n\ Check http://www.nomachine.com/licensing.html for applicability.\n\ \n\ -diff --git a/nxcomp/README.on-retroactive-DXPC-license b/nxcomp/README.on-retroactive-DXPC-license -new file mode 100644 -index 0000000..d7fc8c5 --- /dev/null +++ b/nxcomp/README.on-retroactive-DXPC-license @@ -0,0 +1,269 @@ @@ -4170,6 +4160,3 @@ index 0000000..d7fc8c5 +I can confirm that Gian Fillippo never contributed directly to DXPC. +You'll note his name does not appear in the DXPC README, and never has. +""" --- -2.1.4 - -- Alioth's /srv/git/code.x2go.org/nx-libs.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git