[arch-commits] Commit in screen/trunk (CVE-2021-26937.patch PKGBUILD)

Antonio Rojas arojas at gemini.archlinux.org
Wed Feb 2 15:00:49 UTC 2022


    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 <mls at suse.de>
-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 <dorphell at gmx.net>
 
 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
 }



More information about the arch-commits mailing list