[OpenSIPS-Devel] [OpenSIPS/opensips] 63a2b4: Add KTLS support

Răzvan Crainea noreply at github.com
Fri Apr 17 13:07:17 UTC 2026


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 63a2b4990f229c91386f613116a92e12fe62dc96
      https://github.com/OpenSIPS/opensips/commit/63a2b4990f229c91386f613116a92e12fe62dc96
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M modules/tls_wolfssl/doc/tls_wolfssl_admin.xml
    M modules/tls_wolfssl/wolfssl.c
    M modules/tls_wolfssl/wolfssl.h
    M modules/tls_wolfssl/wolfssl_conn_ops.c

  Log Message:
  -----------
  Add KTLS support


  Commit: 4f3cc7d5c2668b857114f4b0de798f3874acd407
      https://github.com/OpenSIPS/opensips/commit/4f3cc7d5c2668b857114f4b0de798f3874acd407
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/regex/regex_mod.c

  Log Message:
  -----------
  regex: make size_t prints portable


  Commit: 49d6a110b7dc1f933fe2a361531ec0c833516558
      https://github.com/OpenSIPS/opensips/commit/49d6a110b7dc1f933fe2a361531ec0c833516558
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_web3/Makefile

  Log Message:
  -----------
  auth_web3: make sure LIBS does not overwrite previous libs


  Commit: b692f2cf4e2c417b148ecc014c0ad844848076e9
      https://github.com/OpenSIPS/opensips/commit/b692f2cf4e2c417b148ecc014c0ad844848076e9
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_web3/doc/contributors.xml
    M modules/b2b_logic/README
    M modules/b2b_logic/doc/contributors.xml
    M modules/regex/README
    M modules/regex/doc/contributors.xml
    M modules/siprec/README
    M modules/siprec/doc/contributors.xml
    M modules/uuid/README
    M modules/uuid/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: e017f9f241738f72f8265ee4dc4f094b2d3f7d15
      https://github.com/OpenSIPS/opensips/commit/e017f9f241738f72f8265ee4dc4f094b2d3f7d15
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_web3/keccak256.c
    M modules/auth_web3/web3_imple.c

  Log Message:
  -----------
  auth_web3: fix c89 sytax errors


  Commit: 37af7d1129d1549683239025d0a8a2119f5e867a
      https://github.com/OpenSIPS/opensips/commit/37af7d1129d1549683239025d0a8a2119f5e867a
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dlg_hash.h

  Log Message:
  -----------
  [dialog] fixed potential double-free upon delayed delete

If the dialog struct is removed from the timer list (and under processing by the timer), do not attempt to free it here, rather leave it alone, it will be freed by the timer

(cherry picked from commit f5f11af9ac8bffd387120725cc9ea147ed08873c)


  Commit: 1dd588427f68c3b2d6ccfbdd785eb8f32f8e55f7
      https://github.com/OpenSIPS/opensips/commit/1dd588427f68c3b2d6ccfbdd785eb8f32f8e55f7
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/mi_datagram/datagram_fnc.c

  Log Message:
  -----------
  [mi_datagram] turn the RX sockets to non-blocking

As we have multiple procs reading from the same datagram sockets, we may end up with a mixing between the procs woken up by OS and the procs doing the reading. So some procs (even if were woken up) may have nothing to read.
To be resilient, better do non-blocking reading and igonre the EAGAIN or EWOULDBLOCK.

(cherry picked from commit 12e705e296470872899e848f030058e8bc052d11)


  Commit: 344e169be53d75dd81c0dc2cd28cee4daeaf4011
      https://github.com/OpenSIPS/opensips/commit/344e169be53d75dd81c0dc2cd28cee4daeaf4011
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/build/build_test_harness.sh

  Log Message:
  -----------
  build: ignore tls_wolfssl errors for ubuntu 24.04


  Commit: 4e079fa8aa756f7bf105e24670f2f832c69a4b5a
      https://github.com/OpenSIPS/opensips/commit/4e079fa8aa756f7bf105e24670f2f832c69a4b5a
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/build/build_test_harness.sh

  Log Message:
  -----------
  build: export wolfssl flags


  Commit: ecd46bc66b322afcd5677b0eaa777aeec5243231
      https://github.com/OpenSIPS/opensips/commit/ecd46bc66b322afcd5677b0eaa777aeec5243231
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth/auth_mod.c

  Log Message:
  -----------
  auth: Add helpful logs on pv_xxx_auth() mis-usage

Also, fix top-level rc from "-1" (invalid user? continue script?) into
"0" (auto-reply SIP 500 error! halt script!) on such scripting errors.

Fixes #3756


  Commit: 4cb0b7435c4f1cd0264588e9b786635da6928efc
      https://github.com/OpenSIPS/opensips/commit/4cb0b7435c4f1cd0264588e9b786635da6928efc
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth/README
    M modules/auth/doc/contributors.xml
    M modules/auth_web3/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/mi_datagram/README
    M modules/mi_datagram/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 7ac577bc80cb28e7be8929906f38407f80e53298
      https://github.com/OpenSIPS/opensips/commit/7ac577bc80cb28e7be8929906f38407f80e53298
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M async.c
    M evi/event_interface.c

  Log Message:
  -----------
  Fix reply relaying after launch() from onreply_route

This commit prevents SIP replies from being absorbed (bug?!) by OpenSIPS
after a launch() operation from onreply_route, with no further replies
to upstream side on that T.  Follow-up on a711924f9, see tm/t_reply.c.

Such launch() calls are completely decoupled from the T, do not
interfere with the script logic and can safely be done in parallel.


  Commit: 77fda00f97d347671889bf9d9c288c9559983a86
      https://github.com/OpenSIPS/opensips/commit/77fda00f97d347671889bf9d9c288c9559983a86
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/b2b_entities.c

  Log Message:
  -----------
  b2b_entities: Zero DB handles after module destroy

Since B2B destroys before tm, this should help prevent some shutdown
crashes in B2B due to cascaded module cleanups (e.g. tm cleanups going
into dialog, siprec then back again into B2B).


  Commit: 675c1a871e0cd96d85a7cd56747b2b18869bdf1e
      https://github.com/OpenSIPS/opensips/commit/675c1a871e0cd96d85a7cd56747b2b18869bdf1e
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M lib/dbg/struct_hist.h
    M net/net_tcp.c
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/tcp_common.c

  Log Message:
  -----------
  [TCP] fixed bad handling upon "max async postponed chunks"

In such case, mark the conn as timed out, to force its sending back to TCP main for closing.
Also fix some bad ref counting when handling bad cons in ASYNC WRITE.
Add more hist logs to conn, to easy the debugging process.

(cherry picked from commit 4afd1c8af1ca24ba642f5ad7ecd3d5b14eb7dafe)


  Commit: 01adf61bdf8edb358caff8593feca8daf77fa2c9
      https://github.com/OpenSIPS/opensips/commit/01adf61bdf8edb358caff8593feca8daf77fa2c9
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M async.c

  Log Message:
  -----------
  launch(): Fix edge-case with report_route $param(1) not set

Some async functions (e.g. rest_post()) may report an ASYNC_SYNC status,
when the operation completed inline.  This case wasn't properly handled
in the launch() support, as the report_route $param(1) was always NULL.

Many thanks to Nuno Ferreira from Five9 for a full report and
troubleshooting on this one!


  Commit: 3fc5afe22c96ce9e158d28e12d39d25fe20782ae
      https://github.com/OpenSIPS/opensips/commit/3fc5afe22c96ce9e158d28e12d39d25fe20782ae
  Author: Bogdan Andrei IANCU <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dlg_handlers.c

  Log Message:
  -----------
  Merge pull request #3803 from purecloudlabs/dialog_contact_crash_fix

Dialog module crash when Contact header is *

(cherry picked from commit a3fcb81d6bbea42c88a2da51a4438a6f41e48a7f)


  Commit: 74f46cff287dd610e7e90769bb54a4fcfb74f5fd
      https://github.com/OpenSIPS/opensips/commit/74f46cff287dd610e7e90769bb54a4fcfb74f5fd
  Author: Bogdan Andrei IANCU <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/sipmsgops/doc/sipmsgops_admin.xml
    M modules/sipmsgops/sipmsgops.c

  Log Message:
  -----------
  Merge pull request #3804 from purecloudlabs/sipmsg_validate_all_contacts

Sipmsg validate all contacts

(cherry picked from commit 18fdeaf32bb12e31ceb7876726865faaa8c91c7f)


  Commit: e94dc35a9d7a37ef01fdb7a691c59958519a9eb5
      https://github.com/OpenSIPS/opensips/commit/e94dc35a9d7a37ef01fdb7a691c59958519a9eb5
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/sipmsgops/README
    M modules/sipmsgops/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 722f27fe5262f8dbefea1741f2a4b8ef8659acb8
      https://github.com/OpenSIPS/opensips/commit/722f27fe5262f8dbefea1741f2a4b8ef8659acb8
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M forward.c

  Log Message:
  -----------
  Discard forced socket if AF incompatible

... and force selection of a different outbound socket, based on protocol and AF
Based on a report from Ihor Olkhovskyi


  Commit: 34c7caafbc1bf42994b0609bca9a370afeeb9681
      https://github.com/OpenSIPS/opensips/commit/34c7caafbc1bf42994b0609bca9a370afeeb9681
  Author: James Sharp <james at fivecats.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rate_cacher/rate_cacher.c
    M modules/rate_cacher/rate_cacher.h

  Log Message:
  -----------
  First decently working attempt


  Commit: 39ee6a7a76a403e32688f527d7e871174af3ebd8
      https://github.com/OpenSIPS/opensips/commit/39ee6a7a76a403e32688f527d7e871174af3ebd8
  Author: James Sharp <james at fivecats.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rate_cacher/rate_cacher.c

  Log Message:
  -----------
  add limit for number of ratesheets during initial carrier creation


  Commit: 22510e952f7534df9f799a369ac730506f3c9c5c
      https://github.com/OpenSIPS/opensips/commit/22510e952f7534df9f799a369ac730506f3c9c5c
  Author: Jasper Hafkenscheid <jasper.hafkenscheid at voys.nl>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M resolve.c

  Log Message:
  -----------
  resolve: fix CNAME chain resolution with caching

The DNS resolver now explicitly follows CNAME chains instead of relying
on res_search() to handle them transparently. This fixes resolution
failures when the DNS cache module is enabled, as cached CNAME responses
need to be followed manually to reach the final A/AAAA records.

