Commit Graph

21487 Commits

Author SHA1 Message Date
Andrey Volk c58b659f3f [Core] Add new switch_channel_set_variable_strip_quotes API, cleanup mod_sofia. 2021-10-19 20:45:07 +03:00
Andrey Volk c1b00d945b [mod_verto] Fix memory leak and a deadlock on verto endpoint interface in verto_outgoing_channel() 2021-10-19 20:45:06 +03:00
Andrey Volk 36ac71f621 [Core] Fix false-positive memory leak in switch_core_set_variable() detected by scan-build 2021-10-19 20:45:05 +03:00
Andrey Volk 8201f54a2c [Core] Fix possible memory leak in switch_console_complete() 2021-10-19 20:39:37 +03:00
Andrey Volk 21952f26c1 [freeswitch] Argument with 'nonnull' attribute passed null in reincarnate_protect() 2021-10-19 20:39:37 +03:00
Andrey Volk 58abf91d1d [Core] Add new switch_core_hash_insert_dup_auto_free() API 2021-10-19 20:39:36 +03:00
Andrey Volk 0b0f5fff65 [mod_sofia] Cleanup sofia_glue_get_host() and make the pool arg be required. 2021-10-19 20:39:35 +03:00
Andrey Volk f21da2885b [mod_verto] Add hack.diff to mcast's swig 2021-10-19 20:39:34 +03:00
Andrey Volk bd7b76bacf [Core] Add new switch_core_hash_insert_pointer(switch_hash_t *hash, const void *data) API to be able to insert data into a hash with an auto-generated key based on the data pointer. Cleanup switch_loadable_module_process() to not generate hash keys for stored events itself. Add unit-test. 2021-10-19 20:35:12 +03:00
Andrey Volk e14df00aa6 [Core] scan-build: Argument with 'nonnull' attribute passed null in switch_html_strip() 2021-10-19 20:35:11 +03:00
Andrey Volk 67048377c4 [Core] Fix possible dereference of null pointer in switch_ivr_originate() and switch_ivr_enterprise_originate() 2021-10-19 20:35:10 +03:00
Andrey Volk 4b03a47a7f [Core] Fix dereference of null pointer in switch_ivr_wait_for_answer() 2021-10-19 20:35:10 +03:00
Dragos Oancea af095ebb68 [core] scan-build: Dereference of null pointer (loaded from variable 'flags') 2021-10-19 20:35:09 +03:00
Andrey Volk 77c8557aa7 [mod_managed] Fix Windows build 2021-10-19 20:34:45 +03:00
Andrey Volk dca7940fb9 [Core] scan-build: Use of zero allocated in switch_xml_str2utf8() 2021-10-19 20:30:18 +03:00
Andrey Volk c35a3bb4db [Core] scan-build: fix false-positive memory leak in switch_xml_set_attr_d and switch_xml_set_attr_d_buf 2021-10-19 20:30:18 +03:00
Andrey Volk 781180ff48 [Core] scan-build: memory leak in switch_xml_user_cache() 2021-10-19 20:30:17 +03:00
Andrey Volk e30c62f8ec [Core] scan-build: Argument with 'nonnull' attribute passed null in switch_xml_internal_dtd() 2021-10-19 20:30:17 +03:00
Andrey Volk 6726922e34 [mod_sofia] scan-build: Dereference of null pointer in sofia_handle_sip_i_bye(), sofia_handle_sip_i_invite() and our_sofia_event_callback() 2021-10-19 20:30:15 +03:00
Andrey Volk ac1a3dc565 [mod_sofia] scan-build: Argument with 'nonnull' attribute passed null 2021-10-19 20:26:53 +03:00
Andrey Volk 86a075da56 [mod_sofia] scan-build: Fix dereference of null pointer in sofia_outgoing_channel(). 2021-10-19 20:26:53 +03:00
Andrey Volk 92a55cf85a [Core] scan-build: Argument with 'nonnull' attribute passed null in switch_loadable_module_load_module_ex() 2021-10-19 20:26:52 +03:00
Andrey Volk 1b048a8a97 [Core, mod_hash] Add two APIs switch_core_hash_insert_alloc_destructor and switch_core_hash_insert_dup_destructor. Code cleanup in mod_hash. Add unit-tests. 2021-10-19 20:26:50 +03:00
Andrey Volk f92368d2f2 [mod_xml_ldap] Move all memory allocations into the mod's pool so it does not leak on shutdown. Fix leaking xml_ldap_search(). 2021-10-19 20:24:10 +03:00
Andrey Volk 9a491fb8f8 [mod_say_pl] Fix potential memory leak in pl_say_ip() 2021-10-19 20:24:09 +03:00
Andrey Volk 4ab8936a0e [mod_v8] Fix false-positive memory leak detected in process_status_function() by scan-build 2021-10-19 20:24:09 +03:00
Andrey Volk 0e96038d21 [mod_lua] scan-build: Called C++ object pointer is null (Dbh_test_reactive) 2021-10-19 20:24:09 +03:00
Andrey Volk 3abccb4b4f [mod_kazoo] Fix leaking stream in kz_event_expand_headers_check() 2021-10-19 20:24:06 +03:00
Andrey Volk ccd2174fb5 [mod_kazoo] Remove wrong usage of switch_safe_strdup() causing leaks in kazoo_tweaks 2021-10-19 20:19:26 +03:00
Andrey Volk 31c10fac22 [mod_kazoo] scan-build: Argument with 'nonnull' attribute passed null in kz_endpoint_outgoing_channel() 2021-10-19 20:19:26 +03:00
Andrey Volk 322191a2f4 [mod_dialplan_xml] Fix possible use after free in parse_exten() 2021-10-19 20:19:25 +03:00
Andrey Volk bb150bc486 [mod_spandsp] scan-build: Argument with 'nonnull' attribute passed null in udptl_rx_packet() 2021-10-19 20:15:59 +03:00
Andrey Volk e4ec2e1043 [mod_spandsp] scan-build: Argument with 'nonnull' attribute passed null in modem_init() 2021-10-19 20:15:58 +03:00
Andrey Volk e42ebbb33f [Core] scan-build: Fix false-positive use-after-free in switch_xml_free_attr(). Add unit test. 2021-10-19 20:15:58 +03:00
Andrey Volk 95fb8c7773 [Core] Fix crash on removing xml attributes. Add unit test. 2021-10-19 20:15:57 +03:00
Andrey Volk b59c28bdbd [Core] scan-build: fix false-positive use-after-free in switch_xml_internal_dtd() 2021-10-19 20:10:35 +03:00
Andrey Volk cba582cf4a [mod_sofia] Fix multiple issues in sofia_presence.c found by scan-build. 2021-10-19 20:10:35 +03:00
Dragos Oancea 0cf323c339 [mod_opusfile] unit-tests: add timer to fix random failures due to the fact that the decoding callback is not installed immediatelly 2021-10-15 16:52:06 +03:00
Dragos Oancea 97a0b0fbae [mod_opusfile] protect ogg data buff 2021-10-15 16:52:06 +03:00
Dragos Oancea 37ab323c13 [mod_opusfile] add ogg/opus streams, fix Makefile for encoding.
[mod_opusfile] add stats, opusctl

