diff --git a/backport-CVE-2021-39537-add-check-for-end-of-string-in-cvtchar-to-handle-a-malformed.patch b/backport-CVE-2021-39537-add-check-for-end-of-string-in-cvtchar-to-handle-a-malformed.patch deleted file mode 100644 index 279c0071f9b136a70ee3362920ca5da1d2c3db8b..0000000000000000000000000000000000000000 --- a/backport-CVE-2021-39537-add-check-for-end-of-string-in-cvtchar-to-handle-a-malformed.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 790a85dbd4a81d5f5d8dd02a44d84f01512ef443 Mon Sep 17 00:00:00 2001 -From: "Thomas E. Dickey" -Date: Mon, 1 Jun 2020 00:02:30 +0000 -Subject: [PATCH] ncurses 6.2 - patch 20200531 - -+ correct configure version-check/warnng for g++ to allow for 10.x -+ re-enable "bel" in konsole-base (report by Nia Huang) -+ add linux-s entry (patch by Alexandre Montaron). -+ drop long-obsolete convert_configure.pl -+ add test/test_parm.c, for checking tparm changes. -+ improve parameter-checking for tparm, adding function _nc_tiparm() to - handle the most-used case, which accepts only numeric parameters - (report/testcase by "puppet-meteor"). -+ use a more conservative estimate of the buffer-size in lib_tparm.c's - save_text() and save_number(), in case the sprintf() function - passes-through unexpected characters from a format specifier - (report/testcase by "puppet-meteor"). -+ add a check for end-of-string in cvtchar to handle a malformed - string in infotocap (report/testcase by "puppet-meteor"). ---- - ncurses/tinfo/captoinfo.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/ncurses/tinfo/captoinfo.c b/ncurses/tinfo/captoinfo.c -index 8b3b83d..f0b8c31 100644 ---- a/ncurses/tinfo/captoinfo.c -+++ b/ncurses/tinfo/captoinfo.c -@@ -216,12 +216,15 @@ cvtchar(register const char *sp) - } - break; - case '^': -+ len = 2; - c = UChar(*++sp); -- if (c == '?') -+ if (c == '?') { - c = 127; -- else -+ } else if (c == '\0') { -+ len = 1; -+ } else { - c &= 0x1f; -- len = 2; -+ } - break; - default: - c = UChar(*sp); diff --git a/ncurses.tar.gz b/ncurses-6.3.tar.gz similarity index 32% rename from ncurses.tar.gz rename to ncurses-6.3.tar.gz index 63fff5401d821395acd86176810575365a463336..f3482d93a1382aa86577befb787343845950e3c7 100644 Binary files a/ncurses.tar.gz and b/ncurses-6.3.tar.gz differ diff --git a/ncurses-config.patch b/ncurses-config.patch index cca105eed7765f1b3c8ab30f80996385f6ac06b4..7ca0ccb82e9b44330842d42177c1b5cad5af825d 100644 --- a/ncurses-config.patch +++ b/ncurses-config.patch @@ -1,19 +1,21 @@ -diff -Nur a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in ---- a/misc/gen-pkgconfig.in 2020-03-08 09:57:33.000000000 +0800 -+++ b/misc/gen-pkgconfig.in 2020-04-14 14:12:37.824000000 +0800 -@@ -83,7 +83,7 @@ +diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in +index a45dd54..8527305 100644 +--- a/misc/gen-pkgconfig.in ++++ b/misc/gen-pkgconfig.in +@@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ]; then fi lib_flags= --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@ +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@ +for opt in -L$libdir @LIBS@ do case $opt in -l*) # LIBS is handled specially below -diff -Nur a/misc/ncurses-config.in b/misc/ncurses-config.in ---- a/misc/ncurses-config.in 2020-02-03 07:34:34.000000000 +0800 -+++ b/misc/ncurses-config.in 2020-04-14 14:15:53.844000000 +0800 -@@ -41,7 +41,6 @@ +diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in +index 7b02ac2..b64379f 100644 +--- a/misc/ncurses-config.in ++++ b/misc/ncurses-config.in +@@ -41,7 +41,6 @@ exec_prefix="@exec_prefix@" bindir="@bindir@" includedir="@includedir@" @@ -21,26 +23,32 @@ diff -Nur a/misc/ncurses-config.in b/misc/ncurses-config.in datarootdir="@datarootdir@" datadir="@datadir@" mandir="@mandir@" -@@ -101,7 +100,7 @@ - # There is no portable way to find the list of standard library directories. +@@ -101,7 +100,7 @@ fi + # There is no portable way to find the list of standard library directories. # Require a POSIX shell anyway, to keep this simple. lib_flags= --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS +-for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS +for opt in $LIBS do case $opt in -specs*) # ignore linker specs-files which were used to build library -@@ -113,9 +112,6 @@ - -L*) - [ -d ${opt##-L} ] || continue - case ${opt##-L} in +@@ -117,13 +116,13 @@ do + lib_check=`echo "x$opt" | sed -e 's/^.-L//'` + [ -d "$lib_check" ] || continue + case "$lib_check" in - @LD_SEARCHPATH@) # skip standard libdir -- continue -- ;; - *) - found=no - for check in $lib_flags -@@ -235,7 +231,6 @@ ++ ////) # skip standard libdir (disabled for multilib) + if [ "$lib_check" = "$libdir" ] + then + lib_first=yes + IFS_save="$IFS" + IFS='|' +- LIBDIRS="@LD_SEARCHPATH@" ++ LIBDIRS="" + for lib_check in $LIBDIRS + do + if [ -d "$lib_check" ] +@@ -271,7 +270,6 @@ ENDECHO echo $INCS ;; --libdir) @@ -48,3 +56,5 @@ diff -Nur a/misc/ncurses-config.in b/misc/ncurses-config.in ;; --mandir) echo "${mandir}" +-- +2.33.0 \ No newline at end of file diff --git a/ncurses-kbs.patch b/ncurses-kbs.patch index 391ad9adc8903a4f97c1208891a20f76abca2177..f3069d7d2953fa3e4790d85f821d70f751879095 100644 --- a/ncurses-kbs.patch +++ b/ncurses-kbs.patch @@ -1,7 +1,8 @@ -diff -Nur a/misc/terminfo.src b/misc/terminfo.src ---- a/misc/terminfo.src 2020-02-23 07:05:24.000000000 +0800 -+++ b/misc/terminfo.src 2020-04-14 14:24:46.972000000 +0800 -@@ -5960,7 +5960,7 @@ +diff --git a/misc/terminfo.src b/misc/terminfo.src +index 650428a..855e644 100644 +--- a/misc/terminfo.src ++++ b/misc/terminfo.src +@@ -6425,7 +6425,7 @@ rxvt-basic|rxvt terminal base (X Window System), enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E=\E[?1l, @@ -10,37 +11,39 @@ diff -Nur a/misc/terminfo.src b/misc/terminfo.src kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, rmul=\E[24m, -@@ -5972,7 +5972,7 @@ +@@ -6437,7 +6437,7 @@ rxvt-basic|rxvt terminal base (X Window System), %p9%t\016%e\017%;, sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq, -- use=rxvt+pcfkeys, use=vt220+keypad, -+ use=rxvt+pcfkeys, use=vt220+keypad,use=xterm+kbs, +- use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad, ++ use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad, use=xterm+kbs, # Key Codes from rxvt reference: # # Note: Shift + F1-F10 generates F11-F20 -@@ -7306,7 +7306,7 @@ +@@ -8074,7 +8074,7 @@ screen|VT 100/ANSI X3.64 virtual terminal, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z, + ind=\n, indn=\E[%p1%dS, is2=\E)0, kcbt=\E[Z, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, -@@ -7320,6 +7320,7 @@ - sgr0=\E[m\017, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, + kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, +@@ -8087,6 +8087,7 @@ screen|VT 100/ANSI X3.64 virtual terminal, smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, - E0=\E(B, S0=\E(%p1%c, use=xterm+alt1049, use=ecma+color, -+ use=xterm+kbs, + E0=\E(B, S0=\E(%p1%c, use=vt220+pcedit, + use=xterm+alt1049, use=ecma+color, use=vt100+enq, ++ use=xterm+kbs, # The bce and status-line entries are from screen 3.9.13 (and require some # changes to .screenrc). screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, -@@ -7435,6 +7436,7 @@ +@@ -8202,6 +8203,7 @@ screen.xterm-r6|screen customized for X11R6 xterm, # on Solaris because Sun's curses implementation gets confused. screen.teraterm|disable ncv in teraterm, ncv#127, -+ kbs=^H, ++ kbs=^H, acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u \264v\301w\302x\263y\363z\362{\343|\330}\234~\376, +-- +2.33.0 \ No newline at end of file diff --git a/ncurses-libs.patch b/ncurses-libs.patch index 80322bab12ce70856540064a14cb666842d6a34f..a2fb2b7a95c9b99413beb784b66ff701f384e898 100644 --- a/ncurses-libs.patch +++ b/ncurses-libs.patch @@ -1,7 +1,8 @@ -diff -Nur a/c++/Makefile.in b/c++/Makefile.in ---- a/c++/Makefile.in 2020-03-09 00:13:11.000000000 +0800 -+++ b/c++/Makefile.in 2020-04-14 14:30:59.228000000 +0800 -@@ -118,7 +118,7 @@ +diff --git a/c++/Makefile.in b/c++/Makefile.in +index 99f21da..e25b273 100644 +--- a/c++/Makefile.in ++++ b/c++/Makefile.in +@@ -118,7 +118,7 @@ SHLIB_LIST = $(SHLIB_DIRS) \ -l@FORM_NAME@@USE_LIB_SUFFIX@ \ -l@MENU_NAME@@USE_LIB_SUFFIX@ \ -l@PANEL_NAME@@USE_LIB_SUFFIX@ \ @@ -10,7 +11,7 @@ diff -Nur a/c++/Makefile.in b/c++/Makefile.in LIBROOT = ncurses++ -@@ -153,8 +153,7 @@ +@@ -157,8 +157,7 @@ LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@) # flags for library built by this makefile @@ -20,10 +21,11 @@ diff -Nur a/c++/Makefile.in b/c++/Makefile.in AUTO_SRC = \ etip.h -diff -Nur a/form/Makefile.in b/form/Makefile.in ---- a/form/Makefile.in 2020-02-23 00:32:11.000000000 +0800 -+++ b/form/Makefile.in 2020-04-14 14:31:55.036000000 +0800 -@@ -110,7 +110,7 @@ +diff --git a/form/Makefile.in b/form/Makefile.in +index a950a3e..6feb95e 100644 +--- a/form/Makefile.in ++++ b/form/Makefile.in +@@ -110,7 +110,7 @@ LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -32,10 +34,11 @@ diff -Nur a/form/Makefile.in b/form/Makefile.in RPATH_LIST = @RPATH_LIST@ RESULTING_SYMS = @RESULTING_SYMS@ -diff -Nur a/menu/Makefile.in b/menu/Makefile.in ---- a/menu/Makefile.in 2020-02-23 00:35:47.000000000 +0800 -+++ b/menu/Makefile.in 2020-04-14 14:32:21.040000000 +0800 -@@ -110,7 +110,7 @@ +diff --git a/menu/Makefile.in b/menu/Makefile.in +index b623bf0..8c0d199 100644 +--- a/menu/Makefile.in ++++ b/menu/Makefile.in +@@ -110,7 +110,7 @@ LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -44,10 +47,11 @@ diff -Nur a/menu/Makefile.in b/menu/Makefile.in RPATH_LIST = @RPATH_LIST@ RESULTING_SYMS = @RESULTING_SYMS@ -diff -Nur a/panel/Makefile.in b/panel/Makefile.in ---- a/panel/Makefile.in 2020-02-23 00:40:36.000000000 +0800 -+++ b/panel/Makefile.in 2020-04-14 14:32:41.792000000 +0800 -@@ -112,7 +112,7 @@ +diff --git a/panel/Makefile.in b/panel/Makefile.in +index 380f80c..dfe116e 100644 +--- a/panel/Makefile.in ++++ b/panel/Makefile.in +@@ -112,7 +112,7 @@ LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -56,3 +60,5 @@ diff -Nur a/panel/Makefile.in b/panel/Makefile.in RPATH_LIST = @RPATH_LIST@ RESULTING_SYMS = @RESULTING_SYMS@ +-- +2.33.0 \ No newline at end of file diff --git a/ncurses-urxvt.patch b/ncurses-urxvt.patch index 26922336efff3d023621f814c17ec45d1b237e20..e94d447594e2d48888d8f59c0d268bfd1de392c0 100644 --- a/ncurses-urxvt.patch +++ b/ncurses-urxvt.patch @@ -1,7 +1,8 @@ -diff -Nur a/misc/terminfo.src b/misc/terminfo.src ---- a/misc/terminfo.src 2020-02-23 07:05:24.000000000 +0800 -+++ b/misc/terminfo.src 2020-04-14 14:38:19.116000000 +0800 -@@ -6152,6 +6152,175 @@ +diff --git a/misc/terminfo.src b/misc/terminfo.src +index 70047be..c4569b9 100644 +--- a/misc/terminfo.src ++++ b/misc/terminfo.src +@@ -6145,6 +6145,175 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw rxvt-16color|rxvt with 16 colors like aixterm, ncv#32, use=ibm+16color, use=rxvt, diff --git a/ncurses.spec b/ncurses.spec index 2ed4f657fc502202a50df04414af3e5d61daf0c1..79951459bf37a925f9f9f5c91ba63264188c5596 100644 --- a/ncurses.spec +++ b/ncurses.spec @@ -1,19 +1,16 @@ -%global revision 20200411 Name: ncurses -Version: 6.2 -Release: 2 +Version: 6.3 +Release: 1 Summary: Terminal control library License: MIT URL: https://invisible-island.net/ncurses/ncurses.html -Source0: https://invisible-mirror.net/archives/ncurses/current/ncurses.tar.gz +Source0: https://invisible-mirror.net/archives/ncurses/ncurses-%{version}.tar.gz Patch8: ncurses-config.patch Patch9: ncurses-libs.patch Patch11: ncurses-urxvt.patch Patch12: ncurses-kbs.patch -Patch6000: backport-CVE-2021-39537-add-check-for-end-of-string-in-cvtchar-to-handle-a-malformed.patch - BuildRequires: gcc gcc-c++ gpm-devel pkgconfig Requires: %{name}-base = %{version}-%{release} @@ -74,7 +71,7 @@ This package contains development documentation, manuals for interface function, and related documents. %prep -%autosetup -n %{name}-%{version}-%{revision} -p1 +%autosetup -n %{name}-%{version} -p1 for f in ANNOUNCE; do iconv -f iso8859-1 -t utf8 -o ${f}{_,} && @@ -223,6 +220,12 @@ xz NEWS %{_mandir}/man7/* %changelog +* Mon Mar 21 2022 xihaochen - 6.3-1 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:update to 6.3 + * Tue Oct 12 2021 xihaochen - 6.2-2 - Type:CVE - CVE:CVE-2021-39537