Sat Apr 24 15:58:35 2021 UTC ()
Pullup ticket #6450 - requested by nia
chat/irssi: security fix

Revisions pulled up:
- chat/irssi-icb/Makefile                                       1.47
- chat/irssi-icb/distinfo                                       1.39
- chat/irssi-xmpp/Makefile                                      1.18
- chat/irssi-xmpp/distinfo                                      1.22
- chat/irssi/Makefile                                           1.101
- chat/irssi/Makefile.common                                    1.33
- chat/irssi/distinfo                                           1.53
- chat/irssi/patches/patch-src_fe-text_term-terminfo.c          deleted
- chat/irssi/patches/patch-src_fe-text_terminfo-core.c          1.1

---
   Module Name:	pkgsrc
   Committed By:	nia
   Date:		Sat Apr 24 08:32:00 UTC 2021

   Modified Files:
   	pkgsrc/chat/irssi: Makefile Makefile.common distinfo
   	pkgsrc/chat/irssi-icb: Makefile distinfo
   	pkgsrc/chat/irssi-xmpp: Makefile distinfo
   Added Files:
   	pkgsrc/chat/irssi/patches: patch-src_fe-text_terminfo-core.c
   Removed Files:
   	pkgsrc/chat/irssi/patches: patch-src_fe-text_term-terminfo.c

   Log Message:
   irssi: update to 1.2.3

   v1.2.3 2021-04-11 The Irssi team <staff@irssi.org>
   	- Fix the compilation of utf8proc (#1021)
   	- Fix wrong call to free. By Zero King (#1076)
   	- Fix a colour reset in true colour themes when encountering
             mIRC colours (#1059)
   	- Fix memory leak on malformed CAP requests (#1120)
   	- Fix an erroneous free of SASL data. Credit to Oss-Fuzz (#1128,
   	  #1130)
   	- Re-set the TLS flag when reconnecting (#1027, #1134)
   	- Fix the scrollback getting stuck after /clear (#1115, #1136)
   	- Fix the input of Ctrl+C as the first character (#1153,  #1154)
   	- Fix crash on quit during unloading of modules on certain
             platforms (#1167)
   	- Fix Irssi freezing input after Ctrl+Space on GLib >2.62 (#1180,
   	  #1183)
   	- Fix layout of IDCHANs. By Lauri Tirkkonen (#1197)
   	- Fix crash when server got reconnected before it was properly
             connected (#1210, #1211)
   	- Fix multiple identical active caps (#1249)
   	- Minor help corrections (#1156, #1213, #1214, #1255)
   	- Remove erroneous colour in the colorless theme. Reported and
             fixed by Nutchanon Wetchasit (#1220, #1221)
   	- Fix invalid bounds calculation when editing the text
             entry. Found and fixed by Sergey Valentey (#1269)
   	- Fix passing of negative size in buffer writes. Found and
             fixed by Sergey Valentey (#1270)
   	- Fix Irssi freezing on slow hardware and fast DCC transfers (#159,
   	  #1271)
   	- Fix compilation on Solaris (#1291)
   	- Fix null pointer dereference when receiving broken JOIN
             record. Credit to Oss-Fuzz (#1292)
   	- Fix crash on /connect to some sockets (#1239, #1298)
   	- Fix Irssi rendering on Apple ARM. By Misty De M辿o (#1267,
   	  #1268, #1290)
   	- Fix crash on /lastlog with broken lines (#1281, #1299)
   	- Fix memory leak when receiving bogus SASL authentication
             data. Found and fixed by Sergey Valentey (#1293)


(bsiegert)
diff -r1.100 -r1.100.6.1 pkgsrc/chat/irssi/Makefile
diff -r1.32 -r1.32.14.1 pkgsrc/chat/irssi/Makefile.common
diff -r1.52 -r1.52.8.1 pkgsrc/chat/irssi/distinfo
diff -r1.46 -r1.46.8.1 pkgsrc/chat/irssi-icb/Makefile
diff -r1.38 -r1.38.14.1 pkgsrc/chat/irssi-icb/distinfo
diff -r1.17 -r1.17.8.1 pkgsrc/chat/irssi-xmpp/Makefile
diff -r1.21 -r1.21.14.1 pkgsrc/chat/irssi-xmpp/distinfo
diff -r1.1 -r0 pkgsrc/chat/irssi/patches/patch-src_fe-text_term-terminfo.c
diff -r0 -r1.2.2.2 pkgsrc/chat/irssi/patches/patch-src_fe-text_terminfo-core.c

cvs diff -r1.100 -r1.100.6.1 pkgsrc/chat/irssi/Makefile (expand / switch to unified diff)

--- pkgsrc/chat/irssi/Makefile 2020/08/31 18:06:41 1.100
+++ pkgsrc/chat/irssi/Makefile 2021/04/24 15:58:35 1.100.6.1
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.100 2020/08/31 18:06:41 wiz Exp $ 1# $NetBSD: Makefile,v 1.100.6.1 2021/04/24 15:58:35 bsiegert Exp $
2 2
3DISTNAME= ${IRSSI_DISTNAME} 3DISTNAME= ${IRSSI_DISTNAME}
4PKGREVISION= 5 
5CATEGORIES= chat 4CATEGORIES= chat
6EXTRACT_SUFX= ${IRSSI_EXTRACT_SUFX} 5EXTRACT_SUFX= ${IRSSI_EXTRACT_SUFX}
7 6
8MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.irssi.org/ 8HOMEPAGE= http://www.irssi.org/
10COMMENT= Secure and modular IRC client with text mode user interface 9COMMENT= Secure and modular IRC client with text mode user interface
11LICENSE= gnu-gpl-v2 10LICENSE= gnu-gpl-v2
12 11
13.include "../../mk/bsd.prefs.mk" 12.include "../../mk/bsd.prefs.mk"
14.include "Makefile.common" 13.include "Makefile.common"
15 14
16GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
17USE_LIBTOOL= yes 16USE_LIBTOOL= yes

cvs diff -r1.32 -r1.32.14.1 pkgsrc/chat/irssi/Makefile.common (expand / switch to unified diff)

--- pkgsrc/chat/irssi/Makefile.common 2019/08/31 10:04:26 1.32
+++ pkgsrc/chat/irssi/Makefile.common 2021/04/24 15:58:35 1.32.14.1
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile.common,v 1.32 2019/08/31 10:04:26 nia Exp $ 1# $NetBSD: Makefile.common,v 1.32.14.1 2021/04/24 15:58:35 bsiegert Exp $
2# 2#
3# used by chat/irssi-icb/Makefile 3# used by chat/irssi-icb/Makefile
4# used by chat/irssi-xmpp/Makefile 4# used by chat/irssi-xmpp/Makefile
5 5
6# Specific distribution information. 6# Specific distribution information.
7IRSSI_VERSION= 1.2.2 7IRSSI_VERSION= 1.2.3
8IRSSI_DISTNAME= irssi-${IRSSI_VERSION} 8IRSSI_DISTNAME= irssi-${IRSSI_VERSION}
9IRSSI_EXTRACT_SUFX= .tar.gz 9IRSSI_EXTRACT_SUFX= .tar.gz
10IRSSI_DISTFILE= ${IRSSI_DISTNAME}${IRSSI_EXTRACT_SUFX} 10IRSSI_DISTFILE= ${IRSSI_DISTNAME}${IRSSI_EXTRACT_SUFX}
11SITES.${IRSSI_DISTFILE}= https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/ 11SITES.${IRSSI_DISTFILE}= https://github.com/irssi/irssi/releases/download/${IRSSI_VERSION}/
12 12
13# These files are generated during Irssi's build, but are required by 13# These files are generated during Irssi's build, but are required by
14# plugins to compile properly. 14# plugins to compile properly.
15IRSSI_CONFIG= ${PREFIX}/share/irssi/irssi-config 15IRSSI_CONFIG= ${PREFIX}/share/irssi/irssi-config
16IRSSI_CONFIG_H= ${PREFIX}/include/irssi/irssi-config.h 16IRSSI_CONFIG_H= ${PREFIX}/include/irssi/irssi-config.h

cvs diff -r1.52 -r1.52.8.1 pkgsrc/chat/irssi/distinfo (expand / switch to unified diff)

--- pkgsrc/chat/irssi/distinfo 2020/05/18 18:38:31 1.52
+++ pkgsrc/chat/irssi/distinfo 2021/04/24 15:58:35 1.52.8.1
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.52 2020/05/18 18:38:31 maya Exp $ 1$NetBSD: distinfo,v 1.52.8.1 2021/04/24 15:58:35 bsiegert Exp $
2 2
3SHA1 (irssi-1.2.2.tar.gz) = 1004f6adcd949c6ab76bff5abe210521c8af4fd7 3SHA1 (irssi-1.2.3.tar.gz) = 1a7af14546cc1a7ada221dd9da82f58af58b5bbd
4RMD160 (irssi-1.2.2.tar.gz) = 49a8681a4a3495e441d8b516304477bdb4d9aa7c 4RMD160 (irssi-1.2.3.tar.gz) = 72a9014c158e7685c6a1e56156ed62728588f1ae
5SHA512 (irssi-1.2.2.tar.gz) = 708dd72685f89ba5da155b7276addcb3758a000f633c71a9bee88c84585f1b5f69872696c7d107699edd16cf964e0a046fc13fecc0384505c11258ec16ab3342 5SHA512 (irssi-1.2.3.tar.gz) = 7e4c8dc2d8e3532f26775702254339ba92e276c82b5a7041756574096928e25f2614d04a1cfa091ba90bc3e5a0d552578b80bc89c3c87c6d48722139c2ae47ff
6Size (irssi-1.2.2.tar.gz) = 1843879 bytes 6Size (irssi-1.2.3.tar.gz) = 1824077 bytes
7SHA1 (patch-ad) = 8cb41612afcd6088b869235166da9a6eb37e6ec7 7SHA1 (patch-ad) = 8cb41612afcd6088b869235166da9a6eb37e6ec7
8SHA1 (patch-src_fe-text_term-terminfo.c) = 3ebf09dfde3fa01c4f53862e126fe13f082d450c 8SHA1 (patch-src_fe-text_terminfo-core.c) = e1f64ae71fcd56596f325bb57ec27f51d8826223

cvs diff -r1.46 -r1.46.8.1 pkgsrc/chat/irssi-icb/Makefile (expand / switch to unified diff)

--- pkgsrc/chat/irssi-icb/Makefile 2020/05/31 15:10:11 1.46
+++ pkgsrc/chat/irssi-icb/Makefile 2021/04/24 15:58:34 1.46.8.1
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.46 2020/05/31 15:10:11 rillig Exp $ 1# $NetBSD: Makefile,v 1.46.8.1 2021/04/24 15:58:34 bsiegert Exp $
2# 2#
3 3
4DISTNAME= irssi-icb-0.15 4DISTNAME= irssi-icb-0.15
5PKGREVISION= 6 5PKGREVISION= 7
6CATEGORIES= chat 6CATEGORIES= chat
7MASTER_SITES= https://github.com/downloads/jperkin/irssi-icb/ 7MASTER_SITES= https://github.com/downloads/jperkin/irssi-icb/
8DISTFILES= ${DISTNAME}.tar.gz ${IRSSI_DISTFILE} 8DISTFILES= ${DISTNAME}.tar.gz ${IRSSI_DISTFILE}
9 9
10MAINTAINER= jperkin@joyent.com 10MAINTAINER= jperkin@joyent.com
11HOMEPAGE= http://www.irssi.org/ 11HOMEPAGE= http://www.irssi.org/
12COMMENT= Irssi plugin to access ICB networks 12COMMENT= Irssi plugin to access ICB networks
13LICENSE= gnu-gpl-v2 13LICENSE= gnu-gpl-v2
14 14
15.include "../../mk/bsd.prefs.mk" 15.include "../../mk/bsd.prefs.mk"
16.include "../../chat/irssi/Makefile.common" 16.include "../../chat/irssi/Makefile.common"
17 17
18WRKSRC= ${WRKDIR}/${IRSSI_DISTNAME}/${DISTNAME} 18WRKSRC= ${WRKDIR}/${IRSSI_DISTNAME}/${DISTNAME}

cvs diff -r1.38 -r1.38.14.1 pkgsrc/chat/irssi-icb/distinfo (expand / switch to unified diff)

--- pkgsrc/chat/irssi-icb/distinfo 2019/08/31 10:04:26 1.38
+++ pkgsrc/chat/irssi-icb/distinfo 2021/04/24 15:58:34 1.38.14.1
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1$NetBSD: distinfo,v 1.38 2019/08/31 10:04:26 nia Exp $ 1$NetBSD: distinfo,v 1.38.14.1 2021/04/24 15:58:34 bsiegert Exp $
2 2
3SHA1 (irssi-1.2.2.tar.gz) = 1004f6adcd949c6ab76bff5abe210521c8af4fd7 3SHA1 (irssi-1.2.3.tar.gz) = 1a7af14546cc1a7ada221dd9da82f58af58b5bbd
4RMD160 (irssi-1.2.2.tar.gz) = 49a8681a4a3495e441d8b516304477bdb4d9aa7c 4RMD160 (irssi-1.2.3.tar.gz) = 72a9014c158e7685c6a1e56156ed62728588f1ae
5SHA512 (irssi-1.2.2.tar.gz) = 708dd72685f89ba5da155b7276addcb3758a000f633c71a9bee88c84585f1b5f69872696c7d107699edd16cf964e0a046fc13fecc0384505c11258ec16ab3342 5SHA512 (irssi-1.2.3.tar.gz) = 7e4c8dc2d8e3532f26775702254339ba92e276c82b5a7041756574096928e25f2614d04a1cfa091ba90bc3e5a0d552578b80bc89c3c87c6d48722139c2ae47ff
6Size (irssi-1.2.2.tar.gz) = 1843879 bytes 6Size (irssi-1.2.3.tar.gz) = 1824077 bytes
7SHA1 (irssi-icb-0.15.tar.gz) = c5a739960eb98e6686a94f6d4662cfab5a95d447 7SHA1 (irssi-icb-0.15.tar.gz) = c5a739960eb98e6686a94f6d4662cfab5a95d447
8RMD160 (irssi-icb-0.15.tar.gz) = b947a341e1fc2f6d42bee3cb7b738bfdbb0a031d 8RMD160 (irssi-icb-0.15.tar.gz) = b947a341e1fc2f6d42bee3cb7b738bfdbb0a031d
9SHA512 (irssi-icb-0.15.tar.gz) = 00af04d14c2c6b65eaf93f9859e6f9f51be4bc8b270c602f4f3b2cc722b148f35c29c7efb12432b063dd41095cf823f2ad329515b0298d0c541742199f3c5fa5 9SHA512 (irssi-icb-0.15.tar.gz) = 00af04d14c2c6b65eaf93f9859e6f9f51be4bc8b270c602f4f3b2cc722b148f35c29c7efb12432b063dd41095cf823f2ad329515b0298d0c541742199f3c5fa5
10Size (irssi-icb-0.15.tar.gz) = 306973 bytes 10Size (irssi-icb-0.15.tar.gz) = 306973 bytes
11SHA1 (patch-am) = 3bd9e38d0fde6d99d9b6a6ad67268bd63a8a92e2 11SHA1 (patch-am) = 3bd9e38d0fde6d99d9b6a6ad67268bd63a8a92e2
12SHA1 (patch-an) = bca7fff754b60b49a6322bd5595a4a7f4003a828 12SHA1 (patch-an) = bca7fff754b60b49a6322bd5595a4a7f4003a828
13SHA1 (patch-src_core_Makefile.in) = d052d78b4f084da51498f1df934ca16412b8e5a0 13SHA1 (patch-src_core_Makefile.in) = d052d78b4f084da51498f1df934ca16412b8e5a0
14SHA1 (patch-src_core_icb-core.c) = fc0f99c383b6452d09641c2b5f049166370d1fc2 14SHA1 (patch-src_core_icb-core.c) = fc0f99c383b6452d09641c2b5f049166370d1fc2
15SHA1 (patch-src_fe-common_fe-icb.c) = 47ca218d295a818028102ca041cf4b9c2053276b 15SHA1 (patch-src_fe-common_fe-icb.c) = 47ca218d295a818028102ca041cf4b9c2053276b
16SHA1 (patch-src_fe-common_module-formats.c) = 5af701e6919051c834c52e6932e0028324362b9f 16SHA1 (patch-src_fe-common_module-formats.c) = 5af701e6919051c834c52e6932e0028324362b9f

cvs diff -r1.17 -r1.17.8.1 pkgsrc/chat/irssi-xmpp/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/chat/irssi-xmpp/Attic/Makefile 2020/05/21 10:14:27 1.17
+++ pkgsrc/chat/irssi-xmpp/Attic/Makefile 2021/04/24 15:58:35 1.17.8.1
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.17 2020/05/21 10:14:27 nia Exp $ 1# $NetBSD: Makefile,v 1.17.8.1 2021/04/24 15:58:35 bsiegert Exp $
2# 2#
3 3
4DISTNAME= irssi-xmpp-0.54 4DISTNAME= irssi-xmpp-0.54
5PKGREVISION= 1 5PKGREVISION= 2
6CATEGORIES= chat 6CATEGORIES= chat
7MASTER_SITES= https://cybione.org/~irssi-xmpp/files/ 7MASTER_SITES= https://cybione.org/~irssi-xmpp/files/
8DISTFILES= ${DISTNAME}.tar.gz ${IRSSI_DISTFILE} 8DISTFILES= ${DISTNAME}.tar.gz ${IRSSI_DISTFILE}
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= https://cybione.org/~irssi-xmpp/ 11HOMEPAGE= https://cybione.org/~irssi-xmpp/
12COMMENT= Irssi plugin to connect to the Jabber network 12COMMENT= Irssi plugin to connect to the Jabber network
13LICENSE= gnu-gpl-v2 13LICENSE= gnu-gpl-v2
14 14
15DEPENDS+= irssi>=${IRSSI_VERSION}:../../chat/irssi 15DEPENDS+= irssi>=${IRSSI_VERSION}:../../chat/irssi
16 16
17.include "../../mk/bsd.prefs.mk" 17.include "../../mk/bsd.prefs.mk"
18.include "../../chat/irssi/Makefile.common" 18.include "../../chat/irssi/Makefile.common"

cvs diff -r1.21 -r1.21.14.1 pkgsrc/chat/irssi-xmpp/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/chat/irssi-xmpp/Attic/distinfo 2019/09/15 13:58:27 1.21
+++ pkgsrc/chat/irssi-xmpp/Attic/distinfo 2021/04/24 15:58:35 1.21.14.1
@@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
1$NetBSD: distinfo,v 1.21 2019/09/15 13:58:27 nia Exp $ 1$NetBSD: distinfo,v 1.21.14.1 2021/04/24 15:58:35 bsiegert Exp $
2 2
3SHA1 (irssi-1.2.2.tar.gz) = 1004f6adcd949c6ab76bff5abe210521c8af4fd7 3SHA1 (irssi-1.2.3.tar.gz) = 1a7af14546cc1a7ada221dd9da82f58af58b5bbd
4RMD160 (irssi-1.2.2.tar.gz) = 49a8681a4a3495e441d8b516304477bdb4d9aa7c 4RMD160 (irssi-1.2.3.tar.gz) = 72a9014c158e7685c6a1e56156ed62728588f1ae
5SHA512 (irssi-1.2.2.tar.gz) = 708dd72685f89ba5da155b7276addcb3758a000f633c71a9bee88c84585f1b5f69872696c7d107699edd16cf964e0a046fc13fecc0384505c11258ec16ab3342 5SHA512 (irssi-1.2.3.tar.gz) = 7e4c8dc2d8e3532f26775702254339ba92e276c82b5a7041756574096928e25f2614d04a1cfa091ba90bc3e5a0d552578b80bc89c3c87c6d48722139c2ae47ff
6Size (irssi-1.2.2.tar.gz) = 1843879 bytes 6Size (irssi-1.2.3.tar.gz) = 1824077 bytes
7SHA1 (irssi-xmpp-0.54.tar.gz) = 19f9e303545a7adbfeee806c78be2a6279f74b63 7SHA1 (irssi-xmpp-0.54.tar.gz) = 4196bfae00eb830229f104fb7099829a9bca8072
8RMD160 (irssi-xmpp-0.54.tar.gz) = 1fdc4557c167134d3daacd495e9404ec82dc7755 8RMD160 (irssi-xmpp-0.54.tar.gz) = 083bbb91048f369df00c10a212478c208a8ae985
9SHA512 (irssi-xmpp-0.54.tar.gz) = 31ddd9e0147eec23d08b8bcbe242e831d612cb2d00f3b56776e9d0b87db9bd76d4bb147422cdf18c0567f0e0463ab828ab7a0ef80a2b35cfdc0a8be962b39f14 9SHA512 (irssi-xmpp-0.54.tar.gz) = 7bf3d26be4c92323be83dc7734ca7c1227355bebeddb20c502a3304531a83d5e15e5ca7e35b7f1c4b1021bd29a66f8743310987fd6b180cba48feb08a21d63c6
10Size (irssi-xmpp-0.54.tar.gz) = 65618 bytes 10Size (irssi-xmpp-0.54.tar.gz) = 155491 bytes

File Deleted: pkgsrc/chat/irssi/patches/Attic/patch-src_fe-text_term-terminfo.c

File Added: pkgsrc/chat/irssi/patches/Attic/patch-src_fe-text_terminfo-core.c
$NetBSD: patch-src_fe-text_terminfo-core.c,v 1.2.2.2 2021/04/24 15:58:35 bsiegert Exp $

Fix compatibility with NetBSD curses

from the ncurses man page:

>X/Open  Curses  prototypes tparm with a fixed number of parameters,
>rather than a variable argument list.

>This implementation uses a variable argument list, but can be  con-
>figured  to  use  the  fixed-parameter list.  Portable applications
>should provide 9 parameters after the format; zeroes are  fine  for
>this purpose.

>In  response  to review comments by Thomas E. Dickey, X/Open Curses
>Issue 7 proposed the tiparm function in mid-2009.

Previously, irssi defined its own tparm prototype, so passing
a variable number of arguments worked.

However, since this change:

https://github.com/irssi/irssi/commit/0b82f14151dad5f106c208d25818816a8f782a54

<term.h> in included, which on systems using NetBSD libcurses, gives
the X/Open compliant definition of tparm, which does not work with
a variable number of arguments.

--- src/fe-text/terminfo-core.c.orig	2021-04-08 14:42:39.000000000 +0000
+++ src/fe-text/terminfo-core.c
@@ -17,7 +17,7 @@ inline static int term_putchar(int c)
 #else
 /* Don't bother including curses.h because of these -
    they might not even be defined there */
-char *tparm();
+char *tiparm();
 int tputs();
 
 int setupterm();
@@ -110,14 +110,14 @@ static TERMINFO_REC tcaps[] = {
 /* Move cursor (cursor_address / cup) */
 static void _move_cup(TERM_REC *term, int x, int y)
 {
-	tput(tparm(term->TI_cup, y, x));
+	tput(tiparm(term->TI_cup, y, x));
 }
 
 /* Move cursor (column_address+row_address / hpa+vpa) */
 static void _move_pa(TERM_REC *term, int x, int y)
 {
-	tput(tparm(term->TI_hpa, x));
-	tput(tparm(term->TI_vpa, y));
+	tput(tiparm(term->TI_hpa, x));
+	tput(tiparm(term->TI_vpa, y));
 }
 
 /* Move cursor from a known position */
@@ -133,38 +133,38 @@ static void _move_relative(TERM_REC *ter
 	if (oldx > 0 && y == oldy) {
                 /* move cursor left/right */
 		if (x == oldx-1 && term->TI_cub1) {
-			tput(tparm(term->TI_cub1));
+			tput(tiparm(term->TI_cub1));
                         return;
 		}
 		if (x == oldx+1 && y == oldy && term->TI_cuf1) {
-			tput(tparm(term->TI_cuf1));
+			tput(tiparm(term->TI_cuf1));
                         return;
 		}
 	}
 
         /* fallback to absolute positioning */
 	if (term->TI_cup) {
-		tput(tparm(term->TI_cup, y, x));
+		tput(tiparm(term->TI_cup, y, x));
                 return;
 	}
 
 	if (oldy != y)
-		tput(tparm(term->TI_vpa, y));
+		tput(tiparm(term->TI_vpa, y));
         if (oldx != x)
-		tput(tparm(term->TI_hpa, x));
+		tput(tiparm(term->TI_hpa, x));
 }
 
 /* Set cursor visible/invisible */
 static void _set_cursor_visible(TERM_REC *term, int set)
 {
-	tput(tparm(set ? term->TI_cnorm : term->TI_civis));
+	tput(tiparm(set ? term->TI_cnorm : term->TI_civis));
 }
 
 #define scroll_region_setup(term, y1, y2) \
 	if ((term)->TI_csr != NULL) \
-		tput(tparm((term)->TI_csr, y1, y2)); \
+		tput(tiparm((term)->TI_csr, y1, y2)); \
 	else if ((term)->TI_wind != NULL) \
-		tput(tparm((term)->TI_wind, y1, y2, 0, (term)->width-1));
+		tput(tiparm((term)->TI_wind, y1, y2, 0, (term)->width-1));
 
 /* Scroll (change_scroll_region+parm_rindex+parm_index / csr+rin+indn) */
 static void _scroll_region(TERM_REC *term, int y1, int y2, int count)
@@ -175,10 +175,10 @@ static void _scroll_region(TERM_REC *ter
 	term->move(term, 0, y1);
 	if (count > 0) {
 		term->move(term, 0, y2);
-		tput(tparm(term->TI_indn, count, count));
+		tput(tiparm(term->TI_indn, count, count));
 	} else if (count < 0) {
 		term->move(term, 0, y1);
-		tput(tparm(term->TI_rin, -count, -count));
+		tput(tiparm(term->TI_rin, -count, -count));
 	}
 
         /* reset the scrolling region to full screen */
@@ -196,11 +196,11 @@ static void _scroll_region_1(TERM_REC *t
 	if (count > 0) {
 		term->move(term, 0, y2);
 		for (i = 0; i < count; i++)
-			tput(tparm(term->TI_ind));
+			tput(tiparm(term->TI_ind));
 	} else if (count < 0) {
 		term->move(term, 0, y1);
 		for (i = count; i < 0; i++)
-			tput(tparm(term->TI_ri));
+			tput(tiparm(term->TI_ri));
 	}
 
         /* reset the scrolling region to full screen */
@@ -217,14 +217,14 @@ static void _scroll_line(TERM_REC *term,
 
 	if (count > 0) {
 		term->move(term, 0, y1);
-		tput(tparm(term->TI_dl, count, count));
+		tput(tiparm(term->TI_dl, count, count));
 		term->move(term, 0, y2-count+1);
-		tput(tparm(term->TI_il, count, count));
+		tput(tiparm(term->TI_il, count, count));
 	} else if (count < 0) {
 		term->move(term, 0, y2+count+1);
-		tput(tparm(term->TI_dl, -count, -count));
+		tput(tiparm(term->TI_dl, -count, -count));
 		term->move(term, 0, y1);
-		tput(tparm(term->TI_il, -count, -count));
+		tput(tiparm(term->TI_il, -count, -count));
 	}
 
         /* reset the scrolling region to full screen */
@@ -239,38 +239,38 @@ static void _scroll_line_1(TERM_REC *ter
 	if (count > 0) {
 		term->move(term, 0, y1);
                 for (i = 0; i < count; i++)
-			tput(tparm(term->TI_dl1));
+			tput(tiparm(term->TI_dl1));
 		term->move(term, 0, y2-count+1);
                 for (i = 0; i < count; i++)
-			tput(tparm(term->TI_il1));
+			tput(tiparm(term->TI_il1));
 	} else if (count < 0) {
 		term->move(term, 0, y2+count+1);
 		for (i = count; i < 0; i++)
-			tput(tparm(term->TI_dl1));
+			tput(tiparm(term->TI_dl1));
 		term->move(term, 0, y1);
 		for (i = count; i < 0; i++)
-			tput(tparm(term->TI_il1));
+			tput(tiparm(term->TI_il1));
 	}
 }
 
 /* Clear screen (clear_screen / clear) */
 static void _clear_screen(TERM_REC *term)
 {
-	tput(tparm(term->TI_clear));
+	tput(tiparm(term->TI_clear));
 }
 
 /* Clear screen (clr_eos / ed) */
 static void _clear_eos(TERM_REC *term)
 {
         term->move(term, 0, 0);
-	tput(tparm(term->TI_ed));
+	tput(tiparm(term->TI_ed));
 }
 
 /* Clear screen (parm_delete_line / dl) */
 static void _clear_del(TERM_REC *term)
 {
         term->move(term, 0, 0);
-	tput(tparm(term->TI_dl, term->height, term->height));
+	tput(tiparm(term->TI_dl, term->height, term->height));
 }
 
 /* Clear screen (delete_line / dl1) */
@@ -280,19 +280,19 @@ static void _clear_del_1(TERM_REC *term)
 
 	term->move(term, 0, 0);
         for (i = 0; i < term->height; i++)
-		tput(tparm(term->TI_dl1));
+		tput(tiparm(term->TI_dl1));
 }
 
 /* Clear to end of line (clr_eol / el) */
 static void _clrtoeol(TERM_REC *term)
 {
-	tput(tparm(term->TI_el));
+	tput(tiparm(term->TI_el));
 }
 
 /* Repeat character (rep / rp) */
 static void _repeat(TERM_REC *term, char chr, int count)
 {
-	tput(tparm(term->TI_rep, chr, count));
+	tput(tiparm(term->TI_rep, chr, count));
 }
 
 /* Repeat character (manual) */
@@ -307,42 +307,42 @@ static void _repeat_manual(TERM_REC *ter
 /* Reset all terminal attributes */
 static void _set_normal(TERM_REC *term)
 {
-	tput(tparm(term->TI_normal));
+	tput(tiparm(term->TI_normal));
 }
 
 static void _set_blink(TERM_REC *term)
 {
-	tput(tparm(term->TI_blink));
+	tput(tiparm(term->TI_blink));
 }
 
 /* Reverse on */
 static void _set_reverse(TERM_REC *term)
 {
-	tput(tparm(term->TI_rev));
+	tput(tiparm(term->TI_rev));
 }
 
 /* Bold on */
 static void _set_bold(TERM_REC *term)
 {
-	tput(tparm(term->TI_bold));
+	tput(tiparm(term->TI_bold));
 }
 
 /* Underline on/off */
 static void _set_uline(TERM_REC *term, int set)
 {
-	tput(tparm(set ? term->TI_smul : term->TI_rmul));
+	tput(tiparm(set ? term->TI_smul : term->TI_rmul));
 }
 
 /* Standout on/off */
 static void _set_standout(TERM_REC *term, int set)
 {
-	tput(tparm(set ? term->TI_smso : term->TI_rmso));
+	tput(tiparm(set ? term->TI_smso : term->TI_rmso));
 }
 
 /* Italic on/off */
 static void _set_italic(TERM_REC *term, int set)
 {
-	tput(tparm(set ? term->TI_sitm : term->TI_ritm));
+	tput(tiparm(set ? term->TI_sitm : term->TI_ritm));
 }
 
 /* Standout on (fallback for reverse) */
@@ -367,19 +367,19 @@ inline static int color256(const TERM_RE
 /* Change foreground color */
 static void _set_fg(TERM_REC *term, int color)
 {
-	tput(tparm(term->TI_fg[color256(term, color)]));
+	tput(tiparm(term->TI_fg[color256(term, color)]));
 }
 
 /* Change background color */
 static void _set_bg(TERM_REC *term, int color)
 {
-	tput(tparm(term->TI_bg[color256(term, color)]));
+	tput(tiparm(term->TI_bg[color256(term, color)]));
 }
 
 /* Beep */
 static void _beep(TERM_REC *term)
 {
-	tput(tparm(term->TI_bel));
+	tput(tiparm(term->TI_bel));
 }
 
 static void _ignore(TERM_REC *term)
@@ -393,7 +393,7 @@ static void _ignore_parm(TERM_REC *term,
 static void terminfo_set_appkey_mode(TERM_REC *term, int set)
 {
 	if (term->TI_smkx && term->TI_rmkx)
-		tput(tparm(set ? term->TI_smkx : term->TI_rmkx));
+		tput(tiparm(set ? term->TI_smkx : term->TI_rmkx));
 }
 
 static void term_dec_set_bracketed_paste_mode(int enable)
@@ -478,11 +478,11 @@ void terminfo_setup_colors(TERM_REC *ter
 	if (term->TI_setaf) {
 		for (i = 0; i < term->TI_colors; i++) {
 			color = i < 16 ? ansitab[i] : i;
-			term->TI_fg[i] = g_strdup(tparm(term->TI_setaf, color, 0));
+			term->TI_fg[i] = g_strdup(tiparm(term->TI_setaf, color, 0));
 		}
 	} else if (term->TI_setf) {
 		for (i = 0; i < term->TI_colors; i++)
-                        term->TI_fg[i] = g_strdup(tparm(term->TI_setf, i, 0));
+                        term->TI_fg[i] = g_strdup(tiparm(term->TI_setf, i, 0));
 	} else if (force) {
 		for (i = 0; i < 8; i++)
                         term->TI_fg[i] = g_strdup_printf("\033[%dm", 30+ansitab[i]);
@@ -491,11 +491,11 @@ void terminfo_setup_colors(TERM_REC *ter
 	if (term->TI_setab) {
 		for (i = 0; i < term->TI_colors; i++) {
 			color = i < 16 ? ansitab[i] : i;
-			term->TI_bg[i] = g_strdup(tparm(term->TI_setab, color, 0));
+			term->TI_bg[i] = g_strdup(tiparm(term->TI_setab, color, 0));
 		}
 	} else if (term->TI_setb) {
 		for (i = 0; i < term->TI_colors; i++)
-                        term->TI_bg[i] = g_strdup(tparm(term->TI_setb, i, 0));
+                        term->TI_bg[i] = g_strdup(tiparm(term->TI_setb, i, 0));
 	} else if (force) {
 		for (i = 0; i < 8; i++)
                         term->TI_bg[i] = g_strdup_printf("\033[%dm", 40+ansitab[i]);
@@ -539,7 +539,7 @@ static void terminfo_input_deinit(TERM_R
 void terminfo_cont(TERM_REC *term)
 {
 	if (term->TI_smcup)
-		tput(tparm(term->TI_smcup));
+		tput(tiparm(term->TI_smcup));
 
 	if (term->appkey_enabled)
 		terminfo_set_appkey_mode(term, TRUE);
@@ -562,7 +562,7 @@ void terminfo_stop(TERM_REC *term)
 
 	/* stop cup-mode */
 	if (term->TI_rmcup)
-		tput(tparm(term->TI_rmcup));
+		tput(tiparm(term->TI_rmcup));
 
 	if (term->appkey_enabled)
 		terminfo_set_appkey_mode(term, FALSE);