[mod_opusfile] add unit-test using teletone
2021-10-15 16:52:06 +03:00
Kevin Garabedian f8d8e740cc [core] play_and_collect_input() - suppress digit timer if start of speech is detected 2021-10-14 23:45:38 +03:00
Andrey Volk e9fde845de [mod_cv] Replace deprecated definitions and update configure.ac to check renamed opencv4.pc on Debian Bullseye. 2021-10-14 23:29:30 +03:00
Andrey Volk 2505b45134 [mod_skinny, mod_cdr_mongodb, mod_rayo] Fix Debian 11 build warnings. 2021-10-14 23:29:06 +03:00
Andrey Volk 54becc8d28 [mod_python3] Remove deprecated calls. 2021-10-14 23:27:33 +03:00
Andrey Volk e44fd2ea38 [mod_python3, ESL py3mod] Add Python3 support. 2021-10-14 23:26:36 +03:00
Dragos Oancea acbe88d18d [core] polish SEND_RTCP_MESSAGE 2021-10-04 08:54:05 +00:00
Ryan Mitchell 607f5db140 [core] add SEND_RTCP_MESSAGE:
toggle send rtcp events off fire_rtcp_events.
eval most common path first when checking flags.
2021-10-01 13:46:34 +00:00
Noah Mehl d24280c700 [core] Add SEND_RTCP_MESSAGE
We utilize: https://github.com/sipcapture/hepipe.js to monitor RTCP for our calls. As such, it's super helpful to get the sent RTCP data along with the received RTCP data. The new: SEND_RTCP_MESSAGE basically mirrors the existing RECV_RTCP_MESSAGE.
2021-10-01 13:46:34 +00:00
Dhruv Gupta 0924fed31d [mod_sofia] Deprecate the auth-subscriptions profile param by setting it to be enabled by default and introducing the new disable-auth-subscriptions param with a higher priority when set. 2021-10-01 00:40:24 +03:00
Dragos Oancea bb7bf86bb9 [core] print SRTP lib version at init. 2021-09-27 16:42:37 +03:00
Dragos Oancea 5aacf41f14 [core] add core media getter (it gets the RTP session, handy for unit-testing). 2021-09-27 16:42:30 +03:00
Chris Rienzo 6827c66373
[mod_verto] Handle short read from websocket. This fixes an interop problem with iOS 15. 2021-09-14 21:24:42 +03:00
Dragos Oancea 9eb20d7b54 [mod_sofia] fix memleak on gw registration timeout or 403 2021-09-08 19:50:52 +03:00
Dragos Oancea 69cdaac60b [mod_sofia] more fixes around md5 hash infoleak (tricky cfg).
* [mod_sofia] md5 hash infoleak fixes: (explictly allow host set in gw params 'register_proxy' and 'outbound_proxy' to challenge too).

