From: Remi Gacogne Date: Tue, 28 Mar 2017 07:48:54 +0000 (+0200) Subject: dnsdist: Add virtual dtors for DNSRule, DNSAction and DNSResponseAction X-Git-Tag: rec-4.1.0-alpha1~28^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F5497%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Add virtual dtors for DNSRule, DNSAction and DNSResponseAction --- diff --git a/pdns/dnsdist.hh b/pdns/dnsdist.hh index 1b05cb47b6..b7e1bde7da 100644 --- a/pdns/dnsdist.hh +++ b/pdns/dnsdist.hh @@ -94,6 +94,9 @@ class DNSAction public: enum class Action { Drop, Nxdomain, Refused, Spoof, Allow, HeaderModify, Pool, Delay, Truncate, None}; virtual Action operator()(DNSQuestion*, string* ruleresult) const =0; + virtual ~DNSAction() + { + } virtual string toString() const = 0; virtual std::unordered_map getStats() const { @@ -106,6 +109,9 @@ class DNSResponseAction public: enum class Action { Allow, Delay, Drop, HeaderModify, None }; virtual Action operator()(DNSResponse*, string* ruleresult) const =0; + virtual ~DNSResponseAction() + { + } virtual string toString() const = 0; }; @@ -598,6 +604,9 @@ extern std::string g_outputBuffer; // locking for this is ok, as locked by g_lua class DNSRule { public: + virtual ~DNSRule () + { + } virtual bool matches(const DNSQuestion* dq) const =0; virtual string toString() const = 0; mutable std::atomic d_matches{0}; diff --git a/pdns/dnsrulactions.hh b/pdns/dnsrulactions.hh index 4987602b40..33e1d7da72 100644 --- a/pdns/dnsrulactions.hh +++ b/pdns/dnsrulactions.hh @@ -830,7 +830,7 @@ class TeeAction : public DNSAction { public: TeeAction(const ComboAddress& ca, bool addECS=false); - ~TeeAction(); + ~TeeAction() override; DNSAction::Action operator()(DNSQuestion* dq, string* ruleresult) const override; string toString() const override; std::unordered_map getStats() const override; @@ -1115,7 +1115,7 @@ public: if(!buffered) setbuf(d_fp, 0); } - ~LogAction() + ~LogAction() override { if(d_fp) fclose(d_fp);