X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdns.c;h=3de7c34a89de73986e3b4d2fd36550a102e3da1e;hb=bf90793e82989b1c36fe8f3b66b9c9fe05c9532d;hp=c315eab960578f75df75476465726b387e9adf47;hpb=430b0b4d0275f7fea64376fc166e81fc0bcc36bf;p=collectd.git diff --git a/src/dns.c b/src/dns.c index c315eab9..3de7c34a 100644 --- a/src/dns.c +++ b/src/dns.c @@ -19,6 +19,8 @@ * Florian octo Forster **/ +#define _BSD_SOURCE + #include "collectd.h" #include "common.h" #include "plugin.h" @@ -195,7 +197,7 @@ static void dns_child_callback (const rfc1035_header_t *dns) pthread_mutex_unlock (&opcode_mutex); } -static void *dns_child_loop (void *dummy) +static void *dns_child_loop (void __attribute__((unused)) *dummy) { pcap_t *pcap_obj; char pcap_error[PCAP_ERRBUF_SIZE]; @@ -211,8 +213,8 @@ static void *dns_child_loop (void *dummy) } /* Passing `pcap_device == NULL' is okay and the same as passign "any" */ - DEBUG ("Creating PCAP object.."); - pcap_obj = pcap_open_live (pcap_device, + DEBUG ("dns plugin: Creating PCAP object.."); + pcap_obj = pcap_open_live ((pcap_device != NULL) ? pcap_device : "any", PCAP_SNAPLEN, 0 /* Not promiscuous */, interval_g, @@ -298,9 +300,8 @@ static void submit_counter (const char *type, const char *type_instance, vl.values = values; vl.values_len = 1; - vl.time = time (NULL); - strcpy (vl.host, hostname_g); - strcpy (vl.plugin, "dns"); + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "dns", sizeof (vl.plugin)); sstrncpy (vl.type, type, sizeof (vl.type)); sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance)); @@ -317,10 +318,9 @@ static void submit_octets (counter_t queries, counter_t responses) vl.values = values; vl.values_len = 2; - vl.time = time (NULL); - strcpy (vl.host, hostname_g); - strcpy (vl.plugin, "dns"); - strcpy (vl.type, "dns_octets"); + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "dns", sizeof (vl.plugin)); + sstrncpy (vl.type, "dns_octets", sizeof (vl.type)); plugin_dispatch_values (&vl); } /* void submit_counter */