Include dependency graph for gnutls.c:

Data Structures | |
| struct | tls_session_sys_t |
| struct | error_msg_t |
| struct | tls_client_sys_t |
| TLS client session data. More... | |
| struct | tls_server_sys_t |
| Server-side TLS. More... | |
| struct | saved_session_t |
Defines | |
| #define | CACHE_TIMEOUT 3600 |
| #define | CACHE_SIZE 64 |
| #define | CACHE_TIMEOUT_TEXT N_("Expiration time for resumed TLS sessions") |
| #define | CACHE_TIMEOUT_LONGTEXT |
| #define | CACHE_SIZE_TEXT N_("Number of resumed TLS sessions") |
| #define | CACHE_SIZE_LONGTEXT |
| #define | MAX_SESSION_ID 32 |
| TLS session resumption callbacks (server-side). | |
| #define | MAX_SESSION_DATA 1024 |
Typedefs | |
| typedef int(*) | tls_prio_func (gnutls_session_t, const int *) |
Functions | |
| static int | OpenClient (vlc_object_t *obj) |
| Initializes a client-side TLS session. | |
| static void | CloseClient (vlc_object_t *) |
| static int | OpenServer (vlc_object_t *obj) |
| Allocates a whole server's TLS credentials. | |
| static void | CloseServer (vlc_object_t *p_server) |
| Destroys a TLS server object. | |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static int | gnutls_Init (vlc_object_t *p_this) |
| Initializes GnuTLS with proper locking. | |
| static void | gnutls_Deinit (vlc_object_t *p_this) |
| Deinitializes GnuTLS. | |
| static int | gnutls_Error (vlc_object_t *obj, int val) |
| static int | gnutls_Send (void *p_session, const void *buf, int i_length) |
| Sends data through a TLS session. | |
| static int | gnutls_Recv (void *p_session, void *buf, int i_length) |
| Receives data through a TLS session. | |
| static int | gnutls_ContinueHandshake (tls_session_t *p_session) |
| Starts or continues the TLS handshake. | |
| static int | gnutls_HandshakeAndValidate (tls_session_t *session) |
| static void | gnutls_SetFD (tls_session_t *p_session, int fd) |
| Sets the operating system file descriptor backend for the TLS sesison. | |
| static int | gnutls_SetPriority (vlc_object_t *restrict obj, const char *restrict name, tls_prio_func func, gnutls_session_t session, const int *restrict values) |
| static int | gnutls_SessionPrioritize (vlc_object_t *obj, gnutls_session_t session) |
| static int | gnutls_Addx509File (vlc_object_t *p_this, gnutls_certificate_credentials_t cred, const char *psz_path, bool b_priv) |
| static int | gnutls_Addx509Directory (vlc_object_t *p_this, gnutls_certificate_credentials_t cred, const char *psz_dirname, bool b_priv) |
| static int | gnutls_Addx509File (vlc_object_t *p_this, gnutls_certificate_credentials cred, const char *psz_path, bool b_priv) |
| static int | cb_store (void *p_server, gnutls_datum key, gnutls_datum data) |
| static gnutls_datum | cb_fetch (void *p_server, gnutls_datum key) |
| static int | cb_delete (void *p_server, gnutls_datum key) |
| static void | gnutls_SessionClose (tls_server_t *p_server, tls_session_t *p_session) |
| Terminates TLS session and releases session data. | |
| static tls_session_t * | gnutls_ServerSessionPrepare (tls_server_t *p_server) |
| Initializes a server-side TLS session. | |
| static int | gnutls_ServerAddCA (tls_server_t *p_server, const char *psz_ca_path) |
| Adds one or more certificate authorities. | |
| static int | gnutls_ServerAddCRL (tls_server_t *p_server, const char *psz_crl_path) |
| Adds a certificates revocation list to be sent to TLS clients. | |
Variables | |
| static const error_msg_t | cert_errors [] |
| #define CACHE_SIZE 64 |
| #define CACHE_SIZE_LONGTEXT |
Value:
N_( \ "This is the maximum number of resumed TLS sessions that " \ "the cache will hold." )
| #define CACHE_SIZE_TEXT N_("Number of resumed TLS sessions") |
| #define CACHE_TIMEOUT 3600 |
| #define CACHE_TIMEOUT_LONGTEXT |
Value:
N_( \ "It is possible to cache the resumed TLS sessions. This is the expiration "\ "time of the sessions stored in this cache, in seconds." )
| #define CACHE_TIMEOUT_TEXT N_("Expiration time for resumed TLS sessions") |
| #define MAX_SESSION_DATA 1024 |
| #define MAX_SESSION_ID 32 |
TLS session resumption callbacks (server-side).
| typedef int(*) tls_prio_func(gnutls_session_t, const int *) |
| static int cb_delete | ( | void * | p_server, | |
| gnutls_datum | key | |||
| ) | [static] |
| static gnutls_datum cb_fetch | ( | void * | p_server, | |
| gnutls_datum | key | |||
| ) | [static] |
| static int cb_store | ( | void * | p_server, | |
| gnutls_datum | key, | |||
| gnutls_datum | data | |||
| ) | [static] |
| static void CloseClient | ( | vlc_object_t * | ) | [static] |
| static void CloseServer | ( | vlc_object_t * | ) | [static] |
Destroys a TLS server object.
| static int gnutls_Addx509Directory | ( | vlc_object_t * | p_this, | |
| gnutls_certificate_credentials_t | cred, | |||
| const char * | psz_dirname, | |||
| bool | b_priv | |||
| ) | [static] |
| static int gnutls_Addx509File | ( | vlc_object_t * | p_this, | |
| gnutls_certificate_credentials | cred, | |||
| const char * | psz_path, | |||
| bool | b_priv | |||
| ) | [static] |
| static int gnutls_Addx509File | ( | vlc_object_t * | p_this, | |
| gnutls_certificate_credentials_t | cred, | |||
| const char * | psz_path, | |||
| bool | b_priv | |||
| ) | [static] |
| static int gnutls_ContinueHandshake | ( | tls_session_t * | p_session | ) | [static] |
Starts or continues the TLS handshake.
| static void gnutls_Deinit | ( | vlc_object_t * | p_this | ) | [static] |
Deinitializes GnuTLS.
| static int gnutls_Error | ( | vlc_object_t * | obj, | |
| int | val | |||
| ) | [static] |
| static int gnutls_HandshakeAndValidate | ( | tls_session_t * | session | ) | [static] |
| static int gnutls_Init | ( | vlc_object_t * | p_this | ) | [static] |
Initializes GnuTLS with proper locking.
| static int gnutls_Recv | ( | void * | p_session, | |
| void * | buf, | |||
| int | i_length | |||
| ) | [static] |
Receives data through a TLS session.
| static int gnutls_Send | ( | void * | p_session, | |
| const void * | buf, | |||
| int | i_length | |||
| ) | [static] |
Sends data through a TLS session.
| static int gnutls_ServerAddCA | ( | tls_server_t * | p_server, | |
| const char * | psz_ca_path | |||
| ) | [static] |
Adds one or more certificate authorities.
| psz_ca_path | (Unicode) path to an x509 certificates list. |
| static int gnutls_ServerAddCRL | ( | tls_server_t * | p_server, | |
| const char * | psz_crl_path | |||
| ) | [static] |
Adds a certificates revocation list to be sent to TLS clients.
| psz_crl_path | (Unicode) path of the CRL file. |
| static tls_session_t* gnutls_ServerSessionPrepare | ( | tls_server_t * | p_server | ) | [static] |
Initializes a server-side TLS session.
| static void gnutls_SessionClose | ( | tls_server_t * | p_server, | |
| tls_session_t * | p_session | |||
| ) | [static] |
Terminates TLS session and releases session data.
You still have to close the socket yourself.
| static int gnutls_SessionPrioritize | ( | vlc_object_t * | obj, | |
| gnutls_session_t | session | |||
| ) | [static] |
| static void gnutls_SetFD | ( | tls_session_t * | p_session, | |
| int | fd | |||
| ) | [static] |
Sets the operating system file descriptor backend for the TLS sesison.
| fd | stream socket already connected with the peer. |
| static int gnutls_SetPriority | ( | vlc_object_t *restrict | obj, | |
| const char *restrict | name, | |||
| tls_prio_func | func, | |||
| gnutls_session_t | session, | |||
| const int *restrict | values | |||
| ) | [static] |
| static int OpenClient | ( | vlc_object_t * | ) | [static] |
Initializes a client-side TLS session.
| static int OpenServer | ( | vlc_object_t * | ) | [static] |
Allocates a whole server's TLS credentials.
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const error_msg_t cert_errors[] [static] |
Initial value:
{
{ GNUTLS_CERT_INVALID,
"Certificate could not be verified" },
{ GNUTLS_CERT_REVOKED,
"Certificate was revoked" },
{ GNUTLS_CERT_SIGNER_NOT_FOUND,
"Certificate's signer was not found" },
{ GNUTLS_CERT_SIGNER_NOT_CA,
"Certificate's signer is not a CA" },
{ GNUTLS_CERT_INSECURE_ALGORITHM,
"Insecure certificate signature algorithm" },
{ 0, NULL }
}
1.5.1