Merge "res_srtp: Add support for libsrtp2" into 13

This commit is contained in:
Joshua Colp
2017-06-06 05:00:57 -05:00
committed by Gerrit Code Review
6 changed files with 461 additions and 58 deletions

View File

@@ -39,11 +39,18 @@
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <srtp/srtp.h>
#ifdef HAVE_OPENSSL
#include <openssl/rand.h>
#if HAVE_SRTP_VERSION > 1
# include <srtp2/srtp.h>
# include <srtp2/crypto_types.h>
# include "srtp/srtp_compat.h"
# include <openssl/rand.h>
#else
#include <srtp/crypto_kernel.h>
# include <srtp/srtp.h>
# ifdef HAVE_OPENSSL
# include <openssl/rand.h>
# else
# include <srtp/crypto_kernel.h>
# endif
#endif
#include "asterisk/lock.h"

29
res/srtp/srtp_compat.h Normal file
View File

@@ -0,0 +1,29 @@
#ifndef AST_SRTP_COMPAT_H
#define AST_SRTP_COMPAT_H
/* Compatibility for libsrtp 2.x */
#define crypto_policy_t srtp_crypto_policy_t
#define AES_128_ICM SRTP_AES_ICM
#define HMAC_SHA1 SRTP_HMAC_SHA1
#define err_status_t srtp_err_status_t
#define err_status_ok srtp_err_status_ok
#define err_status_fail srtp_err_status_fail
#define err_status_bad_param srtp_err_status_bad_param
#define err_status_alloc_fail srtp_err_status_alloc_fail
#define err_status_dealloc_fail srtp_err_status_dealloc_fail
#define err_status_init_fail srtp_err_status_init_fail
#define err_status_terminus srtp_err_status_terminus
#define err_status_auth_fail srtp_err_status_auth_fail
#define err_status_cipher_fail srtp_err_status_cipher_fail
#define err_status_replay_fail srtp_err_status_replay_fail
#define err_status_replay_old srtp_err_status_replay_old
#define err_status_algo_fail srtp_err_status_algo_fail
#define err_status_no_such_op srtp_err_status_no_such_op
#define err_status_no_ctx srtp_err_status_no_ctx
#define err_status_cant_check srtp_err_status_cant_check
#define err_status_key_expired srtp_err_status_key_expired
#endif /* AST_SRTP_COMPAT_H */