From cf446697152c149ed31f442bbc57f72fae734aae Mon Sep 17 00:00:00 2001 From: Frank Steinborn Date: Fri, 11 Feb 2022 16:45:47 +0100 Subject: [PATCH] screen: update to 4.9.0. --- srcpkgs/screen/patches/cve-2021-26937.patch | 64 ------------------- .../patches/screen-cross_compile_fix.patch | 18 ------ srcpkgs/screen/patches/utf8_nfd.patch | 39 ----------- srcpkgs/screen/template | 11 +++- 4 files changed, 8 insertions(+), 124 deletions(-) delete mode 100644 srcpkgs/screen/patches/cve-2021-26937.patch delete mode 100644 srcpkgs/screen/patches/screen-cross_compile_fix.patch delete mode 100644 srcpkgs/screen/patches/utf8_nfd.patch diff --git a/srcpkgs/screen/patches/cve-2021-26937.patch b/srcpkgs/screen/patches/cve-2021-26937.patch deleted file mode 100644 index 8878a7968fb5..000000000000 --- a/srcpkgs/screen/patches/cve-2021-26937.patch +++ /dev/null @@ -1,64 +0,0 @@ -Description: [CVE-2021-26937] Fix out of bounds array access -Author: Michael Schröder -Bug-Debian: https://bugs.debian.org/982435 -Bug: https://savannah.gnu.org/bugs/?60030 -Bug: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00000.html -Bug-OSS-Security: https://www.openwall.com/lists/oss-security/2021/02/09/3 -Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00010.html - ---- a/encoding.c -+++ b/encoding.c -@@ -43,7 +43,7 @@ - # 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 @@ - {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 @@ - } - - 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 @@ - { - /* 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 @@ - 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/srcpkgs/screen/patches/screen-cross_compile_fix.patch b/srcpkgs/screen/patches/screen-cross_compile_fix.patch deleted file mode 100644 index 480f1f6d6e64..000000000000 --- a/srcpkgs/screen/patches/screen-cross_compile_fix.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/configure 2014-08-12 23:28:34.867815037 +0200 -+++ b/configure 2014-08-12 23:31:35.647817252 +0200 -@@ -305,6 +305,7 @@ - # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. - as_fn_exit () - { -+ return 0 - set +e - as_fn_set_status $1 - exit $1 -@@ -6985,7 +6986,6 @@ - fi - if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -- exit 1 - fi - - # Unset variables that we do not need and which cause bugs (e.g. in diff --git a/srcpkgs/screen/patches/utf8_nfd.patch b/srcpkgs/screen/patches/utf8_nfd.patch deleted file mode 100644 index 00a070de5823..000000000000 --- a/srcpkgs/screen/patches/utf8_nfd.patch +++ /dev/null @@ -1,39 +0,0 @@ -Author: Michael Schröder -Reviewed-By: Axel Beckert -Description: screen outputs screen "ÿ" after a connected character. - This is a character without the need. - This happens in UTF-8 environment. - Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."' - がÿ... - patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."' - が.. -Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00012.html -Bugs-Debian: https://bugs.debian.org/600246 -Bugs-Debian: https://bugs.debian.org/677512 - -diff --git a/ansi.c b/ansi.c -index 2a52edd..83b266d 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/srcpkgs/screen/template b/srcpkgs/screen/template index 2b99cdc2771c..6e33ba3d5c50 100644 --- a/srcpkgs/screen/template +++ b/srcpkgs/screen/template @@ -1,11 +1,12 @@ # Template file for 'screen' pkgname=screen -version=4.8.0 -revision=5 +version=4.9.0 +revision=1 build_style=gnu-configure configure_args="--with-sys-screenrc=/etc/screenrc --enable-pam --enable-colors256 --enable-rxvt_osc --enable-telnet --enable-use-locale --with-socket-dir=/run/screens --with-pty-group=5" +hostmakedepends="automake" makedepends="pam-devel ncurses-devel" conf_files="/etc/screenrc /etc/skel/.screenrc" short_desc="GNU screen manager with VT100/ANSI terminal emulation" @@ -13,10 +14,14 @@ maintainer="Frank Steinborn " license="GPL-3.0-or-later" homepage="http://www.gnu.org/s/screen/" distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.gz" -checksum=6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 +checksum=f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4 build_options="multiuser" +pre_configure() { + ./autogen.sh +} + post_install() { vinstall etc/etcscreenrc 0644 etc screenrc vinstall etc/screenrc 0644 etc/skel .screenrc