bin/53560: logging domain names in wtmp is retarded

Matthew George mdg at secureworks.net
Thu Jul 3 15:40:21 PDT 2003


The following reply was made to PR bin/53560; it has been noted by GNATS.

From: Matthew George <mdg at secureworks.net>
To: freebsd-gnats-submit at freebsd.org, muir at idiom.com
Cc:  
Subject: Re: bin/53560: logging domain names in wtmp is retarded
Date: Thu, 3 Jul 2003 18:37:54 -0400 (EDT)

 My apologies, the last patch I sent was slightly braindead, as I was only
 considering the IPv4 case.  This patch should be used instead, as it will
 deal with any address family.  If the resolved address is longer than 16
 bytes, it will still be truncated by lastlog/utmp, but any IPv4 address
 should fit.  Perhaps someone should consider raising UT_HOSTSIZE in
 utmp.h to handle this?  IPv6 is already one of these cases, others I'm
 sure.
 
 ===================================================================
 RCS file: /home/ncvs/src/lib/libpam/modules/pam_lastlog/pam_lastlog.c,v
 retrieving revision 1.18
 diff -r1.18 pam_lastlog.c
 59a60
 > #include <netdb.h>
 66a68,69
 > #include <arpa/inet.h>
 >
 73a77
 >       struct addrinfo *ai;
 75a80
 >       char *numeric_rhost;
 133,134c138,151
 <               /* note: does not need to be NUL-terminated */
 <               strncpy(ll.ll_host, rhost, sizeof(ll.ll_host));
 ---
 >         {
 >           if (strlen(rhost) >= UT_HOSTSIZE && getaddrinfo(rhost, NULL, NULL, &ai) == 0)
 >             {
 >               numeric_rhost = addr2ascii(ai->ai_family, ai->ai_addr, ai->ai_addrlen, NULL);
 >               if (numeric_rhost != NULL)
 >                 rhost = numeric_rhost;
 >
 >               freeaddrinfo(ai);
 >             }
 >
 >           /* note: does not need to be NUL-terminated */
 >           strncpy(ll.ll_host, rhost, sizeof(ll.ll_host));
 >         }
 >
 
 
 -- 
 Matthew George
 SecureWorks Technical Operations


More information about the freebsd-bugs mailing list