From 18b7333828a1275ae5f5574a9c8330290d8557ff Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Tue, 13 Jan 2015 12:54:45 +0100 Subject: [PATCH] recursor: limit long version strings to 63 characters and catch exceptions in secpoll --- pdns/pdns_recursor.cc | 5 ++++- pdns/secpoll-recursor.cc | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index 5cda0f0f4f..1e4a07bae7 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -1317,7 +1317,10 @@ try } if(now.tv_sec - last_secpoll >= 3600) { - doSecPoll(&last_secpoll); + try { + doSecPoll(&last_secpoll); + } + catch(...) {} } } } diff --git a/pdns/secpoll-recursor.cc b/pdns/secpoll-recursor.cc index 0c56e72df5..ffd227b7fa 100644 --- a/pdns/secpoll-recursor.cc +++ b/pdns/secpoll-recursor.cc @@ -23,7 +23,8 @@ void doSecPoll(time_t* last_secpoll) vector ret; - string query = "recursor-" +string(PACKAGEVERSION)+ ".security-status."+::arg()["security-poll-suffix"]; + string version = "recursor-" +string(PACKAGEVERSION); + string query = version.substr(0, 63)+ ".security-status."+::arg()["security-poll-suffix"]; if(*query.rbegin()!='.') query+='.'; -- 2.47.2