"We have tightened security for digest authentication on gateways.
If you have gateways configured using dns and not an ip address,
you may need to configure gw-auth-acl in gateway configuration to
specify the IP addresses you can send auth challenges to for this gateway.
This is meant to better secure who we will send auth challenges." (Mike Jerris)

[mod_sofia] add REGISTER/401 unit-tests (sipp based)

[mod_sofia] add INVITE/407 unit-test (sipp-based)

* Cleanup spacing

Co-authored-by: Andrey Volk <andywolk@gmail.com>
2021-09-08 18:22:14 +03:00
Sharath K Shetty ee9214c6fb
[mod_dptools] Fix silence_ms misspelling typo in vad_test command 2021-09-01 17:48:42 +03:00
mahald 641fcd2b26
[mod_amqp] Increase max command size 2021-08-27 18:48:32 +03:00
dhruvecosmob d2981ec0c8 [mod_signalwire] add token-reset subcommand to the signalwire api. 2021-08-20 20:20:26 +03:00
suchi.sahoo 25823013f8 [Core] Add switch_safe_atol() and switch_safe_atoll() functions. Add a unit-test. 2021-08-13 20:05:29 +03:00
Dragos Oancea c41aa83b17 [mod_sofia] fix md5 digest infoleak
[mod_sofia] refactor IP checks with sip-dig

