#include "log.h"
#include "timeq.h"
+#if defined(HAVE_NETINET_IN_H)
+# include <netinet/in.h> /* sockaddr_in6 on some BSDs */
+#endif
+
static const char hexdigits[] = "0123456789abcdef";
struct dns_rr;
struct service_byname *byname;
unsigned int ii;
+ /* Forget old services dicts and allocate new ones. */
+ dict_delete(services_byname);
+ services_byname = dict_new();
+ dict_set_free_data(services_byname, free);
+
+ dict_delete(services_byport);
+ services_byport = dict_new();
+ dict_set_free_data(services_byport, free);
+
+ /* Load the list from the services file. */
sar_services_load_file(etc_services);
+ /* Mark well-known services as using DNS-SD SRV records. */
for (ii = 0; tcp_srvs[ii]; ++ii) {
byname = sar_service_byname(tcp_srvs[ii], 1);
byname->protos[SERVICE_TCP].srv = 1;
dict_delete(services_byport);
dict_delete(sar_nameservers);
dict_delete(sar_requests);
+ free_string_list(conf.sar_search);
+ free_string_list(conf.sar_nslist);
}
static void
sar_nameservers = dict_new();
dict_set_free_data(sar_nameservers, free);
- services_byname = dict_new();
- dict_set_free_data(services_byname, free);
-
- services_byport = dict_new();
- dict_set_free_data(services_byport, free);
-
sar_register_helper(&sar_ipv4_helper);
#if defined(AF_INET6)
sar_register_helper(&sar_ipv6_helper);