Merge branch 'collectd-4.4' into collectd-4.5
[collectd.git] / src / utils_dns.c
index 25ef189..c16b3c1 100644 (file)
@@ -34,6 +34,8 @@
  */
 
 #include "collectd.h"
+#include "plugin.h"
+#include "common.h"
 
 #if HAVE_NETINET_IN_SYSTM_H
 # include <netinet/in_systm.h>
@@ -354,7 +356,6 @@ handle_dns(const char *buf, int len,
 
     memcpy(&us, buf + 2, 2);
     us = ntohs(us);
-    fprintf (stderr, "Bytes 0, 1: 0x%04hx\n", us);
     qh.qr = (us >> 15) & 0x01;
     qh.opcode = (us >> 11) & 0x0F;
     qh.aa = (us >> 10) & 0x01;
@@ -384,13 +385,13 @@ handle_dns(const char *buf, int len,
     if (0 != x)
        return 0;
     if ('\0' == qh.qname[0])
-       strcpy(qh.qname, ".");
+       sstrncpy (qh.qname, ".", sizeof (qh.qname));
     while ((t = strchr(qh.qname, '\n')))
        *t = ' ';
     while ((t = strchr(qh.qname, '\r')))
        *t = ' ';
     for (t = qh.qname; *t; t++)
-       *t = tolower(*t);
+       *t = tolower((int) *t);
 
     memcpy(&us, buf + offset, 2);
     qh.qtype = ntohs(us);
@@ -648,7 +649,7 @@ void handle_pcap(u_char *udata, const struct pcap_pkthdr *hdr, const u_char *pkt
 {
     int status;
 
-    fprintf (stderr, "handle_pcap (udata = %p, hdr = %p, pkt = %p): hdr->caplen = %i\n",
+    DEBUG ("handle_pcap (udata = %p, hdr = %p, pkt = %p): hdr->caplen = %i\n",
                    (void *) udata, (void *) hdr, (void *) pkt,
                    hdr->caplen);
 
@@ -685,7 +686,7 @@ void handle_pcap(u_char *udata, const struct pcap_pkthdr *hdr, const u_char *pkt
            break;
 
        default:
-           fprintf (stderr, "unsupported data link type %d\n",
+           ERROR ("handle_pcap: unsupported data link type %d\n",
                    pcap_datalink(pcap_obj));
            status = 0;
            break;
@@ -704,7 +705,7 @@ const char *qtype_str(int t)
 {
     static char buf[32];
     switch (t) {
-#if (defined (__NAMESER)) && (__NAMESER >= 19991006)
+#if (defined (__NAMESER)) && (__NAMESER >= 19991001)
            case ns_t_a:        return ("A");
            case ns_t_ns:       return ("NS");
            case ns_t_md:       return ("MD");
@@ -746,7 +747,9 @@ const char *qtype_str(int t)
            case ns_t_dname:    return ("DNAME");
            case ns_t_sink:     return ("SINK");
            case ns_t_opt:      return ("OPT");
+# if __NAMESER >= 19991006
            case ns_t_tsig:     return ("TSIG");
+# endif
            case ns_t_ixfr:     return ("IXFR");
            case ns_t_axfr:     return ("AXFR");
            case ns_t_mailb:    return ("MAILB");
@@ -813,8 +816,7 @@ const char *qtype_str(int t)
            case T_ANY:         return ("ANY"); /* ... 255 */
 #endif /* __BIND >= 19950621 */
            default:
-                   snprintf (buf, 32, "#%i", t);
-                   buf[31] = '\0';
+                   ssnprintf (buf, sizeof (buf), "#%i", t);
                    return (buf);
     }; /* switch (t) */
     /* NOTREACHED */
@@ -841,7 +843,7 @@ const char *opcode_str (int o)
        return "Update";
        break;
     default:
-       snprintf(buf, 30, "Opcode%d", o);
+       ssnprintf(buf, sizeof (buf), "Opcode%d", o);
        return buf;
     }
     /* NOTREACHED */
@@ -885,8 +887,7 @@ const char *rcode_str (int rcode)
 #endif  /* RFC2136 rcodes */
 #endif /* __BIND >= 19950621 */
                default:
-                       snprintf (buf, 32, "RCode%i", rcode);
-                       buf[31] = '\0';
+                       ssnprintf (buf, sizeof (buf), "RCode%i", rcode);
                        return (buf);
        }
        /* Never reached */