From: bert hubert Date: Mon, 20 Oct 2014 14:49:20 +0000 (+0200) Subject: actually add the relevant files X-Git-Tag: rec-3.7.0-rc1~201^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=806c95f2cc970133df888fcd12e5eff4b084653d;p=thirdparty%2Fpdns.git actually add the relevant files --- diff --git a/pdns/secpoll-recursor.cc b/pdns/secpoll-recursor.cc new file mode 100644 index 0000000000..284be75910 --- /dev/null +++ b/pdns/secpoll-recursor.cc @@ -0,0 +1,50 @@ +#include "secpoll-recursor.hh" +#include "syncres.hh" +#include "logger.hh" +#include "arguments.hh" + +#ifndef PACKAGEVERSION +#define PACKAGEVERSION VERSION +#endif + +uint32_t g_security_status; +string g_security_message; + +void doSecPoll(time_t* last_secpoll) +{ + if(::arg()["security-poll-suffix"].empty()) + return; + + struct timeval now; + gettimeofday(&now, 0); + SyncRes sr(now); + + vector ret; + + int res=sr.beginResolve("recursor-" PACKAGEVERSION ".security-status."+::arg()["security-poll-suffix"], QType(QType::TXT), 1, ret); + if(!res && !ret.empty()) { + string content=ret.begin()->content; + if(!content.empty() && content[0]=='"' && content[content.size()-1]=='"') { + content=content.substr(1, content.length()-2); + } + + pair split = splitField(content, ' '); + + g_security_status = atoi(split.first.c_str()); + g_security_message = split.second; + + *last_secpoll=now.tv_sec; + } + else { + L< +#include "namespaces.hh" + +void doSecPoll(time_t* ); +extern uint32_t g_security_status; +extern std::string g_security_message; + +#endif