2020-11-09 05:23:58 +01:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2018-07-26 23:47:50 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#if !ENABLE_DNS_OVER_TLS || !DNS_OVER_TLS_USE_OPENSSL
|
|
|
|
#error This source file requires DNS-over-TLS to be enabled and OpenSSL to be available.
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <openssl/ssl.h>
|
2018-08-02 08:41:48 +02:00
|
|
|
#include <stdbool.h>
|
2018-07-26 23:47:50 +02:00
|
|
|
|
2019-06-15 22:54:41 +02:00
|
|
|
struct DnsTlsManagerData {
|
2018-07-26 23:47:50 +02:00
|
|
|
SSL_CTX *ctx;
|
2019-06-15 22:54:41 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct DnsTlsServerData {
|
2018-07-27 01:01:58 +02:00
|
|
|
SSL_SESSION *session;
|
2018-07-26 23:47:50 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct DnsTlsStreamData {
|
|
|
|
int handshake;
|
|
|
|
bool shutdown;
|
|
|
|
SSL *ssl;
|
2018-07-27 01:01:58 +02:00
|
|
|
BUF_MEM *write_buffer;
|
2019-06-15 22:05:00 +02:00
|
|
|
size_t buffer_offset;
|
2018-07-26 23:47:50 +02:00
|
|
|
};
|