#include "ircd_defs.h"
#include "common.h"
#include "ircd.h"
-#include "commio.h"
#include "res.h"
#include "reslib.h"
-#include "tools.h"
-#include "event.h"
#include "irc_string.h"
#include "sprintf_irc.h"
#define NS_TYPE_ELT 0x40 /* EDNS0 extended label type */
#define DNS_LABELTYPE_BITSTRING 0x41
-#define MAXLINE 128
+#define DNS_MAXLINE 128
/* $Id: reslib.c 1695 2006-06-27 15:11:23Z jilles $ */
/* from Hybrid Id: reslib.c 177 2005-10-22 09:05:05Z michael $ */
-struct irc_sockaddr_storage irc_nsaddr_list[IRCD_MAXNS];
+struct rb_sockaddr_storage irc_nsaddr_list[IRCD_MAXNS];
int irc_nscount = 0;
char irc_domain[HOSTLEN + 1];
irc_res_init(void)
{
irc_nscount = 0;
- return parse_resvconf();
+ parse_resvconf();
+ if (irc_nscount == 0)
+ add_nameserver("127.0.0.1");
+ return 0;
}
/* parse_resvconf()
char *p;
char *opt;
char *arg;
- char input[MAXLINE];
+ char input[DNS_MAXLINE];
FILE *file;
/* XXX "/etc/resolv.conf" should be from a define in setup.h perhaps
return;
memcpy(&irc_nsaddr_list[irc_nscount], res->ai_addr, res->ai_addrlen);
- SET_SS_LEN(irc_nsaddr_list[irc_nscount], res->ai_addrlen);
+ SET_SS_LEN(&irc_nsaddr_list[irc_nscount], res->ai_addrlen);
irc_nscount++;
freeaddrinfo(res);
}