libvlc interface to the Transport Layer Security (TLS) plugins. More...

Functions | |
| vlc_tls_creds_t * | vlc_tls_ServerCreate (vlc_object_t *obj, const char *cert_path, const char *key_path) |
| Allocates a whole server's TLS credentials. | |
| void | vlc_tls_ServerDelete (vlc_tls_creds_t *srv) |
| Releases data allocated with vlc_tls_ServerCreate(). | |
| int | vlc_tls_ServerAddCA (vlc_tls_creds_t *srv, const char *path) |
| Adds one or more certificate authorities from a file. | |
| int | vlc_tls_ServerAddCRL (vlc_tls_creds_t *srv, const char *path) |
| Adds one or more certificate revocation list from a file. | |
| vlc_tls_t * | vlc_tls_ServerSessionCreate (vlc_tls_creds_t *srv, int fd) |
| void | vlc_tls_ServerSessionDelete (vlc_tls_t *ses) |
| int | vlc_tls_ServerSessionHandshake (vlc_tls_t *ses) |
| static int | tls_client_start (void *func, va_list ap) |
| static void | tls_client_stop (void *func, va_list ap) |
| vlc_tls_t * | vlc_tls_ClientCreate (vlc_object_t *obj, int fd, const char *hostname) |
| Allocates a client's TLS credentials and shakes hands through the network. | |
| void | vlc_tls_ClientDelete (vlc_tls_t *cl) |
| Releases data allocated with vlc_tls_ClientCreate(). | |
libvlc interface to the Transport Layer Security (TLS) plugins.
| static int tls_client_start | ( | void * | func, | |
| va_list | ap | |||
| ) | [static] |
Referenced by vlc_tls_ClientCreate().
| static void tls_client_stop | ( | void * | func, | |
| va_list | ap | |||
| ) | [static] |
Referenced by vlc_tls_ClientCreate(), and vlc_tls_ClientDelete().
| vlc_tls_t* vlc_tls_ClientCreate | ( | vlc_object_t * | obj, | |
| int | fd, | |||
| const char * | hostname | |||
| ) |
Allocates a client's TLS credentials and shakes hands through the network.
This is a blocking network operation.
| fd | stream socket through which to establish the secure communication layer. | |
| psz_hostname | Server Name Indication to pass to the server, or NULL. |
References vlc_tls::handshake, vlc_tls::module, msg_Dbg, msg_Err, tls_client_start(), tls_client_stop(), vlc_tls::u, unlikely, vlc_custom_create, vlc_module_load, vlc_module_unload(), and vlc_object_release.
| void vlc_tls_ClientDelete | ( | vlc_tls_t * | cl | ) |
Releases data allocated with vlc_tls_ClientCreate().
It is your job to close the underlying socket.
References vlc_tls::module, tls_client_stop(), vlc_tls::u, vlc_module_unload(), and vlc_object_release.
| int vlc_tls_ServerAddCA | ( | vlc_tls_creds_t * | srv, | |
| const char * | path | |||
| ) |
Adds one or more certificate authorities from a file.
References vlc_tls_creds::add_CA.
Referenced by vlc_https_HostNew().
| int vlc_tls_ServerAddCRL | ( | vlc_tls_creds_t * | srv, | |
| const char * | path | |||
| ) |
Adds one or more certificate revocation list from a file.
References vlc_tls_creds::add_CRL.
Referenced by vlc_https_HostNew().
| vlc_tls_creds_t* vlc_tls_ServerCreate | ( | vlc_object_t * | obj, | |
| const char * | cert_path, | |||
| const char * | key_path | |||
| ) |
Allocates a whole server's TLS credentials.
| cert_path | required (Unicode) path to an x509 certificate, if NULL, anonymous key exchange will be used. | |
| key_path | (UTF-8) path to the PKCS private key for the certificate, if NULL; cert_path will be used. |
References vlc_tls_creds::module, module_need, msg_Dbg, msg_Err, unlikely, var_Create, var_SetString, vlc_custom_create, vlc_object_release, and VLC_VAR_STRING.
Referenced by vlc_https_HostNew().
| void vlc_tls_ServerDelete | ( | vlc_tls_creds_t * | srv | ) |
Releases data allocated with vlc_tls_ServerCreate().
| srv | TLS server object to be destroyed, or NULL |
References vlc_tls_creds::module, module_unneed, and vlc_object_release.
Referenced by httpd_HostCreate(), httpd_HostDelete(), and vlc_https_HostNew().
| vlc_tls_t* vlc_tls_ServerSessionCreate | ( | vlc_tls_creds_t * | srv, | |
| int | fd | |||
| ) |
References vlc_tls_creds::open.
Referenced by httpd_HostThread().
| void vlc_tls_ServerSessionDelete | ( | vlc_tls_t * | ses | ) |
References vlc_tls::close, and vlc_tls::u.
Referenced by httpd_ClientClean(), and vlc_tls_ServerSessionHandshake().
| int vlc_tls_ServerSessionHandshake | ( | vlc_tls_t * | ses | ) |
References vlc_tls::handshake, and vlc_tls_ServerSessionDelete().
Referenced by httpd_ClientTlsHsIn(), httpd_ClientTlsHsOut(), and httpd_HostThread().
1.7.1