summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorChristian Melki <christian.melki@t2data.com>2021-12-22 14:02:59 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2022-01-07 13:21:43 +0100
commitbe57dffb0812bddcd17a4a3e178a140186c559ba (patch)
tree2709d3d62fd210f5ff470f432fbe95c63f6eca30 /patches
parente0a0712753846616a8089b2bd3e22d1700611d4e (diff)
downloadptxdist-be57dffb0812bddcd17a4a3e178a140186c559ba.tar.gz
ptxdist-be57dffb0812bddcd17a4a3e178a140186c559ba.tar.xz
screen: Version bump 4.5.0 -> 4.8.0
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>
Diffstat (limited to 'patches')
-rw-r--r--patches/screen-4.5.0/0001-don-t-link-against-libelf.patch33
-rw-r--r--patches/screen-4.5.0/0002-remove-configure-AC_TRY_RUN-tests.patch727
-rw-r--r--patches/screen-4.5.0/0003-autoconf-cleanup.patch397
-rw-r--r--patches/screen-4.5.0/0004-Fix-some-typos-found-by-Lintian.patch48
-rw-r--r--patches/screen-4.5.0/0005-show-encoding-in-hardstatus.patch52
-rw-r--r--patches/screen-4.5.0/0006-Unbreak-several-useful-keybindings.patch22
-rw-r--r--patches/screen-4.5.0/0007-Fix-privilege-escalation-by-reverting-upstream-commi.patch30
-rw-r--r--patches/screen-4.5.0/0008-Fix-terminal-garbage-in-Debian-Installer-over-serial.patch24
-rw-r--r--patches/screen-4.5.0/0009-Ignore-logfile-s-name-that-begins-with-the-symbol.patch77
-rw-r--r--patches/screen-4.5.0/series12
-rw-r--r--patches/screen-4.8.0/0001-comm.h-now-depends-on-term.h.patch24
-rw-r--r--patches/screen-4.8.0/0002-comm.h-needed-for-list_-display-generic-.o.patch31
-rw-r--r--patches/screen-4.8.0/0100-suppress_remap.patch24
-rw-r--r--patches/screen-4.8.0/0101-fix_screen_utf8_nfd.patch37
-rw-r--r--patches/screen-4.8.0/0102-Expand-d_xtermosc-array-in-struct-display.patch37
-rw-r--r--patches/screen-4.8.0/0103-TERMCAP_BUF-is-used-in-place-of-TERMCAP_BUFSIZE.patch24
-rw-r--r--patches/screen-4.8.0/0104-CVE-2021-26937.patch69
-rwxr-xr-xpatches/screen-4.8.0/autogen.sh (renamed from patches/screen-4.5.0/autogen.sh)0
-rw-r--r--patches/screen-4.8.0/series12
19 files changed, 258 insertions, 1422 deletions
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 3ca43101f..000000000
--- 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 4efbde11f..000000000
--- 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 fda6c9423..000000000
--- 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 b368f44ec..000000000
--- 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 123c37cce..000000000
--- 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 830f2a78d..000000000
--- 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 134934f3d..000000000
--- 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 a174ea10c..000000000
--- 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 d789f56db..000000000
--- 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 b2f09ec5b..000000000
--- 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 000000000..6a6fbb867
--- /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 000000000..12e551a7d
--- /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 000000000..7da242564
--- /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 000000000..54cc81f0d
--- /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 000000000..8cbfc6d2f
--- /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 000000000..1152cb522
--- /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 000000000..9f4e879af
--- /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
index 9e73c8d20..9e73c8d20 100755
--- a/patches/screen-4.5.0/autogen.sh
+++ b/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 000000000..c9b8d7197
--- /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