mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-12 12:37:05 +00:00
[Build-System] Update libsrtp to 2.4.0
This commit is contained in:
1 parent
641fcd2b26
commit
bddff9a2f1
95 files changed
+5998
-3870
No files matched your search
@@ -47,16 +47,11 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h> /* for printf() */
|
||||
#include <stdlib.h> /* for rand() */
|
||||
#include <stdio.h> /* for printf() */
|
||||
#include "getopt_s.h"
|
||||
#include "cipher.h"
|
||||
#ifdef OPENSSL
|
||||
#include "aes_icm_ossl.h"
|
||||
#include "aes_gcm_ossl.h"
|
||||
#else
|
||||
#include "aes_icm.h"
|
||||
#endif
|
||||
#include "cipher_priv.h"
|
||||
#include "datatypes.h"
|
||||
|
||||
#define PRINT_DEBUG 0
|
||||
|
||||
@@ -118,10 +113,10 @@ void check_status(srtp_err_status_t s)
|
||||
extern srtp_cipher_type_t srtp_null_cipher;
|
||||
extern srtp_cipher_type_t srtp_aes_icm_128;
|
||||
extern srtp_cipher_type_t srtp_aes_icm_256;
|
||||
#ifdef OPENSSL
|
||||
#ifdef GCM
|
||||
extern srtp_cipher_type_t srtp_aes_icm_192;
|
||||
extern srtp_cipher_type_t srtp_aes_gcm_128_openssl;
|
||||
extern srtp_cipher_type_t srtp_aes_gcm_256_openssl;
|
||||
extern srtp_cipher_type_t srtp_aes_gcm_128;
|
||||
extern srtp_cipher_type_t srtp_aes_gcm_256;
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
@@ -187,21 +182,19 @@ int main(int argc, char *argv[])
|
||||
cipher_driver_test_array_throughput(
|
||||
&srtp_aes_icm_256, SRTP_AES_ICM_256_KEY_LEN_WSALT, num_cipher);
|
||||
|
||||
#ifdef OPENSSL
|
||||
#ifdef GCM
|
||||
for (num_cipher = 1; num_cipher < max_num_cipher; num_cipher *= 8)
|
||||
cipher_driver_test_array_throughput(
|
||||
&srtp_aes_icm_192, SRTP_AES_ICM_192_KEY_LEN_WSALT, num_cipher);
|
||||
|
||||
for (num_cipher = 1; num_cipher < max_num_cipher; num_cipher *= 8) {
|
||||
cipher_driver_test_array_throughput(&srtp_aes_gcm_128_openssl,
|
||||
SRTP_AES_GCM_128_KEY_LEN_WSALT,
|
||||
num_cipher);
|
||||
cipher_driver_test_array_throughput(
|
||||
&srtp_aes_gcm_128, SRTP_AES_GCM_128_KEY_LEN_WSALT, num_cipher);
|
||||
}
|
||||
|
||||
for (num_cipher = 1; num_cipher < max_num_cipher; num_cipher *= 8) {
|
||||
cipher_driver_test_array_throughput(&srtp_aes_gcm_256_openssl,
|
||||
SRTP_AES_GCM_256_KEY_LEN_WSALT,
|
||||
num_cipher);
|
||||
cipher_driver_test_array_throughput(
|
||||
&srtp_aes_gcm_256, SRTP_AES_GCM_256_KEY_LEN_WSALT, num_cipher);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -210,10 +203,10 @@ int main(int argc, char *argv[])
|
||||
cipher_driver_self_test(&srtp_null_cipher);
|
||||
cipher_driver_self_test(&srtp_aes_icm_128);
|
||||
cipher_driver_self_test(&srtp_aes_icm_256);
|
||||
#ifdef OPENSSL
|
||||
#ifdef GCM
|
||||
cipher_driver_self_test(&srtp_aes_icm_192);
|
||||
cipher_driver_self_test(&srtp_aes_gcm_128_openssl);
|
||||
cipher_driver_self_test(&srtp_aes_gcm_256_openssl);
|
||||
cipher_driver_self_test(&srtp_aes_gcm_128);
|
||||
cipher_driver_self_test(&srtp_aes_gcm_256);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -277,9 +270,9 @@ int main(int argc, char *argv[])
|
||||
status = srtp_cipher_dealloc(c);
|
||||
check_status(status);
|
||||
|
||||
#ifdef OPENSSL
|
||||
/* run the throughput test on the aes_gcm_128_openssl cipher */
|
||||
status = srtp_cipher_type_alloc(&srtp_aes_gcm_128_openssl, &c,
|
||||
#ifdef GCM
|
||||
/* run the throughput test on the aes_gcm_128 cipher */
|
||||
status = srtp_cipher_type_alloc(&srtp_aes_gcm_128, &c,
|
||||
SRTP_AES_GCM_128_KEY_LEN_WSALT, 8);
|
||||
if (status) {
|
||||
fprintf(stderr, "error: can't allocate GCM 128 cipher\n");
|
||||
@@ -291,15 +284,13 @@ int main(int argc, char *argv[])
|
||||
cipher_driver_test_throughput(c);
|
||||
}
|
||||
|
||||
if (do_validation) {
|
||||
status = cipher_driver_test_buffering(c);
|
||||
check_status(status);
|
||||
}
|
||||
// GCM ciphers don't do buffering; they're "one shot"
|
||||
|
||||
status = srtp_cipher_dealloc(c);
|
||||
check_status(status);
|
||||
|
||||
/* run the throughput test on the aes_gcm_256_openssl cipher */
|
||||
status = srtp_cipher_type_alloc(&srtp_aes_gcm_256_openssl, &c,
|
||||
/* run the throughput test on the aes_gcm_256 cipher */
|
||||
status = srtp_cipher_type_alloc(&srtp_aes_gcm_256, &c,
|
||||
SRTP_AES_GCM_256_KEY_LEN_WSALT, 16);
|
||||
if (status) {
|
||||
fprintf(stderr, "error: can't allocate GCM 256 cipher\n");
|
||||
@@ -311,10 +302,8 @@ int main(int argc, char *argv[])
|
||||
cipher_driver_test_throughput(c);
|
||||
}
|
||||
|
||||
if (do_validation) {
|
||||
status = cipher_driver_test_buffering(c);
|
||||
check_status(status);
|
||||
}
|
||||
// GCM ciphers don't do buffering; they're "one shot"
|
||||
|
||||
status = srtp_cipher_dealloc(c);
|
||||
check_status(status);
|
||||
#endif
|
||||
@@ -396,7 +385,7 @@ srtp_err_status_t cipher_driver_test_buffering(srtp_cipher_t *c)
|
||||
end = buffer1 + buflen;
|
||||
while (current < end) {
|
||||
/* choose a short length */
|
||||
len = rand() & 0x01f;
|
||||
len = srtp_cipher_rand_u32_for_tests() & 0x01f;
|
||||
|
||||
/* make sure that len doesn't cause us to overreach the buffer */
|
||||
if (current + len > end)
|
||||
@@ -479,9 +468,8 @@ srtp_err_status_t cipher_array_alloc_init(srtp_cipher_t ***ca,
|
||||
return status;
|
||||
|
||||
/* generate random key and initialize cipher */
|
||||
for (j = 0; j < klen; j++)
|
||||
key[j] = (uint8_t)rand();
|
||||
for (; j < klen_pad; j++)
|
||||
srtp_cipher_rand_for_tests(key, klen);
|
||||
for (j = klen; j < klen_pad; j++)
|
||||
key[j] = 0;
|
||||
status = srtp_cipher_init(*cipher_array, key);
|
||||
if (status)
|
||||
@@ -535,7 +523,7 @@ uint64_t cipher_array_bits_per_second(srtp_cipher_t *cipher_array[],
|
||||
v128_t nonce;
|
||||
clock_t timer;
|
||||
unsigned char *enc_buf;
|
||||
int cipher_index = rand() % num_cipher;
|
||||
int cipher_index = srtp_cipher_rand_u32_for_tests() % num_cipher;
|
||||
|
||||
/* Over-alloc, for NIST CBC padding */
|
||||
enc_buf = srtp_crypto_alloc(octets_in_buffer + 17);
|
||||
|
||||
Reference in new issue
Block a user