4 struct DOHServerConfig;
8 std::shared_ptr<DOHServerConfig> d_dsc{nullptr};
9 std::vector<std::pair<std::string, std::string>> d_certKeyPairs;
10 std::string d_ciphers;
11 std::string d_ciphers13;
12 std::string d_serverTokens{"h2o/dnsdist"};
15 uint32_t d_idleTimeout{30}; // HTTP idle timeout in seconds
16 std::vector<std::string> d_urls;
18 std::atomic<uint64_t> d_httpconnects; // number of TCP/IP connections established
19 std::atomic<uint64_t> d_http1queries; // valid DNS queries received via HTTP1
20 std::atomic<uint64_t> d_http2queries; // valid DNS queries received via HTTP2
21 std::atomic<uint64_t> d_tls10queries; // valid DNS queries received via TLSv1.0
22 std::atomic<uint64_t> d_tls11queries; // valid DNS queries received via TLSv1.1
23 std::atomic<uint64_t> d_tls12queries; // valid DNS queries received via TLSv1.2
24 std::atomic<uint64_t> d_tls13queries; // valid DNS queries received via TLSv1.3
25 std::atomic<uint64_t> d_tlsUnknownqueries; // valid DNS queries received via unknown TLS version
27 std::atomic<uint64_t> d_getqueries; // valid DNS queries received via GET
28 std::atomic<uint64_t> d_postqueries; // valid DNS queries received via POST
29 std::atomic<uint64_t> d_badrequests; // request could not be converted to dns query
30 std::atomic<uint64_t> d_errorresponses; // dnsdist set 'error' on response
31 std::atomic<uint64_t> d_validresponses; // valid responses sent out
33 #ifndef HAVE_DNS_OVER_HTTPS
38 void reloadCertificates()
43 void reloadCertificates();
44 #endif /* HAVE_DNS_OVER_HTTPS */
47 #ifndef HAVE_DNS_OVER_HTTPS
52 #else /* HAVE_DNS_OVER_HTTPS */
60 st_h2o_req_t* req{nullptr};
61 DOHUnit** self{nullptr};
65 bool ednsAdded{false};
68 #endif /* HAVE_DNS_OVER_HTTPS */