Date: Wednesday, February 2, 2022 @ 15:00:48 Author: arojas Revision: 435814
Update to 4.9.0 Modified: screen/trunk/PKGBUILD Deleted: screen/trunk/CVE-2021-26937.patch ----------------------+ CVE-2021-26937.patch | 64 ------------------------------------------------- PKGBUILD | 54 +++++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 92 deletions(-) Deleted: CVE-2021-26937.patch =================================================================== --- CVE-2021-26937.patch 2022-02-02 14:33:26 UTC (rev 435813) +++ CVE-2021-26937.patch 2022-02-02 15:00:48 UTC (rev 435814) @@ -1,64 +0,0 @@ -Description: [CVE-2021-26937] Fix out of bounds array access -Author: Michael Schröder <[email protected]> -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 */ Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-02-02 14:33:26 UTC (rev 435813) +++ PKGBUILD 2022-02-02 15:00:48 UTC (rev 435814) @@ -3,8 +3,8 @@ # Committer: dorphell <[email protected]> pkgname=screen -pkgver=4.8.0 -pkgrel=3 +pkgver=4.9.0 +pkgrel=1 pkgdesc='Full-screen window manager that multiplexes a physical terminal' url='https://www.gnu.org/software/screen/' arch=('x86_64') @@ -11,14 +11,13 @@ license=('GPL') depends=('ncurses' 'pam') validpgpkeys=('2EE59A5D0C50167B5535BBF1B708A383C53EF3A4' - '71AA09D9E8870FDB0AA7B61E21F968DEF747ABD7') + '71AA09D9E8870FDB0AA7B61E21F968DEF747ABD7' + 'B4560FD8C9F2DE3BE308EBA3933AD21886F69FBF') source=("https://ftp.gnu.org/gnu/screen/screen-${pkgver}.tar.gz"{,.sig} - 'CVE-2021-26937.patch' 'tmpfiles.d' 'pam.d') -sha256sums=('6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1' +sha256sums=('f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4' 'SKIP' - '4ccc4d28da0f994aad165eb06119ecad7112cbb1401d73789af1b6c53e4819f5' '1f33ce4faca7bd05dd80403411af31e682d5d23e79558e884ae5a35f1dd96223' '971c25929ea97422c09e10679ab98e9e6c59295aae1a4a9970909d2206e23090') @@ -28,35 +27,34 @@ _ptygroup=5 #the UID of our PTY/TTY group prepare() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i ../CVE-2021-26937.patch + cd ${pkgname}-${pkgver} + NOCONFIGURE=1 ./autogen.sh } build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} - ./configure \ - --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --enable-colors256 \ - --enable-pam \ - --enable-rxvt_osc \ - --enable-telnet \ - --with-pty-group=$_ptygroup \ - --with-socket-dir=/run/screens \ - --with-sys-screenrc=/etc/screenrc \ - - make + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-colors256 \ + --enable-pam \ + --enable-rxvt_osc \ + --enable-telnet \ + --with-pty-group=$_ptygroup \ + --with-socket-dir=/run/screens \ + --with-sys-screenrc=/etc/screenrc \ + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install - install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/screen - install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/screen.conf + install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/screen + install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/screen.conf - install -Dm644 etc/etcscreenrc "${pkgdir}"/etc/screenrc - install -Dm644 etc/screenrc "${pkgdir}"/etc/skel/.screenrc + install -Dm644 etc/etcscreenrc "${pkgdir}"/etc/screenrc + install -Dm644 etc/screenrc "${pkgdir}"/etc/skel/.screenrc }
