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
next prev 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