summaryrefslogtreecommitdiff
path: root/misc/screen
diff options
context:
space:
mode:
authorkim <kim@pkgsrc.org>2020-08-01 14:10:23 +0000
committerkim <kim@pkgsrc.org>2020-08-01 14:10:23 +0000
commit7b25f098b8e3eb10030d7efebeb08cf325658338 (patch)
tree1219d90fd0805b64589994b4ed613ac07350137a /misc/screen
parentdc8d19d1ff3f6d8f5f49d29ae96880aa34baab77 (diff)
downloadpkgsrc-7b25f098b8e3eb10030d7efebeb08cf325658338.tar.gz
Stop chopping off most of an IPv6 address.
Diffstat (limited to 'misc/screen')
-rw-r--r--misc/screen/Makefile4
-rw-r--r--misc/screen/distinfo4
-rw-r--r--misc/screen/patches/patch-al67
3 files changed, 70 insertions, 5 deletions
diff --git a/misc/screen/Makefile b/misc/screen/Makefile
index 63ae59de1a5..e9264edaf27 100644
--- a/misc/screen/Makefile
+++ b/misc/screen/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.114 2020/03/24 06:55:34 rillig Exp $
+# $NetBSD: Makefile,v 1.115 2020/08/01 14:10:23 kim Exp $
DISTNAME= screen-4.8.0
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= misc shells
MASTER_SITES= ${MASTER_SITE_GNU:=screen/}
diff --git a/misc/screen/distinfo b/misc/screen/distinfo
index 93345d896f6..0446358e053 100644
--- a/misc/screen/distinfo
+++ b/misc/screen/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.53 2020/03/24 07:04:37 rillig Exp $
+$NetBSD: distinfo,v 1.54 2020/08/01 14:10:23 kim Exp $
SHA1 (screen-4.8.0.tar.gz) = 2328927e10e68d357bdfec7bd740726011e834e9
RMD160 (screen-4.8.0.tar.gz) = 43888fa00f708a8a9aa226e0df39abd7181b15ae
@@ -10,7 +10,7 @@ SHA1 (patch-ae) = c952a7e52df0f33c2853c348e89650009c0d8696
SHA1 (patch-ai) = edefc44e47066dc89bda22a94d417511f46f0190
SHA1 (patch-aj) = 446b07f7f418dd0c83fb5bc6246a01cc4417b03b
SHA1 (patch-ak) = 1aaf82f7fe666d86a9f4ab7d6f7222e895a17bba
-SHA1 (patch-al) = caabc33ee51922d97edac19346ad9d80fabb164b
+SHA1 (patch-al) = 1b9e74992fba751d90611126d6fa4608ec3415a3
SHA1 (patch-am) = a721e311e7dde7938de0e9546a7892bfd104ebd1
SHA1 (patch-an) = bda6c65148410a6c9a13afd8ad34f93e33731552
SHA1 (patch-ao) = a45ae3186cd9bddeb915bad890f1be5abc315dd3
diff --git a/misc/screen/patches/patch-al b/misc/screen/patches/patch-al
index 20db1510cfa..9f3ebbb7c02 100644
--- a/misc/screen/patches/patch-al
+++ b/misc/screen/patches/patch-al
@@ -1,9 +1,13 @@
-$NetBSD: patch-al,v 1.6 2016/06/20 16:04:44 ryoon Exp $
+$NetBSD: patch-al,v 1.7 2020/08/01 14:10:23 kim Exp $
Make extra calls to remove utmp entries when utmpx is used.
For non-login entries we only update utmpx, as it stores
more information, and utilities are reading both.
+Do not truncate hostnames that have two colons (:) as they
+are likely IPv6 addresses. Wrap them in brackets ([])
+unless already wrapped (e.g. from $DISPLAY).
+
--- utmp.c.orig 2016-06-19 19:41:03.000000000 +0000
+++ utmp.c
@@ -48,6 +48,12 @@ extern char *LoginName;
@@ -39,3 +43,64 @@ more information, and utilities are reading both.
if (utmpok && D_loginslot != (slot_t)0 && D_loginslot != (slot_t)-1)
{
debug1(" logging you in again (slot %#x)\n", (int)D_loginslot);
+@@ -410,7 +422,7 @@ struct win *wi;
+ struct utmp u;
+ int saved_ut;
+ #ifdef UTHOST
+- char *p;
++ char *m, *p;
+ char host[sizeof(D_loginhost) + 15];
+ #else
+ char *host = 0;
+@@ -449,12 +461,48 @@ struct win *wi;
+ * "faui45.informati"......:s.0
+ * HPUX uses host:0.0, so chop at "." and ":" (Eric Backus)
+ */
+- for (p = host; *p; p++)
+- if ((*p < '0' || *p > '9') && (*p != '.'))
++ for (m = p = host; *p; p++)
++ if (*p == ':')
+ break;
+- if (*p)
++ if (*p == ':')
++ {
++ for (m = p + 1; *m; m++)
++ {
++ if (*m == ':')
++ {
++ if (host[0] != '[')
++ {
++ strncpy(host + 1, D_loginhost, sizeof(host) - 15 -1);
++ host[0] = '[';
++ for (p = host; *p; p++)
++ ;
++ *p++ = ']';
++ break;
++ }
++ else
++ {
++ for (p = m + 1; *p; p++)
++ ;
++ }
++ }
++ }
++ }
++ else
+ {
+ for (p = host; *p; p++)
++ if ((*p < '0' || *p > '9') && (*p != '.'))
++ break;
++ }
++ if (*p)
++ {
++ p = host;
++ if (host[0] == '[')
++ {
++ for (; *p == ']'; p++)
++ ;
++ p++;
++ }
++ for (; *p; p++)
+ if (*p == '.' || (*p == ':' && p != host))
+ {
+ *p = '\0';