[mod_sofia] add sipp-based unit-tests (use spawn_instead_of_system)
2021-08-13 18:17:17 +03:00
Andrey Volk 8a40ba20bd [mod_sofia] Add a unit-test checking that sofia-sip does not leak when a profile fails to start. 2021-08-13 18:15:43 +03:00
Andrey Volk 16370ddd7c
Merge pull request #1283 from signalwire/srtp_race
[Core] Fix FreeSWITCH crashes caused by race conditions when working with Secure RTP.
2021-08-13 16:55:36 +03:00
Dragos Oancea a83b7db5a7 [unit-tests] fix sps-related race in the sndfile test. 2021-08-09 18:52:49 +03:00
Dragos Oancea 970e32e574 [unit-tests] [mod_sndfile] increase SPS limit 2021-08-09 18:51:36 +03:00
Mike Jerris 0f1dbc2540 [mod_sndfile] fix test build on osx 2021-08-09 18:49:59 +03:00
Dragos Oancea cbcf6f2e2d [unit-tests] [mod_sndfile] fix build for Debian Jessie 2021-08-09 18:47:55 +03:00
Dragos Oancea 8abd936ded [unit-tests] [mod_sndfile] parallelize unit-tests, each audio extension test in its own session. 2021-08-09 17:07:35 +03:00
Andrey Volk 622399d0bd
Merge pull request #1256 from signalwire/early
[Core] Fix bridge_early_media
2021-08-06 16:48:11 +03:00
Grzegorz Siehień f046bc0628
[mod_rayo] mod_rayo returns error exec_conference_api
fixes  #704 - mod_rayo returns error on exec_conference_api
2021-08-02 14:55:29 +02:00
Andrey Volk d251a8ccee swigall 2021-07-31 00:49:18 +00:00
dhruvecosmob 432bfc0c45 [mod_sofia] Deprecate the auth-messages profile param by setting it to be enabled by default and introducing the new disable-auth-messages param with a higher priority when set. 2021-07-27 22:25:13 +03:00
Andrey Volk 9376db0aae [Core] Fix FreeSWITCH crashes caused by race conditions when working with Secure RTP. 2021-07-26 10:05:09 +03:00
xiaobaozidi bd87b8892c [mod_sofia] Fixed a few Usage-of-uninitialized value bugs which may cause information discolsure and bypass ACL check 2021-07-24 21:04:50 +03:00
tomeeo dd1e0c1605
[mod_http_cache] Fix the query string not included for HTTP PUT requests to s3 2021-07-24 00:04:59 +03:00
Andrey Volk 1311a84ee2 [mod_signalwire] When SignalWire SIP Gateway is in unregistered state it's DOWN and can not be NOREG. 2021-07-20 20:41:08 +03:00
nrensen ba8aff571e
[mod_commands] OpenBSD compat 2021-07-19 18:57:13 +03:00
Chris Rienzo 311e932df5 [core, mod_commands] Execute command under shell when using spawn in switch_system(). 2021-07-16 17:34:53 +03:00
Andrey Volk 9aee9b8e24 [Core, mod_commands] Add posix_spawn replacement for the system call. Add unit-tests. 2021-07-16 17:34:42 +03:00
Andrey Volk f6f3f38d25 [Core] Fix bridge_early_media 2021-07-09 17:53:30 +03:00
Andrey Volk 65d0665a95 [mod_sofia] Calling direct _unref() functions in sofia_event_callback() is unsafe. 2021-06-17 03:17:13 +03:00
Andrey Volk 81fff857c5 [mod_sofia] sofia_process_dispatch_event() should unref all handles via sofia stack 2021-06-14 19:46:28 +03:00
Chris Rienzo 5a9eabca8e [core] Fix read of uninitialized buffer in switch_simple_email(). 2021-05-16 23:12:54 +00:00
Dragos Oancea a562db760c
[mod_opus] add cfg setting to overwrite the fmtp stereo param coming from remote. Eg: incoming SDP has stereo=1 but we want a mono call so we answer with stereo=0.
* [mod_opus] add cfg setting to overwrite the fmtp stereo param coming from remote. Eg: incoming SDP has stereo=1 but we want a mono call so we answer with stereo=0.
sprop-stereo will be set to 0 too.

* [core] opus: use switch_core_max_audio_channels() with remote fmtp stereo=1 to allow disabling of stereo.
2021-05-14 18:36:30 +03:00
Andrey Volk 53a52e1571
Merge pull request #1190 from dragos-oancea/amrwb-cfg-mode-set
[mod_amrwb] add cfg setting mode-set-overwrite (it will answer with just one mode-set value) - fixes audio quality issues in mod_conference with some UEs.
2021-05-14 18:34:17 +03:00
Anthony Minessale 21c113ba2c [mod_curl] look for cacert in certs dir 2021-05-11 01:23:20 +03:00
Aron Podrigal 954056c009
[mod_curl] Added PATCH method, add insecure and secure options to verify SSL certs, add proxy option.
* mod_curl: hanlde PATCH method

* mod_curl: verify ssl with an option `insecure` to not verify

* mod_curl: added option to use proxy

* mod_curl: use assert(options)

* [mod_curl] default certificate validation secure/insecure controlled by `validate-certs` config option.

