From fed247000deffb4f5b4a3e92c7faa48ebb99e40a Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Thu, 1 Nov 2012 15:38:07 +0100 Subject: [PATCH] Check for errors while setting an SRTP profile. --- src/cli.c | 8 +++++++- src/serv.c | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/cli.c b/src/cli.c index d60a5636e..6064ad4e3 100644 --- a/src/cli.c +++ b/src/cli.c @@ -676,7 +676,13 @@ init_tls_session (const char *hostname) gnutls_heartbeat_enable (session, GNUTLS_HB_PEER_ALLOWED_TO_SEND); if (HAVE_OPT(SRTP_PROFILES)) - gnutls_srtp_set_profile_direct (session, OPT_ARG(SRTP_PROFILES), NULL); + { + ret = gnutls_srtp_set_profile_direct (session, OPT_ARG(SRTP_PROFILES), &err); + if (ret == GNUTLS_E_INVALID_REQUEST) fprintf (stderr, "Syntax error at: %s\n", err); + else + fprintf(stderr, "Error in priorities: %s\n", gnutls_strerror(ret)); + exit (1); + } return session; } diff --git a/src/serv.c b/src/serv.c index 7bf349ba5..db6b9e48b 100644 --- a/src/serv.c +++ b/src/serv.c @@ -333,6 +333,7 @@ LIST_DECLARE_INIT (listener_list, listener_item, listener_free); gnutls_session_t initialize_session (int dtls) { gnutls_session_t session; + int ret; const char *err; if (priorities == NULL) @@ -394,7 +395,13 @@ gnutls_session_t initialize_session (int dtls) gnutls_heartbeat_enable(session, GNUTLS_HB_PEER_ALLOWED_TO_SEND); if (HAVE_OPT (SRTP_PROFILES)) - gnutls_srtp_set_profile_direct (session, OPT_ARG(SRTP_PROFILES), NULL); + { + ret = gnutls_srtp_set_profile_direct (session, OPT_ARG(SRTP_PROFILES), &err); + if (ret == GNUTLS_E_INVALID_REQUEST) fprintf (stderr, "Syntax error at: %s\n", err); + else + fprintf(stderr, "Error in priorities: %s\n", gnutls_strerror(ret)); + exit (1); + } return session; } -- 2.11.4.GIT