projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Varnish plugin: Added SHM monitoring
[collectd.git]
/
src
/
utils_dns.c
diff --git
a/src/utils_dns.c
b/src/utils_dns.c
index
46e6018
..
2348be2
100644
(file)
--- a/
src/utils_dns.c
+++ b/
src/utils_dns.c
@@
-33,7
+33,11
@@
* Florian octo Forster <octo at verplant.org>
*/
* Florian octo Forster <octo at verplant.org>
*/
+#define _BSD_SOURCE
+
#include "collectd.h"
#include "collectd.h"
+#include "plugin.h"
+#include "common.h"
#if HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
#if HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
@@
-335,9
+339,7
@@
rfc1035NameUnpack(const char *buf, size_t sz, off_t * off, char *name, size_t ns
}
static int
}
static int
-handle_dns(const char *buf, int len,
- const struct in6_addr *s_addr,
- const struct in6_addr *d_addr)
+handle_dns(const char *buf, int len)
{
rfc1035_header_t qh;
uint16_t us;
{
rfc1035_header_t qh;
uint16_t us;
@@
-354,7
+356,6
@@
handle_dns(const char *buf, int len,
memcpy(&us, buf + 2, 2);
us = ntohs(us);
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;
qh.qr = (us >> 15) & 0x01;
qh.opcode = (us >> 11) & 0x0F;
qh.aa = (us >> 10) & 0x01;
@@
-384,7
+385,7
@@
handle_dns(const char *buf, int len,
if (0 != x)
return 0;
if ('\0' == qh.qname[0])
if (0 != x)
return 0;
if ('\0' == qh.qname[0])
- strncpy (qh.qname, ".", sizeof (qh.qname));
+ s
s
trncpy (qh.qname, ".", sizeof (qh.qname));
while ((t = strchr(qh.qname, '\n')))
*t = ' ';
while ((t = strchr(qh.qname, '\r')))
while ((t = strchr(qh.qname, '\n')))
*t = ' ';
while ((t = strchr(qh.qname, '\r')))
@@
-411,16
+412,14
@@
handle_dns(const char *buf, int len,
}
static int
}
static int
-handle_udp(const struct udphdr *udp, int len,
- const struct in6_addr *s_addr,
- const struct in6_addr *d_addr)
+handle_udp(const struct udphdr *udp, int len)
{
char buf[PCAP_SNAPLEN];
if ((ntohs (udp->UDP_DEST) != 53)
&& (ntohs (udp->UDP_SRC) != 53))
return 0;
memcpy(buf, udp + 1, len - sizeof(*udp));
{
char buf[PCAP_SNAPLEN];
if ((ntohs (udp->UDP_DEST) != 53)
&& (ntohs (udp->UDP_SRC) != 53))
return 0;
memcpy(buf, udp + 1, len - sizeof(*udp));
- if (0 == handle_dns(buf, len - sizeof(*udp)
, s_addr, d_addr
))
+ if (0 == handle_dns(buf, len - sizeof(*udp)))
return 0;
return 1;
}
return 0;
return 1;
}
@@
-491,7
+490,7
@@
handle_ipv6 (struct ip6_hdr *ipv6, int len)
return (0);
memcpy (buf, (char *) ipv6 + offset, payload_len);
return (0);
memcpy (buf, (char *) ipv6 + offset, payload_len);
- if (handle_udp ((struct udphdr *) buf, payload_len
, &s_addr, &d_addr
) == 0)
+ if (handle_udp ((struct udphdr *) buf, payload_len) == 0)
return (0);
return (1); /* Success */
return (0);
return (1); /* Success */
@@
-515,7
+514,7
@@
handle_ip(const struct ip *ip, int len)
if (IPPROTO_UDP != ip->ip_p)
return 0;
memcpy(buf, (void *) ip + offset, len - offset);
if (IPPROTO_UDP != ip->ip_p)
return 0;
memcpy(buf, (void *) ip + offset, len - offset);
- if (0 == handle_udp((struct udphdr *) buf, len - offset
, &s_addr, &d_addr
))
+ if (0 == handle_udp((struct udphdr *) buf, len - offset))
return 0;
return 1;
}
return 0;
return 1;
}
@@
-648,7
+647,7
@@
void handle_pcap(u_char *udata, const struct pcap_pkthdr *hdr, const u_char *pkt
{
int status;
{
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);
(void *) udata, (void *) hdr, (void *) pkt,
hdr->caplen);
@@
-685,7
+684,7
@@
void handle_pcap(u_char *udata, const struct pcap_pkthdr *hdr, const u_char *pkt
break;
default:
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;
pcap_datalink(pcap_obj));
status = 0;
break;
@@
-815,8
+814,7
@@
const char *qtype_str(int t)
case T_ANY: return ("ANY"); /* ... 255 */
#endif /* __BIND >= 19950621 */
default:
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 */
return (buf);
}; /* switch (t) */
/* NOTREACHED */
@@
-843,7
+841,7
@@
const char *opcode_str (int o)
return "Update";
break;
default:
return "Update";
break;
default:
- s
nprintf(buf, 30
, "Opcode%d", o);
+ s
snprintf(buf, sizeof (buf)
, "Opcode%d", o);
return buf;
}
/* NOTREACHED */
return buf;
}
/* NOTREACHED */
@@
-887,8
+885,7
@@
const char *rcode_str (int rcode)
#endif /* RFC2136 rcodes */
#endif /* __BIND >= 19950621 */
default:
#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 */
return (buf);
}
/* Never reached */