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;