Changes:
- Add iterative CNAME chain following in own_gethostbyname2()
- Limit chain depth to 10 to prevent infinite loops
- Add debug logging for CNAME traversal


  Commit: e447cf6c1daf0c37c3ecc89ce2201e7415632ae7
      https://github.com/OpenSIPS/opensips/commit/e447cf6c1daf0c37c3ecc89ce2201e7415632ae7
  Author: Peter Lemenkov <lemenkov at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cachedb_mongodb/cachedb_mongodb_dbase.c

  Log Message:
  -----------
  Fix libbson deprecated API warning with version compatibility (#3792)

During compilation of cachedb_mongodb module, numerous deprecation
warnings appear on systems with mongo-c-driver >= 1.29.0:

```
Compiling cachedb_mongodb_dbase.c
gcc -fPIC -DPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DMOD_NAME='cachedb_mongodb' -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC  -DQ_MALLOC  -DHP_MALLOC  -DDBG_MALLOC  -DF_PARALLEL_MALLOC  -DHAVE_STDATOMIC -DHAVE_GENERICS  -DNAME='"opensips"' -DVERSION='"3.6.2"' -DARCH='"x86_64"' -DOS='"linux"' -DCOMPILER='"gcc 15"' -D__CPU_x86_64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/etc/opensips/"'  -DVERSIONTYPE='"git"' -DTHISREVISION='"994bcd690"' -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include/json-c -I/usr/include/json-c -DJSON_PKG_MAJOR=0 -DJSON_PKG_MINOR=18 -DJSON_PKG_MICRO=0 -DUTF8PROC_EXPORTS -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -c cachedb_mongodb_dbase.c -o cachedb_mongodb_dbase.o
cachedb_mongodb_dbase.c: In function ‘mongo_con_set’:
cachedb_mongodb_dbase.c:315:9: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
  315 |         dbg_bson("query: ", query);
      |         ^~~~~~~~
In file included from /usr/include/libmongoc-1.0/mongoc/mongoc.h:22,
                 from /usr/include/libmongoc-1.0/mongoc.h:18,
                 from cachedb_mongodb_dbase.h:30,
                 from cachedb_mongodb_dbase.c:22:
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
  535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
      | ^~~~~~~~~~~~
```

The MongoDB C driver (libbson) deprecated bson_as_json() in version
1.29.0 (October 2024) in favor of bson_as_legacy_extended_json() to
clarify which JSON format is being produced (legacy vs. canonical
extended JSON).

We added compatibility macro at the top of cachedb_mongodb_dbase.c - for
mongo-c-driver < 1.29.0, define bson_as_legacy_extended_json as an alias
to bson_as_json, allowing the code to use the new API name while
maintaining backward compatibility.

This change maintains compatibility with all mongo-c-driver versions.
The new function name is used on >= 1.29.0, while older versions
transparently use the original bson_as_json() through the macro alias.

No behavioral changes - the replacement is functionally identical and
produces the same JSON output format. The new name simply makes it
explicit that the legacy extended JSON format is being used.

Note: mongo-c-driver 1.29.0 was released in October 2024. Many LTS
distributions still ship earlier versions (e.g., RHEL 8/9, Ubuntu
20.04/22.04, Debian 11/12), making the compatibility macro necessary.


Assisted-by: Claude (Anthropic) <https://claude.ai>

Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>


  Commit: 1674259ec55221b012c351c1b87dee646eb77720
      https://github.com/OpenSIPS/opensips/commit/1674259ec55221b012c351c1b87dee646eb77720
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: fix possible leak on error cases

On some error cases, the serialization buffer was not released, leading
to a leak in pkg memory.


  Commit: b6ebb34377c11409e0cda2583ca0ee673ad07628
      https://github.com/OpenSIPS/opensips/commit/b6ebb34377c11409e0cda2583ca0ee673ad07628
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M action.c
    M dprint.h
    A modules/opentelemetry/Makefile
    A modules/opentelemetry/opentelemetry.cpp
    A route_trace.c
    A route_trace.h

  Log Message:
  -----------
  Initial POC


  Commit: 5273e23554fbb86fe30a4c818449e4f915331d66
      https://github.com/OpenSIPS/opensips/commit/5273e23554fbb86fe30a4c818449e4f915331d66
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/opentelemetry/Makefile

  Log Message:
  -----------
  always use system lib


  Commit: 1f3031e325046eee5c3e9b513ed614fb59b3a3c8
      https://github.com/OpenSIPS/opensips/commit/1f3031e325046eee5c3e9b513ed614fb59b3a3c8
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M action.c
    M modules/opentelemetry/opentelemetry.cpp
    M modules/tm/async.c
    M route_trace.h

  Log Message:
  -----------
  Add suport for async/resume jumps while maintaing spans


  Commit: e3652da192c8660700c0d478353ea58979613fd9
      https://github.com/OpenSIPS/opensips/commit/e3652da192c8660700c0d478353ea58979613fd9
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/opentelemetry/opentelemetry.cpp

  Log Message:
  -----------
  Add otel_enable MI command to enable/disable opentelemetry tracing


  Commit: 98e73677f6af32f04df0829fa871940a7ec7d7b1
      https://github.com/OpenSIPS/opensips/commit/98e73677f6af32f04df0829fa871940a7ec7d7b1
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M dprint.h
    M modules/opentelemetry/opentelemetry.cpp
    M route_trace.c
    M route_trace.h

  Log Message:
  -----------
  Fix copyrights


  Commit: aedc85b5f3ff029d2e3c86c829848aa9ce067640
      https://github.com/OpenSIPS/opensips/commit/aedc85b5f3ff029d2e3c86c829848aa9ce067640
  Author: Your Name <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    A modules/opentelemetry/doc/opentelemetry.xml
    A modules/opentelemetry/doc/opentelemetry_admin.xml

  Log Message:
  -----------
  Add opentelemetry documentation


  Commit: d8fdfc46f4c5af84d3a575812f0e98139dfeb786
      https://github.com/OpenSIPS/opensips/commit/d8fdfc46f4c5af84d3a575812f0e98139dfeb786
  Author: Your Name <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M Makefile.conf.template

  Log Message:
  -----------
  Add opentelemetry to list of excluded modules from default compilation


  Commit: 000c01d868379509ef729fe35c52703e3209d073
      https://github.com/OpenSIPS/opensips/commit/000c01d868379509ef729fe35c52703e3209d073
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/opentelemetry/opentelemetry.cpp

  Log Message:
  -----------
  Fixed lengths for service_name and exporter_endpoint params


  Commit: 0a5d640f84b16c79babc4e988c3b8fd7e8ea34e3
      https://github.com/OpenSIPS/opensips/commit/0a5d640f84b16c79babc4e988c3b8fd7e8ea34e3
  Author: Jason Shugart <jasonshugart at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_msrp/msrp_parser.c

  Log Message:
  -----------
  Ignore extra headers in MSRP


  Commit: 7a57c869bf0fe6290c009ef9852f874b86c4f28e
      https://github.com/OpenSIPS/opensips/commit/7a57c869bf0fe6290c009ef9852f874b86c4f28e
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    A modules/opentelemetry/README
    A modules/opentelemetry/doc/contributors.xml

  Log Message:
  -----------
  opentelemetry: add README for module


  Commit: 4f1f81c18f53299a05fe3a4ddc1448ab304ee21b
      https://github.com/OpenSIPS/opensips/commit/4f1f81c18f53299a05fe3a4ddc1448ab304ee21b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/control
    M packaging/debian/rules
    M packaging/redhat_fedora/opensips.spec

  Log Message:
  -----------
  Add opentelemetry packaging


  Commit: 72f844315d2070fa28d34db08033330a82a8a906
      https://github.com/OpenSIPS/opensips/commit/72f844315d2070fa28d34db08033330a82a8a906
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/aaa_diameter/aaa_diameter.c

  Log Message:
  -----------
  aaa_diameter: proper handing of _dm_send_message error

Avoid double free of the JSON message


  Commit: 6ee2e97ebf25785dfe16abd30b1ad2188eba104c
      https://github.com/OpenSIPS/opensips/commit/6ee2e97ebf25785dfe16abd30b1ad2188eba104c
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/control
    M packaging/debian/rules

  Log Message:
  -----------
  packaging: only build opentelemetry explicitely


  Commit: 15985400741897d0d6680c10378526b28c940a58
      https://github.com/OpenSIPS/opensips/commit/15985400741897d0d6680c10378526b28c940a58
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/redhat_fedora/opensips.spec

  Log Message:
  -----------
  packaging: fix redhat spec


  Commit: 4d77c7682e96c1b9c068ecfec2b233beda113609
      https://github.com/OpenSIPS/opensips/commit/4d77c7682e96c1b9c068ecfec2b233beda113609
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/rules

  Log Message:
  -----------
  packaging: drop OPENTELEMTRY from default packages

should only be built if opentelemetry profie is specified


  Commit: 02af140de8355981a80dc3a67649e10839df6aa7
      https://github.com/OpenSIPS/opensips/commit/02af140de8355981a80dc3a67649e10839df6aa7
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/aaa_diameter/README
    M modules/aaa_diameter/doc/contributors.xml
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/cachedb_mongodb/README
    M modules/cachedb_mongodb/doc/contributors.xml
    M modules/opentelemetry/README
    M modules/proto_msrp/README
    M modules/proto_msrp/doc/contributors.xml
    M modules/rate_cacher/README
    M modules/rate_cacher/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 9ca3d8a0a526e781814765df71bb700833687c94
      https://github.com/OpenSIPS/opensips/commit/9ca3d8a0a526e781814765df71bb700833687c94
  Author: Ovidiu Sas <osas at voipembedded.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/trie/trie_db_def.c

  Log Message:
  -----------
  trie: fix defaults for trie_table parameter


  Commit: 670d48e7c0283b77fb429726b24b25fa3d07e0a7
      https://github.com/OpenSIPS/opensips/commit/670d48e7c0283b77fb429726b24b25fa3d07e0a7
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Add reg_delete and reg_upsert MI commands


  Commit: c6632d8829f68aa7ab462474e4b086cd37331672
      https://github.com/OpenSIPS/opensips/commit/c6632d8829f68aa7ab462474e4b086cd37331672
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    A modules/uac_registrant/reg_events.c
    A modules/uac_registrant/reg_events.h
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Add E_REGISTRANT REGISTERING/AUTHENTICATING/REGISTERED


  Commit: e64e80b9b6d1ff13f85ce148cca62ebd15cd017b
      https://github.com/OpenSIPS/opensips/commit/e64e80b9b6d1ff13f85ce148cca62ebd15cd017b
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/reg_events.c
    M modules/uac_registrant/reg_events.h
    M modules/uac_registrant/reg_records.c
    M modules/uac_registrant/reg_records.h
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Add remaining events for states & refactor code


  Commit: 533ee2556ec59c70c1c527c69215d10719cb5a18
      https://github.com/OpenSIPS/opensips/commit/533ee2556ec59c70c1c527c69215d10719cb5a18
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M lib/sliblist.c
    M lib/sliblist.h

  Log Message:
  -----------
  add linked list delete


  Commit: 457bafd8c387f7465e3065ca16425807f71ac11b
      https://github.com/OpenSIPS/opensips/commit/457bafd8c387f7465e3065ca16425807f71ac11b
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M mi/mi.h

  Log Message:
  -----------
  Increase max number of MI params


  Commit: 06820ca98c8012749072a0435892baec1470beab
      https://github.com/OpenSIPS/opensips/commit/06820ca98c8012749072a0435892baec1470beab
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Don't let registrations expire ( if expires < timer_interal, do it now instead of waiting for next tick )


  Commit: 1cbba51dbae356abc6aad7d7e59830a860c101b4
      https://github.com/OpenSIPS/opensips/commit/1cbba51dbae356abc6aad7d7e59830a860c101b4
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Add reregister_expiry_percentage parameter


  Commit: 3b9f3f392d7b96927f3d1407e12ba156abf0b22c
      https://github.com/OpenSIPS/opensips/commit/3b9f3f392d7b96927f3d1407e12ba156abf0b22c
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/doc/uac_registrant_admin.xml

  Log Message:
  -----------
  Add documentation


  Commit: a5723182888d22727eed766cf82f8a0f3720b4b1
      https://github.com/OpenSIPS/opensips/commit/a5723182888d22727eed766cf82f8a0f3720b4b1
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  db_url param is optional for uac_registrant


  Commit: 12dad50ad1866d548b76641710d9e91fe15bdf49
      https://github.com/OpenSIPS/opensips/commit/12dad50ad1866d548b76641710d9e91fe15bdf49
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/reg_records.c
    M modules/uac_registrant/reg_records.h
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Add status reports for registrant entries


  Commit: e14bdeefd04d6a9ed61a79bd755ae091a2650663
      https://github.com/OpenSIPS/opensips/commit/e14bdeefd04d6a9ed61a79bd755ae091a2650663
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M status_report.h

  Log Message:
  -----------
  Fix compilation error due to missing limits.h for INT_MIN


  Commit: 798b69d09108397ee4e775dfbae88b1534a2bc24
      https://github.com/OpenSIPS/opensips/commit/798b69d09108397ee4e775dfbae88b1534a2bc24
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  [b2b_entities] fix cseq to be used upon 200OK/CANCEL race

When generating the ACK+BYE upon 200 OK (from callee) racing a CANCEL (from caller), take care and use the correct cdeq values from the 200 OK (the b2b entity is not properly updated anymore, as it is already terminated by the CANCEL)


  Commit: e81b42b1a9a51667d24adca65f7fd2f15a44d976
      https://github.com/OpenSIPS/opensips/commit/e81b42b1a9a51667d24adca65f7fd2f15a44d976
  Author: pavelkohout396 <pav.kohout at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_jwt/authorize.c

  Log Message:
  -----------
  Fix SQL injection in auth_jwt module via unescaped tag claim (#3807)

The jwt_db_authorize() function...
The jwt_db_authorize() function in the auth_jwt module decodes JWT tokens
without signature verification to extract the 'tag' claim, then interpolates
this claim directly into a raw SQL query without escaping. An attacker can
craft a malicious JWT with SQL injection payload in the tag claim (e.g.,
"' UNION SELECT 'admin','attacker_secret' --") to inject their own secret
into the query result. Since the injected secret is then used to verify the
JWT signature, the attacker can sign their token with this known secret and
achieve authentication bypass.

Reported-by: Pavel Kohout, Aisle Research, www.aisle.com


  Commit: 35592dbc0451f0f4c114e0f9b40e093ddbaceace
      https://github.com/OpenSIPS/opensips/commit/35592dbc0451f0f4c114e0f9b40e093ddbaceace
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/mid_registrar/save.c

  Log Message:
  -----------
  mid_registrar: Fix the `tcp_persistent_flag` feature

Make sure to NOT adjust the @e_max with -get_act_time(), similar to
registrar codebase, to avoid setting MAX_INT on the TCP conn lifetime...


  Commit: 4df609ba4dc9416d8e045226b191c546c3c8910f
      https://github.com/OpenSIPS/opensips/commit/4df609ba4dc9416d8e045226b191c546c3c8910f
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rate_cacher/rate_cacher.c

  Log Message:
  -----------
  rate_cacher: fix c89 errors

`for(int i` syntax is only allowed in c99


  Commit: 5cbe0ccc1d31f08c252cb252fb88626234cd7264
      https://github.com/OpenSIPS/opensips/commit/5cbe0ccc1d31f08c252cb252fb88626234cd7264
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/uac_registrant_admin.xml

  Log Message:
  -----------
  [uac_registrant] added docs for Status/Report Identifiers part


  Commit: 36eea26e5c45c83868b91e2fa6d7328407f059eb
      https://github.com/OpenSIPS/opensips/commit/36eea26e5c45c83868b91e2fa6d7328407f059eb
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M status_report.h

  Log Message:
  -----------
  Fix missing include for sip_msg struct definition


  Commit: 2e6f2a4c8f081e8e662b775e24443bd993593885
      https://github.com/OpenSIPS/opensips/commit/2e6f2a4c8f081e8e662b775e24443bd993593885
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_jwt/README
    M modules/auth_jwt/doc/contributors.xml
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/mid_registrar/README
    M modules/mid_registrar/doc/contributors.xml
    M modules/rate_cacher/README
    M modules/rate_cacher/doc/contributors.xml
    M modules/trie/README
    M modules/trie/doc/contributors.xml
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 3c120dbbf3f5f9f1ad5883dab2343e879aa47b83
      https://github.com/OpenSIPS/opensips/commit/3c120dbbf3f5f9f1ad5883dab2343e879aa47b83
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/siprec/siprec_logic.c
    M modules/siprec/siprec_sess.c

  Log Message:
  -----------
  siprec: avoid accessing invalid dialog/rtp context

reset dialog when it has been terminated - this prevents being accessed
after the dialog was deleted.


  Commit: 5afb4eac24cd989fe330f01edd4b04fcc7c1f57e
      https://github.com/OpenSIPS/opensips/commit/5afb4eac24cd989fe330f01edd4b04fcc7c1f57e
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/siprec/siprec_logic.c

  Log Message:
  -----------
  siprec: make sure there is a dlg/SDP to notify SRS with


  Commit: 026026606945285b947642333593bc332c99c8d2
      https://github.com/OpenSIPS/opensips/commit/026026606945285b947642333593bc332c99c8d2
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/event_rabbitmq/event_rabbitmq.c

  Log Message:
  -----------
  event_rabbitmq: avoid using released memory

Reset the `tmp.s` pointer when assigning it to a structure, to avoid
freeing it when the `tmp` is reused.

Many thanks to Andrey F(@kertor) for reporting it and
Nick Altmann(@nikbyte) for fixing it.

Close #3808


  Commit: 0d23a4366e1e5b72ce6cb3c3c16316adb9aa032e
      https://github.com/OpenSIPS/opensips/commit/0d23a4366e1e5b72ce6cb3c3c16316adb9aa032e
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/build/do_build.sh

  Log Message:
  -----------
  build: do not build opentelemetry by default


  Commit: 4f14e2048696e7bb62360c16af729c32eaeef79a
      https://github.com/OpenSIPS/opensips/commit/4f14e2048696e7bb62360c16af729c32eaeef79a
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rest_client/rest_methods.c

  Log Message:
  -----------
  rest_client: Fix async transfers with re-used TCP conns

Fix the edge-case with async cURL where it re-uses an existing TCP
connection.  Here, the @connect variable holds a 0 value, thus the
transfer runs in blocking mode unless we relax the condition.

Patch provided by Nuno Almeida from Five9.


  Commit: 8affe19ab188367cb58afb2928da3bae7e482d99
      https://github.com/OpenSIPS/opensips/commit/8affe19ab188367cb58afb2928da3bae7e482d99
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/regex/Makefile

  Log Message:
  -----------
  regex: allow pcre3 library


  Commit: 26297af3eaf064ae611cc7b8af2d1fc0dad1cf72
      https://github.com/OpenSIPS/opensips/commit/26297af3eaf064ae611cc7b8af2d1fc0dad1cf72
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cgrates/cgrates_acc.c
    M modules/pua_dialoginfo/pua_dialoginfo.c
    M modules/tm/mi.c
    M modules/tm/t_cancel.c
    M modules/tm/t_fwd.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c

  Log Message:
  -----------
  [tm] migrate the branch bitmask to array, to allow more than 64 branches (long long)

branch_bm_t data type is an array of integers, currently limited to 256 branches (but can easily increased, by re-compiling)
Added macros to operate with the bits in the bitmask
Updated TM and all modules using TM branches


  Commit: 8fe8128190cc0a80c9f4a54c9ae07ad6c69df491
      https://github.com/OpenSIPS/opensips/commit/8fe8128190cc0a80c9f4a54c9ae07ad6c69df491
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/async.c
    M modules/tm/h_table.c
    M modules/tm/h_table.h
    M modules/tm/t_cancel.c
    M modules/tm/t_cancel.h
    M modules/tm/t_fwd.c
    M modules/tm/t_lookup.c
    M modules/tm/t_msgbuilder.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c
    M modules/tm/uac.c

  Log Message:
  -----------
  [tm] migrated to dynamic allocated branches per transaction

This allow a really high number of branches per transaction (like the default is 256, but can be increased). The branches are dynamically allocated, on demand, so some transactions which are not subjet to forking (typically non-INVITE) may have the minimum of 4 branches, while the INVITE transaction, depending on the need can scale up to 256


  Commit: 0a12d5a7aff625aa7e6d923766515fd82d51b16b
      https://github.com/OpenSIPS/opensips/commit/0a12d5a7aff625aa7e6d923766515fd82d51b16b
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/acc/acc_logic.c
    M modules/b2b_entities/dlg.c
    M modules/compression/compression.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_hash.c
    M modules/pua_dialoginfo/pua_dialoginfo.c
    M modules/tracer/tracer.c
    M modules/uac/auth.c
    M modules/uac_redirect/rd_funcs.c
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  updated modules acessing transaction branches

related to 7b83cabb916d5bf7ae2d0fc20978aac625872758. The access to a transaction branch is done via a macro in order to get on the right chunk of the branch.


  Commit: c9adf549979bdadcb80acb2f0b278b5949bf2c12
      https://github.com/OpenSIPS/opensips/commit/c9adf549979bdadcb80acb2f0b278b5949bf2c12
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/h_table.c
    M modules/tm/h_table.h
    M modules/tm/t_fwd.c
    M modules/tm/t_lookup.c
    M modules/tm/tm.c

  Log Message:
  -----------
  [tm] fix branch init after dynamic alloc

Related to 7b83cabb916d5bf7ae2d0fc20978aac625872758


  Commit: 1e4bd679f31d81131af144e7de6349441a79c193
      https://github.com/OpenSIPS/opensips/commit/1e4bd679f31d81131af144e7de6349441a79c193
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/t_reply.h

  Log Message:
  -----------
  [tm] fix reverted macro BRANCH_BM_NONE_SET

Related to 7b83cabb916d5bf7ae2d0fc20978aac625872758


  Commit: 2419b0b7fb2bed75bf73edba9b957f155609436c
      https://github.com/OpenSIPS/opensips/commit/2419b0b7fb2bed75bf73edba9b957f155609436c
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/acc/README
    M modules/acc/doc/contributors.xml
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/cgrates/README
    M modules/cgrates/doc/contributors.xml
    M modules/compression/README
    M modules/compression/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/event_rabbitmq/README
    M modules/event_rabbitmq/doc/contributors.xml
    M modules/pua_dialoginfo/README
    M modules/pua_dialoginfo/doc/contributors.xml
    M modules/regex/README
    M modules/regex/doc/contributors.xml
    M modules/rest_client/README
    M modules/rest_client/doc/contributors.xml
    M modules/siprec/README
    M modules/siprec/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml
    M modules/tracer/README
    M modules/tracer/doc/contributors.xml
    M modules/uac/README
    M modules/uac/doc/contributors.xml
    M modules/uac_redirect/README
    M modules/uac_redirect/doc/contributors.xml
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: a1be8e4bf2981330577907739146bb7e02a36101
      https://github.com/OpenSIPS/opensips/commit/a1be8e4bf2981330577907739146bb7e02a36101
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/t_fwd.c
    M modules/tm/uac.c
    M modules/tm/uac.h

  Log Message:
  -----------
  tm: create uac for locally generated transactions


  Commit: e43b06a1c4950efb3a2ee53bbafda6218c488238
      https://github.com/OpenSIPS/opensips/commit/e43b06a1c4950efb3a2ee53bbafda6218c488238
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/t_reply.c
    M modules/tm/timer.c
    M modules/tm/tm.c

  Log Message:
  -----------
  tm: fix uac usage with EXTRA_DEBUG


  Commit: fb5bc020854576af61ff5cbd4e9519adacd2466d
      https://github.com/OpenSIPS/opensips/commit/fb5bc020854576af61ff5cbd4e9519adacd2466d
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/timer.c

  Log Message:
  -----------
  tm: fix EXTRA_DEBUG logging for local cancel timer


  Commit: a7b7409b75fb370c6ab883033299dcb003bdaa72
      https://github.com/OpenSIPS/opensips/commit/a7b7409b75fb370c6ab883033299dcb003bdaa72
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_db/authdb_mod.c

  Log Message:
  -----------
  auth_db: remove RPID from default credentials list

Completes commit b0023b417

Many thanks to Evgeniy (@gostkov on GitHub) for reporting this in #3813


  Commit: 1256226b941dabb07458ae73ba106e73c968bb81
      https://github.com/OpenSIPS/opensips/commit/1256226b941dabb07458ae73ba106e73c968bb81
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_db/doc/auth_db_admin.xml

  Log Message:
  -----------
  auth_db: update docs for default empty credentials list


  Commit: 263d2274f83c45aaebe96ca94f4b0dcb9a341ca3
      https://github.com/OpenSIPS/opensips/commit/263d2274f83c45aaebe96ca94f4b0dcb9a341ca3
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_wss/proto_wss.c

  Log Message:
  -----------
  proto_wss: free ws_data on TLS domain lookup failure


  Commit: 41e8e2d1016a91118a62c1c5de0db833b318f245
      https://github.com/OpenSIPS/opensips/commit/41e8e2d1016a91118a62c1c5de0db833b318f245
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/regex/regex_mod.c

  Log Message:
  -----------
  regex: make module work with both pcre2 and pcre3, not just compile


  Commit: a8146eb262b3718a3180dd065f1e1c2d124d58fd
      https://github.com/OpenSIPS/opensips/commit/a8146eb262b3718a3180dd065f1e1c2d124d58fd
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/regex/regex_mod.c

  Log Message:
  -----------
  regex: fix stashed markers


  Commit: defb356cd021c98f693646fa10336bf15797a41c
      https://github.com/OpenSIPS/opensips/commit/defb356cd021c98f693646fa10336bf15797a41c
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/regex/regex_mod.c

  Log Message:
  -----------
  regex: fix broken merge


  Commit: 7addd1892da8e0d94035275d104fe28ee75bce09
      https://github.com/OpenSIPS/opensips/commit/7addd1892da8e0d94035275d104fe28ee75bce09
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/build/apt_requirements.txt
    M scripts/build/install_depends.sh

  Log Message:
  -----------
  builds: negate python version check


  Commit: f069c8a5cae5ce55c53957f4ffee9a43bf98927d
      https://github.com/OpenSIPS/opensips/commit/f069c8a5cae5ce55c53957f4ffee9a43bf98927d
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M README.md

  Log Message:
  -----------
  readme: drop lgtm badges, as the service no longer exists


  Commit: 6342f1fd514b7cde06c7d3ecafb62a87930b874b
      https://github.com/OpenSIPS/opensips/commit/6342f1fd514b7cde06c7d3ecafb62a87930b874b
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_db/README
    M modules/auth_db/doc/contributors.xml
    M modules/proto_wss/README
    M modules/proto_wss/doc/contributors.xml
    M modules/regex/README
    M modules/regex/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 06caa4937107f5517444551c0b203918953b750d
      https://github.com/OpenSIPS/opensips/commit/06caa4937107f5517444551c0b203918953b750d
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/async.c

  Log Message:
  -----------
  tm: fix $rd reversion after chained async() resume

When async() is called from a resume route (chained async), the
FL_TM_FAKE_REQ check in t_handle_async() prevents
update_cloned_msg_from_msg() from saving message state to the
transaction's shm clone. This causes $rd, $du, and other msg fields
modified in the resume route to revert to their previous values when
the next async operation completes through the reactor path.

Remove the FL_TM_FAKE_REQ guard from the conditional. The
update_cloned_msg_from_msg() function already handles faked_req
sources correctly: it defers freeing old shm lumps (lines 1325-1336
of sip_msg.c), and free_faked_req() completes the deferred cleanup.

Fixes #3676


  Commit: d34dac582e9f24f87590a22614248e16ca529558
      https://github.com/OpenSIPS/opensips/commit/d34dac582e9f24f87590a22614248e16ca529558
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M ip_addr.h
    M modules/pike/pike_funcs.c
    M modules/proto_tls/proto_tls.c
    M modules/tracer/tracer.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/proto_tcp/proto_tcp.c
    M net/proto_udp/proto_udp.c
    A net/proxy_protocol.c
    A net/proxy_protocol.h
    M net/tcp_common.c
    M net/tcp_common.h
    M net/tcp_conn_defs.h
    M pvar.c
    M pvar.h

  Log Message:
  -----------
  net: initial proxy_protocol implementation


  Commit: 5640091bbc1d1ac9afe371582e76439eabb85da1
      https://github.com/OpenSIPS/opensips/commit/5640091bbc1d1ac9afe371582e76439eabb85da1
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.lex
    M cfg.y
    M ip_addr.h
    M net/proxy_protocol.c

  Log Message:
  -----------
  net: filter proxy_protocol per socket


  Commit: 1105b89872d14d8678255ffe651bd63f2cc49d32
      https://github.com/OpenSIPS/opensips/commit/1105b89872d14d8678255ffe651bd63f2cc49d32
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_tls/proto_tls.c
    M net/api_proto_net.h
    M net/proto_tcp/proto_tcp.c
    M net/proto_udp/proto_udp.c
    M net/trans.c

  Log Message:
  -----------
  net: check if socket support proxy protocol at parse time


  Commit: 3b74d8b32c45c7f0fa7e79cf07cd96418889d758
      https://github.com/OpenSIPS/opensips/commit/3b74d8b32c45c7f0fa7e79cf07cd96418889d758
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.lex
    M cfg.y
    M forward.h
    M ip_addr.h
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_ipsec/proto_ipsec.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_msrp/msrp_common.h
    M modules/proto_sctp/sctp_server.c
    M modules/proto_sctp/sctp_server.h
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M net/api_proto.h
    M net/proto_tcp/proto_tcp.c
    M net/proto_udp/proto_udp.c
    M net/proxy_protocol.c
    M net/proxy_protocol.h
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: implement proxy_protocol for outbound


  Commit: 9c3db90e0ecec7111f9f55a5514cb1b829c59b77
      https://github.com/OpenSIPS/opensips/commit/9c3db90e0ecec7111f9f55a5514cb1b829c59b77
  Author: Remi Collet <remi at famillecollet.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cachedb_mongodb/Makefile
    M modules/cachedb_mongodb/cachedb_mongodb_dbase.h
    M modules/cachedb_mongodb/cachedb_mongodb_json.h

  Log Message:
  -----------
  support for libmongc/libbson version 2 (#3829)


  Commit: d5fef5ae332f9346f6e81795b8698c7fd4e69e05
      https://github.com/OpenSIPS/opensips/commit/d5fef5ae332f9346f6e81795b8698c7fd4e69e05
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_common.h
    M modules/proto_wss/proto_wss.c

  Log Message:
  -----------
  proto_ws: add proxy_protocol support


  Commit: 56f104f4379418ec6449cf1eb56bdcda1a1c7667
      https://github.com/OpenSIPS/opensips/commit/56f104f4379418ec6449cf1eb56bdcda1a1c7667
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M pvar.c

  Log Message:
  -----------
  net: add af support in proxy_protocol


  Commit: 24225f50b57421e9ea1a39e2a8ed893be0e2edf8
      https://github.com/OpenSIPS/opensips/commit/24225f50b57421e9ea1a39e2a8ed893be0e2edf8
  Author: vladpaiu <vladpaiu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_jwt/auth_jwt_certops.c
    M modules/auth_jwt/auth_jwt_certops.h
    M modules/auth_jwt/authjwt_mod.c
    M modules/auth_jwt/doc/auth_jwt_admin.xml

  Log Message:
  -----------
  Add support to extract RSA PUB key from e&n format ( JWK ) (#3827)


  Commit: 5a4725df868dbc8bdae148accdbd08bf1a733429
      https://github.com/OpenSIPS/opensips/commit/5a4725df868dbc8bdae148accdbd08bf1a733429
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M INSTALL
    M cfg.lex
    M cfg.y
    M examples/acc-mysql.cfg
    M examples/flag_reply.cfg
    M examples/msilo.cfg
    M flags.h
    M help_msg.h
    M main.c
    M modules/cfgutils/test/opensips.cfg
    M modules/db_text/README
    M modules/db_text/doc/db_text.cfg
    M modules/db_unixodbc/README
    M modules/db_unixodbc/doc/db_unixodbc_admin.xml
    M modules/imc/doc/imc.cfg
    M modules/jabber/doc/jabberx.cfg
    M modules/msilo/README
    M modules/msilo/doc/msilo.cfg
    M modules/osp/etc/sample-osp-opensips.cfg
    M modules/presence/presence.c
    M modules/registrar/test/opensips.cfg
    M modules/speeddial/README
    M modules/speeddial/doc/speeddial.cfg
    M modules/uac_redirect/README
    M modules/uac_redirect/doc/uac_redirect_admin.xml
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/uac_registrant_admin.xml
    M modules/usrloc/README
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ul_mod.h
    M modules/usrloc/usrloc.h
    M opensips.8
    M test/test-sdp-ops.cfg
    M usr_avp.c

  Log Message:
  -----------
  drop various deprecated parameters


  Commit: 9006f869514f6fa0b97fa3a1f15d3795dfce021b
      https://github.com/OpenSIPS/opensips/commit/9006f869514f6fa0b97fa3a1f15d3795dfce021b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/topology_hiding/doc/topology_hiding_admin.xml
    M modules/topology_hiding/topo_hiding_logic.c
    M modules/topology_hiding/topo_hiding_logic.h
    M modules/topology_hiding/topology_hiding.c

  Log Message:
  -----------
  topology_hiding: add th_callid_loop_protection parameter


  Commit: 3ba640fdd0af2930e65f47cdb604a6ab974ec1c1
      https://github.com/OpenSIPS/opensips/commit/3ba640fdd0af2930e65f47cdb604a6ab974ec1c1
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M Makefile.conf.template
    M doc/doxygen/opensips-doxygen
    M examples/httpd.cfg
    A modules/mi_xmlrpc/Makefile
    A modules/mi_xmlrpc/README
    A modules/mi_xmlrpc/doc/contributors.xml
    A modules/mi_xmlrpc/doc/mi_xmlrpc.xml
    A modules/mi_xmlrpc/doc/mi_xmlrpc_admin.xml
    A modules/mi_xmlrpc/http_fnc.c
    A modules/mi_xmlrpc/http_fnc.h
    A modules/mi_xmlrpc/mi_xmlrpc_http.c
    R modules/mi_xmlrpc_ng/Makefile
    R modules/mi_xmlrpc_ng/README
    R modules/mi_xmlrpc_ng/doc/contributors.xml
    R modules/mi_xmlrpc_ng/doc/mi_xmlrpc_ng.xml
    R modules/mi_xmlrpc_ng/doc/mi_xmlrpc_ng_admin.xml
    R modules/mi_xmlrpc_ng/http_fnc.c
    R modules/mi_xmlrpc_ng/http_fnc.h
    R modules/mi_xmlrpc_ng/mi_xmlrpc_http.c
    M packaging/arch/Makefile.conf.template
    M packaging/debian/copyright
    M packaging/debian/rules
    M packaging/redhat_fedora/opensips.spec

  Log Message:
  -----------
  mi_xmlrpc_ng: rename to mi_xmlrpc


  Commit: 2771bdb85e382cfbc7a4207450f2c07ad1ed0aed
      https://github.com/OpenSIPS/opensips/commit/2771bdb85e382cfbc7a4207450f2c07ad1ed0aed
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: convert ERR in DBG


  Commit: e253c5985ba8ee0a55a8fdc3ebdbd814d03be47b
      https://github.com/OpenSIPS/opensips/commit/e253c5985ba8ee0a55a8fdc3ebdbd814d03be47b
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_jwt/README
    M modules/auth_jwt/doc/contributors.xml
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/cachedb_mongodb/README
    M modules/cachedb_mongodb/doc/contributors.xml
    M modules/cfgutils/README
    M modules/cfgutils/doc/contributors.xml
    M modules/db_text/README
    M modules/db_text/doc/contributors.xml
    M modules/db_unixodbc/README
    M modules/db_unixodbc/doc/contributors.xml
    M modules/imc/README
    M modules/imc/doc/contributors.xml
    M modules/jabber/README
    M modules/jabber/doc/contributors.xml
    M modules/mi_xmlrpc/README
    M modules/mi_xmlrpc/doc/contributors.xml
    M modules/msilo/README
    M modules/msilo/doc/contributors.xml
    M modules/osp/README
    M modules/osp/doc/contributors.xml
    M modules/pike/README
    M modules/pike/doc/contributors.xml
    M modules/presence/README
    M modules/presence/doc/contributors.xml
    M modules/proto_bin/README
    M modules/proto_bin/doc/contributors.xml
    M modules/proto_bins/README
    M modules/proto_bins/doc/contributors.xml
    M modules/proto_hep/README
    M modules/proto_hep/doc/contributors.xml
    M modules/proto_ipsec/README
    M modules/proto_ipsec/doc/contributors.xml
    M modules/proto_msrp/README
    M modules/proto_msrp/doc/contributors.xml
    M modules/proto_sctp/README
    M modules/proto_sctp/doc/contributors.xml
    M modules/proto_smpp/README
    M modules/proto_smpp/doc/contributors.xml
    M modules/proto_tls/README
    M modules/proto_tls/doc/contributors.xml
    M modules/proto_ws/README
    M modules/proto_ws/doc/contributors.xml
    M modules/proto_wss/README
    M modules/proto_wss/doc/contributors.xml
    M modules/registrar/README
    M modules/registrar/doc/contributors.xml
    M modules/speeddial/README
    M modules/speeddial/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml
    M modules/topology_hiding/README
    M modules/topology_hiding/doc/contributors.xml
    M modules/tracer/README
    M modules/tracer/doc/contributors.xml
    M modules/uac_redirect/README
    M modules/uac_redirect/doc/contributors.xml
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/contributors.xml
    M modules/usrloc/README
    M modules/usrloc/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 28a4fb793b20fe7bb1823925cce404518d154afa
      https://github.com/OpenSIPS/opensips/commit/28a4fb793b20fe7bb1823925cce404518d154afa
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: make sure last_method is updated before req


  Commit: 2c7802db1b81fc7323056a0f40a0a91fe15eda0f
      https://github.com/OpenSIPS/opensips/commit/2c7802db1b81fc7323056a0f40a0a91fe15eda0f
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/stir_shaken/Makefile
    M modules/stir_shaken/README
    M modules/stir_shaken/doc/stir_shaken_admin.xml
    M modules/stir_shaken/stir_shaken.c

  Log Message:
  -----------
  stir_shaken: Migrate to WolfSSL-compatible cryptography

While stir_shaken only uses the "libcrypto" part of OpenSSL, the fact
that the OpenSSL runtime can be shared across multiple modules (e.g.
with proto_wss doing TLS connections) may induce unexpected crashes in
the stir_shaken crypto workflows.

This commit makes stir_shaken compatible with WolfSSL too, to become the
new default crypto library, but *without* losing OpenSSL compatibility.

To revert to OpenSSL based crypto, add this to Makefile.conf:
    DEFS+= -DSTIR_SHAKEN_OPENSSL


  Commit: b738f3558c17cf99ea7d0ac36ecf9845530503aa
      https://github.com/OpenSIPS/opensips/commit/b738f3558c17cf99ea7d0ac36ecf9845530503aa
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/control
    M packaging/redhat_fedora/opensips.spec
    M scripts/build/apt_requirements.txt

  Log Message:
  -----------
  packaging: Align stir_shaken deps with wolfSSL


  Commit: fdaa4ffdd096dbd9a87d54820549c568b2b4e642
      https://github.com/OpenSIPS/opensips/commit/fdaa4ffdd096dbd9a87d54820549c568b2b4e642
  Author: Maksym Sobolyev <sobomax at sippysoft.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M .github/workflows/.rtp.io.yml
    M docker/Dockerfile.rtp.io
    M scripts/build/get-arch-buildargs.rtp.io

  Log Message:
  -----------
  CI: tweak voiptests parameters. (#3832)

Set MM_INIT_DELAY to give opensips/rtp.io some extra time to
init.

Ignore faulures of the time-sensitive tests that might fail under
emulation.


  Commit: 1480b1faaa2a0b736fa8d6c4aec9a1e226521286
      https://github.com/OpenSIPS/opensips/commit/1480b1faaa2a0b736fa8d6c4aec9a1e226521286
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/ws_handshake_common.h
    M modules/proto_ws/ws_handshake_common.h
    M net/proto_tcp/tcp_common.h

  Log Message:
  -----------
  [tcp] fixed potential buffer overflow due to insane large Content-Len values

Check and limit the Content-Lenght to the size of the reading buffer, makes no sense to accept anything higher.


  Commit: 0f1d5126435968347c695e6d67041fbcb81ba14b
      https://github.com/OpenSIPS/opensips/commit/0f1d5126435968347c695e6d67041fbcb81ba14b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/stir_shaken/stir_shaken.c

  Log Message:
  -----------
  stir_shaken: Improve compatibility with older WolfSSL libraries

This patch avoids usage of newer API functions which are missing in
both WolfSSL 4.3.0 (e.g. Ubuntu 20.04) and pre-1.1.0 OpenSSL, such as:
  - X509_STORE_set_verify_cb_func()
  - ECDSA_SIG_get0()
  - X509_get_ext_by_OBJ()


  Commit: 528dd48dc856930340045bfb09db79227f9abe71
      https://github.com/OpenSIPS/opensips/commit/528dd48dc856930340045bfb09db79227f9abe71
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/control
    M packaging/debian/rules
    M packaging/redhat_fedora/opensips.spec

  Log Message:
  -----------
  build: stir_shaken should be used with openssl if wolfssl is not available


  Commit: ea4be409183ad5bce4596c7e043fb2f5ae405c38
      https://github.com/OpenSIPS/opensips/commit/ea4be409183ad5bce4596c7e043fb2f5ae405c38
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/stir_shaken/Makefile

  Log Message:
  -----------
  stir_shaken: Fix OpenSSL vs. WolfSSL detection

This fixes the RedHat build, where there is no WolfSSL available.


  Commit: 648e00609caa7efa1340118e92a3b2d3d309bd5a
      https://github.com/OpenSIPS/opensips/commit/648e00609caa7efa1340118e92a3b2d3d309bd5a
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/debian/rules

  Log Message:
  -----------
  packaging: remove bad copy & paste


  Commit: 7d9e20125da021ae38d27e7dc34d8bde39f4814a
      https://github.com/OpenSIPS/opensips/commit/7d9e20125da021ae38d27e7dc34d8bde39f4814a
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M packaging/redhat_fedora/opensips.spec

  Log Message:
  -----------
  redhat: enable wolfssl stir shaken only for latest distros


  Commit: 3d5a4a5deb522fc1c72495dc940ff0c8e3e790c4
      https://github.com/OpenSIPS/opensips/commit/3d5a4a5deb522fc1c72495dc940ff0c8e3e790c4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/mid_registrar/save.c
    M modules/usrloc/kv_store.c

  Log Message:
  -----------
  mid_registrar: Fix mem management bugs around "max contacts"

* avoid UAF of the @uc pointer during iteration
* fix logic so that the current @c cannot be freed by trim_contacts()
    itself, yet again leading to UAF type of bugs

usrloc: Fix rare memleak edge-case


  Commit: 45b1c2496fb17cff0d6f9d27033114c83676bfab
      https://github.com/OpenSIPS/opensips/commit/45b1c2496fb17cff0d6f9d27033114c83676bfab
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M lib/reg/common.c
    M lib/reg/common.h
    M lib/reg/doc/reg_modparams.xml
    M modules/mid_registrar/save.c
    M modules/registrar/save.c

  Log Message:
  -----------
  registrars: Accept Re-REGISTERs with equal CSeq

New module setting for both registrar and mid-registrar which controls
the policy on handling same Call-ID REGISTERs, with the same CSeq.

    modparam: allow_dup_cseq
    default:  true

Ultimately, this boils down to a trade-off between interoperability and
RFC strictness.  More info in the modparam documentation.


  Commit: af34f079b61ed30c4a1cf345913728c32f11d04e
      https://github.com/OpenSIPS/opensips/commit/af34f079b61ed30c4a1cf345913728c32f11d04e
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/janus/README
    M modules/janus/doc/contributors.xml
    M modules/mid_registrar/README
    M modules/mid_registrar/doc/contributors.xml
    M modules/proto_ws/README
    M modules/proto_ws/doc/contributors.xml
    M modules/registrar/README
    M modules/registrar/doc/contributors.xml
    M modules/stir_shaken/README
    M modules/stir_shaken/doc/contributors.xml
    M modules/usrloc/README
    M modules/usrloc/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: 5623d3d4683d16afcc538f6634c6c9ed2a5e4b37
      https://github.com/OpenSIPS/opensips/commit/5623d3d4683d16afcc538f6634c6c9ed2a5e4b37
  Author: Maksym Sobolyev <sobomax at sippysoft.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M .github/workflows/.rtp.io.yml
    R .lgtm.yml
    M README.md

  Log Message:
  -----------
  CI/rtp.io: Increase timeout a bit (#3833)

* CI/rtp.io: Increase timeout a bit

To fix some timeout seen on linux/ppc64le:

  https://github.com/OpenSIPS/opensips/actions/runs/22627454288/job/65577262119

* CI: remove unused file and add rtp.io badge


  Commit: 1cc3490a86df147b0dda166060c7d12f85b94c5a
      https://github.com/OpenSIPS/opensips/commit/1cc3490a86df147b0dda166060c7d12f85b94c5a
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cachedb_redis/cachedb_redis_dbase.c

  Log Message:
  -----------
  cachedb_redis: fix NULL deref when redisConnect returns NULL

redisConnect() and redisConnectWithTimeout() can return NULL on allocation
failure.  The existing check only handles ctx->err != REDIS_OK (non-NULL
ctx with error), so a NULL return falls through to redisSetTimeout(NULL, ...)
which dereferences the NULL pointer.

Add an explicit NULL check after the error-code check.

Also change the warned flag from char to int to avoid undefined behavior
on signed overflow after 127 connection-timeout warnings.


  Commit: eef0eff7af6d628004a3ee7fc2dd860203e94366
      https://github.com/OpenSIPS/opensips/commit/eef0eff7af6d628004a3ee7fc2dd860203e94366
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.lex
    M cfg.y
    M ip_addr.h

  Log Message:
  -----------
  cfg: add bond socket_def grammar with list support


  Commit: b64bb19a171fdcf5a633fdf17f9048233e72bb53
      https://github.com/OpenSIPS/opensips/commit/b64bb19a171fdcf5a633fdf17f9048233e72bb53
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.y
    M net/trans.c
    M socket_info.c
    M socket_info.h

  Log Message:
  -----------
  [net] init the BOND sockets


  Commit: 1124903a4b00987a554e07c321d2645419e7655d
      https://github.com/OpenSIPS/opensips/commit/1124903a4b00987a554e07c321d2645419e7655d
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M forward.c

  Log Message:
  -----------
  [bond] added bond socket selection in get_send_socket


  Commit: dd4b4bf272d6b6cd9a3c5d1c2d43554dc7809bed
      https://github.com/OpenSIPS/opensips/commit/dd4b4bf272d6b6cd9a3c5d1c2d43554dc7809bed
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M forward.c
    M ip_addr.h
    M net/trans.c
    M socket_info.c
    M socket_info.h

  Log Message:
  -----------
  Added the PROTO_BOND as token

We need to be parsed and recognized as protocol


  Commit: ee9ff321d6bbc87afa9752fd9ed261b2b96ee13e
      https://github.com/OpenSIPS/opensips/commit/ee9ff321d6bbc87afa9752fd9ed261b2b96ee13e
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.y
    M forward.c
    M modules/tm/ut.h
    M net/trans.c
    M net/trans.h
    M socket_info.c

  Log Message:
  -----------
  [bond sockets] varios fixes, working code


  Commit: 74c2aa6b7b8320926061f3f68c5c5aefd8201dee
      https://github.com/OpenSIPS/opensips/commit/74c2aa6b7b8320926061f3f68c5c5aefd8201dee
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M core_cmds.c

  Log Message:
  -----------
  [bond sockets] added socket_belongs_to_bond() ...

... to check if a real socket belongs to a bond socket


  Commit: f41ac07bdce1540a39c68443d4f18e389f3e1bd0
      https://github.com/OpenSIPS/opensips/commit/f41ac07bdce1540a39c68443d4f18e389f3e1bd0
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_ipsec/proto_ipsec.c
    M net/trans.c
    M socket_info.c
    M socket_info.h

  Log Message:
  -----------
  Expend socket_info to have an optional orig_name

To be used when socket defined as interface (as "socket=udp:eth1") is expanded to multiple one-per IP interfaces


  Commit: 94fbaf65fe4994f736f7651e071bda40eb70a61a
      https://github.com/OpenSIPS/opensips/commit/94fbaf65fe4994f736f7651e071bda40eb70a61a
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M socket_info.c

  Log Message:
  -----------
  [socket bond] fix uninitialized sif in fix_bond_socket_list() on error case


  Commit: 3942a28ed29dc75d126004e8cea98068d0fb2a12
      https://github.com/OpenSIPS/opensips/commit/3942a28ed29dc75d126004e8cea98068d0fb2a12
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M blacklists.c
    M mi/mi.c
    M mi/mi.h
    M mi/mi_core.c
    M modules/auth_aka/auth_aka.c
    M modules/b2b_entities/b2b_entities.c
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_sca/b2b_sca.c
    M modules/benchmark/benchmark.c
    M modules/cachedb_local/cachedb_local.c
    M modules/call_center/call_center.c
    M modules/callops/callops.c
    M modules/carrierroute/carrierroute.c
    M modules/clusterer/clusterer_mod.c
    M modules/config/config.c
    M modules/cpl_c/cpl.c
    M modules/db_berkeley/bdb_mi.h
    M modules/db_flatstore/flat_mi.h
    M modules/db_text/dbtext.c
    M modules/db_virtual/db_virtual.c
    M modules/dialog/dialog.c
    M modules/dialplan/dialplan.c
    M modules/dispatcher/dispatcher.c
    M modules/domain/mi.h
    M modules/drouting/drouting.c
    M modules/event_flatstore/event_flatstore.c
    M modules/fraud_detection/fraud_detection.c
    M modules/freeswitch_scripting/fss_mod.c
    M modules/httpd/httpd.c
    M modules/imc/imc.c
    M modules/load_balancer/load_balancer.c
    M modules/media_exchange/media_exchange.c
    M modules/mqueue/mqueue_mod.c
    M modules/msrp_gateway/msrp_gateway.c
    M modules/msrp_ua/msrp_ua.c
    M modules/nathelper/nathelper.c
    M modules/opentelemetry/opentelemetry.cpp
    M modules/perl/perl.c
    M modules/pi_http/pi_http.c
    M modules/pike/pike_mi.h
    M modules/presence/presence.c
    M modules/presence_dfks/presence_dfks.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_msrp/proto_msrp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M modules/pua_mi/pua_mi.c
    M modules/qrouting/qrouting.c
    M modules/rate_cacher/rate_cacher.c
    M modules/ratelimit/ratelimit.c
    M modules/regex/regex_mod.c
    M modules/rls/rls.c
    M modules/rtp_relay/rtp_relay.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/rtpproxy.c
    M modules/sipcapture/sipcapture.c
    M modules/sockets_mgm/sockets_mgm.c
    M modules/sql_cacher/sql_cacher.c
    M modules/stir_shaken/stir_shaken.c
    M modules/tcp_mgm/tcp_mgm.c
    M modules/tls_mgm/tls_mgm.c
    M modules/tm/mi.h
    M modules/tracer/tracer.c
    M modules/trie/trie.c
    M modules/uac_registrant/registrant.c
    M modules/userblacklist/userblacklist.c
    M modules/usrloc/ul_mi.h
    M net/proto_tcp/proto_tcp.c
    M statistics.c

  Log Message:
  -----------
  mi: refactor cmds names to contain the module

Close #3838


  Commit: 761c3f3673cde1799abab71f6bcd508052e219d5
      https://github.com/OpenSIPS/opensips/commit/761c3f3673cde1799abab71f6bcd508052e219d5
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M blacklists.c
    M mi/mi.c
    M mi/mi.h
    M mi/mi_core.c
    M modules/aaa_diameter/aaa_diameter.c
    M modules/auth_aka/auth_aka.c
    M modules/b2b_entities/b2b_entities.c
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_sca/b2b_sca.c
    M modules/benchmark/benchmark.c
    M modules/cachedb_local/cachedb_local.c
    M modules/call_center/call_center.c
    M modules/callops/callops.c
    M modules/carrierroute/carrierroute.c
    M modules/cfgutils/cfgutils.c
    M modules/clusterer/clusterer_mod.c
    M modules/config/config.c
    M modules/cpl_c/cpl.c
    M modules/db_berkeley/db_berkeley.c
    M modules/db_flatstore/flatstore_mod.c
    M modules/db_text/dbtext.c
    M modules/db_virtual/db_virtual.c
    M modules/dialog/dialog.c
    M modules/dialplan/dialplan.c
    M modules/dispatcher/dispatcher.c
    M modules/domain/domain_mod.c
    M modules/drouting/drouting.c
    M modules/event_flatstore/event_flatstore.c
    M modules/fraud_detection/fraud_detection.c
    M modules/freeswitch_scripting/fss_mod.c
    M modules/gflags/gflags.c
    M modules/httpd/httpd.c
    M modules/imc/imc.c
    M modules/load_balancer/load_balancer.c
    M modules/lua/siplua.c
    M modules/media_exchange/media_exchange.c
    M modules/mqueue/mqueue_mod.c
    M modules/msrp_gateway/msrp_gateway.c
    M modules/msrp_ua/msrp_ua.c
    M modules/nathelper/nathelper.c
    M modules/opentelemetry/opentelemetry.cpp
    M modules/permissions/permissions.c
    M modules/pi_http/pi_http.c
    M modules/pike/pike.c
    M modules/presence/presence.c
    M modules/presence_dfks/presence_dfks.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_msrp/proto_msrp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M modules/pua_mi/pua_mi.c
    M modules/qrouting/qrouting.c
    M modules/rate_cacher/rate_cacher.c
    M modules/ratelimit/ratelimit.c
    M modules/regex/regex_mod.c
    M modules/rls/rls.c
    M modules/rtp_relay/rtp_relay.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/rtpproxy.c
    M modules/sipcapture/sipcapture.c
    M modules/sockets_mgm/sockets_mgm.c
    M modules/sql_cacher/sql_cacher.c
    M modules/stir_shaken/stir_shaken.c
    M modules/tcp_mgm/tcp_mgm.c
    M modules/tls_mgm/tls_mgm.c
    M modules/tm/tm.c
    M modules/tracer/tracer.c
    M modules/trie/trie.c
    M modules/uac_registrant/registrant.c
    M modules/userblacklist/userblacklist.c
    M modules/usrloc/ul_mod.c
    M modules/xcap_client/xcap_client.c
    M net/proto_tcp/proto_tcp.c
    M statistics.c

  Log Message:
  -----------
  mi: add aliases for old MI commands


  Commit: 3b3e1e1b111c21c33f33950985eec875f0da78b1
      https://github.com/OpenSIPS/opensips/commit/3b3e1e1b111c21c33f33950985eec875f0da78b1
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/auth_aka/doc/auth_aka_admin.xml
    M modules/b2b_entities/doc/b2b_entities_admin.xml
    M modules/b2b_logic/doc/b2b_logic_admin.xml
    M modules/b2b_sca/doc/b2b_sca_admin.xml
    M modules/benchmark/doc/benchmark_admin.xml
    M modules/cachedb_local/doc/cachedb_local_admin.xml
    M modules/call_center/doc/call_center_admin.xml
    M modules/callops/doc/callops_admin.xml
    M modules/carrierroute/doc/carrierroute_admin.xml
    M modules/clusterer/doc/clusterer_admin.xml
    M modules/config/doc/config_admin.xml
    M modules/cpl_c/doc/cpl_c_admin.xml
    M modules/db_berkeley/doc/db_berkeley_admin.xml
    M modules/db_flatstore/doc/db_flatstore_admin.xml
    M modules/db_text/doc/db_text_admin.xml
    M modules/db_virtual/doc/db_virtual_admin.xml
    M modules/dialog/doc/dialog_admin.xml
    M modules/dialplan/doc/dialplan_admin.xml
    M modules/dispatcher/doc/dispatcher_admin.xml
    M modules/domain/doc/domain_admin.xml
    M modules/drouting/doc/drouting_admin.xml
    M modules/event_flatstore/doc/event_flatstore_admin.xml
    M modules/fraud_detection/doc/fraud_detection_admin.xml
    M modules/freeswitch_scripting/doc/freeswitch_scripting_admin.xml
    M modules/httpd/doc/httpd_admin.xml
    M modules/imc/doc/imc_admin.xml
    M modules/load_balancer/doc/load_balancer_admin.xml
    M modules/media_exchange/doc/media_exchange_admin.xml
    M modules/mqueue/doc/mqueue_admin.xml
    M modules/msrp_gateway/doc/msrp_gateway_admin.xml
    M modules/msrp_ua/doc/msrp_ua_admin.xml
    M modules/nathelper/doc/nathelper_admin.xml
    M modules/opentelemetry/doc/opentelemetry_admin.xml
    M modules/pi_http/doc/pi_http_admin.xml
    M modules/pike/doc/pike_admin.xml
    M modules/presence/doc/presence_admin.xml
    M modules/presence_dfks/doc/presence_dfks_admin.xml
    M modules/proto_bins/doc/proto_bins_admin.xml
    M modules/proto_msrp/doc/proto_msrp_admin.xml
    M modules/proto_tls/doc/proto_tls_admin.xml
    M modules/proto_ws/doc/proto_ws_admin.xml
    M modules/proto_wss/doc/proto_wss_admin.xml
    M modules/pua_mi/doc/pua_mi_admin.xml
    M modules/qrouting/doc/qrouting_admin.xml
    M modules/rate_cacher/doc/rate_cacher_admin.xml
    M modules/ratelimit/doc/ratelimit_admin.xml
    M modules/regex/doc/regex_admin.xml
    M modules/rls/doc/rls_admin.xml
    M modules/rtp_relay/doc/rtp_relay_admin.xml
    M modules/rtpengine/doc/rtpengine_admin.xml
    M modules/rtpproxy/doc/rtpproxy_admin.xml
    M modules/sipcapture/doc/sipcapture_admin.xml
    M modules/sockets_mgm/doc/sockets_mgm_admin.xml
    M modules/sql_cacher/doc/sql_cacher_admin.xml
    M modules/stir_shaken/doc/stir_shaken_admin.xml
    M modules/tcp_mgm/doc/tcp_mgm_admin.xml
    M modules/tls_mgm/doc/tls_mgm_admin.xml
    M modules/tm/doc/tm_admin.xml
    M modules/tracer/doc/tracer_admin.xml
    M modules/trie/doc/trie_admin.xml
    M modules/uac_registrant/doc/uac_registrant_admin.xml
    M modules/userblacklist/doc/userblacklist_admin.xml
    M modules/usrloc/doc/usrloc_admin.xml

  Log Message:
  -----------
  mi: document changes of new MI functions


  Commit: a6071ba5e46ae0063bd0351ef171ed5b4c523967
      https://github.com/OpenSIPS/opensips/commit/a6071ba5e46ae0063bd0351ef171ed5b4c523967
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M mi/mi_core.c

  Log Message:
  -----------
  mi: have which return all functions within a module


  Commit: 50624403f36b668fd12cfe4d47e887af63e156c2
      https://github.com/OpenSIPS/opensips/commit/50624403f36b668fd12cfe4d47e887af63e156c2
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/pua_mi/doc/pua_mi_admin.xml
    M modules/pua_mi/pua_mi.c

  Log Message:
  -----------
  pua_mi: fix migration to module:cmd


  Commit: 2efb7e2fdd311dd31396a3d7434777e16ce46cca
      https://github.com/OpenSIPS/opensips/commit/2efb7e2fdd311dd31396a3d7434777e16ce46cca
  Author: Maksym Sobolyev <sobomax at sippysoft.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M .github/workflows/.rtp.io.yml
    M scripts/build/start_container.sh

  Log Message:
  -----------
  CI/rtp.io: handle "/" in branch names (i.e feature/xyz) correctly (#3844)

Fixes:
  https://github.com/OpenSIPS/opensips/actions/runs/22914875002/job/66498568285#step:8:201

Display qemy version for debug.


  Commit: 8e174d25384ec40e48a97b24dd92106eb832386a
      https://github.com/OpenSIPS/opensips/commit/8e174d25384ec40e48a97b24dd92106eb832386a
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/aaa_diameter/README
    M modules/aaa_diameter/doc/contributors.xml
    M modules/auth_aka/README
    M modules/auth_aka/doc/contributors.xml
    M modules/b2b_entities/README
    M modules/b2b_entities/doc/contributors.xml
    M modules/b2b_logic/README
    M modules/b2b_logic/doc/contributors.xml
    M modules/b2b_sca/README
    M modules/b2b_sca/doc/contributors.xml
    M modules/benchmark/README
    M modules/benchmark/doc/contributors.xml
    M modules/cachedb_local/README
    M modules/cachedb_local/doc/contributors.xml
    M modules/cachedb_redis/README
    M modules/cachedb_redis/doc/contributors.xml
    M modules/call_center/README
    M modules/call_center/doc/contributors.xml
    M modules/callops/README
    M modules/callops/doc/contributors.xml
    M modules/carrierroute/README
    M modules/carrierroute/doc/contributors.xml
    M modules/cfgutils/README
    M modules/cfgutils/doc/contributors.xml
    M modules/clusterer/README
    M modules/clusterer/doc/contributors.xml
    M modules/config/README
    M modules/config/doc/contributors.xml
    M modules/cpl_c/README
    M modules/cpl_c/doc/contributors.xml
    M modules/db_berkeley/README
    M modules/db_berkeley/doc/contributors.xml
    M modules/db_flatstore/README
    M modules/db_flatstore/doc/contributors.xml
    M modules/db_text/README
    M modules/db_text/doc/contributors.xml
    M modules/db_virtual/README
    M modules/db_virtual/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/dialplan/README
    M modules/dialplan/doc/contributors.xml
    M modules/dispatcher/README
    M modules/dispatcher/doc/contributors.xml
    M modules/domain/README
    M modules/domain/doc/contributors.xml
    M modules/drouting/README
    M modules/drouting/doc/contributors.xml
    M modules/event_flatstore/README
    M modules/event_flatstore/doc/contributors.xml
    M modules/fraud_detection/README
    M modules/fraud_detection/doc/contributors.xml
    M modules/freeswitch_scripting/README
    M modules/freeswitch_scripting/doc/contributors.xml
    M modules/gflags/README
    M modules/gflags/doc/contributors.xml
    M modules/httpd/README
    M modules/httpd/doc/contributors.xml
    M modules/imc/README
    M modules/imc/doc/contributors.xml
    M modules/load_balancer/README
    M modules/load_balancer/doc/contributors.xml
    M modules/lua/README
    M modules/lua/doc/contributors.xml
    M modules/media_exchange/README
    M modules/media_exchange/doc/contributors.xml
    M modules/mqueue/README
    M modules/mqueue/doc/contributors.xml
    M modules/msrp_gateway/README
    M modules/msrp_gateway/doc/contributors.xml
    M modules/msrp_ua/README
    M modules/msrp_ua/doc/contributors.xml
    M modules/nathelper/README
    M modules/nathelper/doc/contributors.xml
    M modules/opentelemetry/README
    M modules/opentelemetry/doc/contributors.xml
    M modules/perl/README
    M modules/perl/doc/contributors.xml
    M modules/permissions/README
    M modules/permissions/doc/contributors.xml
    M modules/pi_http/README
    M modules/pi_http/doc/contributors.xml
    M modules/pike/README
    M modules/pike/doc/contributors.xml
    M modules/presence/README
    M modules/presence/doc/contributors.xml
    M modules/presence_dfks/README
    M modules/presence_dfks/doc/contributors.xml
    M modules/proto_bins/README
    M modules/proto_bins/doc/contributors.xml
    M modules/proto_ipsec/README
    M modules/proto_ipsec/doc/contributors.xml
    M modules/proto_msrp/README
    M modules/proto_msrp/doc/contributors.xml
    M modules/proto_tls/README
    M modules/proto_tls/doc/contributors.xml
    M modules/proto_ws/README
    M modules/proto_ws/doc/contributors.xml
    M modules/proto_wss/README
    M modules/proto_wss/doc/contributors.xml
    M modules/pua_mi/README
    M modules/pua_mi/doc/contributors.xml
    M modules/qrouting/README
    M modules/qrouting/doc/contributors.xml
    M modules/rate_cacher/README
    M modules/rate_cacher/doc/contributors.xml
    M modules/ratelimit/README
    M modules/ratelimit/doc/contributors.xml
    M modules/regex/README
    M modules/regex/doc/contributors.xml
    M modules/rls/README
    M modules/rls/doc/contributors.xml
    M modules/rtp_relay/README
    M modules/rtp_relay/doc/contributors.xml
    M modules/rtpengine/README
    M modules/rtpengine/doc/contributors.xml
    M modules/rtpproxy/README
    M modules/rtpproxy/doc/contributors.xml
    M modules/sipcapture/README
    M modules/sipcapture/doc/contributors.xml
    M modules/sockets_mgm/README
    M modules/sockets_mgm/doc/contributors.xml
    M modules/sql_cacher/README
    M modules/sql_cacher/doc/contributors.xml
    M modules/stir_shaken/README
    M modules/stir_shaken/doc/contributors.xml
    M modules/tcp_mgm/README
    M modules/tcp_mgm/doc/contributors.xml
    M modules/tls_mgm/README
    M modules/tls_mgm/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml
    M modules/tracer/README
    M modules/tracer/doc/contributors.xml
    M modules/trie/README
    M modules/trie/doc/contributors.xml
    M modules/uac_registrant/README
    M modules/uac_registrant/doc/contributors.xml
    M modules/userblacklist/README
    M modules/userblacklist/doc/contributors.xml
    M modules/usrloc/README
    M modules/usrloc/doc/contributors.xml
    M modules/xcap_client/README
    M modules/xcap_client/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: a3c5221fa56295226a6fadc6a9727ec63691f412
      https://github.com/OpenSIPS/opensips/commit/a3c5221fa56295226a6fadc6a9727ec63691f412
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/t_cancel.c
    M modules/tm/timer.c

  Log Message:
  -----------
  [tm] fixed init of branch bitmask in timeout handler

related to f0223cc93417cb848ab85c2ca2765d1a4958dcd1


  Commit: 4cf6962d29cbd728e46ad349792fd36bc501facb
      https://github.com/OpenSIPS/opensips/commit/4cf6962d29cbd728e46ad349792fd36bc501facb
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/janus_common.c
    M modules/janus/janus_mod.c
    M modules/janus/janus_proc.c

  Log Message:
  -----------
  janus: fix pkg memory leaks in cJSON_Print/cJSON_Parse paths

The janus module uses cJSON_InitHooks() to route all cJSON allocations
through OpenSIPS pkg_malloc. Three call sites had missing cleanup:

- janus_ipc_send_request(): cJSON_Print() result was copied to shm via
  shm_nt_str_dup() but the pkg-allocated original was never freed.
  Also added a NULL check -- under pkg exhaustion cJSON_Print returns
  NULL and the subsequent strlen(NULL) causes a crash.

- w_janus_send_request(): the cJSON tree from cJSON_Parse() was passed
  to janus_ipc_send_request() (which serializes it to shm) but
  cJSON_Delete() was never called afterward. Also added cleanup on the
  get_janus_connection_by_id() failure path.

- janus_raise_event() and handle_janus_json_request(): added NULL
  checks after cJSON_Print(). Fixed missing pkg_free(full_json) on
  the shm_strdup() failure path in handle_janus_json_request().

Together these leak ~350 bytes of pkg memory per janus_send_request()
call, leading to SIP worker pkg exhaustion and crash under sustained
load.

Fixes #3712


  Commit: 90994adb008dd5d6fe9bd0a2641f5a951fb18eb5
      https://github.com/OpenSIPS/opensips/commit/90994adb008dd5d6fe9bd0a2641f5a951fb18eb5
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/nathelper/README
    M modules/nathelper/doc/nathelper_admin.xml
    M modules/nathelper/nathelper.c

  Log Message:
  -----------
  [nathelper] add functions to preserve the original private contact.

The fix_nated_contact() take a flag in order to save the original private IP and port into the 'org' uri param (b64 encoded)
The new restore_nated_ruri() function (upon routing sequential requests) extract the info from the 'org' RURI param and restores the private ip:port in RURI. The received RURI is pushed into DURI for routing purposes ;)

Alternative to #3769


  Commit: 3c8e07b0885f8ca36600fa6e469b3a4b24938daf
      https://github.com/OpenSIPS/opensips/commit/3c8e07b0885f8ca36600fa6e469b3a4b24938daf
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/README
    M modules/janus/doc/contributors.xml
    M modules/nathelper/README
    M modules/nathelper/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: fb017823beac7d02f203cd8ae74b4a743cfa69c2
      https://github.com/OpenSIPS/opensips/commit/fb017823beac7d02f203cd8ae74b4a743cfa69c2
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_logic/bridging.c

  Log Message:
  -----------
  b2b_logic: turn of bridge initiator in case transfer fails


  Commit: fe34b4c729ba7a2f13ba3b471da186363abfb4b4
      https://github.com/OpenSIPS/opensips/commit/fe34b4c729ba7a2f13ba3b471da186363abfb4b4
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/t_cancel.c
    M modules/tm/t_cancel.h
    M modules/tm/t_fwd.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c

  Log Message:
  -----------
  [tm] fix macros and indexing related to BRANCH_BITMASK


  Commit: 4ed494651e9364a2897d787866059e8a967c178a
      https://github.com/OpenSIPS/opensips/commit/4ed494651e9364a2897d787866059e8a967c178a
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/doc/dialog_admin.xml

  Log Message:
  -----------
  dialog: updated documentation for new MI format


  Commit: 6a7795161bd9958a67726cb01076a1292f43ee48
      https://github.com/OpenSIPS/opensips/commit/6a7795161bd9958a67726cb01076a1292f43ee48
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c

  Log Message:
  -----------
  dialog: Add PRACK support to dlg_send_sequential()

* various validations of the current 101-199 provisional reply
* takes the RSeq header and builds the RAck header into the PRACK


  Commit: 3f830ae4f9808dab90fe8066f71d1dc9d77ac4ee
      https://github.com/OpenSIPS/opensips/commit/3f830ae4f9808dab90fe8066f71d1dc9d77ac4ee
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/README
    M modules/dialog/dialog.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_handlers.h
    M modules/dialog/dlg_hash.h
    M modules/dialog/doc/dialog_admin.xml

  Log Message:
  -----------
  dialog: Add "auto-PRACK handling" flag to create_dialog() ("L" flag)

Similar logic to the dlg_send_sequential() addition, but fully automated.


  Commit: 14833bd6df02982139c1fa2fdfee5f9264b9de0a
      https://github.com/OpenSIPS/opensips/commit/14833bd6df02982139c1fa2fdfee5f9264b9de0a
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_handlers.h
    M modules/dialog/dlg_req_within.c

  Log Message:
  -----------
  dialog PRACK: Fix issues during early-dialog

* work around the fact that r_cseq, Contact, and route-set and not yet
  present in the dst_leg struct.  So the use of send_leg_msg() and
  build_dialog_info() should be avoided here.
* fix outbound ACK CSeq to match the INVITE, rather than +1 due to
  the in-between PRACK


  Commit: b0ce4342e03f6acaae23c1cd7004d58ddce441e2
      https://github.com/OpenSIPS/opensips/commit/b0ce4342e03f6acaae23c1cd7004d58ddce441e2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_handlers.c

  Log Message:
  -----------
  dialog: relax manual PRACK checks


  Commit: 966e400c0f2966694f29a3a64faa925132ba6646
      https://github.com/OpenSIPS/opensips/commit/966e400c0f2966694f29a3a64faa925132ba6646
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dlg_req_within.c

  Log Message:
  -----------
  dialog PRACK: Fix outgoing CSeq with multiple PRACKs


  Commit: 06c9a9840cf70ac8fea96a466f9252b2655371fb
      https://github.com/OpenSIPS/opensips/commit/06c9a9840cf70ac8fea96a466f9252b2655371fb
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_hash.h
    M modules/dialog/doc/dialog_admin.xml

  Log Message:
  -----------
  dialog: Change create_dialog() to use explicit flag names


  Commit: cb2597577b6d499781d582b810a970a4a15c5bc3
      https://github.com/OpenSIPS/opensips/commit/cb2597577b6d499781d582b810a970a4a15c5bc3
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dlg_req_within.c

  Log Message:
  -----------
  dialog PRACK: Enhance auto-prack mode with failure handling


  Commit: f676d80f3a6ecfef7fa12767e85a41cbd09a52c4
      https://github.com/OpenSIPS/opensips/commit/f676d80f3a6ecfef7fa12767e85a41cbd09a52c4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_req_within.c
    M modules/dialog/dlg_req_within.h

  Log Message:
  -----------
  dialog PRACK: Add a couple knobs/settings for UAC-side control

    * auto_prack_hangup_on_failure (default: 0) -> enable strict UAC
    * auto_prack_fr_timeout (default: 2 sec) -> related to above


  Commit: 2db670579ffc60df8c37f6daf582b7d280b52bfd
      https://github.com/OpenSIPS/opensips/commit/2db670579ffc60df8c37f6daf582b7d280b52bfd
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_load.h
    M modules/script_helper/README
    M modules/script_helper/doc/script_helper_admin.xml

  Log Message:
  -----------
  script_helper: Fix build

Move flags parser in a .h file, so script_helper sees it as well.


  Commit: 1bcda239faf843192b7572d92e07e4ea3edb6a2f
      https://github.com/OpenSIPS/opensips/commit/1bcda239faf843192b7572d92e07e4ea3edb6a2f
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rtp_relay/rtp_relay_ctx.c

  Log Message:
  -----------
  rtp_relay: do not run indialog for non-SDP requests


  Commit: bbfbe7c713d34a6c7782e8c53277e82df7e7c204
      https://github.com/OpenSIPS/opensips/commit/bbfbe7c713d34a6c7782e8c53277e82df7e7c204
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_logic/README
    M modules/b2b_logic/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/rtp_relay/README
    M modules/rtp_relay/doc/contributors.xml
    M modules/script_helper/README
    M modules/script_helper/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: b18f11a2ec881c921609daca69971007c7814f10
      https://github.com/OpenSIPS/opensips/commit/b18f11a2ec881c921609daca69971007c7814f10
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M menuconfig/configs/opensips_residential.m4
    M menuconfig/configs/opensips_trunking.m4

  Log Message:
  -----------
  menuconfig: Fix templates, use new create_dialog() flags


  Commit: 06ee2f8e050eca5b9d406780457f25148b8a0d5e
      https://github.com/OpenSIPS/opensips/commit/06ee2f8e050eca5b9d406780457f25148b8a0d5e
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/dialog/dialog.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_handlers.h
    M modules/dialog/dlg_req_within.c

  Log Message:
  -----------
  dialog: fix multi-PRACK CSeq handling and uac-auth ACK CSeq regression

* fix CSeq regression on the outbound leg, prioritize .last_gen_cseq
* manual PRACK: fix matching for current leg (multi-180 scenario)
* manual PRACK: add logic for early leg creation during onreply_route.
    This allows the leg to be correctly matched and have its CSeq set.
* small fix: avoid overwriting .last_gen_cseq with smaller values


  Commit: 4e2220dfec2b2be7787512d2037d18f1ee969ac6
      https://github.com/OpenSIPS/opensips/commit/4e2220dfec2b2be7787512d2037d18f1ee969ac6
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/stir_shaken/stir_shaken.c

  Log Message:
  -----------
  stir_shaken: use a new bio for chain

avoid using the same cbio, as it needs to be rewind to be read again in
wolfssl; openssl handles this properly though


  Commit: 309c7b3fab5772800376f67bd5629fe51a311917
      https://github.com/OpenSIPS/opensips/commit/309c7b3fab5772800376f67bd5629fe51a311917
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/db_sqlite/dbase.c

  Log Message:
  -----------
  db_sqlite: Fix interaction with sql_cacher

The .query API endpoint in db/db.h is meant to return 0 on success, yet
the current implementation in db_sqlite was returning "number of rows"
on success, leading to:

ERROR:sql_cacher:load_entire_table: Failure to issue query to SQL DB...
ERROR:sql_cacher:cache_init_load: Failed to cache the entire table...


  Commit: 8ba4c5fa804a14e1918bb0b1c7a28b2da67ca3f1
      https://github.com/OpenSIPS/opensips/commit/8ba4c5fa804a14e1918bb0b1c7a28b2da67ca3f1
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/db_sqlite/dbase.c

  Log Message:
  -----------
  db_sqlite: Improve error handling

* avoid dangling PS pointers
* avoid leaking the PS object on NULL "result"


  Commit: 82929a3e39bba327c8a61fde235edf09a303af3a
      https://github.com/OpenSIPS/opensips/commit/82929a3e39bba327c8a61fde235edf09a303af3a
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/db_sqlite/README
    M modules/db_sqlite/doc/contributors.xml
    M modules/dialog/README
    M modules/dialog/doc/contributors.xml
    M modules/stir_shaken/README
    M modules/stir_shaken/doc/contributors.xml

  Log Message:
  -----------
  Rebuild documentation


  Commit: ae90bd7942e4ea872a0d6b3de8551e7a32e80c1f
      https://github.com/OpenSIPS/opensips/commit/ae90bd7942e4ea872a0d6b3de8551e7a32e80c1f
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tm/async.c

  Log Message:
  -----------
  [tm] fix access to un-allocated branch

Reported and fixed by @vladpaiu


  Commit: b75191c26d5470dcf369546086049b5156b1961d
      https://github.com/OpenSIPS/opensips/commit/b75191c26d5470dcf369546086049b5156b1961d
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cachedb_memcached/cachedb_memcached.c

  Log Message:
  -----------
  cachedb_memcached: fix NULL deref when memcached_create() returns NULL

memcached_create(NULL) can return NULL on allocation failure.  The existing
code never checks the return value, so a NULL memc pointer falls through to
memcached_server_push(NULL, ...) which dereferences the NULL pointer.

Add an explicit NULL check after memcached_create(), following the existing
error-handling pattern in the function (pkg_free + return 0).

Found during a systematic audit of cachedb backends following the
cachedb_redis NULL-deref fix in commit 8fb569cb3.


  Commit: a246dd8f45d7b5d46f877f61cdb9dea8844a4659
      https://github.com/OpenSIPS/opensips/commit/a246dd8f45d7b5d46f877f61cdb9dea8844a4659
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/cachedb_cassandra/cachedb_cassandra_dbase.c

  Log Message:
  -----------
  cachedb_cassandra: fix NULL deref when cass_cluster_new() returns NULL

cass_cluster_new() can return NULL on allocation failure.  The existing code
has a NULL check, but it comes after cass_cluster_set_credentials() already
uses the pointer (when credentials are configured), so a NULL return causes
a crash before the check is reached.

Move the NULL check to immediately after cass_cluster_new(), before any use
of the returned pointer.

Found during a systematic audit of cachedb backends following the
cachedb_redis NULL-deref fix in commit 8fb569cb3.


  Commit: ecbfff3e7323d9e2c3831e255554f3b29fc1d622
      https://github.com/OpenSIPS/opensips/commit/ecbfff3e7323d9e2c3831e255554f3b29fc1d622
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/jsonrpc/jsonrpc.c

  Log Message:
  -----------
  jsonrpc: fix NULL deref and object leak in jsonrpc_handle_cmd()

cJSON_Print() can return NULL on allocation failure.  The existing code
passes the return value directly to strlen() without a NULL check,
causing a crash on two separate code paths (error and result handling).

Add NULL checks after both cJSON_Print() calls.

Additionally, the cJSON tree allocated by cJSON_Parse() at the start of
the function is never freed.  Add cJSON_Delete(obj) to the cleanup path.

Found during a systematic audit of cJSON return value handling across
modules, following the janus leak fixes in commit f9fb3ea3e.


  Commit: ccd648b5ed8ff15803be9b0d94ad9558b0c0e6e2
      https://github.com/OpenSIPS/opensips/commit/ccd648b5ed8ff15803be9b0d94ad9558b0c0e6e2
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rtpengine/rtpengine.c

  Log Message:
  -----------
  rtpengine: fix NULL deref from unchecked cJSON_PrintUnformatted()

In rtpengine_raise_event(), cJSON_PrintUnformatted() can return NULL on
allocation failure.  The return value is passed directly to strlen() and
then to cJSON_PurgeString(), both of which will crash on a NULL pointer.

Add a NULL check before using the return value, and skip the parameter
on failure.

Found during a systematic audit of cJSON return value handling across
modules, following the janus leak fixes in commit f9fb3ea3e.


  Commit: 11bf3d19cdc4a95b15cbf53ed176282d80337d8d
      https://github.com/OpenSIPS/opensips/commit/11bf3d19cdc4a95b15cbf53ed176282d80337d8d
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/aaa_diameter/dm_impl.c

  Log Message:
  -----------
  aaa_diameter: fix NULL deref in dm_receive_req() via init_str()

cJSON_PrintUnformatted() can return NULL on allocation failure (using shm
hooks).  The return value is passed directly to init_str(), which calls
strlen() on it, causing a crash.

Replace the init_str() call with an explicit NULL check and manual
assignment, following the existing error-handling pattern in the function
(goto error, which properly cleans up via cJSON_Delete and
cJSON_PurgeString).

Found during a systematic audit of cJSON return value handling across
modules, following the janus leak fixes in commit f9fb3ea3e.


  Commit: af2460c2af0af56e822557c24d84a9a3c2878782
      https://github.com/OpenSIPS/opensips/commit/af2460c2af0af56e822557c24d84a9a3c2878782
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/janus_common.c

  Log Message:
  -----------
  janus: fix pkg memory leaks in populate_janus_handler_id()

The janus module uses cJSON_InitHooks() to route cJSON allocations
through pkg_malloc.  In populate_janus_handler_id(), four calls to
cJSON_Print(request) are embedded directly in LM_ERR() format arguments.
The pkg-allocated return values are never stored or freed, leaking
~100-500 bytes per error path hit.

Store the cJSON_Print() result, use it in the log message, and free it
afterward.  Also handle the case where cJSON_Print() returns NULL.

This follows up on the janus leak fixes in commit f9fb3ea3e, which
addressed similar leaks in janus_raise_event(),
handle_janus_json_request(), and janus_ipc_send_request() but missed
populate_janus_handler_id().


  Commit: 06dd2c987791c13be414ff73debe86ceefb0e6ec
      https://github.com/OpenSIPS/opensips/commit/06dd2c987791c13be414ff73debe86ceefb0e6ec
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/sip_i/sip_i.c

  Log Message:
  -----------
  [sip_i] fix wrong ISUP msg type on 200 OK INVITE

Credits go to @aldotms70
Closes #3857


  Commit: b3d0eb1f5fe44f223f824a154293a6127721a6fb
      https://github.com/OpenSIPS/opensips/commit/b3d0eb1f5fe44f223f824a154293a6127721a6fb
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/janus_common.c

  Log Message:
  -----------
  janus: Simplify prev commit 2453e8f78a2c


  Commit: 39e5e02993633aad96e1569bd579f4b242fc9102
      https://github.com/OpenSIPS/opensips/commit/39e5e02993633aad96e1569bd579f4b242fc9102
  Author: rdondeti <ravitez.dondeti at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/httpd/doc/httpd_admin.xml
    M modules/httpd/httpd.c
    M modules/httpd/httpd_proc.c

  Log Message:
  -----------
  httpd: harden MI/HTTP interface with safe default and Basic Auth

Change the default 'ip' modparam from wildcard (0.0.0.0/::) to
127.0.0.1, preventing the management interface from being accidentally
exposed to the network on fresh installations.

Add HTTP Basic Authentication support via three new modparams:
  - auth_realm: the realm string for WWW-Authenticate challenges
  - auth_username: required username for HTTP access
  - auth_password: required password for HTTP access

When both auth_username and auth_password are set, every HTTP
request must present valid Basic Auth credentials.  Requests with
missing or incorrect credentials receive a 401 Unauthorized response.

The authentication check runs once per request (on the first callback
invocation, before allocating per-request state), avoiding redundant
checks on subsequent MHD callbacks and preventing potential resource
leaks during POST processing.

The implementation uses libmicrohttpd's built-in Basic Auth API with
version guards for MHD_free() (available since 0.9.56), falling back
to free() on older versions.

Closes #2939


  Commit: 5e62d3837ab7e7af987b768a88a726dbc3f48fee
      https://github.com/OpenSIPS/opensips/commit/5e62d3837ab7e7af987b768a88a726dbc3f48fee
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.lex
    M cfg.y
    M globals.h
    M mem/mem.h
    A mem/thread_mem.c
    M modules/proto_bin/bin_common.h
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_msrp/msrp_common.h
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_common.h
    M modules/proto_ws/ws_handshake_common.h
    M modules/proto_wss/proto_wss.c
    M modules/tls_mgm/tls_helper.h
    M modules/tls_mgm/tls_mgm.c
    M modules/tls_openssl/openssl.c
    M modules/tls_openssl/openssl_config.c
    M modules/tls_openssl/openssl_conn_ops.c
    M modules/tls_openssl/openssl_helpers.h
    M modules/tls_wolfssl/wolfssl_conn_ops.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/proto_tcp/tcp_common.h
    M net/tcp_conn_defs.h
    M reactor_defs.h

  Log Message:
  -----------
  refactor TCP/TLS code to have everything in a single process


  Commit: eb6c619e5921578078a1a2ca80dd475ebf9b2e21
      https://github.com/OpenSIPS/opensips/commit/eb6c619e5921578078a1a2ca80dd475ebf9b2e21
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M ip_addr.c
    M ip_addr.h
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_msrp/msrp_tls.c
    M modules/proto_msrp/msrp_tls.h
    M modules/proto_msrp/proto_msrp.c
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_smpp/smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_tcp.c
    M modules/proto_wss/proto_wss.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/tcp_common.c
    M net/tcp_common.h

  Log Message:
  -----------
  net: all messages are sent as async chunks


  Commit: 8a9f450df2e0505aefa03d353af8bb26c65f51e0
      https://github.com/OpenSIPS/opensips/commit/8a9f450df2e0505aefa03d353af8bb26c65f51e0
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_smpp/smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M modules/tls_mgm/tls_select.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/proto_tcp/proto_tcp.c
    M net/tcp_conn.h
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: always send messages from main thread


  Commit: 40ccd35d17185d04f0930dabf57569bb659180e4
      https://github.com/OpenSIPS/opensips/commit/40ccd35d17185d04f0930dabf57569bb659180e4
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_smpp/smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/tcp_conn.h
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: drop proc_id from tcp_connection


  Commit: 097fbe0dd56f7d5a96596a137a99b96f419c143c
      https://github.com/OpenSIPS/opensips/commit/097fbe0dd56f7d5a96596a137a99b96f419c143c
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_smpp/smpp.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_wss/proto_wss.c
    M net/proto_tcp/proto_tcp.c

  Log Message:
  -----------
  net: make sure writes are never handled from workers


  Commit: 07df94869032b345cbfc62a0a4a4ac0127fa80db
      https://github.com/OpenSIPS/opensips/commit/07df94869032b345cbfc62a0a4a4ac0127fa80db
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/ws_handshake_common.h
    M net/net_tcp.c
    M net/net_tcp.h
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: move req in thread memory


  Commit: 4d39ba83c16bb5bd5fc6e96a90a3d27cb91a2a02
      https://github.com/OpenSIPS/opensips/commit/4d39ba83c16bb5bd5fc6e96a90a3d27cb91a2a02
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_msrp/msrp_tls.c
    M modules/proto_smpp/smpp.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_tcp.c
    M modules/proto_wss/proto_wss.c
    M net/proto_tcp/proto_tcp.c
    M net/proxy_protocol.c
    M net/tcp_common.c

  Log Message:
  -----------
  net: only increaase connection lifetime if write is success


  Commit: 296f496a41b59f9dd6e3e61f7678389e60c0cc93
      https://github.com/OpenSIPS/opensips/commit/296f496a41b59f9dd6e3e61f7678389e60c0cc93
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.y
    M modules/proto_bin/bin_common.h
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_ws/ws_common.h
    M modules/proto_ws/ws_handshake_common.h
    M net/net_tcp.c
    M net/net_tcp_proc.c
    M net/net_tcp_proc.h
    M net/proto_tcp/tcp_common.h
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: restore msg_max_read_timeout and cleanup dead code


  Commit: c394746e62cb0aabb5b83ea22402a17c1940a873
      https://github.com/OpenSIPS/opensips/commit/c394746e62cb0aabb5b83ea22402a17c1940a873
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bins/proto_bins.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_common.h
    M modules/proto_wss/proto_wss.c
    M net/api_proto_net.h
    M net/net_tcp.c
    M net/net_tcp_proc.c
    M net/proxy_protocol.c
    M net/tcp_common.c
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: handle connect in main process


  Commit: ecd3dea95c6861e9e62e907caa7f0d797172d392
      https://github.com/OpenSIPS/opensips/commit/ecd3dea95c6861e9e62e907caa7f0d797172d392
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/doc/proto_bin_admin.xml
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/doc/proto_bins_admin.xml
    M modules/proto_bins/proto_bins.c
    M modules/proto_hep/doc/proto_hep_admin.xml
    M modules/proto_hep/proto_hep.c
    M modules/proto_msrp/msrp_common.c
    M modules/proto_smpp/smpp.c
    M modules/proto_tls/doc/proto_tls_admin.xml
    M modules/proto_tls/proto_tls.c
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_common.h
    M modules/proto_wss/proto_wss.c
    M modules/tls_mgm/tls_select.c
    M modules/tls_wolfssl/wolfssl_conn_ops.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/proto_tcp/doc/proto_tcp_admin.xml
    M net/proto_tcp/proto_tcp.c
    M net/tcp_common.c
    M net/tcp_common.h
    M net/tcp_conn.h
    M net/tcp_conn_defs.h

  Log Message:
  -----------
  net: clean connect


  Commit: 2df8a745ddd12f46e79f22106431d46ae016909b
      https://github.com/OpenSIPS/opensips/commit/2df8a745ddd12f46e79f22106431d46ae016909b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_ws/proto_ws.c
    M modules/proto_ws/ws_common.h
    M modules/proto_ws/ws_handshake_common.h
    M modules/proto_ws/ws_tcp.c
    M modules/proto_wss/proto_wss.c
    M modules/tls_openssl/openssl_conn_ops.c
    M modules/tls_wolfssl/wolfssl_conn_ops.c
    M net/net_tcp.c

  Log Message:
  -----------
  net: handle proto_ws/wss communication


  Commit: 40f82fa80409580bf09da22028a77fe5f3f9f94a
      https://github.com/OpenSIPS/opensips/commit/40f82fa80409580bf09da22028a77fe5f3f9f94a
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M net/api_proto_net.h
    M net/net_tcp.c
    M net/net_tcp.h
    M net/net_tcp_proc.c
    M net/proto_tcp/tcp_common.h

  Log Message:
  -----------
  net: handle protocol parsing in the worker


  Commit: f199eccf09579fa86e81f71ba739c6e320a29d30
      https://github.com/OpenSIPS/opensips/commit/f199eccf09579fa86e81f71ba739c6e320a29d30
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_hep/proto_hep.c

  Log Message:
  -----------
  proto_hep: migrate hep to new TCP stack


  Commit: cce1a56779d855baaf86fcab0a6575a671f1fc28
      https://github.com/OpenSIPS/opensips/commit/cce1a56779d855baaf86fcab0a6575a671f1fc28
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_smpp/proto_smpp.c
    M modules/proto_smpp/smpp.c

  Log Message:
  -----------
  proto_smpp: migrate module to new TCP stack


  Commit: 0a491c0708ddb8e9483a03154696b1196c56bb2f
      https://github.com/OpenSIPS/opensips/commit/0a491c0708ddb8e9483a03154696b1196c56bb2f
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_bin/bin_common.h
    M modules/proto_bin/proto_bin.c
    M modules/proto_bins/proto_bins.c

  Log Message:
  -----------
  proto_bin: migrate module to new TCP interface


  Commit: b109ea253ec932171f102241b9ba4465629debd7
      https://github.com/OpenSIPS/opensips/commit/b109ea253ec932171f102241b9ba4465629debd7
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_msrp/msrp_common.c
    M modules/proto_msrp/msrp_common.h
    M modules/proto_msrp/proto_msrp.c

  Log Message:
  -----------
  proto_msrp: migrate module to new TCP interface


  Commit: 076ee93150ba58f3621d84b5db560b7f14968e52
      https://github.com/OpenSIPS/opensips/commit/076ee93150ba58f3621d84b5db560b7f14968e52
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_mgm/tls_select.c
    M net/net_tcp.c
    M net/net_tcp.h

  Log Message:
  -----------
  tls_mgm: expose certs info in workers


  Commit: 29d61fdac9f7f8c320ac452b138f19e755fc0e6e
      https://github.com/OpenSIPS/opensips/commit/29d61fdac9f7f8c320ac452b138f19e755fc0e6e
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_tls/proto_tls.c
    M net/net_tcp.c
    M net/net_tcp.h
    M net/net_tcp_proc.c
    M net/proto_tcp/proto_tcp.c
    M net/proto_tcp/tcp_common.h
    M net/tcp_conn.h
    M net/tcp_conn_defs.h
    M pt.c
    M pt.h
    M reactor_defs.h

  Log Message:
  -----------
  net: handle shared queue for async messages


  Commit: 692ea1c6c233473ccaf95fee8e278c9b17a0ed7f
      https://github.com/OpenSIPS/opensips/commit/692ea1c6c233473ccaf95fee8e278c9b17a0ed7f
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M main.c
    R ssl_tweaks.h

  Log Message:
  -----------
  drop ssl_tweaks


  Commit: b6afd27ce5aff72e90cfb0e6c42501ead9c0b7ba
      https://github.com/OpenSIPS/opensips/commit/b6afd27ce5aff72e90cfb0e6c42501ead9c0b7ba
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M Makefile.defs
    M modules/cachedb_mongodb/Makefile
    M modules/cachedb_mongodb/cachedb_mongodb.c
    R modules/cachedb_mongodb/ssl_tweaks.c
    M modules/db_http/Makefile
    M modules/db_http/db_http.c
    R modules/db_http/ssl_tweaks.c
    M modules/db_mysql/Makefile
    R modules/db_mysql/ssl_tweaks.c
    M modules/rest_client/Makefile
    M modules/rest_client/rest_client.c
    R modules/rest_client/ssl_tweaks.c
    M modules/tls_mgm/tls_mgm.c
    M modules/tls_wolfssl/wolfssl_conn_ops.c
    R ssl_init_tweaks.h

  Log Message:
  -----------
  drop ssl_tweaks from all modules


  Commit: c574be9b4284ce2fdc882f418e94172ea8d855d0
      https://github.com/OpenSIPS/opensips/commit/c574be9b4284ce2fdc882f418e94172ea8d855d0
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_openssl/openssl_config.c

  Log Message:
  -----------
  tls_openssl: fix misleading ident


  Commit: 6ac72d787a12e88ecb99cb2d2188ca8628b8b645
      https://github.com/OpenSIPS/opensips/commit/6ac72d787a12e88ecb99cb2d2188ca8628b8b645
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M net/net_tcp.c
    M net/net_tcp_proc.c

  Log Message:
  -----------
  net: dispatch the message to any available worker


  Commit: 89edb602a439194cf3414fa5d30a2bf10ac56b34
      https://github.com/OpenSIPS/opensips/commit/89edb602a439194cf3414fa5d30a2bf10ac56b34
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M net/net_tcp.c

  Log Message:
  -----------
  net: turn off read head from TCP


  Commit: f7d3fd351a9d32ad5529525613278355b50a7f2b
      https://github.com/OpenSIPS/opensips/commit/f7d3fd351a9d32ad5529525613278355b50a7f2b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M net/net_tcp.c

  Log Message:
  -----------
  net: drop useless check for active TCP workers


  Commit: de76868fa35633ebbdc394f2a74218268a23d3b5
      https://github.com/OpenSIPS/opensips/commit/de76868fa35633ebbdc394f2a74218268a23d3b5
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M lib/reg/pn.c
    M modules/tm/t_fwd.h
    M modules/tm/tm.c
    M modules/tm/tm_load.h

  Log Message:
  -----------
  PN Support: Improve default handling for failed calls

Avoid relying on the "fr_inv_timeout" by default in order to complete
the transaction when the call is rejected (wait_for_new_branches...), as
the default (120s) is quite high, and can lead to stalling INVITEs.


  Commit: dff5e6c93b0582196dbf450b398f738aacd0d582
      https://github.com/OpenSIPS/opensips/commit/dff5e6c93b0582196dbf450b398f738aacd0d582
  Author: OpenSIPS <github at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/aaa_diameter/README
    M modules/aaa_diameter/doc/contributors.xml
    M modules/cachedb_cassandra/README
    M modules/cachedb_cassandra/doc/contributors.xml
    M modules/cachedb_memcached/README
    M modules/cachedb_memcached/doc/contributors.xml
    M modules/cachedb_mongodb/README
    M modules/cachedb_mongodb/doc/contributors.xml
    M modules/db_http/README
    M modules/db_http/doc/contributors.xml
    M modules/db_mysql/README
    M modules/db_mysql/doc/contributors.xml
    M modules/httpd/README
    M modules/httpd/doc/contributors.xml
    M modules/janus/README
    M modules/janus/doc/contributors.xml
    M modules/jsonrpc/README
    M modules/jsonrpc/doc/contributors.xml
    M modules/proto_bin/README
    M modules/proto_bin/doc/contributors.xml
    M modules/proto_bins/README
    M modules/proto_bins/doc/contributors.xml
    M modules/proto_hep/README
    M modules/proto_hep/doc/contributors.xml
    M modules/proto_msrp/README
    M modules/proto_msrp/doc/contributors.xml
    M modules/proto_smpp/README
    M modules/proto_smpp/doc/contributors.xml
    M modules/proto_tls/README
    M modules/proto_tls/doc/contributors.xml
    M modules/proto_ws/README
    M modules/proto_ws/doc/contributors.xml
    M modules/proto_wss/README
    M modules/proto_wss/doc/contributors.xml
    M modules/rest_client/README
    M modules/rest_client/doc/contributors.xml
    M modules/rtpengine/README
    M modules/rtpengine/doc/contributors.xml
    M modules/sip_i/README
    M modules/sip_i/doc/contributors.xml
    M modules/tls_mgm/README
    M modules/tls_mgm/doc/contributors.xml
    M modules/tls_openssl/README
    M modules/tls_openssl/doc/contributors.xml
    M modules/tls_wolfssl/README
    M modules/tls_wolfssl/doc/contributors.xml
    M modules/tm/README
    M modules/tm/doc/contributors.xml
    M net/proto_tcp/README

  Log Message:
  -----------
  Rebuild documentation


  Commit: 4696cbec2a1e4b6716423842462c147e9b8eb260
      https://github.com/OpenSIPS/opensips/commit/4696cbec2a1e4b6716423842462c147e9b8eb260
  Author: davidtrihy-genesys <116663213+davidtrihy-genesys at users.noreply.github.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M net/net_tcp.c

  Log Message:
  -----------
  Compiling with DISABLE_NAGLE does not propogate tcp_proto_no and never sets TCP_NODELAY (#3859)

(cherry picked from commit 1c90d5dbdfc1e3acdec0befb5106ae73db06a04e)


  Commit: b61000b32ea8ebcd700c2d087450f0285a9b0b68
      https://github.com/OpenSIPS/opensips/commit/b61000b32ea8ebcd700c2d087450f0285a9b0b68
  Author: Danielzt <danielzt at users.noreply.github.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rtpproxy/notification_process.c
    M reactor_proc.c
    M reactor_proc.h

  Log Message:
  -----------
  core: fix fd memory leak in reactor_proc_add_fd, causing too many open files (#3830)

rtpproxy: Fix in timeout scenarios, leading crash due to memory leak and too many open files


  Commit: 01db8f8bbb8766b1ddd5326fae7e2845182fef22
      https://github.com/OpenSIPS/opensips/commit/01db8f8bbb8766b1ddd5326fae7e2845182fef22
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_mgm/doc/tls_mgm_devel.xml
    M modules/tls_openssl/openssl.c
    R modules/tls_openssl/openssl_helpers.h

  Log Message:
  -----------
  tls_openssl: remove dangling mem&locks hooks


  Commit: e51b8612bdcf63cf991b7f66d0c2431f2a9edbca
      https://github.com/OpenSIPS/opensips/commit/e51b8612bdcf63cf991b7f66d0c2431f2a9edbca
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_wolfssl/Makefile
    R modules/tls_wolfssl/lib/patches/.gitignore
    R modules/tls_wolfssl/lib/patches/wolfssl-internal-memleak-fix.diff
    M modules/tls_wolfssl/lib/wolfssl
    M modules/tls_wolfssl/wolfssl_config.c

  Log Message:
  -----------
  tls_wolfssl: bump to 5.9.1


  Commit: 4bf14df7fc160a470a774c98b0a429b5b424d7b3
      https://github.com/OpenSIPS/opensips/commit/4bf14df7fc160a470a774c98b0a429b5b424d7b3
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_wolfssl/Makefile
    M modules/tls_wolfssl/wolfssl.c
    M modules/tls_wolfssl/wolfssl_conn_ops.c
    R modules/tls_wolfssl/wolfssl_mem.h
    M modules/tls_wolfssl/wolfssl_tls_vars.c
    M modules/tls_wolfssl/wolfssl_trace.h

  Log Message:
  -----------
  tls_wolfssl: drop shared memory


  Commit: 368f442b51ee709b4978e7ecd4c940e8e28e5acb
      https://github.com/OpenSIPS/opensips/commit/368f442b51ee709b4978e7ecd4c940e8e28e5acb
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_openssl/openssl.c

  Log Message:
  -----------
  tls_openssl: declare n for openssl < 1.0.1


  Commit: 0c878ffaff326300e8a11acf7155fcdfb799e5b8
      https://github.com/OpenSIPS/opensips/commit/0c878ffaff326300e8a11acf7155fcdfb799e5b8
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/build/do_build.sh

  Log Message:
  -----------
  github: force radcli build


  Commit: 75ce0544b6979d227957ba66a9fbcba67d94c8d7
      https://github.com/OpenSIPS/opensips/commit/75ce0544b6979d227957ba66a9fbcba67d94c8d7
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M cfg.lex
    M cfg.y
    M db/schema/tcp_mgm.xml
    M globals.h
    M modules/tcp_mgm/tcp_db.c
    M modules/tcp_mgm/tcp_db.h
    M modules/tcp_mgm/tcp_mgm.c
    M modules/tcp_mgm/tcp_path.c
    M net/net_tcp.c
    M net/proto_tcp/doc/proto_tcp_admin.xml
    M net/proto_tcp/proto_tcp.c
    M net/tcp_conn_defs.h
    M net/tcp_conn_profile.c
    M scripts/db_berkeley/opensips/tcp_mgm
    M scripts/db_berkeley/opensips/version
    M scripts/dbtext/opensips/tcp_mgm
    M scripts/dbtext/opensips/version
    M scripts/mysql/tcp_mgm-create.sql
    M scripts/oracle/tcp_mgm-create.sql
    M scripts/pi_http/tcp_mgm-mod
    M scripts/pi_http/tcp_mgm-table
    M scripts/postgres/tcp_mgm-create.sql
    M scripts/sqlite/tcp_mgm-create.sql
    M utils/vim/opensips.vim

  Log Message:
  -----------
  net: drop parallel reads parameters


  Commit: 48fd4b9945901e42d01e88c98de5e17e9e7d7f4c
      https://github.com/OpenSIPS/opensips/commit/48fd4b9945901e42d01e88c98de5e17e9e7d7f4c
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M scripts/db_berkeley/opensips/version
    M scripts/dbtext/opensips/version
    M scripts/mysql/clusterer-create.sql
    M scripts/mysql/tcp_mgm-create.sql
    M scripts/oracle/clusterer-create.sql
    M scripts/oracle/tcp_mgm-create.sql
    M scripts/pi_http/clusterer-mod
    M scripts/pi_http/clusterer-table
    M scripts/pi_http/pi_framework.xml
    M scripts/postgres/clusterer-create.sql
    M scripts/postgres/tcp_mgm-create.sql
    M scripts/sqlite/clusterer-create.sql
    M scripts/sqlite/tcp_mgm-create.sql

  Log Message:
  -----------
  scripts: sync dbschema


  Commit: 51904c9aa0de9dfa939402fe3e2ce23cc42f7f1b
      https://github.com/OpenSIPS/opensips/commit/51904c9aa0de9dfa939402fe3e2ce23cc42f7f1b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/proto_tls/doc/proto_tls_admin.xml
    M modules/proto_tls/proto_tls.c

  Log Message:
  -----------
  proto_tls: drop tls_async_handshake_timeout as no longer used


  Commit: b2f0c3644014b1f90ef64dabd70ce2e4e7732a3b
      https://github.com/OpenSIPS/opensips/commit/b2f0c3644014b1f90ef64dabd70ce2e4e7732a3b
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/client.c
    M modules/b2b_entities/dlg.c
    M modules/b2b_entities/dlg.h
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_logic/b2b_logic.h
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/doc/b2b_logic_admin.xml
    M modules/b2b_logic/logic.c
    M modules/b2b_logic/records.h

  Log Message:
  -----------
  b2b: add custom_contact_header_params support


  Commit: 0af6b84480f907453a6c3ba6fe950e355759460d
      https://github.com/OpenSIPS/opensips/commit/0af6b84480f907453a6c3ba6fe950e355759460d
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/bridging.h
    M modules/b2b_logic/logic.c
    M modules/b2b_logic/records.h

  Log Message:
  -----------
  b2b_logic: add refer_id indication in NOTIFY messages


  Commit: 9d0dea226db687e2d4cb707a4d7da4b58d151836
      https://github.com/OpenSIPS/opensips/commit/9d0dea226db687e2d4cb707a4d7da4b58d151836
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_entities/b2b_entities.c
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/dlg.c
    M modules/b2b_entities/dlg.h
    M modules/b2b_entities/server.c
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_logic/b2b_logic.h
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/doc/b2b_logic_admin.xml
    M modules/b2b_logic/logic.c
    M modules/b2b_logic/records.c
    M modules/b2b_logic/records.h

  Log Message:
  -----------
  b2b: add support for pass-legs-upstream flag


  Commit: 355986c6c7d2e46a00ef73499d7753d2a20610ef
      https://github.com/OpenSIPS/opensips/commit/355986c6c7d2e46a00ef73499d7753d2a20610ef
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/b2b_logic/bridging.c

  Log Message:
  -----------
  b2b_logic: fix previous commit warnings


  Commit: 180c04b029a2723e2b08d978393c3f639f511215
      https://github.com/OpenSIPS/opensips/commit/180c04b029a2723e2b08d978393c3f639f511215
  Author: Ravitez Dondeti <dondetir at users.noreply.github.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/db_mysql/dbase.c

  Log Message:
  -----------
  db_mysql: recover from ER_UNKNOWN_STMT_HANDLER (1243) (#3865)

The prepared-statement execute wrapper treats MySQL error 1243
(ER_UNKNOWN_STMT_HANDLER) as a hard failure and skips the existing
reconnect + re-prepare path. This surfaces in production when the
backing database is replaced underneath a live client connection -
for example during an AWS Aurora zero-downtime minor-version upgrade,
which preserves the TCP connection but drops the server-side
prepared-statement cache. The next stmt_execute returns 1243, OpenSIPS
logs CRITICAL and the query fails instead of transparently recovering.

Add the case to wrapper_single_mysql_stmt_execute so it funnels into
the same switch_state_to_disconnected -> connect_with_retry ->
re_init_statement recovery path that already handles CR_SERVER_GONE_ERROR
and friends.

ER_NEED_REPREPARE (1615) is intentionally not added: libmysqlclient
auto-reprepare already handles that case. 1243 bypasses auto-reprepare
because the server has no record of the handle at all.

The companion prepare wrapper is not modified: it starts from a fresh
mysql_stmt_init() handle that carries no server-side ID, so the server
cannot return 1243 in response to a prepare request.

Reported-by: Sasmita Panda <spanda at 3clogic.com>


  Commit: e41e4b19ddf0c490f31d0f419a9f06c34c2b7823
      https://github.com/OpenSIPS/opensips/commit/e41e4b19ddf0c490f31d0f419a9f06c34c2b7823
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/event_rabbitmq/event_rabbitmq.c

  Log Message:
  -----------
  event_rabbitmq: fix dupl_string() NUL-inclusive len corrupting AMQP shortstr (#3834)

dupl_string() incremented dst->len after NUL-terminating the unescaped
string, causing .len to include the trailing NUL byte. This made
amqp_basic_publish() encode exchange and routing-key shortstr fields
with an extra 0x00, breaking broker routing.

Remove the len++ and all downstream compensations (tls_dom_name.len--,
and the - 1 adjustments in rmq_print() for address, exchange, routing
key, and user). Also fix the un_escape() error path to free the
already-allocated shm buffer, and fix the default-user allocation to
explicitly NUL-terminate.

Closes #3828


  Commit: ab967bd6f6ea62874f8ae2329f4c16a2a0655c05
      https://github.com/OpenSIPS/opensips/commit/ab967bd6f6ea62874f8ae2329f4c16a2a0655c05
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/event_rabbitmq/rabbitmq_send.c

  Log Message:
  -----------
  event_rabbitmq: avoid double free on guest usage


  Commit: 46555ae06c31f09d69194de7024c7c96d8538968
      https://github.com/OpenSIPS/opensips/commit/46555ae06c31f09d69194de7024c7c96d8538968
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/janus/janus_proc.c
    M modules/janus/ws_common.h
    M modules/janus/ws_common_defs.h

  Log Message:
  -----------
  janus: add WebSocket fragment reassembly (RFC 6455 Section 5.4) (#3840)

* janus: fix pkg memory leaks in cJSON_Print/cJSON_Parse paths

The janus module uses cJSON_InitHooks() to route all cJSON allocations
through OpenSIPS pkg_malloc. Three call sites had missing cleanup:

- janus_ipc_send_request(): cJSON_Print() result was copied to shm via
  shm_nt_str_dup() but the pkg-allocated original was never freed.
  Also added a NULL check -- under pkg exhaustion cJSON_Print returns
  NULL and the subsequent strlen(NULL) causes a crash.

- w_janus_send_request(): the cJSON tree from cJSON_Parse() was passed
  to janus_ipc_send_request() (which serializes it to shm) but
  cJSON_Delete() was never called afterward. Also added cleanup on the
  get_janus_connection_by_id() failure path.

- janus_raise_event() and handle_janus_json_request(): added NULL
  checks after cJSON_Print(). Fixed missing pkg_free(full_json) on
  the shm_strdup() failure path in handle_janus_json_request().

Together these leak ~350 bytes of pkg memory per janus_send_request()
call, leading to SIP worker pkg exhaustion and crash under sustained
load.

Fixes #3712

* janus: add WebSocket fragment reassembly (RFC 6455 Section 5.4)

The janus module WS client rejects any frame with FIN=0:
  "We do not support fragmemntation yet. Dropping..."

This breaks with Janus Gateway when using indented JSON (the default)
or when responses are large enough to exceed the transport frame size.

Add RFC 6455 compliant fragment reassembly:

- janus_ws_parse(): remove FIN=0 rejection, accept continuation frames
  (opcode 0x0), validate that control frames have FIN=1 (RFC 6455 5.5)

- janus_ws_handle_frag(): new state machine for fragment accumulation.
  TEXT/BIN+FIN=0 starts accumulation, CONT+FIN=0 appends, CONT+FIN=1
  delivers the reassembled message. Control frames pass through
  mid-fragment. Returns 0 (complete), 1 (read more), -1 (error).

- janus_ws_frag_cleanup(): cleanup helper called from all error paths,
  CLOSE handler, reconnect, and after successful delivery.

- janus_connection_read_data() and janus_connection_handler_id(): call
  janus_ws_handle_frag() before the opcode switch; reassembled messages
  use frag_buf instead of tcp.body.

- janus_reconnects(): free frag_buf on connection teardown.

Fragment state (frag_buf, frag_len, frag_size, frag_op) is per-connection
on the con_req struct. All operations run in the single-threaded JANUS
Manager reactor, so no additional locking is needed.

Design choices:
- 256KB reassembly limit (WS_MAX_FRAG_SIZE) for DoS protection
- 2x initial alloc + doubling realloc strategy (O(log n) reallocs)
- init_janus_ws_req intentionally preserves frag_* across frame resets
- Parse failure on reassembled message is terminal (no retry)

Tested with 100k fragmented messages (0 failures, flat pkg memory) and
30k concurrent messages across 8 producers, 6 connections, 4 workers.

Fixes #3712

* janus: address review feedback on fragment handling

- Remove msg_attempts reset in fragment accumulation path: conceptually
  wrong to signal "new message" when only a fragment was received, and
  the counter is not checked in the data path anyway.

- Remove {} blocks around frag_ret usage: move variable declaration to
  function scope for clarity.


  Commit: f8d4dbb6543e34098c651eb2ff9c817479a6b973
      https://github.com/OpenSIPS/opensips/commit/f8d4dbb6543e34098c651eb2ff9c817479a6b973
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rtpengine/doc/rtpengine_admin.xml
    M modules/rtpengine/rtpengine.c
    A modules/rtpengine/rtpengine_bracket.c
    A modules/rtpengine/rtpengine_bracket.h
    A modules/rtpengine/test/opensips.cfg
    A modules/rtpengine/test/test.c

  Log Message:
  -----------
  rtpengine: add bracket syntax for lists and dictionaries (#3818)

Add support for bracket-delimited list and dictionary values in
rtpengine flag strings, enabling access to ng protocol features
that require nested parameters (sdp-media-remove, codec, sdp-attr).

A value enclosed in [...] is parsed as a bencode list of
space-separated items. If any top-level item contains "=", the
value is parsed as a bencode dictionary instead. Brackets can
be nested for multi-level structures such as:

  rtpengine_offer("codec=[transcode=[PCMA PCMU] strip=[EVS]]");
  rtpengine_offer("sdp-media-remove=[video message image]");

Escape sequences (..) and (--) produce space and equals
respectively, matching the rtpengine daemon convention.

Parsing is done module-side into native bencode structures,
compatible with all rtpengine daemon versions.

Closes: https://github.com/OpenSIPS/opensips/issues/3591

Co-authored-by: Debian <gator at opensips-1.goes.com>


  Commit: 7fbb519e8cefa22bdb80bb58c1c7d337e38abb16
      https://github.com/OpenSIPS/opensips/commit/7fbb519e8cefa22bdb80bb58c1c7d337e38abb16
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_wolfssl/doc/tls_wolfssl_admin.xml
    M modules/tls_wolfssl/wolfssl_conn_ops.c

  Log Message:
  -----------
  tls_wolfssl: adapt to new TCP/TLS interface


  Commit: 210225e66f0e1c74425ff5aa000671ee634c1ad4
      https://github.com/OpenSIPS/opensips/commit/210225e66f0e1c74425ff5aa000671ee634c1ad4
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/tls_wolfssl/doc/tls_wolfssl_admin.xml
    M modules/tls_wolfssl/wolfssl.c
    M modules/tls_wolfssl/wolfssl.h
    M modules/tls_wolfssl/wolfssl_conn_ops.c

  Log Message:
  -----------
  Merge branch 'vladpaiu-wolfssl_ktls_support'


Compare: https://github.com/OpenSIPS/opensips/compare/b2e975540d62...210225e66f0e

To unsubscribe from these emails, change your notification settings at https://github.com/OpenSIPS/opensips/settings/notifications



More information about the Devel mailing list