*
* Copyright (c) 2007--2008 Martin Mares <mj@ucw.cz>
*
- * Can be freely distributed and used under the terms of the GNU GPL.
+ * Can be freely distributed and used under the terms of the GNU GPL v2+.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
*/
#include <string.h>
#include <stdlib.h>
+#include <stdio.h>
#include "internal.h"
#include "names.h"
#ifdef PCI_USE_DNS
+/*
+ * Our definition of BYTE_ORDER confuses arpa/nameser_compat.h on
+ * Solaris so we must undef it before including arpa/nameser.h.
+ */
+#ifdef PCI_OS_SUNOS
+#undef BYTE_ORDER
+#endif
+
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
+#include <netdb.h>
/*
* Unfortunately, there are no portable functions for DNS RR parsing,
dns_parse_packet(struct dns_state *s, byte *p, unsigned int plen)
{
byte *end = p + plen;
- unsigned int i, j, x, len;
+ unsigned int i, j, len;
+ unsigned int UNUSED x;
#if 0
/* Dump the packet */
default:
return NULL;
}
- sprintf(dnsname, "%s.%s", name, domain);
+ sprintf(dnsname, "%.100s.%.100s", name, domain);
a->debug("Resolving %s\n", dnsname);
if (!resolver_inited)
res = res_query(dnsname, ns_c_in, ns_t_txt, answer, sizeof(answer));
if (res < 0)
{
- a->debug("\tfailed, h_errno=%d\n", _res.res_h_errno);
+ a->debug("\tfailed, h_errno=%d\n", h_errno);
return NULL;
}
if (dns_parse_packet(&ds, answer, res) < 0)