mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 16:58:35 +00:00
For outgoing calls send AES crypto in offer using corrected names for keys of length 192 and 256, i.e. names containing _192_CM_ and _256_CM_ instead of _CM_192_ and CM_256_. For incoming calls accept both naming conventions, decaying to same entry in SUITES. + fix after SRTP failed for 256 keys: Tests showed loop removing '=' from keys in switch_core_media_build_crypto 1190 if (!switch_channel_var_true(channel, "rtp_pad_srtp_keys")) { 1191 p = strrchr((char *) b64_key, '='); 1192 1193 while (p && *p && *p == '=') { 1194 *p-- = '\0'; 1195 } 1196 } shouldn't be executed for AES_CM_256_HMAC_SHA1_32 and AES_CM_256_HMAC_SHA1_80 keys and it is meaningless for AES_CM_128_HMAC_SHA1_32 AES_CM_128_HMAC_SHA1_80 keys. Tested calling from Bria. Introduced switch_channel_var_false and changed this to: if (switch_channel_var_false(channel, "rtp_pad_srtp_keys")) to enter the loop if var is set to false (and not if it is _not_ set).
Description
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Multiple Licenses
206 MiB
Languages
C
65.2%
C++
20.8%
JavaScript
4.8%
Assembly
2%
Makefile
1%
Other
5.4%