X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_tls.h;h=f6c480667fe66bec3b923986cf60492af96d1f1b;hb=7b0dd84fff6c300cab5e0bdbf2a29fb1b3618e62;hp=4fcb5d91d45f7c3eed30fd4fb44ab9ab05386ac8;hpb=bd807d2ac87015d6175664a7eec319a56b2bbeb3;p=vlc diff --git a/include/vlc_tls.h b/include/vlc_tls.h index 4fcb5d91d4..f6c480667f 100644 --- a/include/vlc_tls.h +++ b/include/vlc_tls.h @@ -21,10 +21,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#if !defined( __LIBVLC__ ) - #error You are not libvlc or one of its plugins. You cannot include this file -#endif - #ifndef _VLC_TLS_H # define _VLC_TLS_H @@ -42,7 +38,8 @@ struct tls_server_t int (*pf_add_CA) ( tls_server_t *, const char * ); int (*pf_add_CRL) ( tls_server_t *, const char * ); - tls_session_t * (*pf_session_prepare) ( tls_server_t * ); + tls_session_t * (*pf_open) ( tls_server_t * ); + void (*pf_close) ( tls_server_t *, tls_session_t * ); }; typedef struct tls_session_sys_t tls_session_sys_t; @@ -55,53 +52,24 @@ struct tls_session_t tls_session_sys_t *p_sys; struct virtual_socket_t sock; - int (*pf_handshake) ( tls_session_t *, int ); - int (*pf_handshake2) ( tls_session_t * ); - void (*pf_close) ( tls_session_t * ); + void (*pf_set_fd) ( tls_session_t *, int ); + int (*pf_handshake) ( tls_session_t * ); }; -/***************************************************************************** - * tls_ServerCreate: - ***************************************************************************** - * Allocates a whole server's TLS credentials. - * Returns NULL on error. - *****************************************************************************/ -VLC_EXPORT( tls_server_t *, tls_ServerCreate, ( vlc_object_t *, const char *, const char * ) ); - -/***************************************************************************** - * tls_ServerAddCA: - ***************************************************************************** - * Adds one or more certificate authorities. - * Returns -1 on error, 0 on success. - *****************************************************************************/ -# define tls_ServerAddCA( a, b ) (((tls_server_t *)a)->pf_add_CA (a, b)) - - -/***************************************************************************** - * tls_ServerAddCRL: - ***************************************************************************** - * Adds a certificates revocation list to be sent to TLS clients. - * Returns -1 on error, 0 on success. - *****************************************************************************/ -# define tls_ServerAddCRL( a, b ) (((tls_server_t *)a)->pf_add_CRL (a, b)) - - -VLC_EXPORT( void, tls_ServerDelete, ( tls_server_t * ) ); - +tls_server_t *tls_ServerCreate (vlc_object_t *, const char *, const char *); +void tls_ServerDelete (tls_server_t *); +int tls_ServerAddCA (tls_server_t *srv, const char *path); +int tls_ServerAddCRL (tls_server_t *srv, const char *path); -# define tls_ServerSessionPrepare( a ) (((tls_server_t *)a)->pf_session_prepare (a)) -# define tls_ServerSessionHandshake( a, b ) (((tls_session_t *)a)->pf_handshake (a, b)) -# define tls_ServerSessionClose( a ) (((tls_session_t *)a)->pf_close (a)) +tls_session_t *tls_ServerSessionPrepare (tls_server_t *); +int tls_ServerSessionHandshake (tls_session_t *, int fd); +int tls_SessionContinueHandshake (tls_session_t *); +void tls_ServerSessionClose (tls_session_t *); VLC_EXPORT( tls_session_t *, tls_ClientCreate, ( vlc_object_t *, int, const char * ) ); VLC_EXPORT( void, tls_ClientDelete, ( tls_session_t * ) ); -# define tls_ClientSessionHandshake( a, b ) (((tls_session_t *)a)->pf_handshake (a, b)) - -# define tls_SessionContinueHandshake( a ) (((tls_session_t *)a)->pf_handshake2 (a)) - - /* NOTE: It is assumed that a->sock.p_sys = a */ # define tls_Send( a, b, c ) (((tls_session_t *)a)->sock.pf_send (a, b, c ))