Skip to content
Snippets Groups Projects
Commit ecd3a2a6 authored by Radko Krkoš's avatar Radko Krkoš
Browse files

pdns_exporter: Convert to C++

parent 1c27a149
No related branches found
No related tags found
No related merge requests found
ACLOCAL_AMFLAGS = -I m4
bin_PROGRAMS=pdns_exporter
pdns_exporter_SOURCES=pdns_exporter.c fields.c fields.h
pdns_exporter_SOURCES=pdns_exporter.cpp fields.c fields.h
pdns_exporter_LDADD=-lunirec -ltrap
include ./aminclude.am
This diff is collapsed.
This diff is collapsed.
......@@ -4,3 +4,5 @@ fields.h fields.c:
$(UNIRECPROC) -i ./ -o ./
CLEANFILES = fields.c fields.h
MAINTAINERCLEANFILES = aclocal.m4 configure depcomp install-sh missing Makefile.in
......@@ -3,7 +3,7 @@
AC_PREREQ([2.63])
AC_INIT([pdns_exporter], [0.0.1], [krkos@cesnet.cz])
AC_CONFIG_SRCDIR([pdns_exporter.c])
AC_CONFIG_SRCDIR([pdns_exporter.cpp])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects])
......@@ -15,6 +15,7 @@ AX_NEMEACOMMON_CHECK
# Checks for programs.
AC_PROG_CC
AC_PROG_CXX
# Checks for libraries.
TRAPLIB=""
......
......@@ -47,6 +47,7 @@
#include <stdint.h>
#include <time.h>
#include <list>
UR_FIELDS (
string DNS_NAME,
......@@ -65,10 +66,18 @@ trap_module_info_t *module_info = NULL;
static int stop = 0;
struct dns_rec{
int id;
};
std::list<dns_rec> dns_history;
// Function to handle SIGTERM and SIGINT signals (used to stop the module)
TRAP_DEFAULT_SIGNAL_HANDLER(stop = 1)
char* dnsQTYPE2txt(unsigned int QTYPE) {
const char* dnsQTYPE2txt(unsigned int QTYPE) {
switch(QTYPE) {
case 1:
return "A";
......@@ -127,7 +136,7 @@ char* dnsQTYPE2txt(unsigned int QTYPE) {
}
}
char* dnsCLASS2txt(unsigned int CLASS) {
const char* dnsCLASS2txt(unsigned int CLASS) {
switch(CLASS) {
case 1:
return "IN";
......@@ -179,8 +188,8 @@ int main(int argc, char **argv) {
// PROCESS THE DATA
char *rname = ur_get_var_as_str(in_tmplt, in_rec, F_DNS_NAME);
char *rdata = ur_get_var_as_str(in_tmplt, in_rec, F_DNS_RDATA);
char *rrtype = dnsQTYPE2txt(ur_get(in_tmplt, in_rec, F_DNS_QTYPE));
char *rrclass = dnsCLASS2txt(ur_get(in_tmplt, in_rec, F_DNS_CLASS));
const char *rrtype = dnsQTYPE2txt(ur_get(in_tmplt, in_rec, F_DNS_QTYPE));
const char *rrclass = dnsCLASS2txt(ur_get(in_tmplt, in_rec, F_DNS_CLASS));
time_t timestamp = ur_time_get_sec(ur_get(in_tmplt, in_rec, F_TIME_LAST));
unsigned int msecs = ur_time_get_msec(ur_get(in_tmplt, in_rec, F_TIME_LAST));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment