/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
-#include <signal.h>
#ifdef IDENTAUTH
#ifdef HAVE_IDENT_H
#endif
#endif
-#include "array.h"
#include "conn.h"
#include "conf.h"
-#include "defines.h"
#include "log.h"
#include "ng_ipaddr.h"
#include "resolve.h"
-#include "io.h"
static void Do_ResolveAddr PARAMS(( const ng_ipaddr_t *Addr, int Sock, int w_fd ));
static void Do_ResolveName PARAMS(( const char *Host, int w_fd ));
return false;
} /* Resolve_Name */
-
-#if !defined(HAVE_GETADDRINFO) || !defined(HAVE_GETNAMEINFO)
-#if !defined(WANT_IPV6) && defined(h_errno)
+#if !defined(HAVE_WORKING_GETADDRINFO) || !defined(HAVE_GETNAMEINFO)
+#ifdef h_errno
static char *
Get_Error( int H_Error )
{
assert(reslen >= NG_INET_ADDRSTRLEN);
ng_ipaddr_tostr_r(IpAddr, tmp_ip_str);
- Log_Subprocess(LOG_WARNING, "%s: Can't resolve address \"%s\": %s",
- funcname, tmp_ip_str, errmsg);
+ Log_Subprocess(LOG_WARNING, "Can't resolve address \"%s\": %s [%s].",
+ tmp_ip_str, errmsg, funcname);
strlcpy(resbuf, tmp_ip_str, reslen);
return false;
}
* @return true if lookup successful, false if domain name not found
*/
static bool
+#ifdef HAVE_WORKING_GETADDRINFO
ForwardLookup(const char *hostname, array *IpAddr, int af)
+#else
+ForwardLookup(const char *hostname, array *IpAddr, UNUSED int af)
+#endif
{
ng_ipaddr_t addr;
Log_Forgery_NoIP(const char *ip, const char *host)
{
Log_Subprocess(LOG_WARNING,
- "Possible forgery: %s resolved to %s (which has no ip address)", ip, host);
+ "Possible forgery: %s resolved to \"%s\", which has no IP address!",
+ ip, host);
}
static void
Log_Forgery_WrongIP(const char *ip, const char *host)
{
Log_Subprocess(LOG_WARNING,
- "Possible forgery: %s resolved to %s (which points to different address)", ip, host);
+ "Possible forgery: %s resolved to \"%s\", which points to a different address!",
+ ip, host);
}