diff options
author | kim <kim@pkgsrc.org> | 2020-08-01 14:10:23 +0000 |
---|---|---|
committer | kim <kim@pkgsrc.org> | 2020-08-01 14:10:23 +0000 |
commit | 7b25f098b8e3eb10030d7efebeb08cf325658338 (patch) | |
tree | 1219d90fd0805b64589994b4ed613ac07350137a /misc/screen | |
parent | dc8d19d1ff3f6d8f5f49d29ae96880aa34baab77 (diff) | |
download | pkgsrc-7b25f098b8e3eb10030d7efebeb08cf325658338.tar.gz |
Stop chopping off most of an IPv6 address.
Diffstat (limited to 'misc/screen')
-rw-r--r-- | misc/screen/Makefile | 4 | ||||
-rw-r--r-- | misc/screen/distinfo | 4 | ||||
-rw-r--r-- | misc/screen/patches/patch-al | 67 |
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'; |