Move openssl/ssl.h dependency out of the way

The src/core/ddsi/tests/locators.c test directly includes the header
files related to DDSI support for TCP and this pulled in openssl/ssl.h,
which in turn results in a build error in some environments because the
file can't be found.

There was no good reason why this dependency existed, the definitions
that relied on it were used only in the implementation of the TCP and
TLS support.

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2020-07-02 18:02:39 +02:00 committed by eboasson
parent 94c7965077
commit e005c89240
3 changed files with 15 additions and 29 deletions

View file

@ -24,7 +24,19 @@
extern "C" { extern "C" {
#endif #endif
struct ddsi_ssl_plugins; struct ddsi_ssl_plugins
{
bool (*init) (struct ddsi_domaingv *gv);
void (*fini) (void);
void (*ssl_free) (SSL *ssl);
void (*bio_vfree) (BIO *bio);
ssize_t (*read) (SSL *ssl, void *buf, size_t len, dds_return_t *err);
ssize_t (*write) (SSL *ssl, const void *msg, size_t len, dds_return_t *err);
SSL * (*connect) (const struct ddsi_domaingv *gv, ddsrt_socket_t sock);
BIO * (*listen) (ddsrt_socket_t sock);
SSL * (*accept) (const struct ddsi_domaingv *gv, BIO *bio, ddsrt_socket_t *sock);
};
void ddsi_ssl_config_plugin (struct ddsi_ssl_plugins *plugin); void ddsi_ssl_config_plugin (struct ddsi_ssl_plugins *plugin);
#if defined (__cplusplus) #if defined (__cplusplus)

View file

@ -14,38 +14,11 @@
#include "dds/ddsi/ddsi_tran.h" #include "dds/ddsi/ddsi_tran.h"
#ifdef DDSI_INCLUDE_SSL
#include "dds/ddsi/ddsi_ssl.h"
#if defined (__cplusplus) #if defined (__cplusplus)
extern "C" { extern "C" {
#endif #endif
struct ddsi_ssl_plugins DDS_EXPORT int ddsi_tcp_init (struct ddsi_domaingv *gv);
{
bool (*init) (struct ddsi_domaingv *gv);
void (*fini) (void);
void (*ssl_free) (SSL *ssl);
void (*bio_vfree) (BIO *bio);
ssize_t (*read) (SSL *ssl, void *buf, size_t len, dds_return_t *err);
ssize_t (*write) (SSL *ssl, const void *msg, size_t len, dds_return_t *err);
SSL * (*connect) (const struct ddsi_domaingv *gv, ddsrt_socket_t sock);
BIO * (*listen) (ddsrt_socket_t sock);
SSL * (*accept) (const struct ddsi_domaingv *gv, BIO *bio, ddsrt_socket_t *sock);
};
#if defined (__cplusplus)
}
#endif
#endif /* DDSI_INCLUDE_SSL */
#if defined (__cplusplus)
extern "C" {
#endif
int ddsi_tcp_init (struct ddsi_domaingv *gv);
#if defined (__cplusplus) #if defined (__cplusplus)
} }

View file

@ -25,6 +25,7 @@
#include "dds/ddsi/q_log.h" #include "dds/ddsi/q_log.h"
#include "dds/ddsi/q_entity.h" #include "dds/ddsi/q_entity.h"
#include "dds/ddsi/ddsi_domaingv.h" #include "dds/ddsi/ddsi_domaingv.h"
#include "dds/ddsi/ddsi_ssl.h"
#define INVALID_PORT (~0u) #define INVALID_PORT (~0u)