]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - pdns/dnsdistdist/dnsdist-rules.hh
dnsdist: Implement SNIRule for DoT
[thirdparty/pdns.git] / pdns / dnsdistdist / dnsdist-rules.hh
index a25d8572c058d9b63f2356e0254a5f919ab05ada..4827a6aa0274ce1096aee356b3b25f2ac8cae56c 100644 (file)
@@ -525,6 +525,24 @@ private:
 };
 #endif
 
+class SNIRule : public DNSRule
+{
+public:
+  SNIRule(const std::string& name) : d_sni(name)
+  {
+  }
+  bool matches(const DNSQuestion* dq) const override
+  {
+    return dq->sni == d_sni;
+  }
+  string toString() const override
+  {
+    return "SNI == " + d_sni;
+  }
+private:
+  std::string d_sni;
+};
+
 class SuffixMatchNodeRule : public DNSRule
 {
 public: