mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Christian Melki <christian.melki@t2data.com>
Subject: Re: [ptxdist] [APPLIED] screen: Version bump 4.5.0 -> 4.8.0
Date: Fri, 21 Jan 2022 08:19:19 +0100	[thread overview]
Message-ID: <20220121071919.1967634-1-m.olbrich@pengutronix.de> (raw)
In-Reply-To: <20211222130304.2549154-18-christian.melki@t2data.com>

Thanks, applied as be57dffb0812bddcd17a4a3e178a140186c559ba.

Michael

[sent from post-receive hook]

On Fri, 21 Jan 2022 08:19:18 +0100, Christian Melki <christian.melki@t2data.com> wrote:
> Package maintenance.
> Fixes CVE-2021-26937, CVE-2020-9366, CVE-2017-5618
> 
> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> Message-Id: <20211222130304.2549154-18-christian.melki@t2data.com>
> [mol: remove unnecessary patches and patches for the old version]
> [mol: import relevant debian patches]
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/patches/screen-4.5.0/0001-don-t-link-against-libelf.patch b/patches/screen-4.5.0/0001-don-t-link-against-libelf.patch
> deleted file mode 100644
> index 3ca43101f09c..000000000000
> --- a/patches/screen-4.5.0/0001-don-t-link-against-libelf.patch
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -From: Michael Olbrich <m.olbrich@pengutronix.de>
> -Date: Sun, 27 Mar 2011 15:19:15 +0200
> -Subject: [PATCH] don't link against libelf
> -
> -libelf is not used. It's just some broken configure check.
> -Patch from gentoo.
> -
> -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> -[osterlad: Update locations for version 4.5.0]
> -Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ----
> - configure.ac | 8 --------
> - 1 file changed, 8 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index ffe2e372426c..d88af75af665 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -202,14 +202,6 @@ AC_EGREP_CPP(yes,
> - #endif
> - ], LIBS="$LIBS -lsocket -linet";seqptx=1)
> - 
> --oldlibs="$LIBS"
> --LIBS="$LIBS -lelf"
> --AC_CHECKING(SVR4)
> --AC_TRY_LINK([#include <utmpx.h>
> --],,
> --[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
> --[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
> --,LIBS="$oldlibs")
> - AC_CHECK_HEADERS([stropts.h string.h strings.h])
> - 
> - AC_CHECKING(for Solaris 2.x)
> diff --git a/patches/screen-4.5.0/0002-remove-configure-AC_TRY_RUN-tests.patch b/patches/screen-4.5.0/0002-remove-configure-AC_TRY_RUN-tests.patch
> deleted file mode 100644
> index 4efbde11f0ff..000000000000
> --- a/patches/screen-4.5.0/0002-remove-configure-AC_TRY_RUN-tests.patch
> +++ /dev/null
> @@ -1,727 +0,0 @@
> -From: Michael Olbrich <m.olbrich@pengutronix.de>
> -Date: Sun, 27 Mar 2011 15:22:02 +0200
> -Subject: [PATCH] remove configure AC_TRY_RUN tests
> -
> -AC_TRY_RUN fails when cross-compiling.
> -
> -Not for upstream.
> -
> -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> -[osterlad: Update locations for version 4.5.0]
> -Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ----
> - configure.ac | 651 +----------------------------------------------------------
> - 1 file changed, 9 insertions(+), 642 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index d88af75af665..155b34c7ecce 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -48,31 +48,6 @@ AC_PROG_GCC_TRADITIONAL
> - AC_ISC_POSIX
> - AC_USE_SYSTEM_EXTENSIONS
> - 
> --AC_TRY_RUN(main(){exit(0);},,[
> --if test $CC != cc ; then
> --AC_NOTE(Your $CC failed - restarting with CC=cc)
> --AC_NOTE()
> --CC=cc
> --export CC
> --exec $0 $configure_args
> --fi
> --])
> --
> --AC_TRY_RUN(main(){exit(0);},,
> --exec 5>&2
> --eval $ac_link
> --AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;)
> --AC_NOTE($ac_compile)
> --AC_MSG_ERROR(Can't run the compiler - sorry))
> --
> --AC_TRY_RUN([
> --main()
> --{
> --  int __something_strange_();
> --  __something_strange_(0);
> --}
> --],AC_MSG_ERROR(Your compiler does not set the exit status - sorry))
> --
> - AC_PROG_AWK
> - 
> - AC_PROG_INSTALL
> -@@ -295,353 +270,6 @@ AC_CHECKING(select with $LIBS)
> - AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],, 
> - AC_MSG_ERROR(!!! no select - no screen))
> - )
> --dnl
> --dnl    ****  FIFO tests  ****
> --dnl
> --
> --AC_CHECKING(fifos)
> --AC_TRY_RUN([
> --/* For select - According to POSIX 1003.1-2001 */
> --#include <sys/select.h>
> --
> --/* For select - According to earlier standards */
> --#include <sys/time.h>
> --#include <sys/types.h>
> --#include <unistd.h>
> --
> --#include <sys/stat.h>
> --#include <fcntl.h>
> --
> --#ifndef O_NONBLOCK
> --#define O_NONBLOCK O_NDELAY
> --#endif
> --#ifndef S_IFIFO
> --#define S_IFIFO 0010000
> --#endif
> --
> --char *fin = "/tmp/conftest$$";
> --
> --main()
> --{
> --  struct stat stb;
> --  fd_set f;
> --
> --  (void)alarm(5);
> --  unlink(fin);
> --#ifdef POSIX
> --  if (mkfifo(fin, 0777))
> --#else
> --  if (mknod(fin, S_IFIFO|0777, 0))
> --#endif
> --    exit(1);
> --  if (stat(fin, &stb) || (stb.st_mode & S_IFIFO) != S_IFIFO)
> --    exit(1);
> --  close(0);
> --#ifdef __386BSD__
> --  /*
> --   * The next test fails under 386BSD, but screen works using fifos.
> --   * Fifos in O_RDWR mode are only used for the BROKEN_PIPE case and for
> --   * the select() configuration test.
> --   */
> --  exit(0);
> --#endif
> --  if (open(fin, O_RDONLY | O_NONBLOCK))
> --    exit(1);
> --  if (fork() == 0)
> --    {
> --      close(0);
> --      if (open(fin, O_WRONLY | O_NONBLOCK))
> --	exit(1);
> --      close(0);
> --      if (open(fin, O_WRONLY | O_NONBLOCK))
> --	exit(1);
> --      if (write(0, "TEST", 4) == -1)
> --	exit(1);
> --      exit(0);
> --    }
> --  FD_SET(0, &f);
> --  if (select(1, &f, 0, 0, 0) == -1)
> --    exit(1);
> --  exit(0);
> --}
> --], AC_NOTE(- your fifos are usable) fifo=1,
> --AC_NOTE(- your fifos are not usable))
> --rm -f /tmp/conftest*
> --
> --if test -n "$fifo"; then
> --AC_CHECKING(for broken fifo implementation)
> --AC_TRY_RUN([
> --/* For select - According to POSIX 1003.1-2001 */
> --#include <sys/select.h>
> --
> --/* For select - According to earlier standards */
> --#include <sys/time.h>
> --#include <sys/types.h>
> --#include <unistd.h>
> --
> --#include <sys/stat.h>
> --#include <fcntl.h>
> --
> --#ifndef O_NONBLOCK
> --#define O_NONBLOCK O_NDELAY
> --#endif
> --#ifndef S_IFIFO
> --#define S_IFIFO 0010000
> --#endif
> --
> --char *fin = "/tmp/conftest$$";
> --
> --main()
> --{
> --  struct timeval tv;
> --  fd_set f;
> --
> --#ifdef POSIX
> --  if (mkfifo(fin, 0600))
> --#else
> --  if (mknod(fin, S_IFIFO|0600, 0))
> --#endif
> --    exit(1);
> --  close(0);
> --  if (open(fin, O_RDONLY|O_NONBLOCK))
> --    exit(1);
> --  FD_SET(0, &f);
> --  tv.tv_sec = 1;
> --  tv.tv_usec = 0;
> --  if (select(1, &f, 0, 0, &tv))
> --    exit(1);
> --  exit(0);
> --}
> --], AC_NOTE(- your implementation is ok), 
> --AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1)
> --rm -f /tmp/conftest*
> --fi
> --
> --dnl
> --dnl    ****  SOCKET tests  ****
> --dnl 
> --dnl 	may need  	LIBS="$LIBS -lsocket" 	here
> --dnl
> --
> --AC_CHECKING(sockets)
> --AC_TRY_RUN([
> --/* For select - According to POSIX 1003.1-2001 */
> --#include <sys/select.h>
> --
> --/* For select - According to earlier standards */
> --#include <sys/time.h>
> --#include <sys/types.h>
> --#include <unistd.h>
> --
> --#include <sys/stat.h>
> --#include <fcntl.h>
> --#include <sys/socket.h>
> --#include <sys/un.h>
> --
> --char *son = "/tmp/conftest$$";
> --
> --main()
> --{
> --  int s1, s2, l;
> --  struct sockaddr_un a;
> --  fd_set f;
> --
> --  (void)alarm(5);
> --  if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
> --    exit(1);
> --  a.sun_family = AF_UNIX;
> --  strcpy(a.sun_path, son);
> --  (void) unlink(son);
> --  if (bind(s1, (struct sockaddr *) &a, strlen(son)+2) == -1)
> --    exit(1);
> --  if (listen(s1, 2))
> --    exit(1);
> --  if (fork() == 0)
> --    {
> --      if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
> --	kill(getppid(), 3);
> --      (void)connect(s2, (struct sockaddr *)&a, strlen(son) + 2);
> --      if (write(s2, "HELLO", 5) == -1)
> --	kill(getppid(), 3);
> --      exit(0);
> --    }
> --  l = sizeof(a);
> --  close(0);
> --  if (accept(s1, &a, &l))
> --    exit(1);
> --  FD_SET(0, &f);
> --  if (select(1, &f, 0, 0, 0) == -1)
> --    exit(1);
> --  exit(0);
> --}
> --], AC_NOTE(- your sockets are usable) sock=1,
> --AC_NOTE(- your sockets are not usable))
> --rm -f /tmp/conftest*
> --
> --if test -n "$sock"; then
> --AC_CHECKING(socket implementation)
> --AC_TRY_RUN([
> --/* For select - According to POSIX 1003.1-2001 */
> --#include <sys/select.h>
> --
> --/* For select - According to earlier standards */
> --#include <sys/time.h>
> --#include <sys/types.h>
> --#include <unistd.h>
> --
> --#include <sys/stat.h>
> --#include <sys/socket.h>
> --#include <sys/un.h>
> --
> --char *son = "/tmp/conftest$$";
> --
> --main()
> --{
> --  int s;
> --  struct stat stb;
> --  struct sockaddr_un a;
> --  if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
> --    exit(0);
> --  a.sun_family = AF_UNIX;
> --  strcpy(a.sun_path, son);
> --  (void) unlink(son);
> --  if (bind(s, (struct sockaddr *) &a, strlen(son)+2) == -1)
> --    exit(0);
> --  if (stat(son, &stb))
> --    exit(1);
> --  close(s);
> --  exit(0);
> --}
> --],AC_NOTE(- you are normal),
> --AC_NOTE(- unix domain sockets are not kept in the filesystem)
> --AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1)
> --rm -f /tmp/conftest*
> --fi
> --
> --
> --dnl
> --dnl    ****  choose sockets or fifos  ****
> --dnl
> --if test -n "$fifo"; then
> --  if test -n "$sock"; then
> --    if test -n "$nore"; then
> --      AC_NOTE(- hmmm... better take the fifos)
> --      AC_DEFINE(NAMEDPIPE)
> --    elif test -n "$fifobr"; then
> --      AC_NOTE(- as your fifos are broken lets use the sockets.)
> --    else
> --      AC_NOTE(- both sockets and fifos usable. let's take sockets.)
> --    fi
> --  else
> --    AC_NOTE(- using named pipes, of course)
> --    AC_DEFINE(NAMEDPIPE)
> --  fi
> --elif test -n "$sock"; then
> --  AC_NOTE(- using unix-domain sockets, of course)
> --else
> --  AC_MSG_ERROR(you have neither usable sockets nor usable pipes -> no screen)
> --fi
> --
> --dnl
> --dnl    ****  check the select implementation ****
> --dnl
> --
> --AC_CHECKING(select return value)
> --AC_TRY_RUN([
> --/* For select - According to POSIX 1003.1-2001 */
> --#include <sys/select.h>
> --
> --/* For select - According to earlier standards */
> --#include <sys/time.h>
> --#include <sys/types.h>
> --#include <unistd.h>
> --
> --#include <sys/stat.h>
> --#include <fcntl.h>
> --
> --char *nam = "/tmp/conftest$$";
> --
> --#ifdef NAMEDPIPE
> --
> --#ifndef O_NONBLOCK
> --#define O_NONBLOCK O_NDELAY
> --#endif
> --#ifndef S_IFIFO
> --#define S_IFIFO 0010000
> --#endif
> --
> --
> --main()
> --{
> --  fd_set f;
> --
> --#ifdef __FreeBSD__
> --/* From Andrew A. Chernov (ache@astral.msk.su):
> -- * opening RDWR fifo fails in BSD 4.4, but select return values are
> -- * right.
> -- */
> --  exit(0);
> --#endif
> --  (void)alarm(5);
> --#ifdef POSIX
> --  if (mkfifo(nam, 0777))
> --#else
> --  if (mknod(nam, S_IFIFO|0777, 0))
> --#endif
> --    exit(1);
> --  close(0);
> --  if (open(nam, O_RDWR | O_NONBLOCK))
> --    exit(1);
> --  if (write(0, "TEST", 4) == -1)
> --    exit(1);
> --
> --#else
> --
> --#include <sys/types.h>
> --#include <sys/socket.h>
> --#include <sys/un.h>
> --
> --main()
> --{
> --  int s1, s2, l;
> --  struct sockaddr_un a;
> --  fd_set f;
> --
> --  (void)alarm(5);
> --  if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
> --    exit(1);
> --  a.sun_family = AF_UNIX;
> --  strcpy(a.sun_path, nam);
> --  (void) unlink(nam);
> --  if (bind(s1, (struct sockaddr *) &a, strlen(nam)+2) == -1)
> --    exit(1);
> --  if (listen(s1, 2))
> --    exit(1);
> --  if (fork() == 0)
> --    {
> --      if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
> --	kill(getppid(), 3);
> --      (void)connect(s2, (struct sockaddr *)&a, strlen(nam) + 2);
> --      if (write(s2, "HELLO", 5) == -1)
> --	kill(getppid(), 3);
> --      exit(0);
> --    }
> --  l = sizeof(a);
> --  close(0);
> --  if (accept(s1, (struct sockaddr *)&a, &l))
> --    exit(1);
> --#endif
> --
> --
> --  FD_SET(0, &f);
> --  if (select(1, &f, 0, 0, 0) == -1)
> --    exit(1);
> --  if (select(1, &f, &f, 0, 0) != 2)
> --    exit(1);
> --  exit(0);
> --}
> --],AC_NOTE(- select is ok),
> --AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN))
> - 
> - dnl
> - dnl    ****  termcap or terminfo  ****
> -@@ -678,12 +306,8 @@ AC_CHECKING(libtinfo)
> - AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
> - AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
> - 
> --AC_TRY_RUN([
> --main()
> --{
> -- exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
> --}], AC_NOTE(- you use the termcap database),
> --AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO))
> -+AC_DEFINE(TERMINFO))
> -+
> - AC_CHECKING(ospeed)
> - AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
> - 
> -@@ -734,95 +358,6 @@ AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
> - AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
> - fi
> - 
> --dnl    ****  pty mode/group handling ****
> --dnl
> --dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
> --AC_ARG_WITH(pty-mode, [  --with-pty-mode=mode    default mode for ptys], [ ptymode="${withval}" ])
> --AC_ARG_WITH(pty-group, [  --with-pty-group=group  default group for ptys], [ ptygrp="${withval}" ])
> --test -n "$ptymode" || ptymode=0620
> --if test -n "$ptygrp" ; then
> --AC_DEFINE_UNQUOTED(PTYMODE, $ptymode)
> --AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
> --else
> --
> --AC_CHECKING(default tty permissions/group)
> --rm -f conftest_grp
> --AC_TRY_RUN([
> --#include <sys/types.h>
> --#include <sys/stat.h>
> --#include <stdio.h>
> --main()
> --{
> --  struct stat sb;
> --  char *x,*ttyname();
> --  int om, m;
> --  FILE *fp;
> --
> --  if (!(x = ttyname(0))) exit(1);
> --  if (stat(x, &sb)) exit(1);
> --  om = sb.st_mode;
> --  if (om & 002) exit(0);
> --  m = system("mesg y");
> --  if (m == -1 || m == 127) exit(1);
> --  if (stat(x, &sb)) exit(1);
> --  m = sb.st_mode;
> --  if (chmod(x, om)) exit(1);
> --  if (m & 002) exit(0);
> --  if (sb.st_gid == getgid()) exit(1);
> --  if (!(fp=fopen("conftest_grp", "w")))
> --    exit(1);
> --  fprintf(fp, "%d\n", sb.st_gid);
> --  fclose(fp);
> --  exit(0);
> --}
> --],[
> --    if test -f conftest_grp; then
> --	ptygrp=`cat conftest_grp`
> --	AC_NOTE([- pty mode: $ptymode, group: $ptygrp])
> --	AC_DEFINE_UNQUOTED(PTYMODE, $ptymode)
> --	AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
> --    else
> --	AC_NOTE(- ptys are world accessable)
> --    fi
> --],[
> --    WRITEPATH=''
> --    XTERMPATH=''
> --    AC_PATH_PROG(WRITEPATH, write)
> --    AC_PATH_PROG(XTERMPATH, xterm)
> --    found=
> --    if test -n "$WRITEPATH$XTERMPATH"; then
> --      findfollow=
> --      lsfollow=
> --      found=`find $WRITEPATH $XTERMPATH -follow -print 2>/dev/null`
> --      if test -n "$found"; then
> --	findfollow=-follow
> --	lsfollow=L
> --      fi
> --      if test -n "$XTERMPATH"; then
> --	ptygrpn=`ls -l$lsfollow $XTERMPATH | sed -n -e 1p | $AWK '{print $4}'`
> --	if test tty != "$ptygrpn"; then
> --	  XTERMPATH=
> --	fi
> --      fi
> --    fi
> --    if test -n "$WRITEPATH$XTERMPATH"; then
> --      found=`find $WRITEPATH $XTERMPATH $findfollow -perm -2000 -print` 
> --      if test -n "$found"; then
> --	ptygrp=`ls -ln$lsfollow $found | sed -n -e 1p | $AWK '{print $4}'`
> --	AC_NOTE([- pty mode: $ptymode, group: $ptygrp])
> --	AC_DEFINE_UNQUOTED(PTYMODE, $ptymode)
> --	AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
> --      else
> --	AC_NOTE(- ptys are world accessable)
> --      fi
> --    else
> --      AC_NOTE(- can't determine - assume ptys are world accessable)
> --    fi
> --  ]
> --)
> --rm -f conftest_grp
> --fi
> --
> - dnl
> - dnl    ****  utmp handling  ****
> - dnl
> -@@ -895,101 +430,6 @@ AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
> - fi
> - )
> - 
> --if test -z "$load" ; then
> --AC_EGREP_CPP(yes,
> --[#if defined(NeXT) || defined(apollo) || defined(linux)
> --  yes;
> --#endif
> --], load=1)
> --fi
> --if test -z "$load" ; then
> --AC_CHECKING(for kernelfile)
> --for core in /unix /vmunix /dynix /hp-ux /xelos /dev/ksyms /kernel/unix /kernel/genunix /unicos /mach /netbsd /386bsd /dgux /bsd /stand/vmunix; do
> --  if test -f $core || test -c $core; then
> --    break
> --  fi
> --done
> --if test ! -f $core && test ! -c $core ; then
> --  AC_NOTE(- no kernelfile found)
> --else
> --  AC_NOTE(- using kernelfile '$core')
> --  if test -r $core ; then
> --  AC_DEFINE_UNQUOTED(LOADAV_UNIX,"$core")
> --  AC_CHECK_HEADER(nlist.h,
> --    [AC_DEFINE(NLIST_STRUCT)
> --     AC_CHECKING(n_un in struct nlist)
> --     AC_TRY_COMPILE([#include <nlist.h>],
> --       [struct nlist n; n.n_un.n_name = 0;],
> --        AC_DEFINE(NLIST_NAME_UNION))])
> --
> --  AC_CHECKING(for nlist declaration)
> --  AC_EGREP_CPP([nlist(( |	)( |	)*.*\(|\()],[
> --#ifdef NLIST_STRUCT
> --# include <nlist.h>
> --#else
> --# include <a.out.h>
> --#endif
> --],AC_DEFINE(NLIST_DECLARED))
> --
> --  AC_CHECKING(for avenrun symbol)
> --  nlist64=
> --  for av in avenrun _avenrun _Loadavg avenrun _avenrun _Loadavg; do
> --  AC_TRY_RUN([
> --#include <sys/types.h>
> --#ifdef NLIST_STRUCT
> --#include <nlist.h>
> --#else
> --#include <a.out.h>
> --#endif
> --
> --$nlist64
> --
> --struct nlist nl[2];
> --
> --main()
> --{
> --#if !defined(_AUX_SOURCE) && !defined(AUX)
> --# ifdef NLIST_NAME_UNION
> --  nl[0].n_un.n_name = "$av";
> --# else
> --  nl[0].n_name = "$av";
> --# endif
> --#else
> --  strncpy(nl[0].n_name, "$av", sizeof(nl[0].n_name));
> --#endif
> --  nlist(LOADAV_UNIX, nl);
> --  if (nl[0].n_value == 0)
> --    exit(1);
> --  exit(0);
> --}
> --  ],avensym=$av;break)
> --  if test "$av" = _Loadavg; then
> --    nlist64='#define nlist nlist64'
> --  fi
> --  done
> --  if test -z "$avensym" ; then
> --    AC_NOTE(- no avenrun symbol found)
> --  else
> --    AC_NOTE(- using avenrun symbol '$avensym')
> --    AC_DEFINE_UNQUOTED(LOADAV_AVENRUN,"$avensym")
> --    if test -n "$nlist64"; then
> --      AC_NOTE(- used nlist64 to find it)
> --      AC_DEFINE(LOADAV_USE_NLIST64)
> --    fi
> --    load=1
> --  fi
> --  else
> --    AC_NOTE(  Can't configure the load average display feature)
> --    AC_NOTE(  because $core is not readable by you.)
> --    AC_NOTE(  To configure the load average display feature,)
> --    AC_NOTE(  re-run configure as root if possible.)
> --    AC_NOTE(  If you are not the system administrator then disregard)
> --    AC_NOTE(  this warning.  You can still use screen without)
> --    AC_NOTE(  the load average display feature.)
> --  fi
> --fi
> --fi
> --
> - AC_PROGRAM_SOURCE([
> - #include <sys/types.h>
> - #include <sys/param.h>
> -@@ -1061,41 +501,8 @@ sigset(0, (void (*)())0);
> - sigset(0, (int (*)())0);
> - #endif
> - ], AC_DEFINE(USESIGSET))
> --AC_CHECKING(signal implementation)
> --AC_TRY_RUN([
> --#include <sys/types.h>
> --#include <signal.h>
> --
> --#ifndef SIGCLD
> --#define SIGCLD SIGCHLD
> --#endif
> --#ifdef USESIGSET
> --#define signal sigset
> --#endif
> --
> --int got;
> - 
> --#ifdef SIGVOID
> --void
> --#endif
> --hand()
> --{
> --  got++;
> --}
> --
> --main()
> --{
> --  /* on hpux we use sigvec to get bsd signals */
> --#ifdef __hpux
> --  (void)signal(SIGCLD, hand);
> --  kill(getpid(), SIGCLD);
> --  kill(getpid(), SIGCLD);
> --  if (got < 2)
> --    exit(1);
> --#endif
> --  exit(0);
> --}
> --],,AC_DEFINE(SYSVSIGS))
> -+AC_DEFINE(SYSVSIGS)
> - 
> - fi
> - 
> -@@ -1163,50 +570,12 @@ AC_CHECKING(fdwalk)
> - AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
> - 
> - AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
> --AC_TRY_RUN([
> --main() {
> --  char buf[10];
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf, buf + 2, 3);
> --  if (strncmp(buf, "ababcf", 6))
> --    exit(1);
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf + 2, buf, 3);
> --  if (strncmp(buf, "cdedef", 6))
> --    exit(1);
> --  exit(0); /* libc version works properly.  */
> --}], AC_DEFINE(USEBCOPY))
> --
> --AC_TRY_RUN([
> --#define bcopy(s,d,l) memmove(d,s,l)
> --main() {
> --  char buf[10];
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf, buf + 2, 3);
> --  if (strncmp(buf, "ababcf", 6))
> --    exit(1);
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf + 2, buf, 3);
> --  if (strncmp(buf, "cdedef", 6))
> --    exit(1);
> --  exit(0); /* libc version works properly.  */
> --}], AC_DEFINE(USEMEMMOVE))
> --
> --
> --AC_TRY_RUN([
> --#define bcopy(s,d,l) memcpy(d,s,l)
> --main() {
> --  char buf[10];
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf, buf + 2, 3);
> --  if (strncmp(buf, "ababcf", 6))
> --    exit(1);
> --  strcpy(buf, "abcdefghi");
> --  bcopy(buf + 2, buf, 3);
> --  if (strncmp(buf, "cdedef", 6))
> --    exit(1);
> --  exit(0); /* libc version works properly.  */
> --}], AC_DEFINE(USEMEMCPY))
> -+AC_DEFINE(USEBCOPY)
> -+
> -+AC_DEFINE(USEMEMMOVE)
> -+
> -+
> -+AC_DEFINE(USEMEMCPY)
> - 
> - AC_SYS_LONG_FILE_NAMES
> - 
> -@@ -1292,8 +661,6 @@ fi
> - dnl Ptx bug workaround -- insert -lc after -ltermcap
> - test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq"
> - 
> --AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.))
> --
> - ETCSCREENRC=
> - AC_MSG_CHECKING(for the global screenrc file)
> - AC_ARG_WITH(sys-screenrc, [  --with-sys-screenrc=path to the global screenrc file], [ ETCSCREENRC="${withval}" ])
> diff --git a/patches/screen-4.5.0/0003-autoconf-cleanup.patch b/patches/screen-4.5.0/0003-autoconf-cleanup.patch
> deleted file mode 100644
> index fda6c9423990..000000000000
> --- a/patches/screen-4.5.0/0003-autoconf-cleanup.patch
> +++ /dev/null
> @@ -1,397 +0,0 @@
> -From: Michael Olbrich <m.olbrich@pengutronix.de>
> -Date: Sun, 27 Mar 2011 15:23:55 +0200
> -Subject: [PATCH] autoconf cleanup
> -
> -update to latest autoconf syntax
> -
> -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> -[osterlad: update locations for version 4.5.0]
> -Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ----
> - configure.ac | 116 +++++++++++++++++++++++++++++------------------------------
> - 1 file changed, 58 insertions(+), 58 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 155b34c7ecce..b87a9a44eb20 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -77,7 +77,7 @@ AC_ARG_ENABLE(socket-dir,
> - 	  esac
> -         ])
> - 	AC_MSG_RESULT(${SOCKDIR})
> --	AC_DEFINE_UNQUOTED(SOCKDIR, $SOCKDIR)
> -+	AC_DEFINE_UNQUOTED(SOCKDIR, $SOCKDIR,[SOCKDIR])
> -     ]
> - )
> - 
> -@@ -86,18 +86,18 @@ dnl
> - dnl    ****  special unix variants  ****
> - dnl
> - if test -n "$ISC"; then
> --  AC_DEFINE(ISC) LIBS="$LIBS -linet"
> -+  AC_DEFINE([ISC],[1],[ISC]) LIBS="$LIBS -linet"
> - fi
> - 
> - dnl AC_CHECKING(for OSF1)
> - dnl if test -f /bin/uname ; then
> - dnl if test `/bin/uname` = OSF1 || test -f /osf_boot; then
> --dnl AC_DEFINE(OSF1)	# this disables MIPS again....
> -+dnl AC_DEFINE([OSF1],[1],[OSF1])	# this disables MIPS again....
> - dnl fi
> - dnl fi
> - 
> - if test -f /sysV68 ; then
> --AC_DEFINE(sysV68)
> -+AC_DEFINE([sysV68],[1],[sysV68])
> - fi
> - 
> - AC_CHECKING(for MIPS)
> -@@ -110,7 +110,7 @@ AC_TRY_LINK(,,,LIBS="$oldlibs")
> - dnl
> - dnl
> - if test -r /dev/ptc; then
> --AC_DEFINE(MIPS)
> -+AC_DEFINE([MIPS],[1],[MIPS])
> - AC_CHECKING(wait3)
> - AC_TRY_LINK(,[wait3();], ,
> - AC_CHECKING(wait2)
> -@@ -119,7 +119,7 @@ dnl John Rouillard (rouilj@sni-usa.com):
> - dnl need -I/usr/include/bsd in RISCOS otherwise sockets are broken, no
> - dnl job control etc.
> - dnl Detect RISCOS if wait2 is present, but not wait3.
> --AC_DEFINE(USE_WAIT2) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd"
> -+AC_DEFINE([USE_WAIT2],[1],[USE_WAIT2]) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd"
> - ))
> - fi
> - fi
> -@@ -136,7 +136,7 @@ if test -f /usr/lib/libpyr.a ; then
> - oldlibs="$LIBS"
> - LIBS="$LIBS -lpyr"
> - AC_CHECKING(Pyramid OSX)
> --AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE(OSX), LIBS="$oldlibs")
> -+AC_TRY_LINK(,[open_controlling_pty("")], AC_DEFINE([OSX],[1],[OSX]), LIBS="$oldlibs")
> - fi
> - 
> - dnl ghazi@caip.rutgers.edu (Kaveh R. Ghazi):
> -@@ -161,14 +161,14 @@ main () {
> - #ifdef _POSIX_VERSION
> -   yes;
> - #endif
> --], AC_NOTE(- you have a POSIX system) AC_DEFINE(POSIX) posix=1)
> -+], AC_NOTE(- you have a POSIX system) AC_DEFINE([POSIX],[1],[POSIX]) posix=1)
> - fi
> - 
> - AC_CHECKING(for System V)
> - AC_TRY_COMPILE(
> - [#include <sys/types.h>
> - #include <signal.h>
> --#include <fcntl.h>], [int x = SIGCHLD | FNDELAY;], , AC_DEFINE(SYSV))
> -+#include <fcntl.h>], [int x = SIGCHLD | FNDELAY;], , AC_DEFINE([SYSV],[1],[SYSV]))
> - 
> - AC_CHECKING(for sequent/ptx)
> - AC_EGREP_CPP(yes,
> -@@ -193,16 +193,16 @@ dnl (currently not used)
> - dnl
> - dnl AC_CHECKING(for pid_t)
> - dnl AC_EGREP_CPP(pid_t,[#include <sys/types.h>
> --dnl ],AC_DEFINE(PID_T_DEFINED))
> -+dnl ],AC_DEFINE([PID_T_DEFINED],[1],[PID_T_DEFINED]))
> - dnl
> - dnl AC_CHECKING(for sig_t)
> - dnl AC_EGREP_CPP(sig_t,[#include <sys/types.h>
> - dnl #include <signal.h>
> --dnl ],AC_DEFINE(SIG_T_DEFINED))
> -+dnl ],AC_DEFINE([SIG_T_DEFINED],[1],[SIG_T_DEFINED]))
> - dnl
> - dnl AC_CHECKING(for uid_t)
> - dnl AC_EGREP_CPP(uid_t,[#include <sys/types.h>
> --dnl ],AC_DEFINE(UID_T_DEFINED))
> -+dnl ],AC_DEFINE([UID_T_DEFINED],[1],[UID_T_DEFINED]))
> - dnl
> - 
> - dnl
> -@@ -224,7 +224,7 @@ setpgrp();
> - int y = TIOCNOTTY;
> - #endif
> - #endif
> --], AC_NOTE(- you have jobcontrol) AC_DEFINE(BSDJOBS), AC_NOTE(- you don't have jobcontrol))
> -+], AC_NOTE(- you have jobcontrol) AC_DEFINE([BSDJOBS],[1],[BSDJOBS]), AC_NOTE(- you don't have jobcontrol))
> - 
> - dnl
> - dnl    ****  setresuid(), setreuid(), seteuid()  ****
> -@@ -236,7 +236,7 @@ setresuid(0, 0, 0);
> - AC_CHECKING(setreuid)
> - AC_TRY_LINK(,[
> - setreuid(0, 0);
> --], AC_DEFINE(HAVE_SETREUID))
> -+], AC_DEFINE(HAVE_SETREUID,[1],[HAVE_SETREUID]))
> - dnl
> - dnl seteuid() check:
> - dnl   linux seteuid was broken before V1.1.11
> -@@ -250,7 +250,7 @@ seteuid_is_broken(0);
> - #else
> - seteuid(0);
> - #endif
> --], AC_DEFINE(HAVE_SETEUID))
> -+], AC_DEFINE([HAVE_SETEUID],[1],[HAVE_SETEUID]))
> - 
> - dnl execvpe
> - AC_CHECKING(execvpe)
> -@@ -306,23 +306,23 @@ AC_CHECKING(libtinfo)
> - AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
> - AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
> - 
> --AC_DEFINE(TERMINFO))
> -+AC_DEFINE([TERMINFO],[1],[TERMINFO])
> - 
> - AC_CHECKING(ospeed)
> --AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
> -+AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE([NEED_OSPEED],[1],[NEED_OSPEED]))
> - 
> - dnl
> - dnl    ****  PTY specific things  ****
> - dnl
> - AC_CHECKING(for /dev/ptc)
> - if test -r /dev/ptc; then
> --AC_DEFINE(HAVE_DEV_PTC)
> -+AC_DEFINE([HAVE_DEV_PTC],[1],[HAVE_DEV_PTC])
> - fi
> - 
> - AC_CHECKING(for SVR4 ptys)
> - sysvr4ptys=
> - if test -c /dev/ptmx ; then
> --AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
> -+AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE([HAVE_SVR4_PTYS],[1],[HAVE_SVR4_PTYS])
> - sysvr4ptys=1])
> - fi
> - 
> -@@ -331,7 +331,7 @@ AC_CHECK_FUNCS(getpt)
> - dnl check for openpty()
> - if test -z "$sysvr4ptys"; then
> - AC_CHECK_FUNCS(openpty,,
> --[AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY)] [LIBS="$LIBS -lutil"])])
> -+[AC_CHECK_LIB(util,openpty, [AC_DEFINE([HAVE_OPENPTY],[1],[HAVE_OPENPTY])] [LIBS="$LIBS -lutil"])])
> - fi
> - 
> - AC_CHECKING(for ptyranges)
> -@@ -354,8 +354,8 @@ dnl fi
> - if test "$ptys" != "$pdir/pty??" ; then
> - p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
> - p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g'  | sort -u | tr -d '\012'`
> --AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
> --AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
> -+AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0",[PTYRANGE0])
> -+AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1",[PTYRANGE1])
> - fi
> - 
> - dnl
> -@@ -375,7 +375,7 @@ AC_TRY_LINK([
> - #define pututline _pututline
> - #endif
> - ],
> --[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT),
> -+[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE([GETUTENT],[1],[GETUTENT]),
> - olibs="$LIBS"
> - LIBS="$LIBS -lgen"
> - AC_CHECKING(getutent with -lgen)
> -@@ -392,7 +392,7 @@ AC_TRY_LINK([
> - #define pututline _pututline
> - #endif
> - ],
> --[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT), LIBS="$olibs")
> -+[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE([GETUTENT],[1],[GETUTENT]), LIBS="$olibs")
> - )
> - AC_CHECKING(ut_host)
> - AC_TRY_COMPILE([
> -@@ -404,10 +404,10 @@ AC_TRY_COMPILE([
> - #else
> - #include <utmp.h>
> - #endif
> --],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
> -+],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE([UTHOST],[1],[UTHOST]))
> - AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
> - if test "$have_utempter" = yes; then
> --  AC_DEFINE(HAVE_UTEMPTER)
> -+  AC_DEFINE([HAVE_UTEMPTER],[1],[HAVE_UTEMPTER])
> -   LIBS="$LIBS -lutempter"
> - fi
> - 
> -@@ -420,13 +420,13 @@ test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
> - 
> - AC_CHECKING(getloadavg)
> - AC_TRY_LINK(,[getloadavg((double *)0, 0);],
> --AC_DEFINE(LOADAV_GETLOADAVG) load=1,
> -+AC_DEFINE([LOADAV_GETLOADAVG],[1],[LOADAV_GETLOADAVG]) load=1,
> - if test -f /usr/lib/libkvm.a ; then
> - olibs="$LIBS"
> - LIBS="$LIBS -lkvm"
> - AC_CHECKING(getloadavg with -lkvm)
> - AC_TRY_LINK(,[getloadavg((double *)0, 0);],
> --AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
> -+AC_DEFINE([LOADAV_GETLOADAVG],[1],[LOADAV_GETLOADAVG]) load=1, LIBS="$olibs")
> - fi
> - )
> - 
> -@@ -466,10 +466,10 @@ loadnum=3
> - #endif
> - ])
> - 
> --if test -n "$load" ; then AC_DEFINE(LOADAV) fi
> --if test -n "$loadtype" ; then AC_DEFINE_UNQUOTED(LOADAV_TYPE,$loadtype) fi
> --if test -n "$loadnum" ; then AC_DEFINE_UNQUOTED(LOADAV_NUM,$loadnum) fi
> --if test -n "$loadscale" ; then AC_DEFINE_UNQUOTED(LOADAV_SCALE,$loadscale) fi
> -+if test -n "$load" ; then AC_DEFINE([LOADAV],[1],[LOADAV]) fi
> -+if test -n "$loadtype" ; then AC_DEFINE_UNQUOTED(LOADAV_TYPE,$loadtype,[LOADAV_TYPE]) fi
> -+if test -n "$loadnum" ; then AC_DEFINE_UNQUOTED(LOADAV_NUM,$loadnum,[LOADAV_NUM]) fi
> -+if test -n "$loadscale" ; then AC_DEFINE_UNQUOTED(LOADAV_SCALE,$loadscale,[LOADAV_SCALE]) fi
> - 
> - dnl
> - dnl    ****  signal handling  ****
> -@@ -478,7 +478,7 @@ if test -n "$posix" ; then
> - 
> - dnl POSIX has reliable signals with void return type.
> - AC_NOTE(assuming posix signal definition)
> --AC_DEFINE(SIGVOID)
> -+AC_DEFINE([SIGVOID],[1],[SIGVOID])
> - 
> - else
> - 
> -@@ -489,7 +489,7 @@ AC_TRY_COMPILE(
> - #ifdef signal
> - #undef signal
> - #endif
> --extern void (*signal ()) ();], [int i;], AC_DEFINE(SIGVOID))
> -+extern void (*signal ()) ();], [int i;], AC_DEFINE([SIGVOID],[1],[SIGVOID]))
> - AC_CHECKING(sigset)
> - AC_TRY_LINK([
> - #include <sys/types.h>
> -@@ -500,9 +500,9 @@ sigset(0, (void (*)())0);
> - #else
> - sigset(0, (int (*)())0);
> - #endif
> --], AC_DEFINE(USESIGSET))
> -+], AC_DEFINE([USESIGSET],[1],[USESIGSET]))
> - 
> --AC_DEFINE(SYSVSIGS)
> -+AC_DEFINE([SYSVSIGS],[1],[SYSVSIGS])
> - 
> - fi
> - 
> -@@ -528,7 +528,7 @@ AC_TRY_LINK(,[closelog();], , [oldlibs="$LIBS"
> - LIBS="$LIBS -lbsd"
> - AC_CHECKING(syslog in libbsd.a)
> - AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
> --AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])])
> -+AC_NOTE(- bad news: syslog missing.) AC_DEFINE([NOSYSLOG],[1],[NOSYSLOG])])])
> - 
> - AC_EGREP_CPP(yes,
> - [#ifdef M_UNIX
> -@@ -548,39 +548,39 @@ AC_TRY_COMPILE([#include <sys/types.h>
> - #ifdef WEXITSTATUS
> -   y = WEXITSTATUS(x);
> - #endif
> --],AC_DEFINE(BSDWAIT))
> -+],AC_DEFINE([BSDWAIT],[1],[BSDWAIT]))
> - 
> - if test -z "$butterfly"; then
> - AC_CHECKING(for termio or termios)
> --AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
> -+AC_TRY_CPP([#include <termio.h>], AC_DEFINE([TERMIO],[1],[TERMIO]),
> - if test -n "$posix"; then
> --AC_TRY_CPP([#include <termios.h>], AC_DEFINE(TERMIO))
> -+AC_TRY_CPP([#include <termios.h>], AC_DEFINE([TERMIO],[1],[TERMIO]))
> - fi
> - )
> - fi
> - 
> --dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
> -+dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE([SHADOWPW],[1],[SHADOWPW]))
> - AC_CHECKING(getspnam)
> --AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
> -+AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE([SHADOWPW],[1],[SHADOWPW]))
> - 
> - AC_CHECKING(getttyent)
> --AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
> -+AC_TRY_LINK(,[getttyent();], AC_DEFINE([GETTTYENT],[1],[GETTTYENT]))
> - 
> - AC_CHECKING(fdwalk)
> --AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
> -+AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE([HAVE_FDWALK],[1],[HAVE_FDWALK]))
> - 
> - AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
> --AC_DEFINE(USEBCOPY)
> -+AC_DEFINE([USEBCOPY],[1],[USEBCOPY])
> - 
> --AC_DEFINE(USEMEMMOVE)
> -+AC_DEFINE([USEMEMMOVE],[1],[USEMEMMOVE])
> - 
> - 
> --AC_DEFINE(USEMEMCPY)
> -+AC_DEFINE([USEMEMCPY],[1],[USEMEMCPY])
> - 
> - AC_SYS_LONG_FILE_NAMES
> - 
> - AC_MSG_CHECKING(for vsprintf)
> --AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
> -+AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE([USEVARARGS],[1],[USEVARARGS]), AC_MSG_RESULT(no))
> - 
> - AC_HEADER_DIRENT
> - 
> -@@ -600,21 +600,21 @@ if test -z "$ac_setenv_args"; then
> -     ], ac_setenv_args=2)
> - fi
> - if test -n "$ac_setenv_args"; then
> --    AC_DEFINE(USESETENV)
> -+    AC_DEFINE([USESETENV],[1],[USESETENV])
> -     if test "$ac_setenv_args" = 3; then
> --        AC_DEFINE(HAVE_SETENV_3)
> -+        AC_DEFINE([HAVE_SETENV_3],[1],[HAVE_SETENV_3])
> -     elif test "$ac_setenv_args" = 2; then
> --        AC_DEFINE(HAVE_SETENV_2)
> -+        AC_DEFINE([HAVE_SETENV_2],[1],[HAVE_SETENV_2])
> -     fi
> - else
> -     AC_MSG_RESULT(no)
> -     AC_MSG_CHECKING(for putenv)
> --    AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) ,  AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV))
> -+    AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) ,  AC_MSG_RESULT(no);AC_DEFINE([NEEDPUTENV],[1],[NEEDPUTENV]))
> - fi
> - AC_MSG_CHECKING([for nl_langinfo(CODESET)])
> - AC_TRY_LINK([
> - #include <langinfo.h>
> --],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
> -+],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE([HAVE_NL_LANGINFO],[1],[HAVE_NL_LANGINFO]), AC_MSG_RESULT(no))
> - 
> - AC_SEARCH_LIBS(gethostname, nsl)
> - 
> -@@ -629,25 +629,25 @@ if test "$enable_pam" = "yes"; then
> - 	pam_start(0, 0, 0, 0);
> - 	pam_authenticate(0, 0);
> - 	pam_end(0,0);
> --    ], AC_MSG_RESULT(yes);AC_DEFINE(USE_PAM),
> -+    ], AC_MSG_RESULT(yes);AC_DEFINE([USE_PAM],[1],[USE_PAM]),
> -        AC_MSG_RESULT(no);LIBS="$oldlibs")
> - fi
> - 
> - AC_ARG_ENABLE(use_locale, [  --enable-use-locale         use localized month/day names])
> - if test "$enable_use_locale" = "yes"; then
> --  AC_DEFINE(USE_LOCALE)
> -+  AC_DEFINE([USE_LOCALE],[1],[USE_LOCALE])
> - fi
> - AC_ARG_ENABLE(telnet, [  --enable-telnet         enable builtin telnet])
> - if test "$enable_telnet" = "yes"; then
> --  AC_DEFINE(BUILTIN_TELNET)
> -+  AC_DEFINE([BUILTIN_TELNET],[1],[BUILTIN_TELNET])
> - fi
> - AC_ARG_ENABLE(colors256, [  --enable-colors256      enable support for 256 colors])
> - if test "$enable_colors256" = "yes"; then
> --  AC_DEFINE(COLORS256)
> -+  AC_DEFINE([COLORS256],[1],[COLORS256])
> - fi
> - AC_ARG_ENABLE(rxvt_osc, [  --enable-rxvt_osc       enable support for rxvt OSC codes])
> - if test "$enable_rxvt_osc" = "yes"; then
> --  AC_DEFINE(RXVT_OSC)
> -+  AC_DEFINE([RXVT_OSC],[1],[RXVT_OSC])
> - fi
> - 
> - dnl
> diff --git a/patches/screen-4.5.0/0004-Fix-some-typos-found-by-Lintian.patch b/patches/screen-4.5.0/0004-Fix-some-typos-found-by-Lintian.patch
> deleted file mode 100644
> index b368f44ec67f..000000000000
> --- a/patches/screen-4.5.0/0004-Fix-some-typos-found-by-Lintian.patch
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -From: Axel Beckert <abe@debian.org>
> -Date: Mon, 3 Jul 2017 10:41:19 +0200
> -Subject: [PATCH] Fix some typos found by Lintian
> -
> -Forwarded: no
> -Bug-Debian: https://bugs.debian.org/741141
> ----
> - acls.c       | 4 ++--
> - doc/screen.1 | 4 ++--
> - 2 files changed, 4 insertions(+), 4 deletions(-)
> -
> -diff --git a/acls.c b/acls.c
> -index 3b1669cf4a93..514e0fc4716d 100644
> ---- a/acls.c
> -+++ b/acls.c
> -@@ -578,7 +578,7 @@ char *name, *pw1, *pw2;
> -     }
> -   
> -   debug2("syslog(LOG_NOTICE, \"screen %s: \"su %s\" ", SockPath, name);
> --  debug2("%s for \"%s\"\n", sorry ? "failed" : "succeded", (*up)->u_name);
> -+  debug2("%s for \"%s\"\n", sorry ? "failed" : "succeeded", (*up)->u_name);
> - #ifndef NOSYSLOG
> - # ifdef BSD_42
> -   openlog("screen", LOG_PID);
> -@@ -586,7 +586,7 @@ char *name, *pw1, *pw2;
> -   openlog("screen", LOG_PID, LOG_AUTH);
> - # endif /* BSD_42 */
> -   syslog(LOG_NOTICE, "%s: \"su %s\" %s for \"%s\"", SockPath, name, 
> --         sorry ? "failed" : "succeded", (*up)->u_name);
> -+         sorry ? "failed" : "succeeded", (*up)->u_name);
> -   closelog();
> - #else
> -   debug("NOT LOGGED.\n");
> -diff --git a/doc/screen.1 b/doc/screen.1
> -index 23b4d7b1202a..0fe8d0e533c2 100644
> ---- a/doc/screen.1
> -+++ b/doc/screen.1
> -@@ -1356,8 +1356,8 @@ non-whitespace character on the line.
> - \fBB\fP, \fBE\fP move the cursor WORD by WORD (as in vi).
> - .br 
> - .ti -2n
> --.\"\fBf\fP,\fBt\fP, \fBF\fP, \fBT\fP move the cursor forward/backward to the next occurence of the target.
> --\fBf/F\fP, \fBt/T\fP move the cursor forward/backward to the next occurence of the target. (eg, '3fy' will 
> -+.\"\fBf\fP,\fBt\fP, \fBF\fP, \fBT\fP move the cursor forward/backward to the next occurrence of the target.
> -+\fBf/F\fP, \fBt/T\fP move the cursor forward/backward to the next occurrence of the target. (eg, '3fy' will 
> - move the cursor to the 3rd 'y' to the right.)
> - .br
> - .ti -2n
> diff --git a/patches/screen-4.5.0/0005-show-encoding-in-hardstatus.patch b/patches/screen-4.5.0/0005-show-encoding-in-hardstatus.patch
> deleted file mode 100644
> index 123c37ccee2e..000000000000
> --- a/patches/screen-4.5.0/0005-show-encoding-in-hardstatus.patch
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -From: Yi-Jheng Lin <yzlin@cs.nctu.edu.tw>
> -Date: Mon, 3 Jul 2017 10:42:52 +0200
> -Subject: [PATCH] show encoding in hardstatus
> -
> -Origin: https://svnweb.freebsd.org/ports/head/sysutils/screen/files/opt-showencoding?view=markup
> -Reviewed-By: rascov <rascov@rascov.tw>
> -Reviewed-By: Dustin Kirkland <kirkland@ubuntu.com>
> -Last-Update: Wed Feb 11 05:51:31 CST 2009
> -Bug-FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=124492
> -Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/286810
> -Bug-Debian: https://bugs.debian.org/533498
> ----
> - process.c |  1 +
> - screen.c  | 13 +++++++++++++
> - 2 files changed, 14 insertions(+)
> -
> -diff --git a/process.c b/process.c
> -index 63c85b1a0a65..304ce0e691de 100644
> ---- a/process.c
> -+++ b/process.c
> -@@ -3783,6 +3783,7 @@ int key;
> - 	    {
> - 	      WinSwitchEncoding(fore, n);
> - 	      ResetCharsets(fore);
> -+	      RedisplayDisplays(0);
> - 	    }
> - 	  else if (i && display)
> - 	    D_encoding  = n;
> -diff --git a/screen.c b/screen.c
> -index 64650e9b2edc..7cad20626f2b 100644
> ---- a/screen.c
> -+++ b/screen.c
> -@@ -2761,6 +2761,19 @@ char *MakeWinMsgEv(char *str, struct win *win, int esc, int padlen, struct event
> -       p += strlen(p) - 1;
> -       break;
> - 
> -+      #ifdef ENCODINGS
> -+      case 'e':
> -+        *p = 0;
> -+        D_encoding = nwin_options.encoding > 0 ? nwin_options.encoding : 0;
> -+        if (win && win->w_encoding)
> -+          {
> -+            *p++ = ' ';
> -+            strcpy(p, EncodingName(win->w_encoding));
> -+          }
> -+          p += strlen(p) - 1;
> -+          break;
> -+      #endif
> -+
> -     case '{':
> -     {
> -       char rbuf[128];
> diff --git a/patches/screen-4.5.0/0006-Unbreak-several-useful-keybindings.patch b/patches/screen-4.5.0/0006-Unbreak-several-useful-keybindings.patch
> deleted file mode 100644
> index 830f2a78da38..000000000000
> --- a/patches/screen-4.5.0/0006-Unbreak-several-useful-keybindings.patch
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -From: Loic Minier <lool@dooz.org>
> -Date: Mon, 3 Jul 2017 10:44:57 +0200
> -Subject: [PATCH] Unbreak several useful keybindings.
> -
> -Bugs-Debian: https://bugs.debian.org/484647
> ----
> - termcap.c | 2 --
> - 1 file changed, 2 deletions(-)
> -
> -diff --git a/termcap.c b/termcap.c
> -index ae89d175bc2c..57ed43a6d096 100644
> ---- a/termcap.c
> -+++ b/termcap.c
> -@@ -552,8 +552,6 @@ int map;
> -       else
> - 	break;
> -     }
> --  if (n < KMAP_KEYS)
> --    domap = 1;
> -   if (map == 0 && domap)
> -     return 0;
> -   if (map && !domap)
> diff --git a/patches/screen-4.5.0/0007-Fix-privilege-escalation-by-reverting-upstream-commi.patch b/patches/screen-4.5.0/0007-Fix-privilege-escalation-by-reverting-upstream-commi.patch
> deleted file mode 100644
> index 134934f3dfb0..000000000000
> --- a/patches/screen-4.5.0/0007-Fix-privilege-escalation-by-reverting-upstream-commi.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -From: Axel Beckert <abe@debian.org>
> -Date: Mon, 3 Jul 2017 10:46:08 +0200
> -Subject: [PATCH] Fix privilege escalation by reverting upstream commit
> - 5460f5d2
> -
> -Bug-Debian: https://bugs.debian.org/852484
> -Bug-CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618
> -Bug: https://savannah.gnu.org/bugs/?50142
> -     https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
> ----
> - screen.c | 6 ------
> - 1 file changed, 6 deletions(-)
> -
> -diff --git a/screen.c b/screen.c
> -index 7cad20626f2b..e60d0a712fb5 100644
> ---- a/screen.c
> -+++ b/screen.c
> -@@ -673,12 +673,6 @@ int main(int ac, char** av)
> -                 Panic(0, "-L: logfile name can not start with \"-\" symbol");
> -               if (strlen(screenlogfile) > PATH_MAX)
> -                 Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
> --
> --              FILE *w_check;
> --              if ((w_check = fopen(screenlogfile, "w")) == NULL)
> --                Panic(0, "-L: logfile name access problem");
> --              else
> --                fclose(w_check);
> -             }
> -             nwin_options.Lflag = 1;
> -             break;
> diff --git a/patches/screen-4.5.0/0008-Fix-terminal-garbage-in-Debian-Installer-over-serial.patch b/patches/screen-4.5.0/0008-Fix-terminal-garbage-in-Debian-Installer-over-serial.patch
> deleted file mode 100644
> index a174ea10c6e8..000000000000
> --- a/patches/screen-4.5.0/0008-Fix-terminal-garbage-in-Debian-Installer-over-serial.patch
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -From: Samuel Thibault <sthibault@debian.org>
> -Date: Mon, 3 Jul 2017 10:47:14 +0200
> -Subject: [PATCH] Fix terminal garbage in Debian Installer over serial line
> -
> -Reviewed-By: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> -Bug-Debian: https://bugs.debian.org/857808
> -Bug: https://savannah.gnu.org/bugs/?50588
> ----
> - termcap.c | 2 ++
> - 1 file changed, 2 insertions(+)
> -
> -diff --git a/termcap.c b/termcap.c
> -index 57ed43a6d096..1b15e63a3192 100644
> ---- a/termcap.c
> -+++ b/termcap.c
> -@@ -486,6 +486,8 @@ int he;
> - 
> -   D_tcinited = 1;
> -   MakeTermcap(0);
> -+  /* Make sure libterm uses external term properties for our tputs() calls.  */
> -+  e_tgetent(tbuf, D_termname);
> - #ifdef MAPKEYS
> -   CheckEscape();
> - #endif
> diff --git a/patches/screen-4.5.0/0009-Ignore-logfile-s-name-that-begins-with-the-symbol.patch b/patches/screen-4.5.0/0009-Ignore-logfile-s-name-that-begins-with-the-symbol.patch
> deleted file mode 100644
> index d789f56db89f..000000000000
> --- a/patches/screen-4.5.0/0009-Ignore-logfile-s-name-that-begins-with-the-symbol.patch
> +++ /dev/null
> @@ -1,77 +0,0 @@
> -From: Alexander Naumov <alexander_naumov@opensuse.org>
> -Date: Mon, 3 Jul 2017 10:48:05 +0200
> -Subject: [PATCH] Ignore logfile's name that begins with the "-" symbol
> -
> - This fixes the API:
> - .
> - To enable logging we use -L option. But in case of
> - default logfile name (screenlog.0) we will need to
> - define it anyway. Because screen will try to interpret
> - next option as a parameter for -L option (which is
> - logfile name). It will fails ALWAYS, because next
> - parameter will always start with "-" symbol...
> - what is not permited for logfile name of course.
> - .
> - For example:
> - .
> - $ screen -L -D -m ./configure
> - .
> - In this case logfile name is screenlog.0, because "-D"
> - will not be interpreted by screen as a name of logfile.
> -Bug-Debian: https://bugs.debian.org/863095
> -Bug: https://savannah.gnu.org/bugs/?50440
> -Reviewd-By: Axel Beckert <abe@debian.org>
> ----
> - doc/screen.1       | 4 ++--
> - doc/screen.texinfo | 4 +++-
> - screen.c           | 7 +++++--
> - 3 files changed, 10 insertions(+), 5 deletions(-)
> -
> -diff --git a/doc/screen.1 b/doc/screen.1
> -index 0fe8d0e533c2..ee210346dab8 100644
> ---- a/doc/screen.1
> -+++ b/doc/screen.1
> -@@ -262,8 +262,8 @@ Ask your system administrator if you are not sure. Remove sessions with the
> - tells
> - .I screen
> - to turn on automatic output logging for the windows. By default, logfile's name
> --is screenlog.1. You can sets new name: add it right after -L option e.g. "screen
> ---L my_logfile".
> -+is screenlog.0. You can set new name: add it right after -L option e.g. "screen
> -+-L my_logfile". Keep in mind that name can not start with "-" symbol.
> - .TP 5
> - .B \-m
> - causes
> -diff --git a/doc/screen.texinfo b/doc/screen.texinfo
> -index 2ff39b08a79c..c94993edd2ed 100644
> ---- a/doc/screen.texinfo
> -+++ b/doc/screen.texinfo
> -@@ -334,7 +334,9 @@ Remove sessions with the @samp{-wipe} option.
> - 
> - @item -L
> - Tell @code{screen} to turn on automatic output logging for the
> --windows.
> -+windows. By default, logfile's name is screenlog.0. You can set new name:
> -+add it right after -L option e.g. "screen -L my_logfile". Keep in mind
> -+that name can not start with "-" symbol.
> - 
> - @item -m
> - Tell @code{screen} to ignore the @code{$STY} environment variable.  When
> -diff --git a/screen.c b/screen.c
> -index e60d0a712fb5..07f0c1387e32 100644
> ---- a/screen.c
> -+++ b/screen.c
> -@@ -669,8 +669,11 @@ int main(int ac, char** av)
> -           case 'L':
> -             if (--ac != 0) {
> -               screenlogfile = SaveStr(*++av);
> --              if (screenlogfile[0] == '-')
> --                Panic(0, "-L: logfile name can not start with \"-\" symbol");
> -+              if (screenlogfile[0] == '-') {
> -+                screenlogfile = SaveStr("screenlog.%n");
> -+                av--;
> -+                ac++;
> -+              }
> -               if (strlen(screenlogfile) > PATH_MAX)
> -                 Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
> -             }
> diff --git a/patches/screen-4.5.0/series b/patches/screen-4.5.0/series
> deleted file mode 100644
> index b2f09ec5b7a5..000000000000
> --- a/patches/screen-4.5.0/series
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -# generated by git-ptx-patches
> -#tag:base --start-number 1
> -0001-don-t-link-against-libelf.patch
> -0002-remove-configure-AC_TRY_RUN-tests.patch
> -0003-autoconf-cleanup.patch
> -0004-Fix-some-typos-found-by-Lintian.patch
> -0005-show-encoding-in-hardstatus.patch
> -0006-Unbreak-several-useful-keybindings.patch
> -0007-Fix-privilege-escalation-by-reverting-upstream-commi.patch
> -0008-Fix-terminal-garbage-in-Debian-Installer-over-serial.patch
> -0009-Ignore-logfile-s-name-that-begins-with-the-symbol.patch
> -# ccc52b9b8b2bf27ae19c5efb5999fc70  - git-ptx-patches magic
> diff --git a/patches/screen-4.8.0/0001-comm.h-now-depends-on-term.h.patch b/patches/screen-4.8.0/0001-comm.h-now-depends-on-term.h.patch
> new file mode 100644
> index 000000000000..6a6fbb867282
> --- /dev/null
> +++ b/patches/screen-4.8.0/0001-comm.h-now-depends-on-term.h.patch
> @@ -0,0 +1,24 @@
> +From: Mike Gerwitz <mike@mikegerwitz.com>
> +Date: Tue, 24 Dec 2013 22:16:31 -0500
> +Subject: [PATCH] comm.h now depends on term.h
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Patch retrieved and updated from:
> +http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c]
> +---
> + Makefile.in | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/Makefile.in b/Makefile.in
> +index 08b44d3a8cda..53a8c874fdae 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -133,7 +133,7 @@ kmapdef.c: term.h
> + tty.c:	tty.sh 
> + 	sh $(srcdir)/tty.sh tty.c
> + 
> +-comm.h: comm.c comm.sh config.h
> ++comm.h: comm.c comm.sh config.h term.h
> + 	AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh
> + 
> + osdef.h: osdef.sh config.h osdef.h.in
> diff --git a/patches/screen-4.8.0/0002-comm.h-needed-for-list_-display-generic-.o.patch b/patches/screen-4.8.0/0002-comm.h-needed-for-list_-display-generic-.o.patch
> new file mode 100644
> index 000000000000..12e551a7dd89
> --- /dev/null
> +++ b/patches/screen-4.8.0/0002-comm.h-needed-for-list_-display-generic-.o.patch
> @@ -0,0 +1,31 @@
> +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +Date: Wed, 3 Oct 2018 22:29:32 +0200
> +Subject: [PATCH] comm.h needed for list_{display,generic}.o
> +
> +comm.h is needed to build list_display.o and list_generic.o otherwise
> +parallel builds will sometimes fail
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/43105f14857dbe72d8878fc7b3db67f7bdca93cc
> + - http://autobuild.buildroot.org/results/47f4ecbec1355285633df287fc9c4e7cccde9378
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[Upstream status: https://savannah.gnu.org/bugs/index.php?54776]
> +---
> + Makefile.in | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/Makefile.in b/Makefile.in
> +index 53a8c874fdae..398539feba41 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -350,7 +350,7 @@ layout.o: layout.h viewport.h canvas.h layout.c config.h screen.h os.h osdef.h a
> + viewport.o: layout.h viewport.h canvas.h viewport.c config.h screen.h os.h osdef.h ansi.h acls.h \
> +  comm.h layer.h term.h image.h display.h window.h extern.h \
> +  braille.h
> +-list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h
> +-list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h
> ++list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h comm.h
> ++list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h comm.h
> + list_window.o: list_generic.h list_window.c window.h layer.h screen.h osdef.h comm.h
> + 
> diff --git a/patches/screen-4.8.0/0100-suppress_remap.patch b/patches/screen-4.8.0/0100-suppress_remap.patch
> new file mode 100644
> index 000000000000..7da242564975
> --- /dev/null
> +++ b/patches/screen-4.8.0/0100-suppress_remap.patch
> @@ -0,0 +1,24 @@
> +From: Michael Olbrich <m.olbrich@pengutronix.de>
> +Date: Fri, 7 Jan 2022 12:53:57 +0100
> +Subject: [PATCH] suppress_remap
> +
> +Imported from screen_4.8.0-7.debian.tar.xz
> +
> +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> +---
> + termcap.c | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/termcap.c b/termcap.c
> +index 26cba62fd7c1..ed9e838c4c9d 100644
> +--- a/termcap.c
> ++++ b/termcap.c
> +@@ -553,8 +553,6 @@ int map;
> +       else
> + 	break;
> +     }
> +-  if (n < KMAP_KEYS)
> +-    domap = 1;
> +   if (map == 0 && domap)
> +     return 0;
> +   if (map && !domap)
> diff --git a/patches/screen-4.8.0/0101-fix_screen_utf8_nfd.patch b/patches/screen-4.8.0/0101-fix_screen_utf8_nfd.patch
> new file mode 100644
> index 000000000000..54cc81f0d7a1
> --- /dev/null
> +++ b/patches/screen-4.8.0/0101-fix_screen_utf8_nfd.patch
> @@ -0,0 +1,37 @@
> +From: Michael Olbrich <m.olbrich@pengutronix.de>
> +Date: Fri, 7 Jan 2022 12:53:57 +0100
> +Subject: [PATCH] fix_screen_utf8_nfd
> +
> +Imported from screen_4.8.0-7.debian.tar.xz
> +
> +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> +---
> + ansi.c | 8 ++++----
> + 1 file changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/ansi.c b/ansi.c
> +index 2a52eddd32d4..83b266d6f777 100644
> +--- a/ansi.c
> ++++ b/ansi.c
> +@@ -692,10 +692,6 @@ register int len;
> + 		    }
> + 		  curr->w_rend.font = 0;
> + 		}
> +-#  ifdef DW_CHARS
> +-	      if (curr->w_encoding == UTF8 && utf8_isdouble(c))
> +-		curr->w_mbcs = 0xff;
> +-#  endif
> + 	      if (curr->w_encoding == UTF8 && c >= 0x0300 && utf8_iscomb(c))
> + 		{
> + 		  int ox, oy;
> +@@ -730,6 +726,10 @@ register int len;
> + 		    }
> + 		  break;
> + 		}
> ++#  ifdef DW_CHARS
> ++	      if (curr->w_encoding == UTF8 && utf8_isdouble(c))
> ++		curr->w_mbcs = 0xff;
> ++#  endif
> + 	      font = curr->w_rend.font;
> + # endif
> + # ifdef DW_CHARS
> diff --git a/patches/screen-4.8.0/0102-Expand-d_xtermosc-array-in-struct-display.patch b/patches/screen-4.8.0/0102-Expand-d_xtermosc-array-in-struct-display.patch
> new file mode 100644
> index 000000000000..8cbfc6d2fe9f
> --- /dev/null
> +++ b/patches/screen-4.8.0/0102-Expand-d_xtermosc-array-in-struct-display.patch
> @@ -0,0 +1,37 @@
> +From: =?UTF-8?q?V=C3=A1clav=20Dole=C5=BEal?= <vdolezal@redhat.com>
> +Date: Fri, 21 Feb 2020 14:02:51 +0100
> +Subject: [PATCH] Expand-d_xtermosc-array-in-struct-display
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Commit c5db181 expands index range of "typ2" by one without expanding
> +affected arrays. d_xtermosc in struct display is one of these.
> +
> +Related: c5db181b6e017cfccb8d7842ce140e59294d9f62
> +  (ansi: add support for xterm OSC 11)
> +Related: 68386dfb1fa33471372a8cd2e74686758a2f527b
> +  (Fix out of bounds access when setting w_xtermosc after OSC 49)
> +
> +Signed-off-by: Václav Doležal <vdolezal@redhat.com>
> +
> +Imported from screen_4.8.0-7.debian.tar.xz
> +
> +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> +---
> + display.h | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/display.h b/display.h
> +index 459cc5dc1543..4fc206189b4b 100644
> +--- a/display.h
> ++++ b/display.h
> +@@ -112,7 +112,7 @@ struct display
> +   int	d_mousetrack;		/* set when user wants to use mouse even when the window
> + 				   does not */
> + #ifdef RXVT_OSC
> +-  int   d_xtermosc[4];		/* osc used */
> ++  int   d_xtermosc[5];		/* osc used */
> + #endif
> +   struct mchar d_lpchar;	/* missing char */
> +   struct timeval d_status_time;	/* time of status display */
> diff --git a/patches/screen-4.8.0/0103-TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch b/patches/screen-4.8.0/0103-TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch
> new file mode 100644
> index 000000000000..1152cb522b95
> --- /dev/null
> +++ b/patches/screen-4.8.0/0103-TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch
> @@ -0,0 +1,24 @@
> +From: Michael Olbrich <m.olbrich@pengutronix.de>
> +Date: Mon, 27 Apr 2020 18:12:56 +0200
> +Subject: [PATCH] TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE
> +
> +Imported from screen_4.8.0-7.debian.tar.xz
> +
> +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> +---
> + termcap.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/termcap.c b/termcap.c
> +index ed9e838c4c9d..29684cf974f7 100644
> +--- a/termcap.c
> ++++ b/termcap.c
> +@@ -1066,7 +1066,7 @@ int aflag;
> + 	{
> + 	  if (i >= T_KEYPAD)	/* don't put keypad codes in TERMCAP */
> + 	    continue;		/* - makes it too big */
> +-#if (TERMCAP_BUF < 1024)
> ++#if (TERMCAP_BUFSIZE < 1024)
> +           if (i >= T_FEXTRA && i < T_BACKTAB) /* also skip extra vt220 keys */
> +             continue;
> +           if (i > T_BACKTAB && i < T_NAVIGATE) /* more vt220 keys */
> diff --git a/patches/screen-4.8.0/0104-CVE-2021-26937.patch b/patches/screen-4.8.0/0104-CVE-2021-26937.patch
> new file mode 100644
> index 000000000000..9f4e879afd24
> --- /dev/null
> +++ b/patches/screen-4.8.0/0104-CVE-2021-26937.patch
> @@ -0,0 +1,69 @@
> +From: Michael Olbrich <m.olbrich@pengutronix.de>
> +Date: Fri, 7 Jan 2022 12:53:57 +0100
> +Subject: [PATCH] CVE-2021-26937
> +
> +Imported from screen_4.8.0-7.debian.tar.xz
> +
> +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> +---
> + encoding.c | 15 +++++++++------
> + 1 file changed, 9 insertions(+), 6 deletions(-)
> +
> +diff --git a/encoding.c b/encoding.c
> +index e5db3e708126..79f5d14024c4 100644
> +--- a/encoding.c
> ++++ b/encoding.c
> +@@ -43,7 +43,7 @@ static int  encmatch __P((char *, char *));
> + # ifdef UTF8
> + static int   recode_char __P((int, int, int));
> + static int   recode_char_to_encoding __P((int, int));
> +-static void  comb_tofront __P((int, int));
> ++static void  comb_tofront __P((int));
> + #  ifdef DW_CHARS
> + static int   recode_char_dw __P((int, int *, int, int));
> + static int   recode_char_dw_to_encoding __P((int, int *, int));
> +@@ -1263,6 +1263,8 @@ int c;
> +     {0x30000, 0x3FFFD},
> +   };
> + 
> ++  if (c >= 0xdf00 && c <= 0xdfff)
> ++    return 1;          /* dw combining sequence */
> +   return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
> +           (cjkwidth &&
> +            bisearch(c, ambiguous,
> +@@ -1330,11 +1332,12 @@ int c;
> + }
> + 
> + static void
> +-comb_tofront(root, i)
> +-int root, i;
> ++comb_tofront(i)
> ++int i;
> + {
> +   for (;;)
> +     {
> ++      int root = i >= 0x700 ? 0x801 : 0x800;
> +       debug1("bring to front: %x\n", i);
> +       combchars[combchars[i]->prev]->next = combchars[i]->next;
> +       combchars[combchars[i]->next]->prev = combchars[i]->prev;
> +@@ -1396,9 +1399,9 @@ struct mchar *mc;
> +     {
> +       /* full, recycle old entry */
> +       if (c1 >= 0xd800 && c1 < 0xe000)
> +-        comb_tofront(root, c1 - 0xd800);
> ++        comb_tofront(c1 - 0xd800);
> +       i = combchars[root]->prev;
> +-      if (c1 == i + 0xd800)
> ++      if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
> + 	{
> + 	  /* completely full, can't recycle */
> + 	  debug("utf8_handle_comp: completely full!\n");
> +@@ -1422,7 +1425,7 @@ struct mchar *mc;
> +   mc->font  = (i >> 8) + 0xd8;
> +   mc->fontx = 0;
> +   debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
> +-  comb_tofront(root, i);
> ++  comb_tofront(i);
> + }
> + 
> + #else /* !UTF8 */
> diff --git a/patches/screen-4.5.0/autogen.sh b/patches/screen-4.8.0/autogen.sh
> similarity index 100%
> rename from patches/screen-4.5.0/autogen.sh
> rename to patches/screen-4.8.0/autogen.sh
> diff --git a/patches/screen-4.8.0/series b/patches/screen-4.8.0/series
> new file mode 100644
> index 000000000000..c9b8d7197669
> --- /dev/null
> +++ b/patches/screen-4.8.0/series
> @@ -0,0 +1,12 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +#tag:buildroot --start-number 1
> +0001-comm.h-now-depends-on-term.h.patch
> +0002-comm.h-needed-for-list_-display-generic-.o.patch
> +#tag:debian --start-number 100
> +0100-suppress_remap.patch
> +0101-fix_screen_utf8_nfd.patch
> +0102-Expand-d_xtermosc-array-in-struct-display.patch
> +0103-TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch
> +0104-CVE-2021-26937.patch
> +# d92ac31ab347a013a74ca7f4001696ec  - git-ptx-patches magic
> diff --git a/rules/screen.make b/rules/screen.make
> index 39a96dae2177..1087dfc9d8fd 100644
> --- a/rules/screen.make
> +++ b/rules/screen.make
> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SCREEN) += screen
>  #
>  # Paths and names
>  #
> -SCREEN_VERSION	:= 4.5.0
> -SCREEN_MD5	:= a32105a91359afab1a4349209a028e31
> +SCREEN_VERSION	:= 4.8.0
> +SCREEN_MD5	:= d276213d3acd10339cd37848b8c4ab1e
>  SCREEN		:= screen-$(SCREEN_VERSION)
>  SCREEN_SUFFIX	:= tar.gz
>  SCREEN_URL	:= $(call ptx/mirror, GNU, screen/$(SCREEN).$(SCREEN_SUFFIX))

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

  parent reply	other threads:[~2022-01-21  7:21 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22 13:02 [ptxdist] [PATCH] bash: Version bump. 4.3.30 (+patches-33) -> 5.1.8 (patches-12) Christian Melki
2021-12-22 13:02 ` [ptxdist] [PATCH] bridge-utils: Version bump. 1.6 -> 1.7.1 Christian Melki
2022-01-21  7:18   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] curl: Version bump 7.77.0 -> 7.80.0 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] e2fsprogs: Version bump 1.46.2 -> 1.46.4 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] ethtool: Version bump. 5.13 -> 5.15 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] expat: Version bump 2.4.1 -> 2.4.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] host-libcap: BUILD_GPERF is reserved Christian Melki
2022-01-05 12:18   ` Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] iptables: Version bump 1.8.3 -> 1.8.7 Christian Melki
2022-01-06  7:10   ` Michael Olbrich
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] jimtcl: Verison bump 0.80 -> 0.81 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libcap-ng: Version bump 0.7.10 -> 0.8.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libcap: Version bump 2.51 -> 2.62 Christian Melki
2022-01-05 12:21   ` Michael Olbrich
2022-01-05 12:32     ` Christian Melki
2022-01-05 12:46       ` Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libffi: Version bump 3.3 -> 3.4.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libjpeg: Version bump 2.1.0 -> 2.1.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libmbim: Version bump 1.24.2 -> 1.26.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libseccomp: Version bump 2.5.1 -> 2.5.3 Christian Melki
2022-01-06 10:56   ` Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] libunwind: Version bump 1.5.0 -> 1.6.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] openssh: Version bump 8.6p1 -> 8.8p1 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:02 ` [ptxdist] [PATCH] screen: Version bump 4.5.0 -> 4.8.0 Christian Melki
2022-01-06 10:55   ` Michael Olbrich
2022-01-07  9:58     ` Christian Melki
2022-01-07 11:05       ` Michael Olbrich
2022-01-21  7:19   ` Michael Olbrich [this message]
2021-12-22 13:03 ` [ptxdist] [PATCH] strace: Version bump 5.9 -> 5.15 Christian Melki
2022-01-05 12:53   ` Michael Olbrich
2021-12-22 13:03 ` [ptxdist] [PATCH] tcpdump: Version bump 4.93 -> 4.99.1 Christian Melki
2022-01-06  7:22   ` Michael Olbrich
2021-12-22 13:03 ` [ptxdist] [WIP: PATCH] usbutils: Version bump 007 -> 014 Christian Melki
2022-01-05 12:38   ` Michael Olbrich
2022-01-06 21:52     ` Christian Melki
2022-01-07  8:09       ` Michael Olbrich
2021-12-22 13:03 ` [ptxdist] [PATCH] util-linux-ng: Version bump 2.37 -> 2.37.2 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-12-22 13:03 ` [ptxdist] [PATCH] zstd: Version bump 1.5.0 -> 1.5.1 Christian Melki
2022-01-21  7:19   ` [ptxdist] [APPLIED] " Michael Olbrich
2022-01-05 13:00 ` [ptxdist] [PATCH] bash: Version bump. 4.3.30 (+patches-33) -> 5.1.8 (patches-12) Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220121071919.1967634-1-m.olbrich@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=christian.melki@t2data.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox