Dmitry Verenitsin
56cc958b28
[core] Fix use-after-free in session thread pool worker. ( #3030 )
...
`switch_core_session_thread_pool_launch()` allocated the thread data (`td`)
from the session pool. However, `switch_core_session_thread()` destroys
the session pool before returning, leaving td as a dangling pointer.
The worker then accesses `td->running` and `td->pool` — a use-after-free
that crashes under memory pressure when the freed pool is reused.
Allocate `td` with `switch_zmalloc()` and set `td->alloc = 1` so the worker frees it
after the task completes. This ensures `td` outlives the session pool
destruction.
2026-05-26 00:13:29 +03:00
Dmitry Verenitsin
c25af8dd81
[mod_erlang_event] Fix correctness, OTP compatibility, and memory issues
...
Changes:
- Snapshot `erl_errno` after `ei_xreceive_msg_tmo()` — outbound `ei_*` calls in the same loop iteration clobber the thread-local errno before the listener checks it, causing wrong exit decisions and misleading logs.
- Fix `switch_size_t ` cast of `int` in `ei_link`* — `(switch_size_t *)&index` reads/writes 8 bytes through a 4-byte `int` on LP64. Use a real `switch_size_t` local.
- Dispatch `ERL_NEWER_REFERENCE_EXT` — newer OTP encodes refs with this tag; spawn replies from modern nodes were silently dropped to the default branch.
- Handle `ERL_EXIT2` — processes killed via `erlang:exit/2` arrive with this tag, not `ERL_EXIT`. Without it, sessions stayed attached to dead Erlang pids.
- Modernize `-spec` syntax in `freeswitch.erl` — old `-spec(F/N :: (...))` form was removed in OTP 21+; module no longer compiled.
- Fix multiple memory issues:
- `ei_hash_ref()`: replace unbounded `sprintf` with `snprintf` + shared `EI_HASH_REF_LEN`.
- `handle_msg_sendevent` / `handle_msg_sendmsg`: free the heap `value` on `ei_decode_string` failure; remove dead `if (!fail)` branches.
- `listener_main_loop`: free `buf`/`rbuf` on the two `handle_msg` early-exit paths.
- `erlang_sendmsg_function` app: move `ei_x_new_with_version` past arg validation and add `ei_x_free` at the end.
2026-05-26 00:12:08 +03:00
Andrey Volk
1544dfb755
[Core, modules] Fix various dead assignments.
2026-05-25 23:56:13 +03:00
Gustavo Almeida
7d35ea2986
[mod_sofia] Fix handling of sip-options-respond-503-on-busy profile parameter
2026-05-25 21:15:13 +03:00
Niall Dooley
90da63c0d1
[mod_commands] Fix reloadacl description
2026-05-25 21:11:10 +03:00
Andrey Volk
4bc49f57b7
[Build-System] Update libks requirements to 2.0.11 ( #3025 )
2026-05-20 23:18:38 +03:00
Andrey Volk
7fbfe11d01
version bump
2026-05-08 02:26:52 +03:00
Serhii Ivanov
f40469efcc
[GHA] Use release libs for trixie releases ( #3016 )
2026-05-08 00:53:07 +03:00
Andrey Volk
1eff3afde1
swigall ( #3015 )
2026-05-07 21:52:56 +03:00
Andrey Volk
1e1cecd474
Merge commit from fork
2026-05-07 20:20:52 +03:00
Andrey Volk
2a7100053a
Merge commit from fork
2026-05-07 20:18:11 +03:00
Andrey Volk
ce12717ad7
Merge commit from fork
...
Co-authored-by: Jakub Karolczyk <jakub.karolczyk@signalwire.com >
2026-05-07 20:14:34 +03:00
Serhii Ivanov
1a97ed38e6
[GHA] Treat v1.11 as a release branch ( #2873 )
...
* [GHA] Add `v1.11` branch target
* [GHA] Treat `v1.11` as a release branch
---------
Co-authored-by: Andrey Volk <andywolk@gmail.com >
2026-05-07 18:19:08 +03:00
praveen-kd-23
8babcee3ea
[Core] Fix DTLS Peer Certificate verification
2026-04-02 18:03:28 +03:00
Andrey Volk
14b8295dbc
[mod_cdr_mongodb] Remove from tree ( #2992 )
2026-03-06 01:26:20 +03:00
Andrey Volk
88fa1f95ca
[libesl] Fix heap buffer overflow in esl_buffer_write ( #2979 )
2026-01-16 23:10:23 +03:00
Andrey Volk
418edb8e2b
[Build-System] Use unique .orig.tar.xz filenames across different Debian distributions. Update Debian distributions since stable is Trixie now. Use codename instead of suite when generating the distribution field in .changes files. ( #2953 )
2025-11-21 17:47:45 +03:00
Serhii Ivanov
4c93f3ce2b
[UTILS] Add additional token prefix ( #2950 )
2025-11-19 01:37:49 +03:00
Ahron Greenberg (agree)
2062d2c483
[mod_curl] Add curl exit code to response
2025-11-15 00:47:08 +03:00
Andrey Volk
02549c10d9
[mod_dialplan_xml] Fix double free after upgrade to pcre2. ( #2946 )
2025-11-13 17:42:04 +03:00
Andrey Volk
9b0bbeaac9
[Build-System] Update OpenSSL to v3.4.3, bump libks to 2.0.7 on Windows. ( #2934 )
2025-10-16 21:47:51 +03:00
Jakub Karolczyk
caa50b6c4f
Merge pull request #2915 from signalwire/fix_missing_ice_mutex
...
[core] Fix - add missing ice_mutex to protect dtls
2025-09-15 17:24:48 +01:00
Jakub Karolczyk
1585ca7aaf
[core] Fix - add missing ice_mutex to protect dtls
2025-09-15 16:59:30 +01:00
Jakub Karolczyk
aede363606
Merge pull request #2914 from signalwire/fix_old_port_log
2025-09-14 16:55:16 +01:00
Jakub Karolczyk
2059e933be
[core] Fix logging of old remote RTP port
2025-09-14 16:17:08 +01:00
Jakub Karolczyk
5aee26556a
Merge pull request #2913 from signalwire/fix_from_addr
...
[core] Fix initialization of rtp_session from_addr
2025-09-14 16:14:10 +01:00
Jakub Karolczyk
1258044125
[core] Fix initialization of rtp_session from_addr
2025-09-14 15:52:35 +01:00
Jakub Karolczyk
7034d6cfda
Merge pull request #2912 from signalwire/fix_timer_check
...
[core] Fix - should take the amount of time until the timer next expires
2025-09-14 15:49:06 +01:00
Jakub Karolczyk
96d086820b
[core] Fix - should take the amount of time until the timer next expires
2025-09-14 15:23:29 +01:00
s3rj1k
b00a0de0ba
[GHA] Bump trixie image version ( #2906 )
2025-09-04 01:45:18 +03:00
s3rj1k
70a29c48d3
[core] Cleanup .DS_Store ( #2897 )
2025-09-04 00:26:45 +03:00
s3rj1k
ece5cf7b48
[GHA] Remove pinned cmake version in MacOS ( #2905 )
2025-09-03 23:52:35 +03:00
s3rj1k
b0b646a8d6
[GHA] More robust MacOS dependency install ( #2898 )
2025-08-30 00:27:03 +03:00
Adnan Elezovic
d22aec67c6
[mod_conference] Avoid race conditions touching conference->variables without a mutex.
...
Co-authored-by: aelezovic <adnan.elezovic@infobip.com >
2025-08-14 12:27:28 +03:00
Seven Du
7f9dd270b4
[core] add uuidv7 support
2025-07-31 19:38:54 +03:00
Andrey Volk
ac9b8c621b
Merge pull request #2868 from signalwire/gha-copy-job
...
[GHA] Simplify `if` in UPLOAD_BUILD_ARTIFACTS
2025-07-22 23:42:12 +03:00
s3rj1k
559f502411
[GHA] Simplify if in UPLOAD_BUILD_ARTIFACTS
2025-07-22 22:16:30 +02:00
Andrey Volk
2bbb7356dd
Merge pull request #2867 from signalwire/gha-meta-job
...
[GHA] Simplify `if` logic for Meta job
2025-07-22 22:37:06 +03:00
s3rj1k
b8fb017b41
[GHA] Simplify if logic for Meta job
2025-07-22 21:14:52 +02:00
Andrey Volk
fcab28abf6
Merge pull request #2845 from signalwire/pcre2
...
[GHA] Add `trixie` build target
2025-07-22 20:29:30 +03:00
s3rj1k
6a6ade581f
[GHA] Add trixie build target
...
Co-authored-by: Andrey Volk <andywolk@gmail.com >
2025-07-22 20:07:15 +03:00
Andrey Volk
1ed09805a6
Merge pull request #2866 from signalwire/deb13
...
[Build-System] Add Debian 13 Trixie support
2025-07-22 20:05:01 +03:00
Andrey Volk
dc3325f298
[Build-System] Add Debian 13 Trixie suite
2025-07-22 19:45:43 +03:00
Andrey Volk
7871070638
Merge pull request #2865 from signalwire/sanitize_opus
...
[mod_opus] Sanitize frame size when parsing Opus packets.
2025-07-22 19:44:34 +03:00
Andrey Volk
6323344ed4
[mod_opus] Sanitize frame size when parsing Opus packets.
2025-07-22 19:11:13 +03:00
Andrey Volk
364092154d
Merge pull request #2858 from signalwire/upgrade_to_pcre2
...
[Core] Upgrade FreeSWITCH to use PCRE2 library. Be aware of breaking changes.
2025-07-22 18:58:22 +03:00
Andrey Volk
909247067b
[Core] Define SWITCH_PCRE2 macro
2025-07-21 23:31:07 +03:00
Andrey Volk
42bfd488f8
[GHA] Fix CI.
2025-07-15 18:26:36 +03:00
Andrey Volk
814a708953
swigall
2025-07-15 18:26:28 +03:00
Andrey Volk
65bc7c14bf
[Core] Upgrade FreeSWITCH to use PCRE2 library. Be aware of breaking changes.
2025-07-15 18:26:17 +03:00