Date: Thu, 3 Jul 2003 15:40:20 -0700 (PDT) From: Matthew George <mdg@secureworks.net> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/53560: logging domain names in wtmp is retarded Message-ID: <200307032240.h63MeKPe011751@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR bin/53560; it has been noted by GNATS.
From: Matthew George <mdg@secureworks.net>
To: freebsd-gnats-submit@freebsd.org, muir@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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307032240.h63MeKPe011751>
