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