1 /* SPDX-License-Identifier: LGPL-2.1-or-later */ 2 #pragma once 3 4 #if !ENABLE_DNS_OVER_TLS || !DNS_OVER_TLS_USE_GNUTLS 5 #error This source file requires DNS-over-TLS to be enabled and GnuTLS to be available. 6 #endif 7 8 #include <gnutls/gnutls.h> 9 #include <stdbool.h> 10 11 struct DnsTlsManagerData { 12 gnutls_certificate_credentials_t cert_cred; 13 }; 14 15 struct DnsTlsServerData { 16 gnutls_datum_t session_data; 17 }; 18 19 struct DnsTlsStreamData { 20 gnutls_session_t session; 21 gnutls_typed_vdata_st validation; 22 int handshake; 23 bool shutdown; 24 }; 25