Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/misc/screen Stop chopping off most of an IPv6 address.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e590920b14f4
branches:  trunk
changeset: 436393:e590920b14f4
user:      kim <kim%pkgsrc.org@localhost>
date:      Sat Aug 01 14:10:23 2020 +0000

description:
Stop chopping off most of an IPv6 address.

diffstat:

 misc/screen/Makefile         |   4 +-
 misc/screen/distinfo         |   4 +-
 misc/screen/patches/patch-al |  67 +++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 70 insertions(+), 5 deletions(-)

diffs (114 lines):

diff -r 9b504fd2cfd2 -r e590920b14f4 misc/screen/Makefile
--- a/misc/screen/Makefile      Sat Aug 01 13:40:57 2020 +0000
+++ b/misc/screen/Makefile      Sat Aug 01 14:10:23 2020 +0000
@@ -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 -r 9b504fd2cfd2 -r e590920b14f4 misc/screen/distinfo
--- a/misc/screen/distinfo      Sat Aug 01 13:40:57 2020 +0000
+++ b/misc/screen/distinfo      Sat Aug 01 14:10:23 2020 +0000
@@ -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-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 -r 9b504fd2cfd2 -r e590920b14f4 misc/screen/patches/patch-al
--- a/misc/screen/patches/patch-al      Sat Aug 01 13:40:57 2020 +0000
+++ b/misc/screen/patches/patch-al      Sat Aug 01 14:10:23 2020 +0000
@@ -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 @@
    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';



Home | Main Index | Thread Index | Old Index