From c7d798397b5a4a9e985f1da735ea842b58dd63af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <rem@videolan.org> Date: Wed, 17 Oct 2007 17:05:36 +0000 Subject: [PATCH] Error out if hostname not specified (this would be a bug in whatever is using the TLS object anyway) --- modules/misc/gnutls.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c index 8c83e25a4d..46224bb469 100644 --- a/modules/misc/gnutls.c +++ b/modules/misc/gnutls.c @@ -413,17 +413,13 @@ gnutls_HandshakeAndValidate( tls_session_t *session ) goto error; } - if( p_sys->psz_hostname != NULL ) + assert( p_sys->psz_hostname != NULL ); + if ( !gnutls_x509_crt_check_hostname( cert, p_sys->psz_hostname ) ) { - if ( !gnutls_x509_crt_check_hostname( cert, p_sys->psz_hostname ) ) - { - msg_Err( session, "Certificate does not match \"%s\"", - p_sys->psz_hostname ); - goto error; - } + msg_Err( session, "Certificate does not match \"%s\"", + p_sys->psz_hostname ); + goto error; } - else - msg_Warn( session, "Certificate and hostname were not verified" ); if( gnutls_x509_crt_get_expiration_time( cert ) < time( NULL ) ) { @@ -713,7 +709,6 @@ static int OpenClient (vlc_object_t *obj) p_session->pf_set_fd = gnutls_SetFD; p_sys->session.b_handshaked = VLC_FALSE; - p_sys->session.psz_hostname = NULL; const char *homedir = obj->p_libvlc->psz_datadir, *datadir = config_GetDataDir (); @@ -778,12 +773,12 @@ static int OpenClient (vlc_object_t *obj) } char *servername = var_GetNonEmptyString (p_session, "tls-server-name"); - if (servername != NULL ) - { - p_sys->session.psz_hostname = servername; - gnutls_server_name_set (p_sys->session.session, GNUTLS_NAME_DNS, - servername, strlen (servername)); - } + if (servername == NULL ) + msg_Err (p_session, "server name missing for TLS session"); + + p_sys->session.psz_hostname = servername; + gnutls_server_name_set (p_sys->session.session, GNUTLS_NAME_DNS, + servername, strlen (servername)); return VLC_SUCCESS; -- 2.25.4