* [mod_curl] Added option secure to force https certs validation
2021-05-10 22:32:48 +03:00
Andrey Volk 2243d34d94
Merge pull request #1178 from azzbcc/mod_sofia_nat_mapping
[mod_sofia] release nat mapping when nua create failed
2021-05-10 22:29:46 +03:00
Andrey Volk e53f782456
Merge pull request #1099 from dragos-oancea/mod_tts_commandline_fix_system
[mod_tts_commandline] check return of switch_system() against 127 too
2021-05-07 19:03:37 +03:00
Dragos Oancea 2915d3aba8 [mod_amrwb] add cfg setting mode-set-overwrite (it will answer with just one mode-set value) - fixes audio quality issues in mod_conference with some UEs. 2021-05-07 14:29:33 +00:00
Clarence 583443e384 [mod_sofia] release nat mapping when nua create failed 2021-04-28 20:10:35 +08:00
Chris Rienzo deecaae870
STIR/SHAKEN (#1160)
* [core] Add SWITCH_CAUSEs for STIR/SHAKEN.
[mod_sofia] Add sofia_verify_identity dialplan APP as a STIR/SHAKEN verification service.  Set sip_hangup_on_verify_identity_fail=true to end calls that fail verification, otherwise check sip_verstat and sip_verstat_detailed channel variables for verification result.

* [mod_sofia] Fix stir shaken implementation issues on fail.

* fix build

* Fix given comments

* stir_shaken_passport_get_grant return does not require to be freed.

* reworked things

* [core] add switch_rfc822_datetime_to_epoch()

* [mod_sofia] fix test return code

* [mod_sofia] Add Date header when signing Identity

* [mod_sofia] Check Date - WIP doesn't work

* [mod_sofia] STIR/SHAKEN check SIP Date header

* Try to give time for sofia to clean up calls

Co-authored-by: Andrey Volk <andywolk@gmail.com>
2021-04-27 13:54:32 -06:00
Norm Brandinger 0877bd5770
[Core] switch_rtp: fix switch_rtp_set_max_missed_packets logging
Warning message about missed packets is misleading.
Message indicates greater (>) however, the conditional is greater than or equals (>=).
The message prints the value of rtp_sesstion->missed_count twice instead of printing the value of rtp_session->max_missed_packets.
2021-04-16 17:24:51 +03:00
Dragos Oancea 7fc5d9a7c3 [core] RTP: handle flush for incoming stream with DTX or packet loss. 2021-04-15 16:37:08 +03:00
Dragos Oancea 73569bb1f7 [mod_sofia] rfc8760: reorder hash algorithms by priority (strength), no matter the order provided in the cfg 2021-04-13 20:24:17 +03:00
Andrey Volk e6b6aea6ff [mod_sofia] Add basic INVITE test 2021-04-13 04:21:42 +00:00
Dragos Oancea 833235b941 [mod_sofia] Add RFC8760 (sha-256, sha-512)
enable on the sip profile, eg:
<param name="rfc8760-auth-algorithms" value="sha-256,md5"/>
2021-04-12 09:57:56 -04:00
Andrey Volk fd27504a7d [Core] Add switch_digest(), switch_digest_string() APIs. Add unit-tests. 2021-04-12 01:03:15 +03:00
figaro2015 ec1a0215fe
[Core, mod_conference] Fixed oscillation in conference AGC processing. Especially during volume reduction processing (#1064)
* Fixed oscillation in conference AGC processing. Especially during volume reduction processing

* Re-scaled granular volume to +/- 50 dB level change. 10 = double loudness, -10 = half loudness, 0 = no change

Co-authored-by: Chris Rienzo <chris@signalwire.com>
2021-04-02 22:18:16 +03:00
Christian Glombek 513b0fbf00
[mod_avmd, esl/python] Two build fixups (#611) 2021-03-24 19:30:52 +03:00
Andrey Volk 877102d4b9 swigall 2021-03-23 17:33:46 +00:00
Chris Rienzo e3a6ec86f8 [core] Update switch_ivr_enterprise_originate() to accept optional switch_dial_handle_list_t instead of dialstring. 2021-03-23 20:23:28 +03:00