diff options
author | Christian Melki <christian.melki@t2data.com> | 2021-12-22 14:02:59 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2022-01-07 13:21:43 +0100 |
commit | be57dffb0812bddcd17a4a3e178a140186c559ba (patch) | |
tree | 2709d3d62fd210f5ff470f432fbe95c63f6eca30 /patches | |
parent | e0a0712753846616a8089b2bd3e22d1700611d4e (diff) | |
download | ptxdist-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')
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 |