xine-lib 1.2.11
Data Structures | Macros | Functions
xine_tls.c File Reference
#include "xine_tls.h"
#include <stdlib.h>
#include <errno.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/io_helper.h>
#include "xine_tls_plugin.h"

Data Structures

struct  xine_tls
 

Macros

#define LOG_MODULE   "input_tls"
 

Functions

static tls_plugin_t_x_find_tls_plugin (xine_t *xine, tls_plugin_params_t *params)
 
static void _x_free_tls_plugin (xine_t *xine, tls_plugin_t **tls)
 
ssize_t _x_tls_write (xine_tls_t *t, const void *buf, size_t len)
 
ssize_t _x_tls_part_read (xine_tls_t *t, void *buf, size_t min, size_t max)
 
ssize_t _x_tls_read (xine_tls_t *t, void *buf, size_t len)
 
ssize_t _x_tls_read_line (xine_tls_t *t, char *buf, size_t buf_size)
 
void _x_tls_shutdown (xine_tls_t *t)
 
void _x_tls_close (xine_tls_t **pt)
 
void _x_tls_deinit (xine_tls_t **pt)
 
xine_tls_t_x_tls_init (xine_t *xine, xine_stream_t *stream, int fd)
 
xine_tls_t_x_tls_connect (xine_t *xine, xine_stream_t *stream, const char *host, int port)
 
int _x_tls_handshake (xine_tls_t *t, const char *host, int verify)
 
int _x_tls_get_verify_tls_cert (config_values_t *config)
 
int _x_tls_available (xine_t *xine)
 

Macro Definition Documentation

◆ LOG_MODULE

#define LOG_MODULE   "input_tls"

Function Documentation

◆ _x_find_tls_plugin()

static tls_plugin_t * _x_find_tls_plugin ( xine_t xine,
tls_plugin_params_t params 
)
inlinestatic

References _x_find_module(), and NULL.

Referenced by _x_tls_available(), and _x_tls_handshake().

◆ _x_free_tls_plugin()

static void _x_free_tls_plugin ( xine_t xine,
tls_plugin_t **  tls 
)
inlinestatic

◆ _x_tls_available()

int _x_tls_available ( xine_t xine)

◆ _x_tls_close()

void _x_tls_close ( xine_tls_t **  pt)

◆ _x_tls_connect()

xine_tls_t * _x_tls_connect ( xine_t xine,
xine_stream_t stream,
const char *  host,
int  port 
)

◆ _x_tls_deinit()

void _x_tls_deinit ( xine_tls_t **  pt)

◆ _x_tls_get_verify_tls_cert()

int _x_tls_get_verify_tls_cert ( config_values_t config)

References tls_get_verify_tls_cert().

Referenced by _ftp_connect().

◆ _x_tls_handshake()

int _x_tls_handshake ( xine_tls_t t,
const char *  host,
int  verify 
)

Initialize TLS

Parameters
hostHost name to check certificate against (may be NULL ex. if numeric address).
verifyverify certificate. 0 - no, 1 - yes, < 0 - fetch value from xine config.
Returns
< 0 on error.

References _x_find_tls_plugin(), xine_tls::enabled, xine_tls::fd, tls_plugin_s::handshake, LOG_MODULE, xine_tls::stream, xine_tls::tls, xine_tls::xine, tls_plugin_params_t::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by _auth_tls(), http_plugin_handshake(), and net_plugin_open().

◆ _x_tls_init()

xine_tls_t * _x_tls_init ( xine_t xine,
xine_stream_t stream,
int  fd 
)

◆ _x_tls_part_read()

ssize_t _x_tls_part_read ( xine_tls_t t,
void *  buf,
size_t  min,
size_t  max 
)

◆ _x_tls_read()

ssize_t _x_tls_read ( xine_tls_t t,
void *  buf,
size_t  len 
)

◆ _x_tls_read_line()

ssize_t _x_tls_read_line ( xine_tls_t t,
char *  buf,
size_t  buf_size 
)

◆ _x_tls_shutdown()

void _x_tls_shutdown ( xine_tls_t t)

Shutdown TLS (stop encryption).

Underlying socket remains open.

References xine_tls::enabled, tls_plugin_s::shutdown, and xine_tls::tls.

Referenced by _x_tls_close(), and _x_tls_deinit().

◆ _x_tls_write()

ssize_t _x_tls_write ( xine_tls_t t,
const void *  buf,
size_t  len 
)