mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
tls: Hide backend implementation details from users
TLS is currently implemented over either OpenSSL or GnuTLS, with more backends likely to appear in the future. Currently, those backend libraries are part of the protocol names used during e.g. the configure stage of a build. Hide those details behind a generically-named declaration for the TLS protocol to avoid leaking those details into the configuration stage.
This commit is contained in:
parent
5edded9df3
commit
61cec5adaa
8
configure
vendored
8
configure
vendored
@ -2468,12 +2468,8 @@ sctp_protocol_deps="struct_sctp_event_subscribe"
|
|||||||
sctp_protocol_select="network"
|
sctp_protocol_select="network"
|
||||||
srtp_protocol_select="rtp_protocol srtp"
|
srtp_protocol_select="rtp_protocol srtp"
|
||||||
tcp_protocol_select="network"
|
tcp_protocol_select="network"
|
||||||
tls_gnutls_protocol_deps="gnutls"
|
tls_protocol_deps_any="gnutls openssl"
|
||||||
tls_gnutls_protocol_select="tcp_protocol"
|
tls_protocol_select="tcp_protocol"
|
||||||
tls_openssl_protocol_conflict="tls_gnutls_protocol"
|
|
||||||
tls_openssl_protocol_deps="openssl"
|
|
||||||
tls_openssl_protocol_select="tcp_protocol"
|
|
||||||
tls_protocol_deps_any="tls_gnutls_protocol tls_openssl_protocol"
|
|
||||||
udp_protocol_select="network"
|
udp_protocol_select="network"
|
||||||
unix_protocol_deps="sys_un_h"
|
unix_protocol_deps="sys_un_h"
|
||||||
unix_protocol_select="network"
|
unix_protocol_select="network"
|
||||||
|
@ -408,8 +408,9 @@ OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o
|
|||||||
OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o
|
OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o
|
||||||
OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o
|
OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o
|
||||||
OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o
|
OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o
|
||||||
OBJS-$(CONFIG_TLS_GNUTLS_PROTOCOL) += tls_gnutls.o tls.o
|
TLS-OBJS-$(CONFIG_GNUTLS) += tls_gnutls.o
|
||||||
OBJS-$(CONFIG_TLS_OPENSSL_PROTOCOL) += tls_openssl.o tls.o
|
TLS-OBJS-$(CONFIG_OPENSSL) += tls_openssl.o
|
||||||
|
OBJS-$(CONFIG_TLS_PROTOCOL) += tls.o $(TLS-OBJS-yes)
|
||||||
OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o
|
OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o
|
||||||
OBJS-$(CONFIG_UNIX_PROTOCOL) += unix.o
|
OBJS-$(CONFIG_UNIX_PROTOCOL) += unix.o
|
||||||
|
|
||||||
|
@ -27,22 +27,26 @@
|
|||||||
|
|
||||||
void ff_tls_init(void)
|
void ff_tls_init(void)
|
||||||
{
|
{
|
||||||
#if CONFIG_TLS_OPENSSL_PROTOCOL
|
#if CONFIG_TLS_PROTOCOL
|
||||||
|
#if CONFIG_OPENSSL
|
||||||
ff_openssl_init();
|
ff_openssl_init();
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_TLS_GNUTLS_PROTOCOL
|
#if CONFIG_GNUTLS
|
||||||
ff_gnutls_init();
|
ff_gnutls_init();
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_tls_deinit(void)
|
void ff_tls_deinit(void)
|
||||||
{
|
{
|
||||||
#if CONFIG_TLS_OPENSSL_PROTOCOL
|
#if CONFIG_TLS_PROTOCOL
|
||||||
|
#if CONFIG_OPENSSL
|
||||||
ff_openssl_deinit();
|
ff_openssl_deinit();
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_TLS_GNUTLS_PROTOCOL
|
#if CONFIG_GNUTLS
|
||||||
ff_gnutls_deinit();
|
ff_gnutls_deinit();
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_network_inited_globally;
|
int ff_network_inited_globally;
|
||||||
|
@ -48,8 +48,7 @@ extern const URLProtocol ff_rtp_protocol;
|
|||||||
extern const URLProtocol ff_sctp_protocol;
|
extern const URLProtocol ff_sctp_protocol;
|
||||||
extern const URLProtocol ff_srtp_protocol;
|
extern const URLProtocol ff_srtp_protocol;
|
||||||
extern const URLProtocol ff_tcp_protocol;
|
extern const URLProtocol ff_tcp_protocol;
|
||||||
extern const URLProtocol ff_tls_gnutls_protocol;
|
extern const URLProtocol ff_tls_protocol;
|
||||||
extern const URLProtocol ff_tls_openssl_protocol;
|
|
||||||
extern const URLProtocol ff_udp_protocol;
|
extern const URLProtocol ff_udp_protocol;
|
||||||
extern const URLProtocol ff_unix_protocol;
|
extern const URLProtocol ff_unix_protocol;
|
||||||
extern const URLProtocol ff_librtmp_protocol;
|
extern const URLProtocol ff_librtmp_protocol;
|
||||||
|
@ -26,8 +26,6 @@
|
|||||||
#include "url.h"
|
#include "url.h"
|
||||||
#include "libavutil/opt.h"
|
#include "libavutil/opt.h"
|
||||||
|
|
||||||
#define CONFIG_TLS_PROTOCOL (CONFIG_TLS_GNUTLS_PROTOCOL | CONFIG_TLS_OPENSSL_PROTOCOL)
|
|
||||||
|
|
||||||
typedef struct TLSShared {
|
typedef struct TLSShared {
|
||||||
char *ca_file;
|
char *ca_file;
|
||||||
int verify;
|
int verify;
|
||||||
|
@ -233,7 +233,7 @@ static const AVClass tls_class = {
|
|||||||
.version = LIBAVUTIL_VERSION_INT,
|
.version = LIBAVUTIL_VERSION_INT,
|
||||||
};
|
};
|
||||||
|
|
||||||
const URLProtocol ff_tls_gnutls_protocol = {
|
const URLProtocol ff_tls_protocol = {
|
||||||
.name = "tls",
|
.name = "tls",
|
||||||
.url_open2 = tls_open,
|
.url_open2 = tls_open,
|
||||||
.url_read = tls_read,
|
.url_read = tls_read,
|
||||||
|
@ -323,7 +323,7 @@ static const AVClass tls_class = {
|
|||||||
.version = LIBAVUTIL_VERSION_INT,
|
.version = LIBAVUTIL_VERSION_INT,
|
||||||
};
|
};
|
||||||
|
|
||||||
const URLProtocol ff_tls_openssl_protocol = {
|
const URLProtocol ff_tls_protocol = {
|
||||||
.name = "tls",
|
.name = "tls",
|
||||||
.url_open2 = tls_open,
|
.url_open2 = tls_open,
|
||||||
.url_read = tls_read,
|
.url_read = tls_read,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user