int ssl_sock_set_generated_cert(SSL_CTX *ctx, unsigned int key, struct bind_conf *bind_conf);
unsigned int ssl_sock_generated_cert_key(const void *data, size_t len);
+#if (OPENSSL_VERSION_NUMBER >= 0x1010000fL) && !defined(OPENSSL_NO_ASYNC)
+void ssl_async_fd_handler(int fd);
+void ssl_async_fd_free(int fd);
+#endif
/* ssl shctx macro */
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <proto/proto_udp.h>
+#ifdef USE_OPENSSL
+#include <proto/ssl_sock.h>
+#endif
#define PAYLOAD_PATTERN "<<"
(fdt.iocb == listener_accept) ? "listener_accept" :
(fdt.iocb == poller_pipe_io_handler) ? "poller_pipe_io_handler" :
(fdt.iocb == mworker_accept_wrapper) ? "mworker_accept_wrapper" :
+#ifdef USE_OPENSSL
+#if (OPENSSL_VERSION_NUMBER >= 0x1010000fL) && !defined(OPENSSL_NO_ASYNC)
+ (fdt.iocb == ssl_async_fd_free) ? "ssl_async_fd_free" :
+ (fdt.iocb == ssl_async_fd_handler) ? "ssl_async_fd_handler" :
+#endif
+#endif
"unknown");
if (fdt.iocb == conn_fd_handler) {
/*
* openssl async fd handler
*/
-static void ssl_async_fd_handler(int fd)
+void ssl_async_fd_handler(int fd)
{
struct connection *conn = fdtab[fd].owner;
/*
* openssl async delayed SSL_free handler
*/
-static void ssl_async_fd_free(int fd)
+void ssl_async_fd_free(int fd)
{
SSL *ssl = fdtab[fd].owner;
OSSL_ASYNC_FD all_fd[32];