X-Git-Url: https://git.tcpdump.org/libpcap/blobdiff_plain/b70207e3d95765e2e49af4af1e79b43c4a77d02f..refs/heads/master:/sslutils.h diff --git a/sslutils.h b/sslutils.h index b2ae3194..3a36c61b 100644 --- a/sslutils.h +++ b/sslutils.h @@ -33,32 +33,39 @@ #ifndef __SSLUTILS_H__ #define __SSLUTILS_H__ -#ifdef HAVE_CONFIG_H -#include -#endif - #ifdef HAVE_OPENSSL +#include "pcap/socket.h" // for PCAP_SOCKET +// If this is OpenSSL 1.0, at least one header may trigger a -Wdocumentation +// in Clang, which should not be a problem of this header or a file that +// includes it. +#include "diag-control.h" +DIAG_OFF_DOCUMENTATION #include #include -#include "sockutils.h" +DIAG_ON_DOCUMENTATION /* - * Configuration parameters + * Utility functions */ -extern int uses_ssl; -extern char ssl_keyfile[PATH_MAX]; -extern char ssl_certfile[PATH_MAX]; -extern char ssl_rootfile[PATH_MAX]; +void ssl_set_certfile(const char *certfile); +void ssl_set_keyfile(const char *keyfile); +int ssl_init_once(int is_server, int enable_compression, char *errbuf, size_t errbuflen); +SSL *ssl_promotion(int is_server, PCAP_SOCKET s, char *errbuf, size_t errbuflen); +void ssl_finish(SSL *ssl); +int ssl_send(SSL *, char const *buffer, int size, char *errbuf, size_t errbuflen); +int ssl_recv(SSL *, char *buffer, int size, char *errbuf, size_t errbuflen); -/* - * Utility functions - */ +// The SSL parameters are used +#define _U_NOSSL_ + +#else // HAVE_OPENSSL + +// This saves us from a lot of ifdefs: +#define SSL void const -void init_ssl_or_die(int is_server); -SSL *ssl_promotion(int is_server, SOCKET s, char *errbuf, size_t errbuflen); -int ssl_send(SSL *, char const *buffer, size_t size, char *errbuf, size_t errbuflen); -int ssl_recv(SSL *, unsigned char *buffer, size_t size, char *errbuf, size_t errbuflen); +// The SSL parameters are unused +#define _U_NOSSL_ _U_ #endif // HAVE_OPENSSL