+ } else {
+ strlcpy( hostname, h->h_name, sizeof( hostname ));
+
+ h = gethostbyname( hostname );
+ if ( h ) {
+ if (memcmp(h->h_addr, &Addr->sin_addr, sizeof (struct in_addr))) {
+ addr = (struct in_addr*) h->h_addr;
+ strlcpy(ipstr, inet_ntoa(*addr), sizeof ipstr);
+ ntoaptr = inet_ntoa( Addr->sin_addr );
+ Log(LOG_WARNING,"Possible forgery: %s resolved to %s (which is at ip %s!)",
+ ntoaptr, hostname, ipstr);
+ strlcpy( hostname, ntoaptr, sizeof hostname);
+ }
+ } else {
+ ntoaptr = inet_ntoa( Addr->sin_addr );
+ Log(LOG_WARNING, "Possible forgery: %s resolved to %s (which has no ip address)",
+ ntoaptr, hostname);
+ strlcpy( hostname, ntoaptr, sizeof hostname);
+ }