On Jun 14 13:18:11, Eric Faurot wrote:
> Can you try this diff instead?
Still the same.
> Eric.
>
> Index: sockaddr.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/sockaddr.c,v
> retrieving revision 1.4
> diff -u -p -u -r1.4 sockaddr.c
> --- sockaddr.c 16 May 2011 10:57:41 -0000 1.4
> +++ sockaddr.c 14 Jun 2012 11:16:18 -0000
> @@ -114,13 +114,13 @@ sockaddr_as_fqdn(const struct sockaddr *
>
> switch (sa->sa_family) {
> case AF_INET:
> - addr = ((const struct sockaddr_in *)sa)->sin_addr.s_addr;
> + addr = ntohl(((const struct sockaddr_in *)sa)->sin_addr.s_addr);
> snprintf(dst, max,
> "%d.%d.%d.%d.in-addr.arpa.",
> - (addr >> 24) & 0xff,
> - (addr >> 16) & 0xff,
> + addr & 0xff,
> (addr >> 8) & 0xff,
> - addr & 0xff);
> + (addr >> 16) & 0xff,
> + (addr >> 24) & 0xff);
This seems to be writing the "A.B.C.D.arpa" addresses.
I don;t know the code base of smtpd, but this doesn't
seem to be relevant here ...
> break;
> case AF_INET6:
> in6_addr = &((const struct sockaddr_in6 *)sa)->sin6_addr;