summaryrefslogtreecommitdiff
path: root/misc/screen
diff options
context:
space:
mode:
authorkim <kim@pkgsrc.org>2015-09-01 13:34:47 +0000
committerkim <kim@pkgsrc.org>2015-09-01 13:34:47 +0000
commitc0017cdd663088f9e9b77829b59ecfe8b3fc2fb7 (patch)
tree1dad50f41053f06af0721fb9b6f173f3eea277ff /misc/screen
parentfa66433124164b5b71d7e35e108f530c32ae92b0 (diff)
downloadpkgsrc-c0017cdd663088f9e9b77829b59ecfe8b3fc2fb7.tar.gz
Upgrade misc/screen to version 4.3.1 and address stack overflog bug 45713.
Ref: https://savannah.gnu.org/bugs/?45713 Changes since version 4.2.1 --------------------------- Version 4.3.1 (28/06/2015): * Fix resize bug Version 4.3.0 (13/06/2015): * Introduce Xx string escape showing the executed command of a window * Implement dead/zombie window polling, allowing for auto reconnecting * Allow setting hardstatus on first line New Commands: * 'sort' command sorting windows by title * 'bumpleft', 'bumpright' - manually move windows on window list * 'collapse' removing numbering 'gaps' between windows, by renumbering * 'windows' command now accepts arguments for use with querying
Diffstat (limited to 'misc/screen')
-rw-r--r--misc/screen/Makefile12
-rw-r--r--misc/screen/distinfo25
-rw-r--r--misc/screen/patches/patch-ai27
-rw-r--r--misc/screen/patches/patch-aj10
-rw-r--r--misc/screen/patches/patch-ak12
-rw-r--r--misc/screen/patches/patch-an4
-rw-r--r--misc/screen/patches/patch-ansi.c57
-rw-r--r--misc/screen/patches/patch-ao9
-rw-r--r--misc/screen/patches/patch-ap21
-rw-r--r--misc/screen/patches/patch-socket.c21
-rw-r--r--misc/screen/patches/patch-tty.sh16
11 files changed, 145 insertions, 69 deletions
diff --git a/misc/screen/Makefile b/misc/screen/Makefile
index 7409d89cb60..fb5dbade83f 100644
--- a/misc/screen/Makefile
+++ b/misc/screen/Makefile
@@ -1,14 +1,14 @@
-# $NetBSD: Makefile,v 1.94 2015/08/18 07:31:13 wiz Exp $
+# $NetBSD: Makefile,v 1.95 2015/09/01 13:34:47 kim Exp $
-DISTNAME= screen-4.2.1
-PKGREVISION= 2
+DISTNAME= screen-4.3.1
+#PKGREVISION= 0
CATEGORIES= misc shells
MASTER_SITES= ${MASTER_SITE_GNU:=screen/}
-MAINTAINER= kim@tac.nyc.ny.us
+MAINTAINER= kimmo@suominen.com
HOMEPAGE= http://www.gnu.org/software/screen/screen.html
COMMENT= Multi-screen window manager
-LICENSE= gnu-gpl-v2
+LICENSE= gnu-gpl-v3
# In file included from list_display.c:36:
# In file included from ./screen.h:150:
@@ -26,6 +26,8 @@ CONFIGURE_ARGS+= --with-sys-screenrc=${PKG_SYSCONFDIR}/screenrc
CONFIGURE_ARGS+= --enable-telnet
PKG_SHELL= bin/screen
+
+USE_TOOLS+= makeinfo
INFO_FILES= YES
.include "../../mk/bsd.prefs.mk"
diff --git a/misc/screen/distinfo b/misc/screen/distinfo
index 2dea6380d95..b08d3cb06fa 100644
--- a/misc/screen/distinfo
+++ b/misc/screen/distinfo
@@ -1,18 +1,19 @@
-$NetBSD: distinfo,v 1.37 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: distinfo,v 1.38 2015/09/01 13:34:47 kim Exp $
-SHA1 (screen-4.2.1.tar.gz) = 21eadf5f1d64120649f3390346253c6bc8a5103c
-RMD160 (screen-4.2.1.tar.gz) = 20ddf4a33f91e60a42a31f02aa2a30a9c5cba9b5
-Size (screen-4.2.1.tar.gz) = 1062485 bytes
+SHA1 (screen-4.3.1.tar.gz) = a524761504e28480517e338b20c852f2ab100c93
+RMD160 (screen-4.3.1.tar.gz) = 9de183f86e36b211d56c35e58598728f332faec9
+Size (screen-4.3.1.tar.gz) = 845958 bytes
SHA1 (patch-aa) = 39c6fa5bda62b2891cecf4a5e9598b179ea8b4dc
SHA1 (patch-ab) = 40911979a540645db2a17861328292add22898d3
SHA1 (patch-ae) = 8792f7877c0a29701d7d0643e93360813ed7db0f
-SHA1 (patch-ai) = a6aafe822d7222398494e5733106b3d78c5836fc
-SHA1 (patch-aj) = 00cf67ceedb8ab48a554c9b5ce855ae5d7fd7474
-SHA1 (patch-ak) = 8e54df7a6bd648e60f2b6cfd6f01ed34040f1932
+SHA1 (patch-ai) = db9f23d31763e44d788af3a44e4ae91b84c87deb
+SHA1 (patch-aj) = e9996135629085c44867b9264648b2b507e91f98
+SHA1 (patch-ak) = 31982e692cabf25be31bd1758fe1aeb1a4787629
SHA1 (patch-al) = f49e179dd814c826e283949c40497067e56398c4
SHA1 (patch-am) = a721e311e7dde7938de0e9546a7892bfd104ebd1
-SHA1 (patch-an) = 98cbcbff81af04a171348e851a393b74d9be5e19
-SHA1 (patch-ao) = d234091ca54162b47017bf690af5fb86a8d6ba08
-SHA1 (patch-ap) = 80ea5287e4e74962c37b0b9bc6983179eed705ac
-SHA1 (patch-socket.c) = b82504e75afa7a18f3335692848794a65f3b242f
-SHA1 (patch-tty.sh) = f93a3e2063df25c2610c6e84a623f3dc2046761b
+SHA1 (patch-an) = bda6c65148410a6c9a13afd8ad34f93e33731552
+SHA1 (patch-ansi.c) = 4dc3d46b99f99257e341099781a3eda680c6d1c3
+SHA1 (patch-ao) = 56fc8cb9939149a49f920a0ae3f9a61701808c82
+SHA1 (patch-ap) = 821f11201b640464b3590c2571da96b250a397ac
+SHA1 (patch-socket.c) = 09683cee3685a5c6d625e86aa97f6a09f4280b56
+SHA1 (patch-tty.sh) = 9acdedeb1e2bf3919e29cb353c4e714cb61d8386
diff --git a/misc/screen/patches/patch-ai b/misc/screen/patches/patch-ai
index 34bb7d5f56f..f81804b7caf 100644
--- a/misc/screen/patches/patch-ai
+++ b/misc/screen/patches/patch-ai
@@ -1,9 +1,9 @@
-$NetBSD: patch-ai,v 1.5 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: patch-ai,v 1.6 2015/09/01 13:34:47 kim Exp $
This glues in the code from patch-am (see also path-al and patch-an).
---- os.h.orig 2014-04-26 10:58:35.000000000 +0000
-+++ os.h
+--- os.h.orig 2015-06-28 21:22:56.000000000 +0000
++++ os.h 2015-09-01 12:37:29.000000000 +0000
@@ -71,9 +71,6 @@
# undef exit
#endif /* sun */
@@ -14,24 +14,23 @@ This glues in the code from patch-am (see also path-al and patch-an).
#ifndef HAVE_STRERROR
/* No macros, please */
#undef strerror
-@@ -250,9 +247,18 @@ extern int errno;
+@@ -250,10 +247,17 @@
#endif
#if defined(UTMPOK) || defined(BUGGYGETLOGIN)
--# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux)
-+# if (defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux)) \
+-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux)
++# if (defined(SVR4) && !defined(DGUX) && !defined(__hpux)) \
+ || (defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 106050000)) \
+ || (defined(__DragonFly__) && (__DragonFly_version >= 200902))
# include <utmpx.h>
--# define UTMPFILE UTMPX_FILE
-+# if defined(__NetBSD__)
+-# ifdef UTMPX_FILE /* GNU extension */
++# if defined(UTMPX_FILE) /* GNU extension */
+ # define UTMPFILE UTMPX_FILE
++# elif defined(_PATH_UTMPX)
+# define UTMPFILE _PATH_UTMPX
-+# define NetBSD_UTMP
-+# elif defined(__DragonFly__)
-+# define UTMPFILE _PATH_UTMPX
-+# else
-+# define UTMPFILE UTMPX_FILE
+# endif
++# if defined(__NetBSD__)
++# define NetBSD_UTMP
+ # endif
# define utmp utmpx
# define getutent getutxent
- # define getutid getutxid
diff --git a/misc/screen/patches/patch-aj b/misc/screen/patches/patch-aj
index 6f015c2b510..728d1b7610f 100644
--- a/misc/screen/patches/patch-aj
+++ b/misc/screen/patches/patch-aj
@@ -1,13 +1,13 @@
-$NetBSD: patch-aj,v 1.8 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: patch-aj,v 1.9 2015/09/01 13:34:47 kim Exp $
Include curses header when testing tgetent in order to prevent
crash on 64-bit architectures.
Detect getutent correctly on NetBSD with utmpx.
---- configure.in.orig 2014-04-26 10:58:35.000000000 +0000
-+++ configure.in
-@@ -686,6 +686,8 @@ AC_TRY_LINK(,tgetent((char *)0, (char *)
+--- configure.ac.orig 2015-06-28 21:22:55.000000000 +0000
++++ configure.ac 2015-09-01 12:49:26.000000000 +0000
+@@ -687,6 +687,8 @@
AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
AC_TRY_RUN([
@@ -16,7 +16,7 @@ Detect getutent correctly on NetBSD with utmpx.
main()
{
exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
-@@ -837,9 +839,16 @@ AC_CHECKING(getutent)
+@@ -838,9 +840,16 @@
AC_TRY_LINK([
#include <time.h> /* to get time_t on SCO */
#include <sys/types.h>
diff --git a/misc/screen/patches/patch-ak b/misc/screen/patches/patch-ak
index 311fbdbce79..8a71b401165 100644
--- a/misc/screen/patches/patch-ak
+++ b/misc/screen/patches/patch-ak
@@ -1,15 +1,15 @@
-$NetBSD: patch-ak,v 1.7 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: patch-ak,v 1.8 2015/09/01 13:34:47 kim Exp $
-Patch configure after configure.in (see patch-aj).
+Patch configure after configure.ac (see patch-aj).
Include curses header when testing tgetent in order to prevent
crash on 64-bit architectures.
Detect getutent correctly on NetBSD with utmpx.
---- configure.orig 2014-04-26 10:58:46.000000000 +0000
-+++ configure
-@@ -5017,6 +5017,8 @@ else
+--- configure.orig 2015-06-28 21:42:40.000000000 +0000
++++ configure 2015-09-01 13:12:22.000000000 +0000
+@@ -5018,6 +5018,8 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -18,7 +18,7 @@ Detect getutent correctly on NetBSD with utmpx.
main()
{
exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
-@@ -5413,9 +5415,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
+@@ -5414,9 +5416,16 @@
#include <time.h> /* to get time_t on SCO */
#include <sys/types.h>
diff --git a/misc/screen/patches/patch-an b/misc/screen/patches/patch-an
index aa120587850..648cc447528 100644
--- a/misc/screen/patches/patch-an
+++ b/misc/screen/patches/patch-an
@@ -1,8 +1,8 @@
-$NetBSD: patch-an,v 1.5 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: patch-an,v 1.6 2015/09/01 13:34:47 kim Exp $
Remove GNU Make conditional. @ETCSCREENRC@ appears to get
replaced always. If it doesn't in some cases, please fix
-configure.in instead (and regen patch for configure as well).
+configure.ac instead (and regen patch for configure as well).
Add utmp-netbsd.c (created in patch-am) and utmp-netbsd.o.
Setting the setuid bit is handled by the package Makefile.
diff --git a/misc/screen/patches/patch-ansi.c b/misc/screen/patches/patch-ansi.c
new file mode 100644
index 00000000000..44ca07729b6
--- /dev/null
+++ b/misc/screen/patches/patch-ansi.c
@@ -0,0 +1,57 @@
+$NetBSD: patch-ansi.c,v 1.1 2015/09/01 13:34:47 kim Exp $
+
+Fix for bug 45713, adapted from this master branch commit:
+http://git.savannah.gnu.org/cgit/screen.git/patch/?id=c336a32a1dcd445e6b83827f83531d4c6414e2cd
+
+From c336a32a1dcd445e6b83827f83531d4c6414e2cd Mon Sep 17 00:00:00 2001
+From: Kuang-che Wu <kcwu@csie.org>
+Date: Mon, 31 Aug 2015 17:49:57 +0000
+Subject: Fix stack overflow due to too deep recursion
+
+Bug: 45713
+
+How to reproduce:
+Run this command inside screen
+$ printf '\x1b[10000000T'
+
+screen will recursively call MScrollV to depth n/256.
+This is time consuming and will overflow stack if n is huge.
+
+--- ansi.c.orig 2015-06-28 21:22:55.000000000 +0000
++++ ansi.c 2015-09-01 13:02:33.000000000 +0000
+@@ -2502,13 +2502,13 @@
+ return;
+ if (n > 0)
+ {
++ if (ye - ys + 1 < n)
++ n = ye - ys + 1;
+ if (n > 256)
+ {
+ MScrollV(p, n - 256, ys, ye, bce);
+ n = 256;
+ }
+- if (ye - ys + 1 < n)
+- n = ye - ys + 1;
+ #ifdef COPY_PASTE
+ if (compacthist)
+ {
+@@ -2562,14 +2562,14 @@
+ }
+ else
+ {
+- if (n < -256)
+- {
+- MScrollV(p, n + 256, ys, ye, bce);
+- n = -256;
+- }
+ n = -n;
+ if (ye - ys + 1 < n)
+ n = ye - ys + 1;
++ if (n > 256)
++ {
++ MScrollV(p, - (n - 256), ys, ye, bce);
++ n = 256;
++ }
+
+ ml = p->w_mlines + ye;
+ /* Clear lines */
diff --git a/misc/screen/patches/patch-ao b/misc/screen/patches/patch-ao
index 15b7d3be71e..b8ae9f9c852 100644
--- a/misc/screen/patches/patch-ao
+++ b/misc/screen/patches/patch-ao
@@ -1,7 +1,14 @@
-$NetBSD: patch-ao,v 1.4 2015/09/01 12:16:31 kim Exp $
+$NetBSD: patch-ao,v 1.5 2015/09/01 13:34:47 kim Exp $
Replace configurable paths with tags.
+BE CAREFUL IF YOU WANT TO REGENERATE THIS PATCH!
+YOU MUST RUN DIFF BEFORE SUBSTITUTIONS!
+
+% make clean && make extract && make pre-patch && make do-patch
+
+RUNNING "make patch" TAKES YOU TOO FAR.
+
--- etc/etcscreenrc.orig Sun Apr 29 01:25:34 2001
+++ etc/etcscreenrc
@@ -1,6 +1,6 @@
diff --git a/misc/screen/patches/patch-ap b/misc/screen/patches/patch-ap
index 93d7fe17b60..9ac89721254 100644
--- a/misc/screen/patches/patch-ap
+++ b/misc/screen/patches/patch-ap
@@ -1,10 +1,17 @@
-$NetBSD: patch-ap,v 1.5 2015/09/01 12:18:55 kim Exp $
+$NetBSD: patch-ap,v 1.6 2015/09/01 13:34:47 kim Exp $
Replace configurable paths with tags.
---- doc/screen.1.orig 2014-04-27 22:10:01.000000000 +0000
-+++ doc/screen.1 2014-08-25 18:42:29.000000000 +0000
-@@ -625,7 +625,7 @@
+BE CAREFUL IF YOU WANT TO REGENERATE THIS PATCH!
+YOU MUST RUN DIFF BEFORE SUBSTITUTIONS!
+
+% make clean && make extract && make pre-patch && make do-patch
+
+RUNNING "make patch" TAKES YOU TOO FAR.
+
+--- doc/screen.1.orig 2015-06-28 21:39:33.000000000 +0000
++++ doc/screen.1 2015-09-01 13:12:22.000000000 +0000
+@@ -636,7 +636,7 @@
.SH CUSTOMIZATION
The \*Qsocket directory\*U defaults either to $HOME/.screen or simply to
@@ -13,7 +20,7 @@ Replace configurable paths with tags.
.I screen
is installed setuid-root, then the administrator
should compile
-@@ -638,7 +638,7 @@
+@@ -649,7 +649,7 @@
When
.I screen
is invoked, it executes initialization commands from the files
@@ -22,7 +29,7 @@ Replace configurable paths with tags.
\*Q.screenrc\*U in the user's home directory. These are the \*Qprogrammer's
defaults\*U that can be overridden in the following ways: for the
global screenrc file
-@@ -668,7 +668,7 @@
+@@ -679,7 +679,7 @@
protected from variable substitution.
.PP
Two configuration files are shipped as examples with your screen distribution:
@@ -31,7 +38,7 @@ Replace configurable paths with tags.
useful examples for various commands.
.PP
Customization can also be done 'on-line'. To enter the command mode type
-@@ -4857,14 +4857,14 @@
+@@ -4903,14 +4903,14 @@
.I screen
distribution package for private and global initialization files.
.IP $SYSSCREENRC
diff --git a/misc/screen/patches/patch-socket.c b/misc/screen/patches/patch-socket.c
index c4d6aefafed..557e82db44a 100644
--- a/misc/screen/patches/patch-socket.c
+++ b/misc/screen/patches/patch-socket.c
@@ -1,12 +1,15 @@
-$NetBSD: patch-socket.c,v 1.1 2015/02/13 04:44:40 rodent Exp $
+$NetBSD: patch-socket.c,v 1.2 2015/09/01 13:34:47 kim Exp $
---- socket.c.orig 2014-04-26 16:22:43.000000000 +0000
-+++ socket.c
-@@ -30,6 +30,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
+--- socket.c.orig 2015-06-28 21:22:56.000000000 +0000
++++ socket.c 2015-09-01 12:42:34.000000000 +0000
+@@ -32,9 +32,7 @@
#include <fcntl.h>
-+#include <sys/uio.h>
#if !defined(NAMEDPIPE)
- #include <sys/socket.h>
- #include <sys/un.h>
+ # include <sys/socket.h>
+-# ifdef _OpenBSD_
+-# include <sys/uio.h>
+-# endif
++# include <sys/uio.h>
+ # include <sys/un.h>
+ #endif
+
diff --git a/misc/screen/patches/patch-tty.sh b/misc/screen/patches/patch-tty.sh
index 9d9e5511782..8ab049d911a 100644
--- a/misc/screen/patches/patch-tty.sh
+++ b/misc/screen/patches/patch-tty.sh
@@ -1,23 +1,23 @@
-$NetBSD: patch-tty.sh,v 1.1 2015/01/13 08:27:28 he Exp $
+$NetBSD: patch-tty.sh,v 1.2 2015/09/01 13:34:47 kim Exp $
Change condition for using TIOCSCTTY.
NetBSD on the netbsd-5 branch insists on a non-NULL second argument
to the realpath() function. Make it so.
---- tty.sh.orig 2014-04-26 16:29:40.000000000 +0000
-+++ tty.sh
-@@ -812,7 +812,8 @@ int fd;
+--- tty.sh.orig 2015-06-28 21:22:56.000000000 +0000
++++ tty.sh 2015-09-01 12:46:28.000000000 +0000
+@@ -812,7 +812,8 @@
/*
* Under BSD we have to set the controlling terminal again explicitly.
*/
--# if (defined(__FreeBSD_kernel__) || defined(__GNU__)) && defined(TIOCSCTTY)
-+# if (defined(__FreeBSD_kernel__) || defined(__GNU__) || (BSD >= 199103)) \
-+ && defined(TIOCSCTTY)
+-# if (defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__GNU__)) && defined(TIOCSCTTY)
++# if (defined(__FreeBSD_kernel__) || defined(__DragonFly__) \
++ || defined(__GNU__) || (BSD >= 199103)) && defined(TIOCSCTTY)
ioctl(fd, TIOCSCTTY, (char *)0);
# endif
-@@ -1508,8 +1509,10 @@ char *tty;
+@@ -1508,8 +1509,10 @@
struct stat st;
char * real;
int rc;