=========================== Release 3.6.6 ==============================

2026-05-20  Razvan Crainea  <razvan@opensips.org>
        * [6542037c93] :

        bin: fix packet size log format

        (cherry picked from commit ab8a84249c28a369d639fbd69bf693cd158819f1)


2026-05-20  Razvan Crainea  <razvan@opensips.org>
        * [af97ed5d75] :

        build: use -Wno-atomic-alignment only for clang

        (cherry picked from commit fac6a9f17b9fa5f0a4db29971a3971e7faf7a432)
        (cherry picked from commit 510ce80f081a1b645a814bbe1ec26f080c95884b)


2026-05-20  Razvan Crainea  <razvan@opensips.org>
        * [d4d7e2a937] :

        bin: use portable size print

        (cherry picked from commit 13827e1a941201bc41f79f7edabe1ad6f2a534a4)
        (cherry picked from commit f9ee95a8e9950171ef4ff813c8f0333e8ba09336)


2026-05-20  Razvan Crainea  <razvan@opensips.org>
        * [520c36ab53] :

        rtpengine: properly reset pvar

        (cherry picked from commit d08cfc5104c0d85fb5ad5c0ca6424930d8595635)
        (cherry picked from commit a6f2cf7b874a726aa9c33453f4d6c442558524c2)


2026-05-20  Razvan Crainea  <razvan@opensips.org>
        * [72a9d6bbcc] :

        httpd: fix return value


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [b23299a835] :

        compression: fix decompression bounds checks

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit e78608619b9ebe7454e0c9ce43e5d56762f9c47a)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [dc241fb006] :

        proto_smpp: harden SMPP string bounds

        Reported-by: Haruto Kimura (Stella)
        Reported-by: jming912
        Fixes #3847
        Fixes #3848

        (cherry picked from commit ad715b5dc1d5e7aecf27e11839f99d510bdeaea6)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [aa3b1bec04] :

        usrloc: fix cachedb contact match key size

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 47e027c038d1c699bb1e5ed33731054f58aeffcc)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [33f4682915] :

        bin: validate received packet bounds

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 76b61fefdb0ae125583030be5f999b74756a056c)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [ba31dfae3c] :

        pi_http: avoid POST argument OOB access

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 3ac1244805d96ab5e717a9c5e6c1c3af453efb18)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [245c8ad107] :

        sdp: bound parsed SDP line count

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 34d244171aa0aba7892c5567708cd4179aebb341)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [85da0c33a1] :

        registrar: dinamically grow temporary GRUU buffer

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 7a51936e08705eec202be5dced2ab3c22bc9fd14)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [570076257e] :

        aaa_diameter: bound accounting AVP collection

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 9c2c5ff8ecb3e43d2f0e495f26d62b99cd04b0fb)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [83c02c65d4] :

        clusterer: bound topology packet counts

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 93c286af60ad8101d56198d5a0e4a6e6efbe5e52)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [8fe61f9a93] :

        b2b_logic: stop oversized Replaces rewrite

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 381604899574713d1406210b1b066063a16216ee)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [e7a0377d17] :

        b2b_entities: bound generated RAck headers

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 7761e3c1e9039d1b6e37ed9c20ee74700a7137a9)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [9148a16f6b] :

        topology_hiding: bound encoded contact lengths

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 4195754ca32c9d7e639a334d8d0550b3c30aa826)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [11ab0a0953] :

        rr: bound maddr URI construction

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 02ca6f06492fa92d5ae7583908e84b682a0c34a3)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [789281285a] :

        proto_hep: reject HEPv3 frames without payload

        Treat HEPv3 packets without a payload chunk as malformed before
        callbacks or SIP message parsing can consume the zero-initialized
        payload pointer and length. Also route UDP unpacking failures through
        the existing cleanup path.

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 8fd2109b06b9841627965c42852efdc47c8cf5b4)


2026-05-19  Razvan Crainea  <razvan@opensips.org>
        * [11a09c71f5] :

        proto_hep: validate HEPv3 chunk lengths

        Reject malformed HEPv3 packet and chunk lengths before parsing
        chunk-specific data. This prevents zero-length chunks from stalling the
        parser loop and avoids length underflow while walking the advertised
        packet body.

        Reported-by: Haruto Kimura (Stella)
        (cherry picked from commit 41756b8a77cdf69bc3aaeb8e88b734a7fa87a26e)


2026-05-19  Liviu Chircu  <liviu@opensips.org>
        * [784938e42c] :

        Merge branch 'compression_overflow' of github.com:john08burke/opensips into john08burke-compression_overflow

        mc_compact() calculated the output size of preserved headers using the
        normalized parser fields: header name, ": ", body and CRLF.

        However, for preserved long-form headers, it wrote the original raw header
        span instead.  If the input header contained extra whitespace after the
        colon, such as "Supported:   100rel", the writer emitted more bytes than
        the size calculation reserved, causing a buffer overflow and later memory
        corruption.

        Always rebuild preserved headers from the same normalized fields used by
        the length calculation, instead of mixing normalized accounting with raw
        header copying.

        (cherry picked from commit d016658049fe5e2fa1061d16365507de0816fdce)
        (cherry picked from commit 9a8499142c5e11600ab227e6244b7a8d610f50f0)


2026-05-17  OpenSIPS  <github@opensips.org>
        * [5dfe21bd0e] :

        Rebuild documentation


2026-05-15  Liviu Chircu  <liviu@opensips.org>
        * [da22f8d15c] :

        usrloc cluster: Fix possible SHM memory leak

        Commit 343f452c15 included a possible memory leak whenever the
        .kv_storage field was already allocated in the urecord_t structure.

        (cherry picked from commit 1c505c5e3f61e173bb5a89bb316315173e6e6330)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [d1590b0dd4] :

        xmpp: validate resolved IPv4 addresses

        (cherry picked from commit 15ed7355c6c888082d75fa08667c975a61459360)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [9f988787d4] :

        jabber: validate resolved address family

        (cherry picked from commit 4103862c7c9728f555f515b0628c3755e298bccc)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [0d015c4759] :

        rtpengine: allow IPv6 destinations in sockets

        (cherry picked from commit afec9c857e773c0707ceaa1bb13753de72639e71)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [ec38f4f01f] :

        presence: handle case when Content-Type is missing

        Also properly test the mime type, incorporating both type and subtype

        (cherry picked from commit a03b8a82e96d591adf4f8ef81978497e6036cbfd)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [de5071a480] :

        presence: make sure Content-Type is parsed

        (cherry picked from commit 5949135249019720b9078773bbf78f6317e3b8bf)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [1237093899] :

        imc: centralize user body formatting

        (cherry picked from commit 3571c128760af9ac64065710c767ce7cda47a940)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [303fb58a61] :

        imc: reject oversized unknown command replies

        (cherry picked from commit 07d54dbc966347148e7ca5b86671843a01ff7f7d)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [2fae6df7b8] :

        imc: fix member list buffer overflow

        Build #list replies in an exact-sized pkg buffer instead of the fixed module buffer. Check length arithmetic before copying member URIs so large rooms cannot overflow the response body.

        (cherry picked from commit 76afe34203d571bb8709eeaca00ef9a300187617)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [068a4b53cc] :

        mem: drop unused q_malloc counter

        (cherry picked from commit e95fbffcec303891601607282d41dc3b9b890b14)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [8fe74b01f6] :

        sdp: reject malformed bandwidth lines

        (cherry picked from commit 38d0e6ea07c4f4441f00f4e3723432fe557f961d)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [eb8b580498] :

        presence: drop unused variable

        (cherry picked from commit f86942e32ca1986e622caf52cbf00f0abc3b22b9)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [c5970d3ee2] :

        presence: fix winfo  XML overflow on long URIs

        (cherry picked from commit eeb331cd57d096ad7c767d9c0ef25010d020941a)


2026-05-13  Tristan  <1075304+TristanInSec@users.noreply.github.com>
        * [4d23613b65] :

        core: enforce bounds checks on input-derived lengths (#3888)

        - transformations: account for base64 4/3 expansion in b64encode
          output length check
        - parser/parse_body: validate remaining buffer length before delimiter
          comparison in multipart boundary search
        - net/proto_tcp: validate Content-Length value before multiplication
          to prevent integer wraparound
        - sipmsgops: enforce header name length limit in sip_to_json
          conversion
        - msg_translator: validate total URI length in construct_uri before
          writing components

        (cherry picked from commit bd32a79eb38429995e30bf7c3859e3ed5b085c49)


2026-05-13  volga629-1  <59034879+volga629-1@users.noreply.github.com>
        * [d8b5c5d6ca] :

        proto_smpp: bound sm_length against buffer overflow (#3891)

        Clamp attacker-controlled sm_length to MAX_SMS_CHARACTERS in
        parse_submit_or_deliver_body() and reject oversized or odd UCS2
        lengths in recv_smpp_msg() before they reach copy_fixed_str()
        or the GSM7/UCS2 decoders.

        Fixes a stack/heap buffer overflow reachable from a malicious
        SMSC peer sending submit_sm/deliver_sm with sm_length > 254.

        Signed-off-by: NetworkLab Dev <info@networklab.ca>
        (cherry picked from commit 6089db4ab94ba2ea09f8a88fd792c64949198ba4)


2026-05-13  Razvan Crainea  <razvan@opensips.org>
        * [e8fd9862f5] :

        add inttypes format for i686 architectures

        (cherry picked from commit feccfa614f1059073eea4363bf6d7170906fe922)


2026-05-12  Peter Lemenkov  <lemenkov@gmail.com>
        * [1e0b8714ce] :

        Fix format specifier warnings on 32-bit architectures (i686) (#3791)

        During compilation on i686 (32-bit) architecture with GCC 15, format
        specifier warnings appear due to type size differences between 32-bit
        and 64-bit platforms.

        ```
        server.c: In function 'on_frame_recv_callback':
        warning: format '%ld' expects argument of type 'long int', but argument 14
        has type 'size_t' {aka 'unsigned int'} [-Wformat=]
          638 |  LM_DBG("h2 header [%d], %p %ld\n", frame->hd.type, frame->headers.nva, frame->headers.nvlen);

        dm_impl.c: In function 'dm_avps2json':
        warning: format '%ld' expects argument of type 'long int', but argument 15
        has type 'int64_t' {aka 'long long int'} [-Wformat=]
          484 |  LM_DBG("%2d. got int64   AVP %s (%u), value: %ld\n", i, dm_avp.avp_name, h->avp_code, h->avp_value->i64);

        warning: format '%lu' expects argument of type 'long unsigned int', but argument 15
        has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
          494 |  LM_DBG("%2d. got uint64  AVP %s (%u), value: %lu\n", i, dm_avp.avp_name, h->avp_code, h->avp_value->u64);
        ```

        Type sizes differ between 32-bit and 64-bit architectures:

        **On x86_64 (64-bit):**
        - `size_t` = `unsigned long` (8 bytes)
        - `int64_t` = `long int` (8 bytes)

        **On i686 (32-bit):**
        - `size_t` = `unsigned int` (4 bytes)
        - `int64_t` = `long long int` (8 bytes)
        - `uint64_t` = `unsigned long long int` (8 bytes)

        Use portable C99 format specifiers that work correctly on all
        architectures:

        - `%zu` for `size_t` (modules/http2d/server.c line 638)
        - `%" PRId64` for `int64_t` (modules/aaa_diameter/dm_impl.c line 484)
        - `%" PRIu64` for `uint64_t` (modules/aaa_diameter/dm_impl.c line 494)

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

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 672e4dd4d3338f4045fb8f914cf76b47d1a0a148)


2026-05-11  Razvan Crainea  <razvan@opensips.org>
        * [88b534330e] :

        github: bump actions versions to avoid deprecation

        (cherry picked from commit 0d62134d29cc0b12c32fd8ee687078af5b8cd838)


2026-05-11  Razvan Crainea  <razvan@opensips.org>
        * [14fd58cf5f] :

        presence: remove deprecated xmlMemoryDump()

        (cherry picked from commit 7ea25d91355b165a7b08d68e99898ed506b9b69b)


2026-05-10  OpenSIPS  <github@opensips.org>
        * [74148845a4] :

        Rebuild documentation


2026-05-08  Razvan Crainea  <razvan@opensips.org>
        * [c0197e4010] :

        rtpengine: avoid looping when a server is enforced

        (cherry picked from commit 0665f671d811ab44559e1033651964286e6a6b08)


2026-05-07  Jarrod Baumann  <j@rrod.io>
        * [bfcdd43eab] :

        cgrates: add missing { NULL, NULL } terminator to modparam deps array

        (cherry picked from commit 7358018a857cec0d35fccce9dceb8d735773f3ba)


=========================== Release 3.6.5 ==============================

2026-05-06  Liviu Chircu  <liviu@opensips.org>
        * [24e3e379d7] :

        PN Support: Add few unit tests for t_wait_for_new_branches()

        (cherry picked from commit 5358eee98523c186d113e077661710e636eb6625)


2026-05-06  Liviu Chircu  <liviu@opensips.org>
        * [f4d21babe8] :

        registrar: Improve error handling

        (cherry picked from commit 1875c584795952cbf9b2c4bf35777683e6ac0091)


2026-05-06  Liviu Chircu  <liviu@opensips.org>
        * [c64f5b3470] :

        PN Support: Complete commit e7cf1d595

        The fix in e7cf1d595 was not complete, as we must add both PN, non-PN
        branches as well as any pre-existing append_branches() into the
        t_wait_for_new_branches() wait count, otherwise the UAC-side transaction
        could end prematurely, before the PN-branch gets a chance to deliver and
        connect the call.

        (cherry picked from commit 6b058932285bfe95ab440ea61b8a34e2d8d6d722)


2026-05-06  Razvan Crainea  <razvan@opensips.org>
        * [cabd8920f0] :

        debian: enforce explicit python path

        (cherry picked from commit ca8940e0777eb26ee04e97a969d0ae3d22ee2900)


2026-04-26  OpenSIPS  <github@opensips.org>
        * [1898621b5a] :

        Rebuild documentation


2026-04-24  Liviu Chircu  <liviu@opensips.org>
        * [b612d0509b] :

        python: Improve compatibility with Debian 13

        The "python" binary is no longer provided by default -> adjust Makefile.

        (cherry picked from commit 70003cf10784a28f4fb18b6d446b30c6a07a8027)


2026-04-24  Norm Brandinger  <n.brandinger@gmail.com>
        * [66cca03849] :

        tls_openssl: fix per-thread state double-free across fork()

        Register a pthread_atfork prepare handler that calls OPENSSL_thread_stop()
        before each fork().  CRYPTO_set_mem_functions() routes all OpenSSL allocations
        to shared memory, but per-thread structures (ERR_STATE, DRBG) use thread-local
        storage pointers inherited across fork().  Without cleanup, child processes
        inherit a stale pointer to the parent per-thread state; if the parent frees or
        re-creates that state, the child next OpenSSL call triggers a double-free
        (detected by QM_MALLOC_DBG as SIGABRT).

        After OPENSSL_thread_stop() the thread-local pointer is NULL.  Both parent and
        child lazily allocate fresh per-thread state on the next OpenSSL call.

        This complements the existing on_exit(_exit) handler which covers the same
        class of double-free at process exit time.

        (cherry picked from commit c8d148c1ea0b018964dc24cfce01ac0cf3e8940e)


2026-04-23  Liviu Chircu  <liviu@opensips.org>
        * [605392dde7] :

        aaa_diameter: fix reply cJSON ownership in dm_send_request() paths

        _dm_get_message_response() detached cond->rpl.json into a temporary
        reply object before wrapper cleanup ran.  Now, cleanup frees only
        cond->rpl.json, so the SHM-backed cJSON reply tree leaked.


2026-04-21  Ross Henderson  <rossmck@mac.com>
        * [bf9f69f97a] :

        #3798 Don't require certificate for TLS clients


2026-04-19  OpenSIPS  <github@opensips.org>
        * [9f9a11deaf] :

        Rebuild documentation


2026-04-17  Liviu Chircu  <liviu@opensips.org>
        * [ae432e1b1c] :

        aaa_diameter: Fix possible PKG/SHM mixup across multiple threads

        Despite quite safe at a first glance, the following sequence is actually
        NOT safe to use in the modules/aaa_diameter multi-threaded codebase:

            cJSON_InitHooks(&shm_mem_hooks);
            ... perform lib/cJSON.c API operations ...
            cJSON_InitHooks(NULL);

        Example: the "diameter-peer" multi-threaded process (35 threads!)
        processes two dm_receive_msg() in parallel.  The 1st thread resets the
        "shm_mem_hooks" back to PKG using the NULL argument, while the 2nd
        thread still assumes they are set to SHM functions, and mixes up memory.

        (cherry picked from commit ce2c9642d8727f700133461c26e1a4826ddc303d)


2026-04-17  Liviu Chircu  <liviu@opensips.org>
        * [4d7ed1d8e8] :

        aaa_diameter: Fix race condition with async dm_send_request()

        - Avoid reading the @dmsg after it has been put on the queue, as it
        might get freed meanwhile.

        * aaa_diameter: Fix race condition on pending async replies

        It was possible for the dm_send_request_async_tout() async timeout
        function to ran concurrently with a late Diameter server reply, leading
        to a use-after-free bug on the @cond struct.

        * Add refcounting to the "cond" object

        The SHM-stored @cond object is effectively referenced by two separate
        processes/threads, which run concurrently:
            - dm_send_request_async_tout(), the reactor async timeout callback
            - dm_receive_msg(), the libfdcore receiver thread(s)

        (cherry picked from commit 01489359c8b528d1cbb5eab1a5c452071a35060a)


2026-04-17  Norm Brandinger  <n.brandinger@gmail.com>
        * [32c1cba6a1] :

        rtpengine: fix use-after-free of flags string in bencode dictionary (#3816)

        parse_flags() stores pointers into the pkg-allocated flags_nt.s buffer
        via bencode_str() and bencode_dictionary_add_len(), which hold references
        (not copies). The buffer was freed via pkg_free() before
        send_rtpe_command() serialized the dictionary, causing garbled output
        for key=value flags like media-address.

        Fix by deferring the free via bencode_buffer_destroy_add(), which
        ensures the buffer lives until bencode_buffer_free() is called after
        the command is sent.

        Fixes: https://github.com/OpenSIPS/opensips/issues/3784
        (cherry picked from commit c78b9e908b2896efbef3f7b0f9a111c4399ac34a)


2026-04-17  Razvan Crainea  <razvan@opensips.org>
        * [2042792a3e] :

        event_rabbitmq: avoid double free on guest usage

        (cherry picked from commit 22c93a984319f8e6ac13aab8ddd8805b87d23ee6)


2026-04-17  Norm Brandinger  <n.brandinger@gmail.com>
        * [4545e55960] :

        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

        (cherry picked from commit cc801a4e01cd9ee7c21b0d34d9b7a7aa32f6c3a3)


2026-04-17  Ravitez Dondeti  <dondetir@users.noreply.github.com>
        * [e40d21e7aa] :

        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@3clogic.com>
        (cherry picked from commit 9453ee09412c3a49a664bccad21757311d419688)


2026-04-14  Danielzt  <danielzt@users.noreply.github.com>
        * [097b530247] :

        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
        (cherry picked from commit 0296e26ffe2939b7c009de701b3b420d44d75e6f)


2026-04-14  davidtrihy-genesys  <116663213+davidtrihy-genesys@users.noreply.github.com>
        * [1c90d5dbdf] :

        Compiling with DISABLE_NAGLE does not propogate tcp_proto_no and never sets TCP_NODELAY (#3859)

2026-04-12  OpenSIPS  <github@opensips.org>
        * [8cfbb70357] :

        Rebuild documentation


2026-04-08  Liviu Chircu  <liviu@opensips.org>
        * [e7cf1d5951] :

        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.

        (cherry picked from commit 45dcfd73a47244663aff0e4e5079cd0431ba2447)


2026-04-07  Liviu Chircu  <liviu@opensips.org>
        * [163cb72215] :

        janus: Simplify prev commit 2453e8f78a2c

        (cherry picked from commit 89055ff3a2fea8ec409304105d38214ac46a612c)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [5fd25d424b] :

        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().

        (cherry picked from commit 2453e8f78a2c69a5f207681805d0e5866eb0b5ae)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [8e1512e30d] :

        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.

        (cherry picked from commit c304b6ef00566dac8e51858d7ba1ec97bbf53601)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [c48de598e0] :

        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.

        (cherry picked from commit cf5fb629cc08fc4c20b105df0a6131f5574e7f66)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [dbc832f7fc] :

        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.

        (cherry picked from commit 6fc6acac8e8a669655d92346a8ad61af16671274)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [e7c8bf089a] :

        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.

        (cherry picked from commit 8f959e73c79bf42d06ce2ee7406a80ab9edb8ca1)


2026-04-07  rdondeti  <ravitez.dondeti@gmail.com>
        * [b747385d40] :

        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.

        (cherry picked from commit 9fea57eeaf5c687f49a952692b2b7530ec66a7ee)


2026-04-07  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [eb0b0e4195] :

        [sip_i] fix wrong ISUP msg type on 200 OK INVITE

        Credits go to @aldotms70
        Closes #3857

        (cherry picked from commit bc5a87a28a9b269cc6596dc0e42ddb45344b57ec)


2026-04-05  OpenSIPS  <github@opensips.org>
        * [169c1fa060] :

        Rebuild documentation


2026-04-02  Liviu Chircu  <liviu@opensips.org>
        * [f050f59dc3] :

        db_sqlite: Improve error handling

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

        (cherry picked from commit bdd97c5047b8a9a45ae520e293ecc94f0194d904)


2026-04-01  Liviu Chircu  <liviu@opensips.org>
        * [04a7867ad9] :

        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...
        (cherry picked from commit 5abc95adbb087303620677f4802970686f6c3227)


2026-03-29  OpenSIPS  <github@opensips.org>
        * [7f4fa3ac42] :

        Rebuild documentation


2026-03-26  Razvan Crainea  <razvan@opensips.org>
        * [41515d9454] :

        rtp_relay: do not run indialog for non-SDP requests

        (cherry picked from commit d816345da35b2432f41fcd20578c0a14bcc2a3f9)


2026-03-23  Razvan Crainea  <razvan@opensips.org>
        * [e1e09bcc76] :

        b2b_logic: turn of bridge initiator in case transfer fails

        (cherry picked from commit 381e725f6708de09cf7c386c625e57355047f76c)


2026-03-22  OpenSIPS  <github@opensips.org>
        * [5133261aa9] :

        Rebuild documentation


2026-03-17  Norm Brandinger  <n.brandinger@gmail.com>
        * [f9fb3ea3ed] :

        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

        (cherry picked from commit 43b696d85eeef9ad233d03070624fcc204d078e8)


2026-03-15  OpenSIPS  <github@opensips.org>
        * [63784c3165] :

        Rebuild documentation


2026-03-10  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [251fd00ce0] :

        Merge pull request #3842 from NormB/fix/cachedb-redis-null-deref

        cachedb_redis: fix NULL deref when redisConnect returns NULL

        (cherry picked from commit f0f53a61504538909070335cd0b37b987f773d0a)


2026-03-08  OpenSIPS  <github@opensips.org>
        * [f2cc686995] :

        Rebuild documentation


2026-03-06  Liviu Chircu  <liviu@opensips.org>
        * [f47c2f47bb] :

        registrars: Allow accepting 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:  false (100% backwards-compatible)

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

        (cherry picked from commit dda9010efb6149c44a98cb2029215d0e28ee3f89)


2026-03-06  Liviu Chircu  <liviu@opensips.org>
        * [960ab38e85] :

        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
        (cherry picked from commit 2642e14fb17fcc1ed24eab51bd0568bb743f51e2)


2026-03-03  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [d1777c7dc4] :

        [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.

        (cherry picked from commit 09e787799c6f808df948bcd159060ca89e7fa91e)


2026-03-02  Razvan Crainea  <razvan@opensips.org>
        * [afc8f9a15b] :

        b2b_entities: make sure last_method is updated before req

        (cherry picked from commit b1482d83697d0be1c0ffe850b358755e28674fc2)


2026-03-01  OpenSIPS  <github@opensips.org>
        * [68825c777b] :

        Rebuild documentation


2026-02-26  Razvan Crainea  <razvan@opensips.org>
        * [a68179cc6c] :

        b2b_entities: convert ERR in DBG

        (cherry picked from commit 5964710b0a6aba5c22d366ea1b60ace1df42ab25)


2026-02-24  Remi Collet  <remi@famillecollet.com>
        * [85149d8d4b] :

        support for libmongc/libbson version 2 (#3829)

        (cherry picked from commit 55982fb456963fc8d0fff2eabbbb91849d1dee25)


2026-02-23  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [43d965ab44] :

        Merge pull request #3821 from NormB/fix/tm-async-rd-reversion

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

        Cherry pick of 2a1c511265d82648c984807c02c4b50ed073ca42


2026-02-22  OpenSIPS  <github@opensips.org>
        * [7c4ce06cf3] :

        Rebuild documentation


2026-02-20  Razvan Crainea  <razvan@opensips.org>
        * [36c6eb883e] :

        packaging/redhat: fix bug introduced in 1ea06905


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [96b4520cc2] :

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

        (cherry picked from commit 4e3a0b7c3c025f6b2121f216e790ab8d03dc240d)


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [e0ecfcbd62] :

        regex: fix broken merge

        (cherry picked from commit b0c1bcafa284977e53fc6b2ac6c659365f88404c)


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [90260cec0d] :

        build: python-dev-is-python3 should be available in 20.04

        (cherry picked from commit 2a8a298f7bf85a8a63f60f367186ed48540bfa41)


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [f9d6d2216f] :

        build: restore libmysqlclient-dev removed in 1cb16e08

        (cherry picked from commit 6da1f76b790eafccb2d700e060496bd2b7eec6e8)


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [184b712027] :

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

        (cherry picked from commit bbc1a75d5ba25c0f26afcd208b0f5c7e1fffd3b7)


2026-02-19  Razvan Crainea  <razvan@opensips.org>
        * [4ebd27d2c4] :

        packaging: fix redhat pcre-devel name


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [1967e32107] :

        debian: proper replacement libcurl4 gnutls with openssl

        Please enter the commit message for your changes. Lines starting


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [49ff938efa] :

        Revert "debian: fully replace libcurl4 gnutls with openssl"

        This reverts commit 5021266bf0baacb7aa7b95524a3dc0d36e820148.


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [7c441c7a20] :

        packaging: skip wolfssl errors


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [c4126ff1b5] :

        packaging: fix .swp matching


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [5021266bf0] :

        debian: fully replace libcurl4 gnutls with openssl

        (cherry picked from commit c51e2dd0284055926559d79807aed0e7eb9624f4)


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [7ff18f94bf] :

        debian: replace libcurl4 gnutls with openssl

        The reason is that librkafka depends on libcurl4-openssl-dev, which
        conflicts with libcurl4-gnutls-dev

        (cherry picked from commit 7d9aadc01efd9d9b4e52f571cd6b884ad1359658)


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [1ea0690570] :

        packaging: force libpcre3 for stable version

        except for Debian 13, which is new package and cannot run with libpcre3


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [1682927ee3] :

        regex: allow pcre3 library


2026-02-18  Steve Ayre  <steven.ayre@dubber.net>
        * [e706726c4d] :

        update regex module for pcre2

        (cherry picked from commit 3cc28d166b5a3d7db2cd2d944406480e5a1474f5)


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [2d2d06ee0c] :

        dialplan: make module work with both pcre2 and pcre3 libs

        (cherry picked from commit 67483a5a27ce656eaf9409f7710cf67798e70aac)


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [dd0e53e394] :

        dialplan: fix copying subst's out vector

        (cherry picked from commit 30825e4e0809a1a61f06cec964589c825645b62b)


2026-02-18  Ken Rice  <krice@sipnavigator.com>
        * [c48acc8354] :

        Makefile tweaks to avoid $(shell ...) expansions from failing

        Fixes #3717

        (cherry picked from commit a3ae498d8726894753483738e801dfc0e63e3ba9)


2026-02-18  Steve Ayre  <steven.ayre@dubber.net>
        * [405bffdb6e] :

        create pcre2 compile context once instead of for each compile

        (cherry picked from commit 6082b43fa8b44cbfea7de8afb38998354b54d1fb)


2026-02-18  Steve Ayre  <steven.ayre@dubber.net>
        * [bc71bf02c5] :

        update dialplan module for pcre2

        (cherry picked from commit c58e3af0cc7b44ceb304ac1b6d2c8b45feca4b5b)


2026-02-18  Steve Ayre  <steven.ayre@dubber.net>
        * [ea37bcf8dd] :

        require libpcre2

        (cherry picked from commit 1cb16e082e9ba1cd63f04996eecd75632682df7c)


=========================== Release 3.6.4 ==============================

2026-02-18  Liviu Chircu  <liviu@opensips.org>
        * [9cb4214382] :

        proto_wss: free ws_data on TLS domain lookup failure

        (cherry picked from commit 2cde87bac5dadeb13ca7430d5a6d40c2457a734d)


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [f3bb041ae1] :

        auth_db: fix documentation regarding default credentials value

        Reported by Evgeniy (@gostkov on GitHub) in #3813


2026-02-18  Razvan Crainea  <razvan@opensips.org>
        * [ca3dc83d52] :

        tm: fix EXTRA_DEBUG logging for local cancel timer

        (cherry picked from commit 71541c911d39f98978e4882e9d16065c1dd5f97c)


2026-02-15  OpenSIPS  <github@opensips.org>
        * [462fe92be5] :

        Rebuild documentation


2026-02-10  Liviu Chircu  <liviu@opensips.org>
        * [0e56b0ca4f] :

        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.

        (cherry picked from commit aad6b856835a53d660215834e3c16c4591cf2375)


2026-02-10  Razvan Crainea  <razvan@opensips.org>
        * [a5ac425516] :

        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

        (cherry picked from commit 5595a924bff552de914de11615121350acd5da4b)


2026-02-09  Razvan Crainea  <razvan@opensips.org>
        * [34b0766e9a] :

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

        (cherry picked from commit 8e948d26eb6a21fd4a67a6eb51065da1259f6989)


2026-02-09  Razvan Crainea  <razvan@opensips.org>
        * [bbad39d750] :

        siprec: avoid accessing invalid dialog/rtp context

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

        (cherry picked from commit ee7435662c761e8512af84a46d6db4595a4d6519)


2026-02-08  OpenSIPS  <github@opensips.org>
        * [9a71a3dbfb] :

        Rebuild documentation


2026-02-02  Liviu Chircu  <liviu@opensips.org>
        * [a6866fe56d] :

        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...

        (cherry picked from commit 7935e2e927b523a21bf23e58f5b652ae7db71b46)


2026-02-02  pavelkohout396  <pav.kohout@gmail.com>
        * [2ce53bf26e] :

        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
        (cherry picked from commit 3822d33c1c6b25832fdd88da1d23eed74be55b05)


2026-02-02  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [71a3239e61] :

        [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)

        (cherry picked from commit a4e700d598c70caacf27c342b3c664ccfcf5ba5b)


2026-02-02  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [f954669468] :

        Merge pull request #3806 from ovidiusas/master

        trie: fix defaults for trie_table parameter
        (cherry picked from commit 556d22b3da58c1230c2a22d9eabfa34cf3004366)


2026-02-01  OpenSIPS  <github@opensips.org>
        * [2dac9ed5ec] :

        Rebuild documentation


2026-01-30  Razvan Crainea  <razvan@opensips.org>
        * [bf333d2ca5] :

        aaa_diameter: proper handing of _dm_send_message error

        Avoid double free of the JSON message

        (cherry picked from commit 2ad991b638d6cab4d226139e3a2d0f5b0c30c7db)


2026-01-29  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [0a4b8803ce] :

        Merge pull request #3716 from jasonshugart/master

        Ignore extra headers in MSRP

        (cherry picked from commit 1669166458afe05e97ad36288023c38518ffbd64)


2026-01-28  Razvan Crainea  <razvan@opensips.org>
        * [2b07612d4b] :

        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.

        (cherry picked from commit f92c5f2e279ad5b2823151cc45fd5d2cedadaa4f)


2026-01-27  Peter Lemenkov  <lemenkov@gmail.com>
        * [707405eb4e] :

        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@gmail.com>
        (cherry picked from commit dead516b7f4b0881f99afbee4b48969ceaab1d73)


2026-01-27  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [ea6e69cf52] :

        Merge pull request #3733 from hafkensite/feature/dns-cache-cname

        resolve: fix CNAME chain resolution with caching #3709
        (cherry picked from commit 401957bd8ddbf050d9c2f65c8a51021ea78391d7)


2026-01-26  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [f5de0a361a] :

        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

        (cherry picked from commit b8e28c5294a1b1627b8076d31d0a00e49c8587f4)


2026-01-25  OpenSIPS  <github@opensips.org>
        * [fb2557ddaa] :

        Rebuild documentation


2026-01-23  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [9d1832b40d] :

        Merge pull request #3804 from purecloudlabs/sipmsg_validate_all_contacts

        Sipmsg validate all contacts

        (cherry picked from commit 18fdeaf32bb12e31ceb7876726865faaa8c91c7f)


2026-01-23  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [e98e729e04] :

        Merge pull request #3803 from purecloudlabs/dialog_contact_crash_fix

        Dialog module crash when Contact header is *

        (cherry picked from commit a3fcb81d6bbea42c88a2da51a4438a6f41e48a7f)


2026-01-22  Liviu Chircu  <liviu@opensips.org>
        * [067caa135c] :

        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!


2026-01-20  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [aa4ddd17be] :

        [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)


2026-01-20  Liviu Chircu  <liviu@opensips.org>
        * [e65c545804] :

        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).

        (cherry picked from commit c482249acffc84d4e5d818fc3e24b8fb9f833962)


2026-01-20  Liviu Chircu  <liviu@opensips.org>
        * [a4cbe17b2a] :

        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.

        (cherry picked from commit 11e37d129eaf0d0a064ef50075c9f1bf96b588f8)


2026-01-11  OpenSIPS  <github@opensips.org>
        * [e78b3e99af] :

        Rebuild documentation


2026-01-09  Razvan Crainea  <razvan@opensips.org>
        * [76b7fa7a0e] :

        b2b_logic: also replicate in_sdp for created entity

        (cherry picked from commit b88203c1e8f13dc5eaf3ff38a7724d2d6ec6d85c)


2025-12-21  OpenSIPS  <github@opensips.org>
        * [288bdfa936] :

        Rebuild documentation


2025-12-19  Liviu Chircu  <liviu@opensips.org>
        * [b1dd39c118] :

        GitHub Workflows:  Run rtp.io build tests only on `master`

        * fixes the build on 3.6 branch, due to old Clang (see commit e6caba06a)
        * the rtp.io code is identical on 3.6 and master branches, no need to
            run duplicate checks.  If it diverges, we can revert this commit.


=========================== Release 3.6.3 ==============================

2025-12-18  Liviu Chircu  <liviu@opensips.org>
        * [d6b2fefd49] :

        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

        (cherry picked from commit dfd616bd16cef19b51f6282a7a62e57da2697258)


2025-12-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [c263fc60e8] :

        [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)


2025-12-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [75645be078] :

        [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)


2025-12-14  OpenSIPS  <github@opensips.org>
        * [edab205999] :

        Rebuild documentation


2025-12-11  Razvan Crainea  <razvan@opensips.org>
        * [6fc2b9f2ab] :

        modules: minimum match for revision control

        (cherry picked from commit 9f78fd0eb110d5821e9ba06016be34076945099d)


2025-12-11  Vlad Paiu  <vladpaiu@opensips.org>
        * [31a8c85eee] :

        fix trie.enabled column name

        closes #3779

        (cherry picked from commit ec816e49c252784189921c6a5d8ea94e157905ff)


2025-12-09  Jupiter Tang  <36952362@qq.com>
        * [a7e0b6a29e] :

        keep original flags if pause or resume recording failed (#3764)

        (cherry picked from commit f7721b185accb6130eec7f294c926c3652d71e91)


2025-12-07  OpenSIPS  <github@opensips.org>
        * [5a1f3f49b6] :

        Rebuild documentation


2025-12-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [446ee1f12d] :

        [b2b_entities] avoid 487 Request Terminated over a previous final reply

        If a final 200 OK reply was already sent, do not sent the 487 Request Terminated, but rather release the transaction (to stop retrasnmissions)

        (cherry picked from commit 203d8c9582d4adc2a009ab0de23b04c0a9037f9f)


2025-12-03  Razvan Crainea  <razvan@opensips.org>
        * [cbcd761ed7] :

        proto_ipsec: fix several typos

        (cherry picked from commit b5d00aac204941298e66374a2def90e587fe0afc)


2025-11-30  OpenSIPS  <github@opensips.org>
        * [b647b10d73] :

        Rebuild documentation


2025-11-28  Jupiter Tang  <36952362@qq.com>
        * [9c18f0fa70] :

        fix memory leak in tls_mgm (#3765)

        * fix SHM memory leak on the TLS domain match filter strings

        (cherry picked from commit 9d4afd42ca819aca06abeefaea1042d4bec0a050)


2025-11-25  Jupiter Tang  <36952362@qq.com>
        * [74c19c8c09] :

        Opensips crash after siprec recording finished (#3751)

        * fix double free if register failed

        * should not src_clean_session(ss) after stop the recording to avoid double free

        (cherry picked from commit 71933b28217633f065dd55b629bc21e5260c194f)


2025-11-25  Peter Lemenkov  <lemenkov@gmail.com>
        * [52b24e3d6c] :

        Remove unnecessary -j invocation (#3745)

        During parallel builds (make -j), numerous warnings appear for each module:

        ```
        make[1]: warning: -j0 forced in submake: resetting jobserver mode.
        ```

        Root cause: Lines 205 and 225 in the main Makefile explicitly pass `-j`
        (without a value) to submake invocations:

        ```
        $(MAKE) -j -C $$r ;
        ```

        When `-j` is specified without a number, it defaults to `-j0` (unlimited
        parallel jobs). This breaks GNU Make's jobserver coordination between the
        parent make process and submakes, resulting in the warning.

        Why this flag is redundant:

        When a user runs `make -jN` at the top level, GNU Make automatically
        manages parallelism across all recursive $(MAKE) invocations through its
        jobserver mechanism. Submakes inherit the parent's jobserver and
        participate in the same job pool without needing explicit `-j` flags.

        By adding `-j` in submakes, we:

        - Break jobserver coordination (triggering warnings)
        - Risk spawning unlimited jobs (potential system overload)
        - Override the user's intended parallelism level

        Performance impact: NONE

        Removing these `-j` flags does NOT slow down builds. The parallelism
        behavior remains unchanged:

        - `make -j4` → builds 4 jobs in parallel (before AND after this fix)
        - `make -j8` → builds 8 jobs in parallel (before AND after this fix)
        - `make` → builds sequentially (before AND after this fix)

        The only difference is that jobserver coordination now works correctly,
        eliminating the warnings without affecting build performance.

        Note: The FASTER variable and alternate build path remain unchanged to
        preserve compatibility with existing build scripts used by distribution
        packages (Debian, Arch).

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

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 27e429319c8dc78a9d82df5026a6dad289b8f64f)


2025-11-25  Ovidiu Sas  <osas@voipembedded.com>
        * [bc2173765f] :

        b2b_entities: enable in-dialog authentication (#3762)

        * b2b_entities: do not hardcode entity type when sending in dialog requests

        * b2b_entities: attempt auth only if uac_auth module is loaded and dlg state is B2B_NEW

        * b2b_entities: new function: b2b_send_indlg_auth_req()

        * b2b_entities: enable reINVITE authentication

        (cherry picked from commit dee0a54d61bd3b04d98cf3b03c4086fdc131f206)


2025-11-25  Patrice Fournier  <patrice.fournier@t38fax.com>
        * [7789d223a1] :

        Fix memory leaks in stir_shaken module

        The stir_shaken module would leak memory any time a signature was added
        to a reply instead of the request or returned in a variable. This commit
        makes sure the Identity header lump does not get duplicated and freed
        only once. Also fixed possible memory leaks in case of issues while
        adding a date header to a request without one.

        (cherry picked from commit 1b3c7253778930e9daac423a9970c33f10a48377)


2025-11-24  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [41863ff240] :

        Merge pull request #3747 from lemenkov/constify_libxml2_api

        Fix const-correctness warnings with libxml2 error handling

        (cherry picked from commit e3bec7e266154beb80fd565cf6649c5581fa91f5)


2025-11-24  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [e598cd5bba] :

        Merge pull request #3744 from lemenkov/libdl_link_typo

        Fix libdl linking typo to eliminate build warnings

        (cherry picked from commit 6d784ce4501179f9aa573209cc8065dce989a195)


2025-11-23  OpenSIPS  <github@opensips.org>
        * [97385572b6] :

        Rebuild documentation


2025-11-18  Razvan Crainea  <razvan@opensips.org>
        * [22b344a217] :

        aaa_diameter: fix len for hexstring AVPs encoding

        When provided from script, make sure we do not halve the length, as it
        has already been done in the `hex2string` function

        (cherry picked from commit 75860568435ea3a3221d61e3d5ef80ae8bcd30a7)


2025-11-18  Vlad Paiu  <vladpaiu@opensips.org>
        * [3056a45b5a] :

        Reduce verbosity of libcurl and send errors to stderr

        (cherry picked from commit f1ca60be4d7c4d6a9423cea3e0de5de1e3d97fac)


2025-11-16  OpenSIPS  <github@opensips.org>
        * [2daae27a22] :

        Rebuild documentation


2025-11-14  andingv  <74421031+andingv@users.noreply.github.com>
        * [61cfe1f463] :

        b2b_logic: fix column indexes for the update of b2b legs (#3758)

        (cherry picked from commit 905c17a7320cfc1b2a962b88b1c2b7a5c62e90bb)


2025-11-12  Ovidiu Sas  <osas@voipembedded.com>
        * [1a5d91d89b] :

        event_rabbitmq: complete code optimization (#3755)

        - change signature for rmq_basic_server_publish()
         - remove redundant rmq_basic_publish()

        (cherry picked from commit ddfb39fc8e1776a0d58a5f6b98f353e444948e81)


2025-11-09  OpenSIPS  <github@opensips.org>
        * [21fdad2d4d] :

        Rebuild documentation


2025-11-07  Ovidiu Sas  <osas@voipembedded.com>
        * [b73b4d4ad3] :

        event_rabbitmq: optimize code and remove duplicate code (#3754)

        * event_rabbitmq: fix amqp_set_sockfd() param

        * event_rabbitmq: Use RMQ_DEFAULT_FRAMES instead of RMQ_DEFAULT_MAX

        * event_rabbitmq: rework rmq_reconnect() signature

        * event_rabbitmq: rework rmq_server_reconnect() signature

        * event_rabbitmq: remove rmq_reconnect()

        (cherry picked from commit feaa1d1defbad33de92c377a5c69c81afe57444b)


2025-11-05  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [69508b2356] :

        [parser] restore the setting of via2, needed for stateless reply routing

        Regresion from da7da69519b959e7395dad586ff50264b63ccd7f

        (cherry picked from commit 26f2c7ee13e2a815869073b1c628312fdc297c3e)


2025-11-02  OpenSIPS  <github@opensips.org>
        * [ee555e316e] :

        Rebuild documentation


2025-10-28  Razvan Crainea  <razvan@opensips.org>
        * [53004d2823] :

        rtp_relay: fix overwriting peer's leg

        (cherry picked from commit 12939ed24408627137a77a6a8d31d0d8b0b68457)


2025-10-28  Ovidiu Sas  <osas@voipembedded.com>
        * [f500c49e55] :

        event_rabbitmq: restore event functionality (#3738)

        * event_rabbitmq: restore event functionality

        * event_rabbitmq: fix server reconnect

        (cherry picked from commit 33843ab483e0dc765117bbc06702aa36cab025e3)


2025-10-28  Jupiter Tang  <36952362@qq.com>
        * [db90340446] :

        Fix SIPREC crash issue (#3748)

        (cherry picked from commit 33f99bf142d24297ebbfb2117d7e47fb2bea38b5)


2025-10-27  Peter Lemenkov  <lemenkov@gmail.com>
        * [e5834077f7] :

        Fix curl type warnings: use long instead of int

        Multiple warnings appear during compilation of modules using libcurl:

        ```
        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='rest_client' -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 -c rest_methods.c -o rest_methods.o
        rest_methods.c: In function ‘init_transfer’:
        rest_methods.c:408:17: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          408 |                 w_curl_easy_setopt(handle, CURLOPT_HTTP_VERSION, curl_http_version);
              |                 ^
        rest_methods.c:422:9: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          422 |         w_curl_easy_setopt(handle, CURLOPT_VERBOSE, 1);
              |         ^
        rest_methods.c:424:9: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          424 |         w_curl_easy_setopt(handle, CURLOPT_FAILONERROR, 0);
              |         ^
        rest_methods.c: In function ‘set_upload_opts’:
        rest_methods.c:480:9: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          480 |         w_curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, body->len);
              |         ^
        rest_methods.c: In function ‘rest_sync_transfer’:
        rest_methods.c:714:17: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          714 |                 set_post_opts(sync_handle, ctype, body);
              |                 ^
        rest_methods.c: In function ‘start_async_http_req’:
        rest_methods.c:847:17: warning: call to ‘Wcurl_easy_setopt_err_long’ declared with attribute warning: curl_easy_setopt expects a long argument [-Wattribute-warning]
          847 |                 set_post_opts(handle, req_ctype, req_body);
              |                 ^
        rest_methods.c:918:25: warning: call to ‘Wcurl_easy_getinfo_err_long’ declared with attribute warning: curl_easy_getinfo expects a pointer to long [-Wattribute-warning]
          918 |                         curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &http_rc);
              |                         ^
        ```

        Let's ensure we pass a literals and variables with a proper type.

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 2a03d51f7452b78e603ffb42bb32c815e27c078a)


2025-10-26  OpenSIPS  <github@opensips.org>
        * [77a0a9b35c] :

        Rebuild documentation


2025-10-24  Razvan Crainea  <razvan@opensips.org>
        * [6cd1ca3ed0] :

        b2b_entities: fix crash while debugging client's dlg

        Client's dlg is released when a 200 OK is received - thus, when printing
        something after the request is out, if a 200 OK is received, the log
        might no longer be available - this patch fixes this concurrency issue.

        (cherry picked from commit ab7295aa532fdaccdaf17e88708fa2157ac5f5ce)


=========================== Release 3.6.2 ==============================

2025-10-22  Liviu Chircu  <liviu@opensips.org>
        * [b5bc11f5c1] :

        Mitigate dprint() deadlocks with dbg allocators

        Only concerns F_MALLOC_DBG, HP_MALLOC_DBG and F_PARALLEL_MALLOC_DBG
        allocators, and reduces the chance of a self-deadlock in LIBC whenever
        an OpenSIPS worker crashes inside any kind of dprint() statement.

        Related to #3742

        (cherry picked from commit 6c914e388be971fd4b7d341506a0856533e6e5b7)

        Fix HP_MALLOC issue in prev commit

        (cherry picked from commit 1377c59e1ad66cb859b33256efbb3fc28317fddd)


2025-10-20  Razvan Crainea  <razvan@opensips.org>
        * [1864bf3865] :

        siprec: xml escape callid and group's name

        Many thanks to @SteveAyre for reporting it!
        Fixes #3723


2025-10-20  Razvan Crainea  <razvan@opensips.org>
        * [64cd8a4904] :

        siprec: drop useless code


2025-10-12  OpenSIPS  <github@opensips.org>
        * [13bbf93234] :

        Rebuild documentation


2025-10-09  Razvan Crainea  <razvan@opensips.org>
        * [69b7f06af3] :

        tm: register context functions before initializing

        Fixes bug introduced by 1bd9e8bb, where context initialization failed
        because it was not registered after variables had been parsed. The
        commit ensures that when the variables are initialized, the context
        functions exist.

        Many thanks to Nick Altmann for reporting it!

        (cherry picked from commit 8bb39a2679b41551ec57b34efd9a4587a8daaf7f)


2025-10-09  Razvan Crainea  <razvan@opensips.org>
        * [5482145016] :

        event_rabbitmq: fix exchange parsing

        Many thanks to Ovidiu Sas (@ovidiusas) for brainstorimg

        (cherry picked from commit 758667b68bf15c987ec2620e86813a53356937e0)


2025-10-09  Ovidiu Sas  <osas@voipembedded.com>
        * [ce7f51908f] :

        event_rabbitmq: proper initialization for rabbitmq connection (#3725)

        (cherry picked from commit 7d998c6e53fc68c47b7a4243404da2fbdae02e95)


2025-10-07  Liviu Chircu  <liviu@opensips.org>
        * [c46b9ed1a4] :

        cachedb.h: Fix broken capability enum (since 41aea5fda)

        Fixes #3728

        (cherry picked from commit d1bb4267d04752c21b154ba13ff767efe85d8c69)


2025-10-07  Razvan Crainea  <razvan@opensips.org>
        * [536888338a] :

        pvar: init buffers before initializing modules

        (cherry picked from commit 1bd9e8bb20161326021ee0bfe8aeac5312c7b61f)


2025-10-05  OpenSIPS  <github@opensips.org>
        * [f18bf352ee] :

        Rebuild documentation


2025-10-02  Liviu Chircu  <liviu@opensips.org>
        * [cb216ab825] :

        SDP ops: Do not crash in failure_route (part 1)

        For now, clear all SDP changes when cloning the SIP message into SHM.
        This fixes issues when using $sdp variable and failure_route within the
        same SIP message processing.

        (cherry picked from commit 275237dcf47a31863598f34191aa1693256e1a14)


2025-09-30  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [cce9e39ee9] :

        [presence] fix bogus array size for events to be clustered.

        The badly allocated size could generate an overflow for the newly added events.
        Credits got to @razvancrainea for spotting the issue

        (cherry picked from commit c7f99eef734812809ecffb0b901e66ca96b5235b)


2025-09-28  OpenSIPS  <github@opensips.org>
        * [245f8f3150] :

        Rebuild documentation


2025-09-24  Ken Rice  <krice@sipnavigator.com>
        * [d2b64f480f] :

        Makefile tweaks to avoid $(shell ...) expansions from failing

        Fixes #3717

        (cherry picked from commit 9ce51e3744184a0d9fed42e175893bbe2ed8c2b5)


2025-09-23  Razvan Crainea  <razvan@opensips.org>
        * [0a5a3b870b] :

        pike: guard from 0-length IPs crashes

        (cherry picked from commit 69abc4f9fb80f8548f2bcc8b477685221abc7728)


2025-09-23  Razvan Crainea  <razvan@opensips.org>
        * [3790ab6b20] :

        receive: restore static info about errored messages

        (cherry picked from commit f62135500e2af26418051a1b198dbbf849e0a979)


2025-09-21  OpenSIPS  <github@opensips.org>
        * [b2e7204413] :

        Rebuild documentation


2025-09-18  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [b415545a58] :

        [tm] fix crash on stats update when stats are disabled

        Do proper testing on enabled/disabled status of the stats
        Closes #3718
        Reported by @juliansanter-konverto and @MrM0bi


2025-09-17  Liviu Chircu  <liviu@opensips.org>
        * [d44184d66d] :

        stun: Fix regression in 'use_listeners_as_primary' feature

        In commit 8e6000d5f0d8d, it was missed that FD_SET(fd_x...) calls are
        idempotent, while reactor_add_reader(fd_x...) calls are not. So when you
        perform them multiple times (which the 'use_listeners_as_primary'
        feature MAY do), OpenSIPS startup would now ERROR and abort.

        Many thanks to Bernard Buitenhuis for an accurate report and sponsoring
        the fix!

        (cherry picked from commit 561a15515fd1bfac942c34bdbb8d9ce3c0c3ea3a)


2025-09-16  Liviu Chircu  <liviu@opensips.org>
        * [3473a217cc] :

        permissions: Small bugfix in DB schema

        It seems bitmask values of 128 could not be stored in the table (e.g.
        IPv6 addresses, not subnets), as TINYINT (char) can only support the
        [-128, 127) interval.

        As a fix, we silently bump the column to SMALLINT (2 bytes), solving the
        issue but also not causing any breakage when pulling new packages
        (e.g. no table version update, so we can backport this).

        (cherry picked from commit a23ba7903f7c26bf5c095cd8df5af464e2e5ccb3)


2025-09-16  Liviu Chircu  <liviu@opensips.org>
        * [a2ec1d4cf4] :

        permissions: Fix incorrect match of IPv4 addr against IPv6

        matchnet()'s possible rcs were not fully handled (here, the -1 case).

        Many thanks to Bernard Buitenhuis for reporting the issue.

        (cherry picked from commit 8b1806ec667821eab25c0d79147a8b9cf5320074)


2025-09-14  OpenSIPS  <github@opensips.org>
        * [6d52b03aa5] :

        Rebuild documentation


2025-09-12  Liviu Chircu  <liviu@opensips.org>
        * [4026717d1f] :

        DB version check: Minor improvements

        * improve error reporting when table is not present in 'version':
            "invalid version 0 for table clusterer found, expected 4"  (???)
               vs.
            "'clusterer' entry not found in version table, expected ver 4"

        * add a way of checking if the table does not exist, programmatically

        (cherry picked from commit 4b13a133001f61d0f9aba6981818dd103c2913b8)


2025-09-12  Razvan Crainea  <razvan@opensips.org>
        * [0091a0bc3a] :

        siprec: make timeout handling more robust

        Make sure we are not trying to access the RTP context that has been
        destroyed along with the dialog moving in state 5.

        (cherry picked from commit bbfa2b0c19a6e43c6118b60fd3bf05136bbefd70)


2025-09-12  Razvan Crainea  <razvan@opensips.org>
        * [fc8342956c] :

        siprec: do not try to engage siprec if media not established

        (cherry picked from commit c5fd8adfcc3172f74b2aa634f3f434f533dfa787)


2025-09-08  Liviu Chircu  <liviu@opensips.org>
        * [ce36f300e4] :

        SDP ops: Fix edge-case with missing ending LF

        OpenSIPS no longer throws an error on SDP bodies with missing
        line-termination sequence on the very last line.  According to SDP ABNF
        specs, this is bad syntax, but we accept it and move on.

        Moreover, assuming the SDP is dirty (at least one edit), the output SDP
        ($sdp) will always be normalized to include the ending LF sequence.

        (cherry picked from commit 20b0ba813a64d7aac7ebe11553714bc5f5ecb875)


2025-09-07  OpenSIPS  <github@opensips.org>
        * [db00a9a8dc] :

        Rebuild documentation


2025-09-05  Liviu Chircu  <liviu@opensips.org>
        * [3e69ce86cf] :

        SDP ops: Add "\n" line-ending tests; Fix "$sdp = NULL;"

        The "$sdp = NULL;" statement wasn't fully working as expected, as
        subsequent operations would still pick up some left-over SDP data.

        (cherry picked from commit 020ea0de75c6e6cac91175c43b87bc21e0eb3bb5)


2025-09-05  Razvan Crainea  <razvan@opensips.org>
        * [2aa0c6ebaa] :

        dialog: avoid creating dialog multiple times if deleted

        When an update command is received, the dialog is searched: before this
        commit, if the dialog was not found, `dlg` was returned as `null`, and a
        new dialog, **with the same coordinates** was created.
        This commit makes sure that the dialog is no longer created if already
        in deleted state, thus avoiding creating the dialog multiple times with
        the same coordinates.


2025-09-02  Razvan Crainea  <razvan@opensips.org>
        * [acef7ca289] :

        b2b_logic: avoid crash when copying sdp to deleted entity

        (cherry picked from commit 380c06446e4fe715b72f7b9ff67f40293b20d0bd)


2025-09-02  Razvan Crainea  <razvan@opensips.org>
        * [633455129b] :

        aaa_diameter: add support for time AVPs

        (cherry picked from commit a1ef1d828a0ed57e359632fcb62109f8fa78d9cd)


2025-09-01  Razvan Crainea  <razvan@opensips.org>
        * [3ea6ec201a] :

        python: fix Makefile lib name and includes

        (cherry picked from commit 2702eade95567cd2e5e0bfb0827605bafa2747b2)


2025-08-31  OpenSIPS  <github@opensips.org>
        * [84cde6e7f3] :

        Rebuild documentation


2025-08-28  Razvan Crainea  <razvan@opensips.org>
        * [53541e016b] :

        b2b_sdp_demux: Fix leak in b2b server key creation

        Many thanks to Nuno Ferreira from Five9 for spotting, reporting and
        fixing this.

        (cherry picked from commit cc11d0aaffe6e791264ca290b17f3810f560a178)


2025-08-26  Razvan Crainea  <razvan@opensips.org>
        * [407bc916e8] :

        Avoid crashes in case variable are NULL

        Completes #3690

        (cherry picked from commit c25a8fff733d8b1755e649b6de03415313f117c6)


2025-08-26  Peter Lemenkov  <lemenkov@gmail.com>
        * [639222f7bd] :

        Make GCC happy

        GCC erroneously believes that `hdrs` may be used uninitialized. Let's
        help him understand the situation better.

        ```
        Compiling http2d.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='http2d' -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.0"' -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='"07da80880"' -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 -c http2d.c -o http2d.o
        http2d.c: In function ‘h2_send_response’:
        http2d.c:267:25: warning: ‘hdrs’ may be used uninitialized [-Wmaybe-uninitialized]
          267 |                 for (it = hdrs->child; it; it = it->next, nh++, r->hdrs_len++) {
              |                      ~~~^~~~~~~~~~~~~
        http2d.c:138:16: note: ‘hdrs’ was declared here
          138 |         cJSON *hdrs, *it;
              |                ^~~~
        ```

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 19e2fac6f8f6064128f01b2a56ecbc3cc32b6408)


2025-08-26  Peter Lemenkov  <lemenkov@gmail.com>
        * [ebf9950972] :

        Make GCC happy

        GCC erroneously believes that `job_data` may be used uninitialized.
        Let's help him understand the situation better.

        ```
        Compiling kafka_producer.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='event_kafka' -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.0"' -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='"07da80880"' -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 -DWITH_GZFILEOP -c kafka_producer.c -o kafka_producer.o
        kafka_producer.c: In function ‘kafka_report_status’:
        kafka_producer.c:422:57: warning: ‘job_data’ may be used uninitialized [-Wmaybe-uninitialized]
          422 |         if (p->job->type == KAFKA_JOB_SCRIPT && job_data->report_rt)
              |                                                 ~~~~~~~~^~~~~~~~~~~
        kafka_producer.c:382:28: note: ‘job_data’ was declared here
          382 |         script_job_data_t *job_data;
              |                            ^~~~~~~~
        ```

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 9472e648132e463d1e4c33c92d216c57808776b4)


2025-08-26  Peter Lemenkov  <lemenkov@gmail.com>
        * [4e1aafe71e] :

        Possible use of unitialized variable

        Variable `old_state` can be used w/o being initialized. This patch fixed
        it.

        ```
        Compiling sharing_tags.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='clusterer' -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.0"' -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='"07da80880"' -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 -c sharing_tags.c -o sharing_tags.o
        sharing_tags.c: In function ‘shtag_activate’:
        sharing_tags.c:746:49: warning: ‘old_state’ may be used uninitialized [-Wmaybe-uninitialized]
          746 |         if (ret==SHTAG_STATE_ACTIVE && old_state!=SHTAG_STATE_ACTIVE) {
        sharing_tags.c:685:18: note: ‘old_state’ was declared here
          685 |         int ret, old_state;
              |                  ^~~~~~~~~
        ```

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 1c31a680e3456e9afa12f7071f9ac92fbbb89b4c)


2025-08-26  Peter Lemenkov  <lemenkov@gmail.com>
        * [52c524ae5b] :

        Possible free of unitialized variable

        It is possible that we can jump to `error` where we free `nt_name` right
        before initialization. So better to initialize it first.

        ```
        Compiling app_opensips/avps.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='aaa_diameter' -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.0"' -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='"07da80880"' -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 -c app_opensips/avps.c -o app_opensips/avps.o
        app_opensips/avps.c: In function ‘parse_attr_def’:
        app_opensips/avps.c:732:9: warning: ‘nt_name’ may be used uninitialized [-Wmaybe-uninitialized]
          732 |         free(nt_name);
              |         ^~~~~~~~~~~~~
        app_opensips/avps.c:564:22: note: ‘nt_name’ was declared here
          564 |         char *name, *nt_name, *newp, *p = line, *end = p + len;
              |                      ^~~~~~~
        ```

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 233769bc12106c6478f4186547455fecdc9b2375)


2025-08-26  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [fe780a653d] :

        Merge pull request #3693 from lemenkov/type_mismatch

        Fix various function or variable type mismatch

        (cherry picked from commit be32acabdff83d3899fafd2e33b707719f94365d)


2025-08-26  Peter Lemenkov  <lemenkov@gmail.com>
        * [728e7b5173] :

        Replace distutils completely (#3697)

        The package distutils was deprecated in Python 3.10 and removed in 3.12.
        Let's switch to modern alternative. Also remove one extra shell call.

        Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
        (cherry picked from commit 5a986df0d0e056bd35f17322c237fba73ed709fb)


2025-08-24  OpenSIPS  <github@opensips.org>
        * [d6e2fdc702] :

        Rebuild documentation


2025-08-21  Razvan Crainea  <razvan@opensips.org>
        * [befdafef93] :

        mem: allow using system allocator without debugging

        (cherry picked from commit 7fcf09dbd2f4221a848527d27b6fca6f207f36b0)


2025-08-21  Razvan Crainea  <razvan@opensips.org>
        * [3bb1f889a4] :

        transformations: re.subst may contain whitespaces

        (cherry picked from commit 65fc660cea02497c1c5558985fb1ebd3a473d34c)


=========================== Release 3.6.1 ==============================

2025-08-20  Liviu Chircu  <liviu@opensips.org>
        * [4cc991eaf0] :

        call_center: Check "cc_calls" against the "realtime" DB URL

        Per documentation: "To be more specific, the only runtime table we have
        so far is the "cc_calls" table."

        (cherry picked from commit 69ad46c9f8e0931f965f39f65031510b0aedf0ea)


2025-08-18  Razvan Crainea  <razvan@opensips.org>
        * [d3ba9d24c6] :

        rtpengine: reload servers under lock

        This prevents a crash running the child_init in the same time with a reload

        Many thanks go to ConnexCS for reporting and testing the fix!

        (cherry picked from commit ab3ffa1d16c880e2daab9042330caac7cb271734)


2025-08-10  OpenSIPS  <github@opensips.org>
        * [269000ba01] :

        Rebuild documentation


2025-08-06  Razvan Crainea  <razvan@opensips.org>
        * [fbde267694] :

        rtp_relay: rework failed rtp_relay_update requests handling

        (cherry picked from commit 9b8c8edda4f68306a6f0ddfb8fe288221983f85d)


2025-08-03  OpenSIPS  <github@opensips.org>
        * [a773753115] :

        Rebuild documentation


2025-07-29  Razvan Crainea  <razvan@opensips.org>
        * [f1f875f0a5] :

        proto_ipsec: fix documentation xml typo

        (cherry picked from commit 9f3b78a1ab706a371e1ea80bdd1465b1723d9c9a)


2025-07-27  OpenSIPS  <github@opensips.org>
        * [d2eafb3290] :

        Rebuild documentation


=========================== Release 3.6.0 ==============================

2025-07-23  Razvan Crainea  <razvan@opensips.org>
        * [808efb1810] :

        db_unixodbc: explicit add $(LOCALBASE)/include/odbc

        This fixes compile on FreeBSD.
        Close #3689

        (cherry picked from commit bebda2e5a6d6a73519f79271765146539b7add55)


2025-07-23  Razvan Crainea  <razvan@opensips.org>
        * [8c216ae5cc] :

        rtp_relay: let tm manage ref counting for failed sessions

        Close #3623
        Close #3539

        (cherry picked from commit 7bb7900d4a4a51920ef87b8b37805b38497ea069)


2025-07-23  Razvan Crainea  <razvan@opensips.org>
        * [5e301ccdf8] :

        net: init all protos, but bind TCP only in main

        (cherry picked from commit 0dad8231382063dfe12f72cb5e36277d10a26daf)


2025-07-22  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [7e008d9ac2] :

        Merge pull request #3688 from vladpaiu/fix_async_lock_replies

        run reply async resume callback under reply lock, as it might make changes to AVPs

        (cherry picked from commit 64a18da003127f6fb60ed03620030d3af79c3f00)


2025-07-22  Andrej Solovjov  <solovjov@kompaas.tech>
        * [376954f407] :

        registrar: increase MAX_FORCED_BINDING_LEN in save function

        Sometimes the SIP Contact header field URI can be larger than 256 chars.
        For example, 'pn-provider', 'pn-prid' and 'pn-param' should be in the
        URI if SIP UA requests push notifications and they can be quite long.

        (cherry picked from commit 6416b570892c6884eebeb8888cf832bbc89db2ac)


2025-07-21  Razvan Crainea  <razvan@opensips.org>
        * [cc99ea8ca8] :

        rtpengine: guard from NULL msg

        Thanks to @goharahmed for his report. Close #3652

        (cherry picked from commit 528f06be27fc75876bc72cd49812b4f111f5f2ef)


2025-07-21  Razvan Crainea  <razvan@opensips.org>
        * [7265bc4740] :

        mi_script: fix documentation typos

        Many thangs to @QuincyGao on GitHub for reporting them.
        Close #3683

        (cherry picked from commit e34c7ba19f23b774ac138d6faed90a75da685852)


2025-07-15  Artiom Druz  <38580109+Shkiperon@users.noreply.github.com>
        * [a248f3032d] :

        Added menuconfig options to disable event_sqs and rtp.io module builds (#3678)



2025-07-13  OpenSIPS  <github@opensips.org>
        * [bc7d36dd5d] :

        Rebuild documentation


2025-07-09  Razvan Crainea  <razvan@opensips.org>
        * [d5fb72aaec] :

        auth_aka: fix SIP-Authorization header build

        Before this commit, the RAND||AUTS would have been built in a buffer
        that would have been destroyed afterwards.

        (cherry picked from commit fba5079da4dcba7bfacc0622da72ed062b61dcb9)


2025-07-06  OpenSIPS  <github@opensips.org>
        * [623562f722] :

        Rebuild documentation


2025-07-01  Liviu Chircu  <liviu@opensips.org>
        * [75f2990a55] :

        core: Minor code refactoring

        Skip unnecessary @md assignments, space out the code for readability.

        Related to #3675

        (cherry picked from commit e144adc85d6c34b96510ef4efe7036216c3cd3aa)


2025-07-01  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [cdbd52ed71] :

        core: split DEP_REVERSE_INIT into _MINIT and _CINIT parts

        Add DEP_REVERSE_CINIT and DEP_REVERSE_MINIT dependency flags
        allowing to reverse mod_init() and child_init() init order
        independently.

        Make DEP_REVERSE_INIT be (DEP_REVERSE_CINIT|DEP_REVERSE_MINIT).

        (cherry picked from commit c8770b66f34850c0cf6f2d8fb6f9e1781ba9a898)


2025-07-01  Larry Laffer  <larrylaffer130@gmail.com>
        * [e0ae3c207b] :

        [aaa_diameter] Ignore unknown AVPS in Diameter Replies (#3655)

        * Ignore unknown AVPs in replies

        * Clarify Log

        (cherry picked from commit d449aabc29296cd0b88bcf6335a6e6cbc63365f0)


2025-06-29  OpenSIPS  <github@opensips.org>
        * [23387ae2f7] :

        Rebuild documentation


2025-06-27  Razvan Crainea  <razvan@opensips.org>
        * [adfb884768] :

        rtp_relay: do not enforce from_tag for delete command

        (cherry picked from commit 12ed692ecde861561c23474248aa0b65d6318cfe)


2025-06-25  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [19bc7d04d2] :

        Merge pull request #3634 from jes/proto-tls-fd

        Stop leaving sockets in CLOSE_WAIT on failed TLS connections

        (cherry picked from commit fde3ff3e37695054ad12dfdf4850be847170bf26)


2025-06-25  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [56c5232424] :

        [tm] remove some devel related DBG message

        (cherry picked from commit f560625e1a391ae14c59fa1f7f9b60c9f36c7287)


2025-06-25  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [0b80b066ae] :

        [dispatcher] fix resetting the persistent_state for default partition

        The modparam (as per docs) must change the default partition settings only
        Fixes #3635, reported by @nikbyte

        (cherry picked from commit e86b121b9b1d907a62a8809d7957be86b5dd462e)


2025-06-24  Razvan Crainea  <razvan@opensips.org>
        * [85cc8cb044] :

        permissions: remove unused variable


2025-06-24  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [01428c34aa] :

        [permissions] fix allow_uri() URI parameter

        The parameter is a string, not pvar, so does not need to be evaluated
        Fixes #3645
        Reported by @gostkov


2025-06-22  OpenSIPS  <github@opensips.org>
        * [1d06cb0cc6] :

        Rebuild documentation


2025-06-20  Razvan Crainea  <razvan@opensips.org>
        * [4ae022e2db] :

        cgrates: make sure ctx is released on backup node

        when cgrates ctx is being replicated, we need to release it when the
        dialog is destroyed, otherwise it will leak.

        Many thanks for @NicoFrLy on GitHub for reporting it.
        Close #3656

        (cherry picked from commit 30c5fdfd862cf10bc249f531dd8d7f3b8e5b5521)


2025-06-20  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [65af8f10cd] :

        [proto_tls] fix HEP leak upon failed TLS accepts

        Be sure and flush all pending HEP (tracing) messages on a TLS conn, even if the SSL negociation failed.
        Closes #3496.

        (cherry picked from commit 5d599a85574dee55c1e390c8b3ca818325de2481)


2025-06-20  vladpaiu  <vladpaiu@opensips.org>
        * [e464a5ac7a] :

        Disable TLS tickets for 1.2 and 1.3 in order to support reconnects after OpenSIPS restarts (#3673)

        (cherry picked from commit 00305a4edf6aa9dc946b8064dfbced294c125e03)


2025-06-19  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [233d97cf2f] :

        Merge pull request #3654 from 36952362/master

        Resolve the issue of incomplete transmission of large SIP message over TLS protocol

        (cherry picked from commit 0c54ee7df9c3fe1e6453e8fc52c4b9e9892f5ee6)


2025-06-18  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [2533ae6d77] :

        Merge pull request #3664 from 36952362/tcp_connection

        Resolve the issue of inaccurate tcp_connections_no

        (cherry picked from commit 38efd080d3cd01174384b26c6f86ee9a20480346)


2025-06-17  Razvan Crainea  <razvan@opensips.org>
        * [bfa7ef442e] :

        rtp*: guard from empty to_tag

        (cherry picked from commit cdd47254443b43a8139dffc2c739b05cc77deb69)


2025-06-16  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [dbbc576cc8] :

        Merge pull request #3670 from purecloudlabs/hotfix/permission-module-issues

        `permissions`: Stabilize the new storage backend

        (cherry picked from commit 12085550c5015c06c4815dfa3411535e908e352e)


2025-06-16  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [9ddd2acd64] :

        Merge pull request #3666 from NormB/NormB-clusterer-doc

        Update clusterer_admin.xml

        (cherry picked from commit 45f498b18f75ec879324d23b35b4fed92c5da9a2)


2025-06-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [7281b12bb2] :

        Remove wrapping for exclude_modules line

        This is not supported by the menuconfig tool
        Reported by @rrb3942, closes #3658

        (cherry picked from commit be61940db5c3819287f22813d0753bd3b877a7eb)


2025-06-16  Razvan Crainea  <razvan@opensips.org>
        * [de8f40e625] :

        dialog: replicate cseq changes on every reqlayed request

        (cherry picked from commit d2c682cbf67d584f731311a69f9d28e2e50acf33)


2025-06-15  OpenSIPS  <github@opensips.org>
        * [3fa24f8a7b] :

        Rebuild documentation


2025-06-10  Razvan Crainea  <razvan@opensips.org>
        * [5a06fb31b3] :

        siprec: docs clarify when recoring is started

        Thanks to Walter Schober on mailing list for reporing the inconsistency

        (cherry picked from commit 6da409d4c825f67bab96986e2c6ba97d0c76afc2)


2025-06-08  OpenSIPS  <github@opensips.org>
        * [71bd96ed48] :

        Rebuild documentation


2025-06-04  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [9c382cb7f7] :

        Merge pull request #3661 from NormB/patch-1

        Documentation spelling update

        (cherry picked from commit 224beb4924c57fe9137794272d305758c44b913c)


2025-06-03  Razvan Crainea  <razvan@opensips.org>
        * [144e7253e4] :

        b2b_logic: fix typo on tuple error

        (cherry picked from commit 4754e12bbcc1a6fcbc37b49c9cf8cdaaa07366b1)


2025-06-03  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [5654476038] :

        [domain] updated docs

        Added new "subdomain_col" mod param

        (cherry picked from commit a1caf3b62102367e391d4fe140ebc882289f5352)


2025-06-01  OpenSIPS  <github@opensips.org>
        * [f4ce3ce40f] :

        Rebuild documentation


2025-05-30  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [c665418943] :

        Merge pull request #3653 from ovidiusas/master

        domain: accept BIGINT type for accept_subdomain column
        (cherry picked from commit ad540e9c9834d70ff41a66e1c1e661ea7515ac58)


2025-05-29  Razvan Crainea  <razvan@opensips.org>
        * [41848b7cc1] :

        cachedb_redis: fix c99 requirements

        (cherry picked from commit f7109b1df184ea3956267746804873a7115a593b)


2025-05-25  Liviu Chircu  <liviu@opensips.org>
        * [37a5053eaf] :

        SDP variables: Integrate into SIP msg processing

        Initial SDP operations integration, relaying seems to work as expected.

        (cherry picked from commit b108c1cd0729363f6518c166f5d144bbe9b87874)


2025-05-25  Liviu Chircu  <liviu@opensips.org>
        * [886cb38127] :

        SDP variables: Rework to allow PV as indexes (stream/line/token)

        (cherry picked from commit 5afd61a37cd3fa075fecc4c74a1033777616c0b6)


2025-05-25  Liviu Chircu  <liviu@opensips.org>
        * [25bd2b79ae] :

        SDP variables: Add test suites for $sdp.stream and $sdp.session

        (cherry picked from commit da64ab99cc0d3c04efddec53132e6570ac5fafbe)


2025-05-25  Liviu Chircu  <liviu@opensips.org>
        * [5f3eeadcef] :

        "assert" cfg statement: Few improvements

        * make the 2nd param (assert description) optional
        * add file/line to the error log, as a replacement for lack of param #2

        (cherry picked from commit 63c76aaeecada9cb897a8d36f360aeee119b1a1e)


2025-05-25  OpenSIPS  <github@opensips.org>
        * [7bac0cb15c] :

        Rebuild documentation


2025-05-24  Razvan Crainea  <razvan@opensips.org>
        * [742bbe3935] :

        domain: usr correct table version and bump it properly

        (cherry picked from commit 78a49b1e7bf252ed96df8ab4215fa75a27572741)


2025-05-23  Liviu Chircu  <liviu@opensips.org>
        * [8c23662ad1] :

        $sdp.line: Minimize SDP buffer rebuilds during READ/WRITE ops

        (cherry picked from commit 9561fe48368cc8cd34dea8898f950523ee8ee01d)


2025-05-23  Liviu Chircu  <liviu@opensips.org>
        * [818c846fae] :

        SDP variables: Add test suite for $sdp and $sdp.line

        (cherry picked from commit 4902037a7c34c38d42e0bd384615655d5dc6e2b4)


=========================== Release 3.6.0-beta ==============================

2025-05-21  Liviu Chircu  <liviu at opensips dot org>
        * [bd721abbb2] :

        Bump version to 3.6.0-beta


2025-05-21  Liviu Chircu  <liviu at opensips dot org>
        * [eb9a3007c2] :

        sql_cacher: Document the new sql_cache_dump()


2025-05-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [d43a5ee819] :

        [registrar] udpdate docs on avp_attr usage


2025-05-21  Liviu Chircu  <liviu at opensips dot org>
        * [c4bf29d8a3] :

        tm branches: Few quickfixes


2025-05-21  Razvan Crainea  <razvan at opensips dot org>
        * [2630531c81] :

        proto_hep: replace atomic_ulong with portable atomic_t

        This fixes compile error on RedHat/CentOS 7


2025-05-21  Razvan Crainea  <razvan at opensips dot org>
        * [1c4d57d70f] :

        scripts: fix trie_partitions version


2025-05-21  Liviu Chircu  <liviu at opensips dot org>
        * [80c3742404] :

        rtp.io: Fix build (uninitialized static struct)


2025-05-21  Razvan Crainea  <razvan at opensips dot org>
        * [967b3585ab] :

        tm: fix (unneeded) struct init to make gcc13 happy


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [1fc356a7cb] :

        Fix uninitialized variable


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [839aa843e6] :

        registrar: Adjust get_branch() usage to new code


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [7223b8403f] :

        domain: Bump table version (3>4); Regen DB schemas


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [96f2fa63d9] :

        Merge branch 'subdomain_alias' of github.com:purecloudlabs/opensips into purecloudlabs-subdomain_alias


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [a44a00cc19] :

        Update MySQL DB migration scripts for "3.5 to 3.6"


2025-05-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [4524f6814d] :

        "Fix" compiler false alarm on unset variable


2025-05-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [f4ecb3d51f] :

        Migrate modules from append_branch() to append_msg_branch()

        Completes 31092f1666f37fd1cf438b7b14d303a3cb648464


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [4497e4459f] :

        $sdp.line: Rework line/token parser


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [d6d44bd072] :

        vim syntax: Improve pvar highlighting


2025-05-20  Liviu Chircu  <liviu at opensips dot org>
        * [8f951c2fbf] :

        proto_hep: Link modparams; Move new globals into SHM

        * newly added modparams were not linked at all into module params[]
        * move new runtime globals into SHM, to avoid the situation where only
            some OpenSIPS SIP workers block the HEP and some don't.  Either
            block all HEP sending for 1 hour or none at all.

        (cherry picked from commit 8e1f6ab9b5b7e1d5e5a064b0fa020a81b5c5c71d)


2025-05-20  Norm Brandinger  <nbrandinger at planet dot net>
        * [cb30c5c8f4] :

        Add support to send a command to an RTPEngine specified by the sock_var (#3617)

        * Add support to send a command to an RTPEngine specified by the sock_var

        * Removed some logging problems that the linter complained about.

        * Updates to support memory corruption edge case

        * Fixed casting typo

        * Update some comments

        * Implement developer suggestions

        1. If the set variable is passed in, use it. Otherwise use the existing logic.

        2. Move setting of the socket STR outside of the loop.

        * Update README

        * Update rtpengine_admin.xml documentation

2025-05-19  rita7lopes  <105070795+rita7lopes at users.noreply.github dot com>
        * [953a2f66b6] :

        Add max_retries and cooldown timer to send_hep (#3627)

        * Add logic to prevent an unreachable HEP destination on any TCP connection to crash OpenSIPS

        * Make the pkg_free into a spearate function

2025-05-19  Norm Brandinger  <nbrandinger at planet dot net>
        * [fe8642db72] :

        Add Redis MOVED Redirection support (#3639)

        * Updates to support Redis MOVED redirection

        * Add missing function definition to the include

        * Update some comments

        * Formatting updates

        * Update modules/cachedb_redis/cachedb_redis_utils.c

        Co-authored-by: Copilot <175728472+Copilot at users.noreply.github dot com>

        * Update modules/cachedb_redis/cachedb_redis_dbase.c

        Co-authored-by: Copilot <175728472+Copilot at users.noreply.github dot com>

        * Add missing include

        * Fix: A little too aggressive in freeing the redisReply object

        * Remove ASK defines until there is logic to implement it.

        * Remove slot comparison when a MOVED is returned / fix space vs. tab formatting to be consistent

        ---------

        Co-authored-by: Copilot <175728472+Copilot at users.noreply.github dot com>

2025-05-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [7bb062cd0f] :

        Merge branch 'feature/branches'


2025-05-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [58f2a6b828] :

        [tm] added new vars and functions to docs


2025-05-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [a914df6f34] :

        [tm] added $tm.branch.xxxx family of variables

        Also the t_get_branch_idx_by_attr() script function


2025-05-19  Nick Altmann  <nick at altmann dot pro>
        * [1cc05a62fd] :

        event_flatstore improvements (#3649)

        * event_flatstore: add time-based rotation (thanks and credits to @razvancrainea)

        * event_flatstore: add line count-based and size-based rotation, and rotation event

        * event_flatstore: add escape_delimiter parameter to replace delimiters inside field values

        * event_flatstore: replace deprecated IPC call with ipc_send_rpc_all()

2025-05-19  Liviu Chircu  <liviu at opensips dot org>
        * [7cf0ad4b60] :

        Merge pull request #3648 from vladpaiu/add_contributors_to_janus_trie

        Actually load contrib in the doc xml

2025-05-19  Razvan Crainea  <razvan at opensips dot org>
        * [5123cb8ff2] :

        ratelimit: fix replication suffix (r instead of s)

        Many thanks to Nick Altmann for reporting it!


2025-05-19  Razvan Crainea  <razvan at opensips dot org>
        * [5ef5cbdc2f] :

        media_exchange: fix media_exchange fork command SDP


2025-05-19  Vlad Paiu  <vladpaiu at opensips dot org>
        * [5ee28a1d90] :

        Actually load contrib in the doc xml


2025-05-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [4496379f71] :

        Fix setting ATTR for RURI branch if no branches are appended


2025-05-18  OpenSIPS  <github at opensips dot org>
        * [ef44146269] :

        Rebuild documentation


2025-05-17  Liviu Chircu  <liviu at opensips dot org>
        * [8ffe818d01] :

        Merge pull request #3647 from vladpaiu/add_contributors_to_janus_trie

        Add contributors for trie+janus & fix copy paste errors in trie doc

2025-05-17  Vlad Paiu  <vladpaiu at opensips dot org>
        * [ac58ca3dda] :

        Add contributors for trie&janus & fix copy paste errors in trie doc


2025-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [e5940b10cb] :

        Fixes on the new $msg.branche.xxx variables


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [ae322f3d9c] :

        Merge pull request #3646 from ovidiusas/master

        core: advertise the new memory allocator F_PARALLEL_MALLOC in help msg

2025-05-15  Ovidiu Sas  <osas at voipembedded dot com>
        * [85c298fad8] :

        core: advertise the new memory allocator F_PARALLEL_MALLOC in help msg


2025-05-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [de0a028c0e] :

        New $msg.branch.last_idx added

        returns the index of the last added msg branch


2025-05-15  Razvan Crainea  <razvan at opensips dot org>
        * [b709875915] :

        config: add new module


2025-05-15  Razvan Crainea  <razvan at opensips dot org>
        * [2e24dc6440] :

        mi/item: add params to get mi object


2025-05-15  Razvan Crainea  <razvan at opensips dot org>
        * [b6820d92fc] :

        lib/hash: support RPM for hash


2025-05-15  Razvan Crainea  <razvan at opensips dot org>
        * [2766c37fbd] :

        mem: fix warnings when F_PARALLEL_MALLOC is not defined


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [bb2423bfec] :

        Merge branch 'feature/sdp-vars'

        Initial implementation draft!


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [cbe3e74cd7] :

        [SCR-2] Implement $sdp.session


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [64df807605] :

        [SCR-2] Implement $sdp.stream


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [cf84462d36] :

        [SCR-2] Implement $sdp.line


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [d67b10213c] :

        [SCR-2] Add name parser for $sdp


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [3be999979c] :

        [SCR-2] SDP body mgm


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [6511f0b9ca] :

        [SCR-2] Implement $sdp Read/Write ops


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [08504ef3e6] :

        [SCR-2] New pvar name prototypes


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [7f2d52d4bb] :

        [SCR-2] SDP variables -- Add SIP msg/body hooks


2025-05-15  Liviu Chircu  <liviu at opensips dot org>
        * [1de4c99d94] :

        rtpproxy: Improve malloc handling

        It's possible to do pkg_malloc(0 -> 8), so avoid leaking PKG there.


2025-05-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [d89acfb1e1] :

        Expose pv_false/true predefined pv_vals for external usage


2025-05-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [fa3d5d3811] :

        [msg branch] take care of ATTR lists while manipulating the MSG BRACHES

        now that a list of ATTRs is attached to each msg_branch, take are and properly move, swap, clone and free them during the msg_branch oriented operations


2025-05-14  Razvan Crainea  <razvan at opensips dot org>
        * [631c2f51f2] :

        redhat_fedora: new module sockets_mgm


2025-05-13  Liviu Chircu  <liviu at opensips dot org>
        * [063435dfef] :

        dispatcher: Fix rare crash with 'pvar_algo_pattern' (part 2)

        Commit fe1a50d251 was a quick-fix attempt, but the race condition was
        still there, and continuing to cause rare crashes during 'ds_reload' if
        using the 'pvar_algo_pattern' feature.

        Long story short: pv_get_spec_value() on SHM-allocated structs has a
        high risk of running into concurrency issues, depending on the spec in
        use.  Here, the issue happened to be with the $stat(xxx) algo pattern,
        where 2 or more SIP workers performed concurrent READ/WRITE on it,
        leading to a crash.

        Many thanks to Eric Tamme from Five9 for reporting & testing!


2025-05-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [0f5ec3e6fe] :

        [registrar] the contact attrs are now pushed back as branch attrs

        The attrs are attached to the contact at save() time, as AVP, but restored at lookup() time as branch attribute - in both cases, the name (of AVP and attribute) is the same.


2025-05-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [3e735f0929] :

        Added enhanced support for per msg branch variables

        The msg branches are the branches created prior to t_relay(), with the set of destinations where the request should be parallel forked.
        Available vars:
        	$msg.branch.uri[br_idx]
        	$msg.branch.duri[br_idx]
        	$msg.branch.path[br_idx]
        	$msg.branch.q[br_idx]
        	$msg.branch.flags[br_idx]
        	$msg.branch.flag(name)[br_idx]
        	$msg.branch.socket[br_idx]
        	$msg.branch.attr(name)[br_idx]
        The indexing of the branches starts from 0 where 0 is the branch corresponding to RURI. The additional branches starts from idx 1.
        What is new here is the concept of named attrs attached to each branch. These attrs can be used after the branch is created, all the way to the t_relay() moment.


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [ef37587030] :

        sockets_mgm: add proper README


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [2c4307662b] :

        sockets_mgm: add more fields to the dynamic socket


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [5b67cce553] :

        sockets_mgm: rework to bind on each process


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [c03799f640] :

        net: bind TCP listeners only in main


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [72b59a9544] :

        net: split init & bind operations


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [d240c1e93d] :

        sockets_mgm: initial implementation


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [29ae2c249a] :

        db: fix init and close signature


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [a96169ac52] :

        proto: use explicit PROTO_SIP_LAST

        We should not hardcode the last PROTO_SIP, as the list may change and we
        might forget (unfortunately it happened) to update the last SIP PROTO


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [93324e6266] :

        ipc: wait for a socket to become available before sending


2025-05-12  Razvan Crainea  <razvan at opensips dot org>
        * [3a91cd6769] :

        io_wait: add null termination to CRIT message


2025-05-12  Liviu Chircu  <liviu at opensips dot org>
        * [dded7c755e] :

        Merge pull request #3642 from NormB/usrloc-doc-update

        Fix syntax in ul_get_key example

2025-05-12  Liviu Chircu  <liviu at opensips dot org>
        * [a615253ee7] :

        Merge pull request #3616 from vladpaiu/bucket_allocator

        Add multi-lock allocator

2025-05-11  OpenSIPS  <github at opensips dot org>
        * [6af684eebb] :

        Rebuild documentation


2025-05-09  David Trihy  <david.trihy at genesys dot com>
        * [e983263781] :

        Updating README


2025-05-09  David Trihy  <david.trihy at genesys dot com>
        * [3191e3c71e] :

        Added comments for the domain checking


2025-05-09  Norm Brandinger  <n.brandinger at gmail dot com>
        * [e668c9d6b4] :

        Fix syntax in ul_get_key example

2025-05-09  David Trihy  <david.trihy at genesys dot com>
        * [e94b56aeb9] :

        Minor missing changes


2025-05-09  David Trihy  <david.trihy at genesys dot com>
        * [b084f68639] :

        Change grammar in line with PR comments and add support to domain module


2025-05-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [31092f1666] :

        New append_msg_branch() added to replace append_branch()


2025-05-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [32ff4ece9e] :

        Migrated msg branches to a more structured format

        This is step one to allow easier expansion and correlation with TM branches


2025-05-07  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [c6a7fcb0c2] :

        [sqlops] fix sql_update() function

        Due to some static vars, the KEYS and FILTERS of the "update" sql query were mixed.
        Reported by Norman Brandinger @NormB


2025-05-06  Liviu Chircu  <liviu at opensips dot org>
        * [6f786660cf] :

        tm: Fix rare crashes during SRV failover (part 1)

        Fix a specific edge-case where OpenSIPS crashes with double pkg_free(),
        whenever:

        - SRV failover is engaged (SRV dest with a 408 or 503 reply from downstream)
        - a branch route is in use
        - script developer does a READ and WRITE on the $ru or $du, from this
          branch route

        Many thanks to Bogdan Iancu for helping troubleshoot this!


2025-05-05  Razvan Crainea  <razvan at opensips dot org>
        * [d49e090c90] :

        stir_shaken: add global lock for loading the certificate

        This prevents a crash generated by openssl internals regarding resetting
        the error stack.

        Many thanks go to ConnexCS for the valuable reports and testing fixes!


2025-04-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [7071eced2a] :

        allign f_parallel_malloc mem to 8UL


2025-04-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b462ada79b] :

        Revert "stop logging ROUNDTO to avoid 32vs64 bits issue"

        This reverts commit 0e773eac5d9384d484a99f0fca60b9d5611ba1ae.


2025-04-28  Vlad Paiu  <vladpaiu at opensips dot org>
        * [0e773eac5d] :

        stop logging ROUNDTO to avoid 32vs64 bits issue


2025-04-28  Vlad Paiu  <vladpaiu at opensips dot org>
        * [2d4926c40b] :

        add GPL headers


2025-04-28  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b07c227595] :

        HP_MALLOC and F_PARALLEL_MALLOC are the only allocator that don't use global lock


2025-04-28  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [1f3f64cf80] :

        GH Actions cleanups and improvements (#3637)

        * CI: multiple improvements and cleanups

         - Move jobs into a separate vanilla ubuntu container, not one provided by the github.
         - Re-add Ubuntu 20.04, add 24.04 into more places.
         - GC enable_ubuntu_toolchain_test.
         - set CPP_CMD for gcc.
         - Unify DOCKR_BASE and BUILD_OS.

        * CI: move notifications into a separate file and unify.

2025-04-27  OpenSIPS  <github at opensips dot org>
        * [af3e1eab63] :

        Rebuild documentation


2025-04-25  Razvan Crainea  <razvan at opensips dot org>
        * [a6969c7ad6] :

        debian: fix XMPP modules build

        Many thanks to Nick Altmann for reporting it


2025-04-24  Razvan Crainea  <razvan at opensips dot org>
        * [d22fa0da57] :

        rtp_relay: do not store to_tag unless dialog is confirmed

        Even if the media dialog establishes on early media, we should not store
        the to_tag in the context, as it might change when a 200 OK comes.


2025-04-24  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [045135d4e8] :

        Merge pull request #3550 from vladpaiu/onreply_async

        Add onreply_route async capabilities

2025-04-24  Ryan Bullock  <ryan at piratel dot com>
        * [640132b47e] :

        Don't run error handling when there was no error (#3626)



2025-04-24  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [4f1059b6aa] :

        Merge pull request #3633 from lemenkov/strict_type_checking

        Fix FTBFS with recent GCC

2025-04-24  Peter Lemenkov  <lemenkov at gmail dot com>
        * [24970bb6c0] :

        Fix FTBFS with recent GCC

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


2025-04-23  Liviu Chircu  <liviu at opensips dot org>
        * [be8877214b] :

        Fix TCP Main crash with E_SHM_THRESHOLD

        TCP Main has NULL @sroutes, so it would crash while raising the event.


2025-04-23  Liviu Chircu  <liviu at opensips dot org>
        * [56c2c8eb89] :

        event_route: Fix crash when out of SHM


2025-04-23  Razvan Crainea  <razvan at opensips dot org>
        * [1448475e0d] :

        redhat_fedora: ignore rtp.io


2025-04-22  Razvan Crainea  <razvan at opensips dot org>
        * [ae0a289422] :

        siprec: fix deadlock for late-negotiation


2025-04-22  Liviu Chircu  <liviu at opensips dot org>
        * [2ecff3eabc] :

        Merge pull request #3630 from sippy/pr_fix_ci

        Fix CI issues (#3501 fallout)

2025-04-22  Ovidiu Sas  <osas at voipembedded dot com>
        * [3e5f7b6eb5] :

        prometheus: fix documentation layout (#3631)



2025-04-20  OpenSIPS  <github at opensips dot org>
        * [b17f160696] :

        Rebuild documentation


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [f396a3926c] :

        sqlops: fix build with gcc-14

          sqlops_impl.c: In function ‘ops_sql_api_insert’:
          sqlops_impl.c:910:12: error: ‘Jcols’ may be used uninitialized [-Werror=maybe-uninitialized]
            910 |         if (Jcols) cJSON_Delete(Jcols);
                |            ^


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [1c7153ee9c] :

        core: fix build with gcc-14, make sure media.len is initialized

          transformations.c: In function ‘tr_eval_sdp’:
          transformations.c:1761:70: error: ‘media.len’ may be used uninitialized [-Werror=maybe-uninitialized]
           1761 |                      if ((media.s != NULL && stream->media.len == media.len &&
                |                           ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [511b051ab4] :

        CI: Set QEMU_CPU=cortex-a53 on arm64 to improve build performance on latest ubuntu.


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [fcd820c124] :

        cpl: fix build with gcc13+, don't use NULL as argument for the "%.*s" format

        DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -DUNIT_TESTS -Wno-deprecated-declarations -I/usr/include/libxml2 -c cpl_run.c -o cpl_run.o
        In file included from ../../mem/mem.h:30,
                         from cpl_run.c:35:
        cpl_switches.h: In function ‘run_address_switch’:
        ../../mem/../dprint.h:71:36: error: ‘%.*s’ directive argument is null [-Werror=format-overflow=]
           71 |         #define DP_PREFIX  (char *)"%s [%d] "
              |                                    ^~~~~~~~~~
        cpl_switches.h:192:41: note: in expansion of macro ‘LM_DBG’
          192 |                                         LM_DBG("extracted val. is <%.*s>\n",
              |                                         ^~~~~~


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [e27c6bbdbb] :

        b2b_entities: fix compilation with gcc13+.

           "error: storing the address of local variable ‘from_hdr’ in ‘dummy_msg.headers’"


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [fc365a964f] :

        CI: access GHCR packages using token.


2025-04-18  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [c80b81cea7] :

        CI: Add missing ubuntu- prefix.


2025-04-17  Liviu Chircu  <liviu at opensips dot org>
        * [f0054a2738] :

        Merge pull request #3629 from 36952362/master

        fix tls_mgm release domain issue

2025-04-17  Liviu Chircu  <liviu at opensips dot org>
        * [3ee5b4fad0] :

        Merge pull request #3438 from jes/jes/fix-tls-async-connect-fd

        tls_openssl: fix openssl_tls_async_connect

2025-04-17  Liviu Chircu  <liviu at opensips dot org>
        * [6b2932908e] :

        Merge pull request #3501 from sippy/wip_rtp.io

        New rtp.io module (embedded RTPProxy)

2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [a947f1d807] :

        Remove Ubuntu 20.04 (to be discontinued by the github) and add
        24.04.


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [61fee87492] :

        core: Enable clang for ppc64.

        CI: handle debian.


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [897a1d5973] :

        core: only generate backtraces if EXTRA_DEBUG is defined.

        This fixes build on systems that have no backtrace API in the
        libc (e.g. BSDs).


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [0e75fc4fd8] :

        CI: run with clang-18, handle debian.


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [d9587d2b47] :

        core: undo solaris-bs that breaks things on BSDs.


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [090d346d90] :

        rtpproxy: hook up rtpproxy into rtp.io.

        Use rtp.io when no explicit rtpproxy configuration is
        provided. It is also possible to mix internal RTP functionality
        with externals proxies by adding it up as "rtp.io:auto" into
        some of the existing set.


2025-04-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [c05bf4ac67] :

        rtp.io: add a new rtp.io module.

        What rtp.io module does is it starts up a RTP handling threads in
        the separate "opensips" process and let rtpproxy module access those
        threads via a 1:1 socketpair, thus providing usual media relaying
        functionality without using any external relay process.

        The module requires RTPProxy 3.1 or higher, compiled with
        --enable-librtpproxy (or respective Docker image that is pushed to
        GHCR and Docker.hub on every commit).

        When rtpproxy module is loaded without arguments and rtp.io is loaded as
        well, the sockets exported by the rtp.io will be used automatically in
        the set 0. Otherwise those sockets can be used as part of other set(s)
        by using "rtp.io:auto" moniker.

        Provided is also a CI job that builds rtp.io in a rtpproxy container
        for all supported architectures and tests it using voiptests package.

        TODO list:

        o hook up notification socket directly into appropriate handler on the
          OpenSIPS side;

        o generate -l / -6 option(s) based on OpenSIPS's own socket list;

        o more documentation.


2025-04-16  Liviu Chircu  <liviu at opensips dot org>
        * [f98189afa5] :

        clusterer: Fix node pinging regression in 7d74f3dc

        While commit 7d74f3dc fixed links going down during pinging, it
        introduced a bug where node links could flip/flop between Up/Down state
        intermittently on some setups.  This patch addresses the new issue.


2025-04-16  jupiter  <36952362 at qq dot com>
        * [959beeb588] :

        fix tls_mgm release domain issue


2025-04-15  Razvan Crainea  <razvan at opensips dot org>
        * [10b0e17093] :

        siprec: fix crash in stopping recording


2025-04-14  Razvan Crainea  <razvan at opensips dot org>
        * [03902c62b1] :

        siprec: add support for instances

        [OSS:BACKPORT-3.6]


2025-04-14  Razvan Crainea  <razvan at opensips dot org>
        * [0b68fff1eb] :

        siprec: handle late negotiation


2025-04-14  Razvan Crainea  <razvan at opensips dot org>
        * [738adc3d5f] :

        media_exchange: fix initialization of replicated instance


2025-04-13  OpenSIPS  <github at opensips dot org>
        * [ae14195d65] :

        Rebuild documentation


2025-04-11  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [51878ca242] :

        Merge pull request #3615 from nikbyte/master

        uac_registrant: add socket to the reg_list output

2025-04-09  Răzvan Crainea  <razvan at opensips dot org>
        * [cffd8f3c1c] :

        Merge pull request #3607 from LarryLaffer-dev/auth_aka_sip_digest

        Add Support for SIP-Digest-Authentication

2025-04-08  Larry Laffer  <larrylaffer130 at gmail dot com>
        * [ddc12a0e78] :

        Merge branch 'OpenSIPS:master' into auth_aka_sip_digest


2025-04-06  OpenSIPS  <github at opensips dot org>
        * [cfbfc9b62b] :

        Rebuild documentation


2025-04-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [2a761a7805] :

        [async] make the resume route checking more tolerant to script reload


2025-04-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [f3b33c482e] :

        Fix launch crash if the resume route is not defined in script.

        Also, if the route is not in found, do not run in sync, but rather run the cmd still in async mode, but without triggering the route.


2025-04-02  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [1ad77d2805] :

        Fix 0'ed msg passed to callbacks on parse error.

        This is a complition to af754d951b
        In receive_msg(), even upon a parse error, we need the cripled msg to be passed to "error" handling callbacks (like pike or error_route).


2025-04-02  Razvan Crainea  <razvan at opensips dot org>
        * [285774d586] :

        siprec: add siprec_send_indialog function

        This function provides the hooks to send an indialog message in the
        siprec call.

        Sponsored by Dubber


2025-04-02  Razvan Crainea  <razvan at opensips dot org>
        * [2a28d960e0] :

        dialog: restore buffer only if STR value

        If an integer is returned, the buffer is no longer available, thus if it
        will be used as a string next time, it will crash.

        Completes #3135


2025-04-02  Vlad Paiu  <vladpaiu at opensips dot org>
        * [6811373f77] :

        fix memleak and address reply resume route being reloaded


2025-04-02  Vlad Paiu  <vladpaiu at opensips dot org>
        * [dd79818af2] :

        run reply async resume route under lock, if needed


2025-04-02  Vlad Paiu  <vladpaiu at opensips dot org>
        * [16ef67d27e] :

        for onreply async, don't make changes for kr, cancelled_t and e2eack_t


2025-04-02  Vlad Paiu  <vladpaiu at opensips dot org>
        * [7477f3f42b] :

        avoid reply processing code duplication


2025-04-02  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b2811a5f4c] :

        rework logic for routes where we allow & disallow async


2025-04-01  Razvan Crainea  <razvan at opensips dot org>
        * [a381e21380] :

        media_exchange: add support for multiple forking instances


2025-03-31  Liviu Chircu  <liviu at opensips dot org>
        * [8f3bed18b5] :

        Merge pull request #3613 from edman80/fix-cachedb-redis-init-move

        Fix: cachedb_redis initialization fails checking for JSON support in …

2025-03-31  Razvan Crainea  <razvan at opensips dot org>
        * [6d0f9e5c2f] :

        dialog: add release function to send indialog callbacks

        This fixes a bug in media_exchange where a reply callback is called
        multiple times for retransmissions, unreffing the session multiple
        times.


2025-03-31  Vlad Paiu  <vladpaiu at opensips dot org>
        * [c70e5d3c12] :

        Merge remote-tracking branch 'upstream/master' into bucket_allocator


2025-03-31  Răzvan Crainea  <razvan at opensips dot org>
        * [58e80bac49] :

        Merge pull request #3609 from LarryLaffer-dev/aka_av_diameter_server_uri

        Make the Server-URI configurable (+ docs)

2025-03-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [76c160f5a4] :

        more fixes


2025-03-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b8072c0faa] :

        remove DBG ERR logs


2025-03-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [eeef6c77be] :

        allocator str


2025-03-30  Vlad Paiu  <vladpaiu at opensips dot org>
        * [7d34087be5] :

        fix allocating buckets


2025-03-30  OpenSIPS  <github at opensips dot org>
        * [0ac7a52926] :

        Rebuild documentation


2025-03-29  Nick Altmann  <nick at altmann dot pro>
        * [8d26574427] :

        uac_registrant: add socket to the reg_list output


2025-03-26  Eddie Fiorentine  <eddie at planet dot net>
        * [79b2bdda4a] :

        Fix: cachedb_redis initialization fails checking for JSON support in certain clustering scenarios.


2025-03-26  Liviu Chircu  <liviu at opensips dot org>
        * [857fba882d] :

        Merge pull request #3610 from lemenkov/fix_pointer_on_ix86

        Fix pointer type on 32-bin ix86 machines

2025-03-26  Liviu Chircu  <liviu at opensips dot org>
        * [871f726372] :

        topology_hiding: Fix uninitialized variable


2025-03-26  Liviu Chircu  <liviu at opensips dot org>
        * [4b2fda4088] :

        Fix DB URL parser regression; Add more unit tests

        Commit c6567b811eb added support for '/' characters in password, but
        broke the parsing for URLs without username:password in the process,
        e.g. db_http URLs.  This commit fixes the issue and adds unit tests.

        Many thanks to Norm Brandinger & Eddie Fiorentine @ Planet for the unit
        tests!


2025-03-26  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [4550dccc04] :

        Merge pull request #3611 from vladpaiu/fix_janus_compile

        fix janus arm32 compile error

2025-03-26  Vlad Paiu  <vladpaiu at opensips dot org>
        * [794fb8e753] :

        fix janus arm32 compile error


2025-03-25  Peter Lemenkov  <lemenkov at gmail dot com>
        * [12bc40870e] :

        Fix pointer type on 32-bin ix86 machines

        ```
        aaa_diameter.c: In function ‘dm_send_answer’:
        aaa_diameter.c:420:60: error: passing argument 4 of ‘reverse_hex2int64’ from incompatible pointer type [-Wincompatible-pointer-types]
          420 |                 reverse_hex2int64(res.rs.s, res.rs.len, 1, &fd_req);
              |                                                            ^~~~~~~
              |                                                            |
              |                                                            long unsigned int *
        In file included from aaa_diameter.c:26:
        ../../ut.h:399:78: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘long unsigned int *’
          399 | inline static int reverse_hex2int64( char *c, int len, int unsafe, uint64_t *r)
              |                                                                    ~~~~~~~~~~^
        make[1]: *** [../../Makefile.rules:28: aaa_diameter.o] Error 1
        make[1]: *** Waiting for unfinished jobs....
        ```

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


2025-03-24  LarryLaffer-dev  <larrylaffer130 at gmail dot com>
        * [50d92e3791] :

        Set Server-URI based on Realm, if empty.


2025-03-24  LarryLaffer-dev  <larrylaffer130 at gmail dot com>
        * [5d4d01b696] :

        Revert "Set Server-URI based on Realm, if empty."

        This reverts commit df36b592e61918dfb37e0f8c765e7fb496ef0f84.


2025-03-24  LarryLaffer-dev  <larrylaffer130 at gmail dot com>
        * [df36b592e6] :

        Set Server-URI based on Realm, if empty.


2025-03-24  LarryLaffer-dev  <larrylaffer130 at gmail dot com>
        * [8420a6555d] :

        Make the Server-URI configurable (+ docs)


2025-03-24  Razvan Crainea  <razvan at opensips dot org>
        * [33a8777ff5] :

        topology_hiding: add support for specifying contact usernames

        The development of this feature was sponsored by ConnexCS!


2025-03-24  LarryLaffer-dev  <larrylaffer130 at gmail dot com>
        * [f344344cfa] :

        Add Support for SIP-Digest-Authentication


2025-03-23  OpenSIPS  <github at opensips dot org>
        * [3598a18652] :

        Rebuild documentation


2025-03-21  Razvan Crainea  <razvan at opensips dot org>
        * [d40b04ec50] :

        rtp_relay: prevent removing the context twice


2025-03-21  Razvan Crainea  <razvan at opensips dot org>
        * [ad56c63d47] :

        siprec: raise stop event when pause/resume fails


2025-03-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [e2b6b02f37] :

        [tm] advertise T during t_inject()

        This is a side effect of e00f63e0f7a58cdd914bf54b9555c3d4e6a47486.
        The t_foraward_nonack() doesn;t internally need the T (as it take the transaction as parameter), but it triggers the branch route, where you may use different functions which do need the T.


2025-03-21  Vlad Paiu  <vladpaiu at opensips dot org>
        * [24dd8634dd] :

        cleanup & start with multi-allocator defines


2025-03-20  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [aef5507018] :

        Merge pull request #3604 from ovidiusas/master

        sipmsgops: fix warning: ‘*’ may be used uninitialized [-Wmaybe-uninit…

2025-03-20  Vlad Paiu  <vladpaiu at opensips dot org>
        * [38a4dfec0a] :

        Rework allocator


2025-03-19  Liviu Chircu  <liviu at opensips dot org>
        * [d554d96499] :

        event_stream: Avoid double-free of @con.pending_buffer

        Fully zeroize the (str), avoid leaving a dangling pointer.

        Credits to Steve Frecinaux for the report!


2025-03-19  Ubuntu  <azureuser at sbc9new.sfp5ftdiba2enopvymlfnl5oqa.ix.internal.cloudapp dot net>
        * [34f326d0eb] :

        sipmsgops: fix warning: ‘*’ may be used uninitialized [-Wmaybe-uninitialized]


2025-03-19  Razvan Crainea  <razvan at opensips dot org>
        * [26147c2505] :

        cachedb_couchbase: bump libcouchbase dependency to version 3


2025-03-19  Răzvan Crainea  <razvan at opensips dot org>
        * [f3b50d000e] :

        Merge pull request #3570 from lemenkov/libcouchbase3-for_merge

        Libcouchbase3 for merge

2025-03-18  Răzvan Crainea  <razvan at opensips dot org>
        * [2333b4b254] :

        Merge pull request #3598 from purecloudlabs/fix/encode_flags_thinfo

        Preserving the flags of the topology_hiding in non dialog mode in thi…

        (cherry picked from commit 26d0ab0586e908463943c1381c2d70e100ecc8d5)


2025-03-16  OpenSIPS  <github at opensips dot org>
        * [52bf80da0f] :

        Rebuild documentation


2025-03-13  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [ee25c1f190] :

        Merge pull request #3600 from leosmith36/feature/dns_min_ttl

        Add min_ttl parameter to dns_cache

2025-03-13  Leo Smith  <leosmith36 at yahoo dot com>
        * [91069c6343] :

        dns_cache: fixed indentation


2025-03-13  Leo Smith  <leosmith36 at yahoo dot com>
        * [b2eacf5819] :

        dns_cache: added docs for default value


2025-03-13  Leo Smith  <leosmith36 at yahoo dot com>
        * [241b1c4e36] :

        dns_cache: fixed typo


2025-03-13  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [6ba378a309] :

        Merge pull request #3599 from nikbyte/master

        Ensure proper memory deallocation in case of parsing errors in parse_msg()

2025-03-12  Leo Smith  <leosmith36 at yahoo dot com>
        * [9c887d40a7] :

        dns_cache: spacing fix


2025-03-12  Leo Smith  <leosmith36 at yahoo dot com>
        * [2b21193f19] :

        dns_cache: updated user guide xml, removed debug log, switched to tab indentation


2025-03-12  Nick Altmann  <nick at altmann dot pro>
        * [af754d951b] :

        Ensure proper memory deallocation in case of parsing errors


2025-03-11  Leo Smith  <leosmith36 at yahoo dot com>
        * [773ee3fb5e] :

        dns_cache: min_ttl


2025-03-11  Razvan Crainea  <razvan at opensips dot org>
        * [268f9d43aa] :

        sctipts: fix dbschema for janus and trie_table


2025-03-11  Razvan Crainea  <razvan at opensips dot org>
        * [8b3ff17dc9] :

        redhat_fedora: fix Date in changelog


2025-03-11  Razvan Crainea  <razvan at opensips dot org>
        * [c120021cb5] :

        redhat_fedora: add janus package in core


2025-03-11  Razvan Crainea  <razvan at opensips dot org>
        * [619ee7b195] :

        rtp_relay: remove session on timeout


2025-03-10  Razvan Crainea  <razvan at opensips dot org>
        * [db99d0ea4c] :

        media_exchange: fix leg detection on media_exchange_from_uri


2025-03-10  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [a2c0c752d7] :

        Merge pull request #3524 from zooptwopointone/master

        Add authentication to Cassandra module

2025-03-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [e00f63e0f7] :

        [tm] t_lookup_ident() must not mess up with T

        As t_lookup_ident() returns the found transaction via a parameter, it must not touch T. Everywhere where it is used, the code does not need/rely on T, but is always using only the trasaction from the returned param.
        Setting the T is actually creating problem, as it it should set/restor T after a lookup.
        This is an alternative fix to #3502


2025-03-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [1097b4d971] :

        [tm] avoid missing transaction unref if `to_tag` is missing in `tm_reply` MI cmd


2025-03-09  OpenSIPS  <github at opensips dot org>
        * [dcbc9cd735] :

        Rebuild documentation


2025-03-07  Liviu Chircu  <liviu at opensips dot org>
        * [4ae0537f46] :

        clusterer: Fix sharing tag deadlock during dialog sync

        * fix edge-cases with "return 0" without releasing lock
        * fix convoluted logic mixing up read/write lock state on return
        * undo premature optimization on read/write locking (just write-lock it)


2025-03-07  Razvan Crainea  <razvan at opensips dot org>
        * [89d534b6fc] :

        add $socket_out(forced) pseudo-variable

        The difference between $socket_out and $socket_out(forced) is that the
        first one always returns the out socket to be used, regardless whether
        it had been previously set, or inherited from the inbound socket.
        This variable returns NULL if no socket had been explicitely forced.


2025-03-06  Liviu Chircu  <liviu at opensips dot org>
        * [c59c2993d4] :

        Merge pull request #3594 from NormB/fix_sql_query_required_parameters

        Fix sql_query required parameters

2025-03-06  Norm Brandinger  <n.brandinger at gmail dot com>
        * [28c554f0f6] :

        Fix sql_query required parameters

2025-03-05  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [e3fd13ac88] :

        Merge pull request #3571 from nikbyte/master

        New TOS (per socket) options

2025-03-05  Nick Altmann  <nick at altmann dot pro>
        * [15e85465c6] :

        Ability to set TOS per socket: new tos parameter


2025-03-05  Nick Altmann  <nick at altmann dot pro>
        * [49b69a9f1b] :

        Allow TOS 0, i.e. ability to not set TOS on sockets


2025-03-05  Razvan Crainea  <razvan at opensips dot org>
        * [c30826137e] :

        janus: remove LIBS from makefile


2025-03-05  Razvan Crainea  <razvan at opensips dot org>
        * [322c4339b5] :

        janus: remove unused variable


2025-03-05  Răzvan Crainea  <razvan at opensips dot org>
        * [84c6b81265] :

        Merge pull request #3532 from hateeyan/fd

        rtpengine: Update fd when node reconnects

2025-03-03  Liviu Chircu  <liviu at opensips dot org>
        * [2a1cf22d64] :

        Merge pull request #3560 from purecloudlabs/TELECOM-10654_master

        permissions: Rewrite the in-memory storage backend

2025-03-03  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [b868e00a20] :

        Merge pull request #3528 from vladpaiu/fix_inject_before_relay

        fix: update cloned msg under lock to avoid races with branch injection

2025-03-02  OpenSIPS  <github at opensips dot org>
        * [8384cb0a90] :

        Rebuild documentation


2025-02-26  Razvan Crainea  <razvan at opensips dot org>
        * [e0463354f8] :

        mqueue: add support for fetching bulk items


2025-02-26  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [326b2b3e0d] :

        Merge pull request #3533 from vladpaiu/janus_mod

        Initial version of Janus module

2025-02-26  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [1d4e266c86] :

        Merge pull request #3569 from lemenkov/modules_simplify_include_paths

        Modules simplify include paths

2025-02-26  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [523ed18adb] :

        Merge pull request #3576 from nikbyte/memfix_sqlops

        Fix sqlops memory leak in sql_avp_load / sql_avp_delete / sql_avp_store (for 3.5 and master)

2025-02-25  Liviu Chircu  <liviu at opensips dot org>
        * [c88e9f4da6] :

        Merge pull request #3590 from edman80/fix-dbid-password-specchars

        Fix dbid password special chars

2025-02-25  Eddie Fiorentine  <eddie at planet dot net>
        * [154152cb5e] :

        Add additional test


2025-02-25  Eddie Fiorentine  <eddie at planet dot net>
        * [c6567b811e] :

        Fix to allow some additional special characters in database passwords.


2025-02-23  OpenSIPS  <github at opensips dot org>
        * [89cc19f007] :

        Rebuild documentation


2025-02-21  Razvan Crainea  <razvan at opensips dot org>
        * [d792db2e2e] :

        rtp_relay: provide message for B2B local replies

        Reported in #3580


2025-02-20  Răzvan Crainea  <razvan at opensips dot org>
        * [495fe323c2] :

        Merge pull request #3587 from lemenkov/bool_keywords

        Both true and false are now reserved words in a modern ANSI C

2025-02-20  Peter Lemenkov  <lemenkov at gmail dot com>
        * [810b277afc] :

        Both true and false are now reserved words in a modern ANSI C

        This prevents the following compile error:

        ```
        Compiling statistics.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 -fgnu89-inline -DMOD_NAME='statistics' -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC  -DQ_MALLOC  -DHP_MALLOC  -DDBG_MALLOC  -DHAVE_STDATOMIC -DHAVE_GENERICS  -DNAME='"opensips"' -DVERSION='"3.5.4"' -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='"5ebf81d1d"' -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 -c stats_funcs.c -o stats_funcs.o
        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 -fgnu89-inline -DMOD_NAME='statistics' -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC  -DQ_MALLOC  -DHP_MALLOC  -DDBG_MALLOC  -DHAVE_STDATOMIC -DHAVE_GENERICS  -DNAME='"opensips"' -DVERSION='"3.5.4"' -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='"5ebf81d1d"' -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 -c statistics.c -o statistics.o
        statistics.c:101:31: error: expected identifier or ‘(’ before ‘true’
          101 |                 unsigned long true;
              |                               ^~~~
        statistics.c:102:31: error: expected identifier or ‘(’ before ‘false’
          102 |                 unsigned long false;
              |                               ^~~~~
        statistics.c:103:9: warning: no semicolon at end of struct or union
          103 |         } perc;
              |         ^
        statistics.c: In function ‘reset_stat_series_slot’:
        statistics.c:922:40: error: expected identifier before ‘true’
          922 |                         ss->cache.perc.true -= slot->perc.true;
              |                                        ^~~~
        statistics.c:923:40: error: expected identifier before ‘false’
          923 |                         ss->cache.perc.false -= slot->perc.false;
              |                                        ^~~~~
        statistics.c: In function ‘get_stat_series’:
        statistics.c:987:48: error: expected identifier before ‘true’
          987 |                         total = ss->cache.perc.true + ss->cache.perc.false;
              |                                                ^~~~
        statistics.c:989:54: error: expected identifier before ‘true’
          989 |                                 ret = ss->cache.perc.true * ss->profile->factor / total;
              |                                                      ^~~~
        statistics.c: In function ‘update_stat_series’:
        statistics.c:1075:41: error: expected identifier before ‘true’
         1075 |                                 s->perc.true += value;
              |                                         ^~~~
        statistics.c:1076:48: error: expected identifier before ‘true’
         1076 |                                 ss->cache.perc.true += value;
              |                                                ^~~~
        statistics.c:1078:41: error: expected identifier before ‘false’
         1078 |                                 s->perc.false -= value;
              |                                         ^~~~~
        statistics.c:1079:48: error: expected identifier before ‘false’
         1079 |                                 ss->cache.perc.false -= value;
              |                                                ^~~~~
        make[1]: Leaving directory '/builddir/build/BUILD/opensips-3.5.4-build/opensips-3.5.4/modules/statistics'
        make[1]: *** [../../Makefile.rules:27: statistics.o] Error 1
        make: *** [Makefile:198: modules] Error 2
        ```

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


2025-02-20  Vlad Paiu  <vladpaiu at opensips dot org>
        * [62233d4178] :

        fix janus reconnecting


2025-02-20  Răzvan Crainea  <razvan at opensips dot org>
        * [73ab11a313] :

        Merge pull request #3586 from NormB/fix_duplicate_mi_enable_rtp_proxy

        Fix duplicate mi_enable_rtp_proxy function name

2025-02-19  Norm Brandinger  <n.brandinger at gmail dot com>
        * [471c5e9dca] :

        Update rtpengine.c

2025-02-18  Liviu Chircu  <liviu at opensips dot org>
        * [26e8cace7a] :

        dialplan: Fix function naming conflict

        Commit 4e315e6ba9 added a core test_db() function, breaking dialplan
        startup, because it was linking against it instead of the local one.


2025-02-16  OpenSIPS  <github at opensips dot org>
        * [30f94b51f0] :

        Rebuild documentation


2025-02-13  Liviu Chircu  <liviu at opensips dot org>
        * [94173b864a] :

        clusterer: Enhance cluster_broadcast_req() to include self

        ... via an optional new parameter (default: false).


2025-02-12  Bence Szigeti  <bence.szigeti at gohyda dot com>
        * [8a98fbea10] :

        permissions: Add license headers


2025-02-12  Bence Szigeti  <bence.szigeti at gohyda dot com>
        * [20c70e7c86] :

        permissions: Reduce memory allocation


2025-02-12  Bence Szigeti  <bence.szigeti at gohyda dot com>
        * [accc2322e8] :

        permissions: Adjust the bucket grow factor to match the hash algo


2025-02-12  Bence Szigeti  <bence.szigeti at gohyda dot com>
        * [cf12173b00] :

        permissions: Use linked list for group storage

        If an address/subnet is defined in multiple groups, `get_source_group`
        may return a different group than it did previously.  Previously, it
        returned the group with the lowest group ID where the match occurred
        (due to how the data was stored).  Therefore, I am using a linked list
        for groups instead of a hash table, so we do not have to look up every
        group to find the smallest group ID.  This change is necessary for
        backward compatibility.


2025-02-12  Bence Szigeti  <bence.szigeti at gohyda dot com>
        * [f03ea63bd3] :

        permissions: Rewrite the in-memory storage backend


2025-02-12  Razvan Crainea  <razvan at opensips dot org>
        * [147072a940] :

        dialog: ensure legs are atomically added to the dialog


2025-02-12  Liviu Chircu  <liviu at opensips dot org>
        * [cfbfd3f717] :

        usrloc: Silence ERR logs on failed contact DEL packets


2025-02-11  Răzvan Crainea  <razvan at opensips dot org>
        * [360a165d23] :

        Merge pull request #3581 from NormB/rtpengine_lock

        Update rtpengine.c

2025-02-11  Norm Brandinger  <n.brandinger at gmail dot com>
        * [b58fd69f98] :

        Update rtpengine.c

        RTPE_START_READ() obtains a lock, however, in one particular error case, the RTPE_STOP_READ() unlock is not called.

2025-02-10  Vlad Paiu  <vladpaiu at opensips dot org>
        * [5310fa4e08] :

        remove 128 harcoding, add TOTAL_F_PARALLEL_POOLS global


2025-02-10  Nick Altmann  <nick at altmann dot pro>
        * [9062d8e576] :

        Fix sqlops memory leak in sql_avp_load / sql_avp_delete / sql_avp_store


2025-02-10  Vlad Paiu  <vladpaiu at opensips dot org>
        * [4dc343736c] :

        Follow SHM memory size


2025-02-09  OpenSIPS  <github at opensips dot org>
        * [4cc7a813d2] :

        Rebuild documentation


2025-02-07  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [a0feb32ab1] :

        Merge pull request #3574 from babakyakhchali/bugfix/3567

        dispatcher: fix persistent_state

2025-02-07  Liviu Chircu  <liviu at opensips dot org>
        * [a6d16ddb0b] :

        CacheDB: Allow "@" in URL "params" part


2025-02-07  Razvan Crainea  <razvan at opensips dot org>
        * [be9bbe9509] :

        debian: mongodb package should check for libmongoc-1.0-0t64 package too


2025-02-07  Babak Yakhchali  <babak.yakhchali at gmail dot com>
        * [4fd525ff58] :

        dispatcher: fix persistent_state


2025-02-07  Răzvan Crainea  <razvan at opensips dot org>
        * [5ecef2cbb3] :

        Merge pull request #3572 from petekelly/3.4

        Pass the directional flag to rtpengine if required

        (cherry picked from commit 96d1e77507a1cef292b6340bdb27bd2592a8d03f)


2025-02-04  Liviu Chircu  <liviu at opensips dot org>
        * [5878ec9259] :

        usrloc: Improve previous commit

        Make the package update even more smooth, so v4 nodes accept v5 BIN traffic.


2025-02-03  Liviu Chircu  <liviu at opensips dot org>
        * [343f452c15] :

        usrloc cluster: Include rec.kv_storage in AoR replication

        Addresses the following mid-registrar errors:

        ERROR:mid_registrar:unregister_record: 'from' key not found, skipping De-REGISTER
        ERROR:mid_registrar:mid_reg_aor_event: failed to unregister contact

        Many thanks to Denys Pozniak for reporting and helping with testing!


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [af5ec7e8a6] :

        libcouchbase API v3

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [35e0b15835] :

        Update error values

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [243dfc11a2] :

        LCB_SET -> LCB_STORE_UPSERT

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [88e80f4ed5] :

        lcb_wait changed arity

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [b5dc1968ac] :

        lcb_set_XXX_callback -> lcb_install_callback

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [d69b8dff92] :

        lcb_strerror -> lcb_strerror_short

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [adf4738426] :

        LCB_KEY_ENOENT -> LCB_ERR_DOCUMENT_NOT_FOUND

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [f722717393] :

        lcb_error_t -> lcb_STATUS

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [f78acf9b2b] :

        lcb_t -> lcb_INSTANCE*

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [655da5df68] :

        Drop support for ver. 2.3 and earlier

        It's no longer practical since API V3 is completely different.

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [a38592b61b] :

        rtpengine: simplify include paths

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


2025-02-02  Peter Lemenkov  <lemenkov at gmail dot com>
        * [4a16e49311] :

        pua_reginfo: simplify include paths

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


2025-02-02  OpenSIPS  <github at opensips dot org>
        * [7e8cc33686] :

        Rebuild documentation


2025-01-28  Liviu Chircu  <liviu at opensips dot org>
        * [8232ff0bb4] :

        registrar docs: Fix misleading $(ct[1]) example input

        The $(ct[1]) value is actually a full Contact header body, not just the
        URI.  This, in turn, leads to a silent failure of
        is_contact_registered() even on the happy path, which can be
        time-consuming to debug...

        Credits to Bogdan Iancu for spotting this!


2025-01-28  Razvan Crainea  <razvan at opensips dot org>
        * [5f8376d211] :

        parser_authenticate: fix re-entrance of parse_authenticate_header

        properly populate the picked_auth body when calling
        parse_authenticate_header twice.


2025-01-28  Razvan Crainea  <razvan at opensips dot org>
        * [ef64542b4b] :

        pvar: add $challenge.* pseudovariable


2025-01-28  Liviu Chircu  <liviu at opensips dot org>
        * [179018394c] :

        Merge pull request #3568 from NormB/cachedb_cassandra_docfix

        cachedb_cassandra docfix

2025-01-27  Norm Brandinger  <n.brandinger at gmail dot com>
        * [27b300296c] :

        Remove semicolon from the end of the modparam examples.

2025-01-27  Norm Brandinger  <n.brandinger at gmail dot com>
        * [4e9e57abd4] :

        Remove semicolon ';' from the end of modparam - otherwise there are starttup problems

2025-01-27  Liviu Chircu  <liviu at opensips dot org>
        * [6ab619c054] :

        Merge pull request #3566 from NormB/db_test

        Add db/test

2025-01-26  OpenSIPS  <github at opensips dot org>
        * [a40fad52c0] :

        Rebuild documentation


2025-01-24  Norm Brandinger  <n.brandinger at gmail dot com>
        * [27a66c4056] :

        Add include for db/test

2025-01-24  Norm Brandinger  <n.brandinger at gmail dot com>
        * [4e315e6ba9] :

        Add db/test


2025-01-23  Liviu Chircu  <liviu at opensips dot org>
        * [36a2df6b9c] :

        Merge pull request #3565 from NormB/unix_socket

        Add support for MySQL UNIX Socket connections

2025-01-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [c436ec8692] :

        [sipmsgops] avoid domain validation on none SIP URIs

        Like TEL URIs do not have domain part at all


2025-01-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [021172b5ea] :

        Fix dangling parsed_uri structure in to_body

        Whenever the SIP URI parsing fails, be sure you reset to_body->parsed_uri, as other functions may later try to use it and we want to have it in a consistent format.
        The issue was reported by @vladpaiu
        Closes #3557


2025-01-22  Norm Brandinger  <n.brandinger at gmail dot com>
        * [f48b56e5e8] :

        Update db-api.txt documentation


2025-01-22  Norm Brandinger  <n.brandinger at gmail dot com>
        * [2dda84110a] :

        Add support for MySQL UNIX Socket connections


2025-01-22  Razvan Crainea  <razvan at opensips dot org>
        * [fd8cade495] :

        trie: remove LIBS overwrite from Makefile


2025-01-22  Razvan Crainea  <razvan at opensips dot org>
        * [f666786ad2] :

        trie: fix c99 syntax


2025-01-21  Razvan Crainea  <razvan at opensips dot org>
        * [cf8b3d5690] :

        b2b_logic: make sure old entity peer is stored when bridged

        Prevents a crash when accessing NULL peer.
        Many thanks to Norm Brandinger for reporting and providing valuable
        information for troubleshooing and testing!


2025-01-21  Razvan Crainea  <razvan at opensips dot org>
        * [eb38e4461f] :

        db_sqlite: add backwards compatibility to extension load

        complete commit b113db6d


2025-01-20  Razvan Crainea  <razvan at opensips dot org>
        * [b113db6de1] :

        db_sqlite: add backwards compatibility to extension load

        Backwards compatibility for 4dfa622d


2025-01-19  OpenSIPS  <github at opensips dot org>
        * [257897d583] :

        Rebuild documentation


2025-01-17  Razvan Crainea  <razvan at opensips dot org>
        * [39ded3e526] :

        redhat: fix Jan date in spec :)


2025-01-17  Razvan Crainea  <razvan at opensips dot org>
        * [011b5ede97] :

        redhat: fix changelog year


2025-01-16  Razvan Crainea  <razvan at opensips dot org>
        * [4de937b6a9] :

        redhat: add trie module to the specs


2025-01-16  Razvan Crainea  <razvan at opensips dot org>
        * [e3466c0774] :

        pua_reginfo: prevent crash if identities key is not provided


2025-01-16  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [7192510466] :

        Merge pull request #3559 from vasilevalex/sqlite_newparams

        db_sqlite: new parameters for SQLite configuration

2025-01-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [9f2aa5bb49] :

        [b2b_entities] fixed RURI matching against our sockets/listeners

        The proto and port must be correctly expanded to default values, if not present
        For example, if TLS, the default port is 5061 and not 5060
        Fixes #3546


2025-01-16  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [083603b66d] :

        db_sqlite: Add length check for exec_pragma parameter value


2025-01-16  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [242f825c4b] :

        db_sqlite: Remove infinite loops when a database lock occurs.

        The proper way to handle a locked database is to use a busy timeout.
        Previously, the behavior resulted in an infinite lock for the process
        attempting to write to the locked database. The default value for the
        busy timeout has been set to 500 ms to avoid immediate errors when short
        database locks occur.


2025-01-16  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [dffe6c540a] :

        db_sqlite: Add documentation for the new parameters


2025-01-16  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [3e5dec4987] :

        db_sqlite: Add busy_timeout and exec_pragma module parameters


2025-01-16  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [4dfa622d08] :

        db_sqlite: Use recommended way of enabling/disabling extension loading

        sqlite3_db_config with SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION affects
        only C-API without enabling SQL function load_extension()


2025-01-15  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [178c138bf7] :

        Merge pull request #3555 from vasilevalex/sqlite_fixes

        Minor fixes to db_sqlite module

2025-01-15  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [bdda1012fb] :

        Merge pull request #3556 from vladpaiu/trie_fixes

        Fix trie mod crash & clang compilation error

2025-01-14  Vlad Paiu  <vladpaiu at opensips dot org>
        * [15f3fc9b00] :

        Fix crash & clang compilation error


2025-01-14  Razvan Crainea  <razvan at opensips dot org>
        * [da7da69519] :

        sip_msg: drop h_via2 header from sip_msg


2025-01-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [b8bb4446e1] :

        [tm] fix format of trasaction identifier in t_reply MI cmd

        besides the old (almost obsolete) format provided by t_write_fifo(), we must also support the new format provided by $T_id


2025-01-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [cc7619070d] :

        Fix missing handling of certain hdr types when cloning MSG/HDRs


2025-01-14  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [778162a2d6] :

        db_sqlite: Free memory after using error message


2025-01-14  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [76e581fb85] :

        db_sqlite: Remove unused variables


2025-01-14  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [14c6210a55] :

        db_sqlite: Fix sqlite3_errmsg call with initialized variable

        ptr->con is always NULL at this moment


2025-01-14  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
        * [633fa601b9] :

        db_sqlite: Change my_ prefix to sqlite_ for names in the module


2025-01-14  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [12390b4772] :

        Merge pull request #3535 from vladpaiu/trie_mod

        Initial version of the trie module

2025-01-14  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [7a12c9b564] :

        Merge pull request #3554 from vladpaiu/json_merge_func

        Add json_merge script function

2025-01-13  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [6703f6d6e1] :

        Merge pull request #3553 from vladpaiu/set_dlg_profile_mi

        Add set_dlg_profile / unset_dlg_profile MI functions

2025-01-13  Liviu Chircu  <liviu at opensips dot org>
        * [be2d238e24] :

        cachedb_redis: Fix compile warnings


2025-01-12  OpenSIPS  <github at opensips dot org>
        * [b1057bba09] :

        Rebuild documentation


2025-01-10  Liviu Chircu  <liviu at opensips dot org>
        * [fe1a50d251] :

        dispatcher: Fix rare crash with 'pvar_algo_pattern'

        This patch simply moves the name buffer for the 'pvar_algo_pattern' into
        SHM rather than a stack buffer, in order to avoid invalid memory being
        referenced past the function's return point.

        Many thanks to Eric Tamme from Five9 for reporting & testing!


2025-01-10  Liviu Chircu  <liviu at opensips dot org>
        * [355d706a39] :

        cachedb_redis: Document recent additions; Small fixes


2025-01-10  Liviu Chircu  <liviu at opensips dot org>
        * [821851f509] :

        cachedb_redis: Fix build; Fix couple PKG memleaks


2025-01-10  Vlad Paiu  <vladpaiu at opensips dot org>
        * [aaebd05231] :

        Add json_merge documentation


2025-01-10  Vlad Paiu  <vladpaiu at opensips dot org>
        * [a910f92fb4] :

        Add json_merge API & script func


2025-01-09  Liviu Chircu  <liviu at opensips dot org>
        * [1977206cbf] :

        cachedb_redis: Implement the "column oriented" CacheDB API

        This allows OpenSIPS to use Redis as storage for the User Location data,
        in both "Federation" and "Full Sharing" scenarios.

        Requirement: *Redis JSON support* (using Redis Stack Server or similar).
            (Redis JSON support is auto-detected, with appropriate info logs)

        Federation Index Creation:
            FT.CREATE idx:usrloc ON JSON PREFIX 1 usrloc: SCORE 1.0 SCHEMA
        	$.id AS id TEXT WEIGHT 1.0 $.aor AS aor TEXT WEIGHT 1.0
        	$.home_ip AS home_ip TEXT WEIGHT 1.0

        Full Sharing Index Creation:
            FT.CREATE idx:usrloc ON JSON PREFIX 1 usrloc: SCORE 1.0 SCHEMA
        	$.aor AS aor TEXT WEIGHT 1.0 $.aorhash AS aorhash NUMERIC

        Testing: no crashes during stress-tests (in either usrloc scenario).


2025-01-09  Vlad Paiu  <vladpaiu at opensips dot org>
        * [59fb7c2d3d] :

        Add docs for set_dlg_profile / unset_dlg_profile MI functions


2025-01-09  Vlad Paiu  <vladpaiu at opensips dot org>
        * [c1142e8785] :

        Add dlg_unset_profile MI Function


2025-01-08  Razvan Crainea  <razvan at opensips dot org>
        * [af495d7c73] :

        rtpproxy: do not create dialog unless timeout notifications are enforced


2025-01-08  Razvan Crainea  <razvan at opensips dot org>
        * [e7548529f9] :

        rtpengine: fix docs typos


2025-01-08  Razvan Crainea  <razvan at opensips dot org>
        * [68f5d785a6] :

        Merge branch 'vladpaiu-rtpengine_async'


2025-01-08  Razvan Crainea  <razvan at opensips dot org>
        * [6291cff1aa] :

        rtpengine: add documentation for async commands


2025-01-08  Norm Brandinger  <n.brandinger at gmail dot com>
        * [953d83d80d] :

        minor_fixes


2025-01-08  Răzvan Crainea  <razvan at opensips dot org>
        * [d92acaacf2] :

        Merge pull request #3526 from NormB/minor_fixes

        minor_fixes

2025-01-08  Vlad Paiu  <vladpaiu at opensips dot org>
        * [eee0114499] :

        Add dlg_set_profile MI Function


2025-01-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [08b9dd1c8a] :

        Add async/launch for rtpengine_offer / rtpengine_answer / rtpengine_delete


2025-01-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [9dc27ba0af] :

        separate request & reply functions


2025-01-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [ea018b000a] :

        paralel alloc - wip


2024-12-22  OpenSIPS  <github at opensips dot org>
        * [9c87c4b425] :

        Rebuild documentation


2024-12-20  Liviu Chircu  <liviu at opensips dot org>
        * [36dbd1d419] :

        script routes: Fix memory corruption with dialog routes

        This patch fixes an issue which impacted the dlg_on_xxx() set of dialog
        functions, where PKG and SHM memory could get mixed up when using the HA
        clustering support.  The issue mostly caused the backup instance to
        crash (dlg BIN receiver) instance.


2024-12-19  Liviu Chircu  <liviu at opensips dot org>
        * [1b57607905] :

        script routes: Fix rare edge-case leading to crash


2024-12-18  Razvan Crainea  <razvan at opensips dot org>
        * [8a547bdd6c] :

        b2b_logic: make retry list NULL terminated


2024-12-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [f1e3750a83] :

        [sipmsgops] Fix messing up the max-fwd parsed value upon msg validation

        For more details, see #3511 for the details.
        Alternativ fix/workaround to #3511


2024-12-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [7d31fef29e] :

        [dns_cache] Fix restoring IP array in hostend struct

        When restoring (from cache) a hostend structure, be sure you end the "aliases" and "addresses" arrays with a NULL element.
        Without that NULL terminator, when doing DNS-based failover on a cached hostend, OpenSIPS will use garbage IPs from the addresses array.


2024-12-16  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [e6a0c98e82] :

        Merge pull request #3480 from ar45/fix-maxfwds

        [maxfwd]: Fix bug `is_maxfwd_lt` function limit value

2024-12-15  OpenSIPS  <github at opensips dot org>
        * [4b6774230e] :

        Rebuild documentation


2024-12-13  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [9e63d59f55] :

        Merge pull request #3540 from vladpaiu/httpd_fragmentation

        Support HTTP fragmentation

2024-12-12  Vlad Paiu  <vladpaiu at opensips dot org>
        * [15d433d853] :

        Add receive_buf_size param


2024-12-12  Vlad Paiu  <vladpaiu at opensips dot org>
        * [8db36e1912] :

        Support HTTP fragmentation


2024-12-11  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b4fcb1f248] :

        add cleanup on mod_destroy


2024-12-11  Vlad Paiu  <vladpaiu at opensips dot org>
        * [72ff314501] :

        Remove global proto


2024-12-10  Liviu Chircu  <liviu at opensips dot org>
        * [b191025b75] :

        json: Fix handling for long integers

        This patch adds the "enable_long_quoting" modparam (default: OFF), which
        causes larger integers to be returned as strings, in order to avoid the
        integer overflow and data loss.


2024-12-08  OpenSIPS  <github at opensips dot org>
        * [03fcc4fa50] :

        Rebuild documentation


2024-12-05  Razvan Crainea  <razvan at opensips dot org>
        * [883e4a25d5] :

        acc: do not crash if context is not available

        Many thanks go to Norm Brandinger for reporting the bug!


2024-12-05  Liviu Chircu  <liviu at opensips dot org>
        * [3197a617d7] :

        Merge pull request #3534 from vladpaiu/json_bigint

        Add support for bigints in JSON ( store as string )

2024-12-05  Vlad Paiu  <vladpaiu at opensips dot org>
        * [ae113c7271] :

        Fixed undefined int_value


2024-12-04  Liviu Chircu  <liviu at opensips dot org>
        * [5eae5fb158] :

        clusterer: Add some dev debugging logs


2024-12-04  Liviu Chircu  <liviu at opensips dot org>
        * [02c4d14d79] :

        clusterer: Fix a subtle subtraction bug

        The "--node->no_ping_retries" operation is bogus, because that field
        is only written during DB reload, or when dynamically learning a new
        node.  This can lead to the following state, where a node's link flips
        between ON/OFF on each ping attempt:

        [Nov 29 20:23:15] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
        [Nov 29 20:23:15] INFO:clusterer:handle_pong: Node [2] is UP
        [Nov 29 20:23:42] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
        [Nov 29 20:23:42] INFO:clusterer:handle_pong: Node [2] is UP
        [Nov 29 20:24:30] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
        [Nov 29 20:24:30] INFO:clusterer:handle_pong: Node [2] is UP


2024-12-04  Razvan Crainea  <razvan at opensips dot org>
        * [8631e9835b] :

        b2b_logic: do not discard BYEs of active entities

        Completes/fixes ce19c70ec.

        Many thanks go to Norm Brandinger for reporting and testing it!


2024-12-03  Liviu Chircu  <liviu at opensips dot org>
        * [1f17e3076e] :

        proto_bin: Bump 'bin_async_max_postponed_chunks' 32 -> 1024

        The default of 32 chunks was too low, considering that BIN TCP conns are
        very low in count (often a handful of nodes!), while also transporting
        large volums of data within short periods of time (e.g. dialog/usrloc
        syncs), so async data buffering may often occur.


2024-12-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [a711924f99] :

        async wip


2024-12-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [5d3dc3a1d7] :

        Initial version of the trie module


2024-12-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [f324a1a432] :

        Add support for bigints ( store as string when exposing to opensips script )


2024-12-03  Vlad Paiu  <vladpaiu at opensips dot org>
        * [0d40dc9cd0] :

        Initial version of Janus module


2024-12-02  Liviu Chircu  <liviu at opensips dot org>
        * [a27db642aa] :

        db_mysql: Fix build with older MariaDB libs (e.g. Debian 9)

        Thanks to Răzvan Crainea for helping troubleshoot!


2024-12-02  hatee  <hateeyan at gmail dot com>
        * [86fccbf08c] :

        rtpengine: Update fd when node reconnects


2024-12-01  OpenSIPS  <github at opensips dot org>
        * [cc6c368e98] :

        Rebuild documentation


2024-11-29  Razvan Crainea  <razvan at opensips dot org>
        * [c80786b855] :

        db_mysql: fix ssl enforcing for mysql < 5.7

        Completes 1e46a4b7


2024-11-29  Razvan Crainea  <razvan at opensips dot org>
        * [ee79042314] :

        Revert "db_mysql: fix ssl enforcement for mysql < 5.7"

        This reverts commit 1e46a4b763c36597eaec4fb38904a41e5feedbb0.


2024-11-27  Liviu Chircu  <liviu at opensips dot org>
        * [90a00795b1] :

        usrloc HA: Improve management for replicated "labels"

        This patch aims to fix the occasional "differring rlabels"
        debugging error messages which may occur after a restart in usrloc HA
        scenarios, especially if the active SIP box is restarted while
        processing REGISTER requests in parallel.

        Since both record and contact labels are dynamic, per-instance and lost
        on restart, conflicts are to be expected.  The idea behind the fix is to
        simply adapt the replicated contact_id to the local instance, thus
        preferring the local labels to the remote labels whenever detecting
        conflict.


2024-11-26  Vlad Paiu  <vladpaiu at opensips dot org>
        * [d05057082f] :

        update cloned msg under lock to avoid races with branch injection


2024-11-26  Liviu Chircu  <liviu at opensips dot org>
        * [91c523cb24] :

        Merge pull request #3527 from NormB/master

        dispatcher: Add ping_sock as a partition parameter

2024-11-25  Norm Brandinger  <n.brandinger at gmail dot com>
        * [a8c885cf35] :

        Cast parse_sock_info() into (struct socket_info *)

2024-11-25  Razvan Crainea  <razvan at opensips dot org>
        * [1e46a4b763] :

        db_mysql: fix ssl enforcement for mysql < 5.7


2024-11-24  OpenSIPS  <github at opensips dot org>
        * [50bb911a6f] :

        Rebuild documentation


2024-11-22  Norm Brandinger  <n.brandinger at gmail dot com>
        * [df9bb26a98] :

        Return -1 in the case of a failure to create the socket


2024-11-22  Norm Brandinger  <n.brandinger at gmail dot com>
        * [1d6496a0a2] :

        dispatcher: Add ping_sock as a partition parameter


2024-11-21  Razvan Crainea  <razvan at opensips dot org>
        * [0bfffd5168] :

        prometheus: add prometheus_declare_stat and prometheus_push_stat funcs


2024-11-21  Vlad Paiu  <vladpaiu at opensips dot org>
        * [452dc41f34] :

        cachedb_redis: Fix Cluster Master-Slave detection; Add dbg logs


2024-11-21  Razvan Crainea  <razvan at opensips dot org>
        * [4d1e57777e] :

        rtpengine: remove redundant declaration of start_recording_f


2024-11-20  Norm Brandinger  <n.brandinger at gmail dot com>
        * [068e158eae] :

        minor_fixes


2024-11-20  Razvan Crainea  <razvan at opensips dot org>
        * [632b46a511] :

        ratelimit: add rl_values() command

        Add a command to retrieve all the available pipes names


2024-11-20  Liviu Chircu  <liviu at opensips dot org>
        * [168715512f] :

        sql_cacher: Add support for dumping a given cache


2024-11-20  Liviu Chircu  <liviu at opensips dot org>
        * [41aea5fda5] :

        cachedb_local: Add support for iterating all cache keys


2024-11-20  Liviu Chircu  <liviu at opensips dot org>
        * [cac2517297] :

        sql_cacher: Document lookup optimization fields


2024-11-20  Liviu Chircu  <liviu at opensips dot org>
        * [1370ed7109] :

        Fix more logs exposing URL passwords

        Continuation of ed74875df6


2024-11-20  Razvan Crainea  <razvan at opensips dot org>
        * [1ea6e9e216] :

        mysql: fix ssl enforcing for mysql < 8.0


2024-11-19  Liviu Chircu  <liviu at opensips dot org>
        * [526b538cba] :

        nathelper: Improve docs on fix_nated_register() and received_avp


2024-11-19  Liviu Chircu  <liviu at opensips dot org>
        * [a1b273828f] :

        dialog: Do not crash with previous table version (11)

        This patch ensures OpenSIPS doesn't crash if the "dialog.script_flags"
        column is still of INT type (previous DB schema, before OpenSIPS 3.4).


2024-11-17  OpenSIPS  <github at opensips dot org>
        * [c13d725251] :

        Rebuild documentation


2024-11-15  Liviu Chircu  <liviu at opensips dot org>
        * [d94c7a88c1] :

        Merge pull request #3504 from GangZhuo/master

        db_oracle: Fix issues#3505 "invalid parameter value" when do sql_query("update ...")

2024-11-15  Liviu Chircu  <liviu at opensips dot org>
        * [2bc77a530f] :

        Merge pull request #3513 from vladpaiu/fix_ebr_infinit_loop

        Fix infinite loop in case of errors or when skipping sub

2024-11-15  Liviu Chircu  <liviu at opensips dot org>
        * [a9e8b9203f] :

        event_routing: Clean up convoluted looping logic


2024-11-15  Răzvan Crainea  <razvan at opensips dot org>
        * [75ba5c27ad] :

        Merge pull request #3515 from edman80/feature_rtpe_pause

        Feature: add pause recording function to module rtpengine

2024-11-15  Gang Zhuo  <gang.zhuo at gmail dot com>
        * [b5133bde00] :

        db_oracle: fix "invalid parameter value" error when do sql_query("update ...")


2024-11-15  Gang Zhuo  <gang.zhuo at gmail dot com>
        * [1f99823907] :

        usrloc: fix build error when ORACLE_USRLOC flag is present

2024-11-14  Eddie Fiorentine  <eddie at planet dot net>
        * [5474d490fd] :

        rtpengine: update doc for rtpengine_pause_recording function


2024-11-14  Eddie Fiorentine  <eddie at planet dot net>
        * [253ac1d669] :

        rtpengine: add pause recording as an exported function.


2024-11-14  Razvan Crainea  <razvan at opensips dot org>
        * [03f7854d51] :

        mysql: handle SSL indication for MySQL>=8.0


2024-11-14  Razvan Crainea  <razvan at opensips dot org>
        * [1af307eed0] :

        mysql: if SSL is not used, do not enforce it


2024-11-13  Razvan Crainea  <razvan at opensips dot org>
        * [57aef3b391] :

        b2b_entities: complete previous commit


2024-11-13  Vlad Paiu  <vladpaiu at opensips dot org>
        * [6ef166a4b1] :

        go to the next sub on continue


2024-11-13  Razvan Crainea  <razvan at opensips dot org>
        * [3f0033cde8] :

        b2b_entities: add support for using extra_params for ua_server_init


2024-11-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [36b916a7e1] :

        [drouting] do not report error if replicated flags are the same

        Avoid reporting error if the GW/Carrier replicated package does not change the existing status flags.


2024-11-10  OpenSIPS  <github at opensips dot org>
        * [736d35ffc0] :

        Rebuild documentation


2024-11-08  Liviu Chircu  <liviu at opensips dot org>
        * [e15e924f20] :

        usrloc: Update Wireshark dissector (BIN ct update packets v4)


2024-11-08  Liviu Chircu  <liviu at opensips dot org>
        * [ee8b3a26f3] :

        usrloc: Make the contact branch flags replication more robust

        The Contact branch flags are now replicated as strings, to prevent any
        mis-matches with the neighbour nodes, which may use different internal
        representations of the same flags (e.g. due to different opensips.cfg).

        usrloc BIN packet version updated: now at version "4".
        Backwards-compatible with version "3" usrloc packets.

        Credits to Michael Ulitskiy and Bogdan Iancu for helping debug this!


2024-11-03  OpenSIPS  <github at opensips dot org>
        * [eea7b4e51f] :

        Rebuild documentation


2024-10-29  Liviu Chircu  <liviu at opensips dot org>
        * [7d74f3dc62] :

        clusterer: Fix links going down during sync; Optimize pinging

        This patch makes it so *any* succesfully sent BIN packet is also
        considered a Ping (for sender) and Pong (for receiver).  This helps
        improve the stability of the inter-node links, which will no longer go
        down during a lengthy sync operation (e.g. 50K+ registered phones, which
        take a few seconds to sync, and which would also significantly delay any
        Ping/Pong packets happening to be queued up on that same TCP stream).

        Moreover, thanks to the "last ping" timestamp updates during regular
        BIN replication mentioned above, the clusterer pinging timer will now
        only generate Ping packets during idle times (no BIN traffic produced).


2024-10-27  OpenSIPS  <github at opensips dot org>
        * [7624af5ac6] :

        Rebuild documentation


2024-10-24  Liviu Chircu  <liviu at opensips dot org>
        * [101396a59c] :

        clusterer sync: Fix several SHM leaks on error cases (Donor side)


2024-10-24  Liviu Chircu  <liviu at opensips dot org>
        * [e5b2317ca9] :

        clusterer: Fix sync edge-case causing SHM accumulation

        This patch fixes a specific sync sequence leading to indefinite
        accumulation of BIN packets and SHM exhaustion, as follows:

        1) Sync Receiver node times out the sync in sync_check_timer()
            (default timeout is 5s, by no means difficult to achieve)
        2) Sync Donor continues to send SYNC packets
            (on Receiver side, cap state is updated: PROGRESSING)
        3) ! Sync Donor node loses link-state mid-sync, due to the pings being
            on the same TCP connection (and delayed, way in the back)
        4) Sync Donor fails & drops remaining SYNC + SYNC-END packets, as link
            is down.  Due to this, the handle_sync_end(!is_timeout) procedure
            is never ran on the Receiver, so the PROGRESSING flag is never
            removed -> indefinite SHM buffering / memory leak

        Thanks to Răzvan Crainea for helping with code & troubleshooting here!


2024-10-24  Liviu Chircu  <liviu at opensips dot org>
        * [d0eb813bb4] :

        Merge pull request #3447 from vladpaiu/fix_branch_route_async

        Only update the TM UAS if we are in request context and not fake request

2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [49ba1c37bf] :

        b2b_logic: a BYE for a disconnected entity should not influence the call


2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [aff2d96312] :

        b2b_logic: always terminate a bridge initiator

        Before this commit, only if the `notify` flag was used, the entity would
        have been deleted.


2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [ce19c70ec7] :

        b2b_logic: do not discard a recognized cross-BYE


2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [8b36f4cd6d] :

        b2b_entities: always unref a transaction created programatically

        Ensure transactions do not leak by creating/replying them and not
        unreffing when callback exits SCB_DROP_MSG


2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [5280c86a10] :

        dialog: accurate match of outgoing legs

        The initial code assumes that for each transaction branch, we serially
        create a dialog leg - therefore, when a reply is received for a specific
        branch, we match the leg based on its index.
        This logic breaks when having a branch that has no outgoing leg/message
        (i.e. when push notification is used), because the dialog legs id gets
        offsetted by the number of "blind" branches, thus we are no longer able
        to properly match the reply with the leg.
        This fix makes sure that when creating a let, it has the same index as
        the transaction's branch id, hence the reply is properly matched.


2024-10-23  Razvan Crainea  <razvan at opensips dot org>
        * [4e5a6e13d6] :

        rtpengine: add set in the E_RTPENGINE_STATUS event

        When having the same node in multiple sets, this event will be triggered
        multiple times, but there is no way of figuring out for which set it has
        been triggered. Adding the set allows you to do a better management of
        the event, and also filter it better.

        Many thanks to Wayne Davies from Five9 for reporting this issue!


2024-10-22  Liviu Chircu  <liviu at opensips dot org>
        * [928727410a] :

        clusterer: Prevent startup delays from causing aborted syncs

        This patch makes it so the 'seed_fallback_interval' modparam
        time-counting is done in a way that *ignores* any random startup delays
        (e.g. mod init stuff which may take time such as loading drouting,
        dispatcher, rtpproxy, etc.).

        Previously, the effect of this issue was that some modules (e.g. usrloc)
        would randomly *not* sync data on startup, depending if the startup
        delay happened to be lesser or greater than the 'seed_fallback_interval'.


2024-10-22  Liviu Chircu  <liviu at opensips dot org>
        * [2bf1bdcf5c] :

        clusterer: Add/Improve some important logs during startup sync


2024-10-22  Liviu Chircu  <liviu at opensips dot org>
        * [d89f1703f6] :

        clusterer: Fix potential AB/BA sync deadlock on DONOR nodes

        This deadlock was reproduced with usrloc, but may also affect other
        sync-based modules, as follows:

        ---- sync DONOR node ----
        1) [sync send Worker-1] grabs (A) cluster lock, then (B) usrloc hash lock
            while building/sending the sync packets
        2) [handle SIP REGISTER Worker-2] grabs (B) usrloc hash lock, then (A)
            cluster lock when replicating data with cl_api.send_all()

        This patch converts the "A+B" sequence in 1) into a "B,A" sequence.


2024-10-20  OpenSIPS  <github at opensips dot org>
        * [ae5fdc61b6] :

        Rebuild documentation


2024-10-18  Liviu Chircu  <liviu at opensips dot org>
        * [c49a974b22] :

        Merge pull request #3479 from ar45/uuid-v7

        Add support for UUID version 7 generation.

2024-10-18  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [e9f9e8e8c2] :

        Merge pull request #3497 from sippy/pr_fix_3495

        python: Validate script_name a bit more carefully.

2024-10-17  Razvan Crainea  <razvan at opensips dot org>
        * [3df04c7c6c] :

        load_balancer: open db connection from every process

        This ensures that the `mi("lb_reload")` command runs properly from
        whatever process the job is dispatched from.

        Many thanks to Antonis Psaras (@apsaras on GitHub) for reporting it.
        Close #3488


2024-10-16  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [065448f380] :

        python: Validate script_name a bit more carefully.

        Fixes:	#3495


2024-10-13  OpenSIPS  <github at opensips dot org>
        * [22553348f1] :

        Rebuild documentation


2024-10-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [27acf2a08b] :

        [ldap] fix error handling when no available conn

        Do not try to release/free a conn if we do not have one


2024-10-08  Razvan Crainea  <razvan at opensips dot org>
        * [a70f715977] :

        media_exchange: handle faked replies for re-INVITEs

        Fix possible crash when a faked reply is received for re-INVITEs


2024-10-06  OpenSIPS  <github at opensips dot org>
        * [bce4bcbc40] :

        Rebuild documentation


2024-10-03  Zoop  <Zoop at lone.ath dot cx>
        * [9c50d12b7c] :

        Add authentication to Cassandra module


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [489656c55a] :

        rtpengine: handle media copy pause


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [6fc5ede522] :

        siprec: raise start event every single time the recording


2024-10-03  Liviu Chircu  <liviu at opensips dot org>
        * [7fe1fe4149] :

        uac_auth(): Fix corner-case with missing "algorithm=" in 401

        Make sure to convert ALG_UNSPEC to ALG_MD5 before doing the bitmask
        conversion, as otherwise the matching will fail!

        Partial revert of commit 977ce90356ed2b665fbcdac4365d797d972a03b9.


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [c87400631d] :

        atomic: define helper functions in case stdatomics is not used


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [0509fa15fa] :

        atomic: always use stdatomic.h if available

        Do not use our atomic operations if the standard ones are available.
        This prevents redefine compile errors of the atomic_* operations.


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [cacdc58e22] :

        dialog: update SDP on ACK as well

        in case of lage negotiation, we need to update the SDP in dialog as well,
        otherwise pinging or sending sequential messages will have no info on
        the callee's SDP


2024-10-03  Razvan Crainea  <razvan at opensips dot org>
        * [09db5b9634] :

        b2b_logic: add pass-3xx-contact flag to b2b_handle_reply


2024-10-02  Razvan Crainea  <razvan at opensips dot org>
        * [d70b9c063b] :

        media_exchange: keep media session until dlg ends

        This fixes situation when a media session is both started and ended from
        different (MI) processes.


2024-10-02  Razvan Crainea  <razvan at opensips dot org>
        * [d00607db57] :

        scripts/build: add Coverity build


2024-10-01  Razvan Crainea  <razvan at opensips dot org>
        * [95864235ef] :

        tls_wolfssl: bump lib to stable release 5.6.6


2024-10-01  Razvan Crainea  <razvan at opensips dot org>
        * [3e89bcfa93] :

        db_sqlite: properly store BLOB values in DB

        Do not insert BLOB values as strings, as they might have non-printable
        characters, which breaks the value when storing. Instead, store them as
        a hex-string.

        Many thanks to Eric Tamme from Five9 for reporting this bug!


2024-10-01  Răzvan Crainea  <razvan at opensips dot org>
        * [20187fcfe5] :

        Merge pull request #3483 from oanatitoc/coverity

        Coverity

2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [c86d348e64] :

        presence_xml: Add null check

        CID #40665


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [66bf0c14f6] :

        presence_callinfo: Cast time_t

        CID #417796


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ab8801da20] :

        presence: Delete dead code

        CID #199898


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [403887b245] :

        presence: Add coverity tag


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d0ce33b282] :

        presence: Cast time_t

        CID #417558, #417600, #417453, #417502, #417672, #417744
            #417756, #417782, #417812, #417578, #417444, #417539
        	#417680, #417743, #417727, #417745, #417531, #417650
            #417711, #417776, #417822, #417826


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [207ec1946e] :

        cachedb_mongodb: fix compile error

        Complete a474aadb79, fixes CID #216626, #216624


2024-09-30  Liviu Chircu  <liviu at opensips dot org>
        * [6a7bf5dc96] :

        Merge pull request #3472 from oanatitoc/coverity

        Coverity

2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [ca650230ae] :

        jabber: proper check of NULL return

        Complete 607d178c3e, fixes CID #40852


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [a8ac11e127] :

        imc: proper handling when no rooms are available

        completes e4fc135a6


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [e7d12e67d3] :

        db_http,emergency: complete 9138313995


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [fc9a9e4c3a] :

        db_http: suppress Coverity warning

        Fixes CID #417802


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [ee842d6af8] :

        Revert "db_http: Fix copy-paste error"

        This reverts commit 1e4bd24603012a3092c492d8fbe89d0bacf98d26.


2024-09-30  Razvan Crainea  <razvan at opensips dot org>
        * [2c2b399d20] :

        clusterer: fallback, not break, on no cluster_id

        Completes commit 4c8fc99f0d solving CID #417715


2024-09-30  Liviu Chircu  <liviu at opensips dot org>
        * [3b7b7363b2] :

        Coverity PR: Fix some minor issues or add improvements

        * MongoDB: goto "out_err" in the new if-block, to free the resources
        * mid-registrar: on mid_reg_save() quick-exit, check .flags before reply
        * EVI: fix "infinite loop" bug in evi_remove_expired_subs()
        * various whitespace fixes


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [b7fdd94340] :

        nathelper: Cast time_t

        CID #417620, #417646


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a9249adddd] :

        nat_traversal: Cast time_t

        CID #417550


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [149d2e22c3] :

        nat_traversal: Check return value

        CID #417440


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bc50d4d07b] :

        msrp_ua: Cast time_t

        CID #417657


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [288a987eda] :

        msrp_gateway: Add coverity tag

        CID #417626


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [2c98b691fe] :

        msilo: Cast time_t

        CID #417655, #417442, #417801, #417808


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [8e10dd72be] :

        mqueue: Handle return value errors

        CID #417493


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1d05904b0d] :

        mid_registrar: Fix null pointer dereference

        CID #417806


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [4475ae319e] :

        mid_registrar: Cast time_t

        CID #417617, #417773, #417451, #417759


2024-09-30  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bbee1368de] :

        mid_registrar: Fix out-of-bounds access

        CID #417545


2024-09-29  OpenSIPS  <github at opensips dot org>
        * [e19b230c5c] :

        Rebuild documentation


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [aeb89f69f4] :

        mi_script: Check return code

        CID #417719, #417510


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [0a48fdc13e] :

        mi_fifo: Fix storage leak

        CID #417450


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [647d38e805] :

        mediaproxy: Add null check

        CID #40763, #40764


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1ae87bf521] :

        media_exchange: Fix use of uninitialized value


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d4f53749b4] :

        mangler & maxfwd: Add coverity tag

        CID #417694, #417767, #417456


2024-09-27  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [7eb84c81fd] :

        media_exchange: Fix null pointer dereference

        CID #417552, #417702


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bcd461fa87] :

        ldam: Add null check

        CID #40762


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [607d178c3e] :

        jabber: Check null pointer

        CID #40852


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6b9935540a] :

        jabber: Fix null pointer dereference

        CID #40667


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e4fc135a6c] :

        imc: Fix null pointer dereference

        CID #40670, #40844, #40845


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e7c2ffa05d] :

        imc: Fix if condition

        CID #40669


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1776ace039] :

        identity: Init value to prevent using uninitialized value

        CID #417707


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ebfeb66792] :

        identity: Add null check

        CID #40766


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [3664fed1ac] :

        httpd: Treat negative return of ftell function

        CID #102203


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [89063acdf9] :

        group: Add coverity tag and check null pointer

        CID #40682, #417766


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [f8bb0d132a] :

        fraud_detection: Add coverity tag and cast time_t

        CID #417467, #417548, #417553, #417570, #417667, #417684,
            #417723, #417807, #417829, #417703, #417490


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d68659c9f2] :

        emergency: Fix compile errrors

        CID #58390, #417488


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6b6c045f42] :

        event_stream: Add '> 0' check in case buf.len is negative

        CID #417478


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [b198bfe4fa] :

        event_rabbitmq: Initialize tmp fields and dereference rmqp pointer after null check

        CID #417566, #417500


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [37aab4011c] :

        event_kafka: Dereference after null check and add coverity tag

        CID #417511, #417491


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [12c95f87f6] :

        emergency: Check return code

        CID #417488


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [884e5374c3] :

        emergency: Fix resource leak

        CID #417438


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [2c6eaf8e53] :

        emergency: Add null check before dereferencing

        CID #58390, #58394, #58391


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a527811675] :

        emergency: Cast time_t

        CID #417486, #417537, #417461, #417551, #417523, #417717


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9aaa0b3712] :

        emergency: Add null check before dereferencing pointer

        CID #58411, #58412


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [902a14239d] :

        emergency: Jump to error in case of a null value

        CID #58359, #58413, #58360, #58414


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9158f41dbd] :

        emergency: Add null check

        CID #58407


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1cae53a884] :

        dialog: Fix the use of an uninitialized variable

        CID #417517


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [cb86f64f84] :

        db_sqlite: Remove redundand assign

        CID #417572


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d1ebc222a7] :

        dns_cache: Fix null pointer dereference

        CID #40656


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [3f0477116f] :

        dispatcher: Check return value and remove redundant assign

        CID #417649, #163972


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [33f655ce29] :

        dialog: Add null check

        CID #417529


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bd0989cd5d] :

        dialog: Fix potential copy-paste error

        CID #417795


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [5088dfe11a] :

        dialog: Cast time_t

        CID #417522, #417527, #417598, #417636, #417647, #417704,
            #417737, #417668, #417597, #417479, #417638


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [56b9b11126] :

        db_text: Cast time_t

        CID #417516, #417608, #417659, #417677, #417784


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ab9d70a4f6] :

        db_text: Add coverity tag

        CID #417446, #417475


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bbb13dec7d] :

        db_text: Add null check

        CID #40691, #58367


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9138313995] :

        db_http: Fix compile error


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6fdc967789] :

        db_sqlite: Add null check

        CID #150477, #150478


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9e8b505e45] :

        db_perlvdb: Cast time_t

        CID #417612


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [aeb58ccaf5] :

        db_http: Check return value

        CID #417818, #417716


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1e4bd24603] :

        db_http: Fix copy-paste error

        CID #417802


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9733f60856] :

        cpl_c: Add coverity tags

        CID #417762, #40894, #417681, #417800


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6fd04548aa] :

        cpl_c: Cast time_t to unsigned int

        CID #417813


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [55243c9e0b] :

        compression: Fix sign extension issue

        CID #58417


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [8cfb66b905] :

        compression: Add and fix null checks

        CID #58406, #200016, #58416


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [56b218bd7a] :

        compression: Fix potential copy-paste error

        CID #58327


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [72dad82703] :

        clusterer: Add Null check to avoid Null dereferences

        CID #417666


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [4c8fc99f0d] :

        clusterer: Fix unterminated case

        CID #417715


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [b2ee5c9aa3] :

        acc: Add coverity tags

        CID #200008, #200048, #417501, #417576, #417821


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [cc6a609b9d] :

        clusterer: Add coverity tags

        CID #200018, #199908, #200100, #216634, #216640


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a343bc8f7d] :

        clusterer: Cast time_t to int

        CID #417437, #417830, #417458, #417695


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [424638f0da] :

        cfgutils: Add null check

        CID #417828


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [f469cfce47] :

        carrierroute: Fix pointer comparison with 0

        CID #200013, #199969


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [48976acf5f] :

        carrierroute: Add null check

        CID #40847


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [7f4e23a954] :

        carrierroute: Add return to avoid null pointer dereferencing

        CID #40649, #40650


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [42a6e949d9] :

        call_center: Cast time_t to int

        CID #417575 #417627 #417594


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bbdf66f7ca] :

        cachedb_sql: Cast time_t to int

        CID #417764, #417530, #417604


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [8932a1ffa5] :

        cachedb_sgl: Add coverity adnotation

        CID #58392


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [841c81e21f] :

        cachedb_mongodb: Cast time_t to int

        CID #417714


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a474aadb79] :

        cachedb_mongodb: Check return value

        CID #216626, #216624


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [97434d9111] :

        b2b_sdp_demux: Check 'str2int' return value

        CID #417547


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1d516d3741] :

        b2b_sdp_demux: Cast time_t to int

        CID #417533


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e67887adb2] :

        b2b_logic: Ensure signed comparison

        CID #417725


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [0988f5d8e8] :

        b2b_logic: Fix possible copy-paste error

        CID #417697


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1e2c348487] :

        b2b_logic: Add null checks

        CID #417610, #417791


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [4c0564b793] :

        b2b_logic: Prevent null dereferencing

        CID #40632


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1de7a400b7] :

        acc: Fix time_t cast

        CID #417449, #417515, #417685, #417763


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [0ca7a9e3c4] :

        b2b_logic: Add null check for entity

        CID #417687


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [074faf9c03] :

        b2b_logic: Add coverity tag

        CID #417794


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [171ae7ec65] :

        b2b_logic: Fix cast from time_t to int error

        CID #417543, #417623, #417739, #417751


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ae478cb404] :

        b2b_logic: Initialize callid to prevent usage of uninitialized variable

        CID #417582


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [cd151c7a51] :

        b2b_logic: Remove unnecessary if block

        CID #417470


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [459bc627b1] :

        b2b_entitites: Fix potential null pointer dereference

        CID #417758


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [2e875be53c] :

        b2b_entities: Add tag coverity

        CID #216617, #417554


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9cfec5c839] :

        b2b_entities: Add proper null checks

        CID #417508, #417792


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a89dc7a1f1] :

        auth_jwt: Add null check before dereferencing

        CID #417823


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [641d92893c] :

        auth_aka: Fix incorrect sizeof argument

        CID #417577


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [fe3fc860ff] :

        auth_aka: Fix null dereference issue

        CID #417549


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [3d46dfcb6b] :

        acc: Add coverity tag

        CID #417496


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [45bf0b1591] :

        acc: Cast time_t to appropriate types

        CID #417449, #417515, #417685, #417763


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [be12ccf11b] :

        aaa_radius: Check pointer result

        CID #207906


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [3ce2ccf1f4] :

        aaa_diameter: Fix incorrect null check

        CID #417804


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [603e40a61b] :

        aaa_diameter: Fix out-of-bounds read

        CID #417634, #417733


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e44cf7ee0b] :

        mem: Fix null pointer dereference

        CID #417652


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d8bcc14027] :

        aaa_diameter: Fix memory leak

        CID #417728


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ed90a5df73] :

        aaa_diameter: Remove redundant assigment

        CID #417525


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a53e789016] :

        mem: Add missing file descriptor close

        CID #417477


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [755f80d99e] :

        mem: Fix incomplete read handling

        CID #417441


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [bb6bb871f1] :

        lib/reg/common.h: Fix time_t truncation issue in log output

        CID #417770


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [0206bbed9d] :

        evi: Fix 'evi_remove_expired_subs' function flow

        CID #417512


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6159df15cb] :

        evi: Treat negative return value

        CID #417489, #417750


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1a43c56409] :

        dprint.c: Fix memory leak

        CID #417472


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d58c173d76] :

        db: Fix possible buffer overflow

        CID #417754


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a1b9210e3e] :

        blacklists.c: Fix null pointer dereferences

        CID #417476, #417752


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [adb129695a] :

        cachedb_dynamodb: Fix some resource leaks

        CID #417542, #417562, #417674, #417768, #417771


2024-09-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [777fe76f9a] :

        cachedb_dynamodb: Initialize 'con' pointer and remove unnecessary if condition

        CID #417568, #417618


2024-09-26  Liviu Chircu  <liviu at opensips dot org>
        * [afe3799be5] :

        Merge pull request #3481 from vladpaiu/fix_generated_sequential_direction

        fix: Populate last dst leg for internally generated sequentials

2024-09-26  Vlad Paiu  <vladpaiu at opensips dot org>
        * [4d6e5d572f] :

        Populate last dst leg for internally generated sequentials


2024-09-25  Aron Podrigal  <aronp at guaranteedplus dot com>
        * [e77555d30c] :

        [maxfwd]: Fix `is_maxfwd_lt` function limit value

        Was using the address pointer as value.


2024-09-25  Aron Podrigal  <aronp at guaranteedplus dot com>
        * [66ace29335] :

        Add support for UUID version 7 generation.


2024-09-25  Liviu Chircu  <liviu at opensips dot org>
        * [977ce90356] :

        uac_auth(): Correctly pass the "alg" bitmask parameter if present


2024-09-25  Liviu Chircu  <liviu at opensips dot org>
        * [1cc9f5d475] :

        db_sqlite: Fix some mis-placed NULL checks during row reallocs


2024-09-23  Liviu Chircu  <liviu at opensips dot org>
        * [7723f0e918] :

        Clustered modules: Add sections on clusterer's "seed" mechanism

            * b2b_entities
            * cachedb_local
            * dialog
            * load_balancer
            * presence
            * usrloc


2024-09-23  Liviu Chircu  <liviu at opensips dot org>
        * [e75d5f9634] :

        drouting docs: Fix missing XML markup tags


2024-09-23  Liviu Chircu  <liviu at opensips dot org>
        * [184075c469] :

        drouting docs: Add a section on clusterer's "seed" mechanism


2024-09-23  Liviu Chircu  <liviu at opensips dot org>
        * [d9a3c55f0c] :

        dispatcher docs: Add a section on clusterer's "seed" mechanism


2024-09-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [784e1a4cc5] :

        [clusterer] Fix error handling when failing to load nodes

        On failing to add a node (to the cluster), continue, as time as that node is not the current node.
        And if giving up on whole cluster info loading, be sure we clean up and properly report this to the above layer - the last thing we should do is to report success (on load) but have partial, unconsistent data.

        Fixes #3473


2024-09-22  OpenSIPS  <github at opensips dot org>
        * [dac790fde5] :

        Rebuild documentation


2024-09-20  Razvan Crainea  <razvan at opensips dot org>
        * [393dba7927] :

        dialog: add dlg_inc_cseq function


2024-09-20  Razvan Crainea  <razvan at opensips dot org>
        * [c69201ebcc] :

        b2b_logic: prevent crash in case a bridging is in progress


2024-09-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [b9ba6a20f4] :

        Fix bogus active counting for procs terminating due to down-scaling

        Be sure to mark the proc as idel before actually doing "exit()", otherwise we will count it as busy for the whole time the proc is terminated by OS (we automatically clear the load stats only upon sigchild on attendant)

        (cherry picked from commit e982e90b4a7ccab0dfcff3628566359fb0ab0539)


2024-09-17  Razvan Crainea  <razvan at opensips dot org>
        * [4d79a71ee7] :

        permissions: connect to db from each process

        Many thanks to Wayne Davies from Five9 for reporting it!


2024-09-17  Razvan Crainea  <razvan at opensips dot org>
        * [bb56a5ac23] :

        rtp_relay: improve docs about `rtp_relay_engage` engines

        Thanks Norm Brandinger for suggesting it!


2024-09-16  Razvan Crainea  <razvan at opensips dot org>
        * [bb73d64b6c] :

        proto_ipsec: make 0 ctx index is valid

        Many thanks to Eliakim Feliciano Morais for reporting it!


2024-09-15  OpenSIPS  <github at opensips dot org>
        * [b85010d5ab] :

        Rebuild documentation


2024-09-13  Razvan Crainea  <razvan at opensips dot org>
        * [95767fc861] :

        b2b_entities: do not `reset_cancelled_t`

        As it is not exposed through the API. This completes c7780dbd.

        Many thanks to Norm Brandinger for reporting it!


2024-09-13  Liviu Chircu  <liviu at opensips dot org>
        * [377ba7fe29] :

        ratelimit: Avoid replicating "zero" pipes excessively

        This patch makes it so any time a pipe's `.counter` value reaches 0, it
        will only get broadcasted to neighbouring cluster nodes exactly 3 more
        times, after which it will be completely skipped from being included in
        the replication packet.  This counter is then reset to 3 as soon as the
        pipe's value is incremented locally.


2024-09-13  Liviu Chircu  <liviu at opensips dot org>
        * [99879ab98a] :

        ratelimit: Minor speed-ups inside critical regions

        * avoid repetitive de-referencing operations by copying pipe address
            on the stack, across three different functions
        * merge multiple invocations of time() inside critical region


2024-09-13  Razvan Crainea  <razvan at opensips dot org>
        * [7022a48985] :

        dialplan: no longer use per MI child init

        All processes already have the database connection, so there is no need
        to re-create it in MI


2024-09-13  Razvan Crainea  <razvan at opensips dot org>
        * [c7780dbd78] :

        b2b_entitites: do not unref cancelled cell if not ours

        If a CANCEL is caught by the b2b_entities but it is not part of a b2b
        dialog, it should not unref the cell, otherwise after the script is
        executed, it will be unreffed again, leading to a double unref.

        Many thanks to Voxtronic for spotting this issue!


2024-09-13  Razvan Crainea  <razvan at opensips dot org>
        * [9a3caeca76] :

        dialplan: create DB connection from all workers

        This allows modules, such as mi_script, to run reload commands inline,
        and not through a dedicated MI process.


2024-09-13  Razvan Crainea  <razvan at opensips dot org>
        * [a47c16ffb0] :

        dialog: never update ACK cseq with 0 value

        In case there is no mapping for an ACK, do not update the message with 0

        Many thanks to Nick Altmann for reporting this!


2024-09-13  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [0b87f1ea51] :

        Merge pull request #3461 from greenbea/fraud-detection-pid

        fraud_detection: add profile id to the raised events

2024-09-12  Liviu Chircu  <liviu at opensips dot org>
        * [b15bc4451f] :

        rest_client: Complete the fix in a3dd31ad6

        Proper pointer/data management.

        Credits to Aron Podrigal (@ar45) for providing feedback and testing!


2024-09-11  Ahron Greenberg  <ahrongreenberg at gmail dot com>
        * [16860facb1] :

        fraud_detection: add profile id to the raised events


2024-09-11  Liviu Chircu  <liviu at opensips dot org>
        * [19dadf183f] :

        Merge pull request #3467 from ar45/rest_client_fixes_master

        rest_client: Fix segfault and lock release

2024-09-11  Aron Podrigal  <aronp at guaranteedplus dot com>
        * [a3dd31ad6e] :

        Fixes #3464

        when setting `connected_ts` set the address which is being used as value?


2024-09-11  Aron Podrigal  <aronp at guaranteedplus dot com>
        * [50d1efbe97] :

        Fixed - rcl_release_url() was never called in some cases


2024-09-11  Liviu Chircu  <liviu at opensips dot org>
        * [377d72bb8d] :

        Merge pull request #3463 from vladpaiu/fix_redis_tls_connection_bug

        Fix fetching TLS domain for a redis connection

2024-09-11  Răzvan Crainea  <razvan at opensips dot org>
        * [09faaca22a] :

        Merge pull request #3465 from oanatitoc/coverity

        Coverity: Fix API usage errors

2024-09-11  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ea5cd0a897] :

        mem: Fix format specifier in DBG_SHM_ALLOC macro for size argument

        CID #417720, #417787, #417724


2024-09-11  Vlad Paiu  <vladpaiu at opensips dot org>
        * [b3e81a6472] :

        Fix fetching TLS domain for a redis connection


2024-09-10  Liviu Chircu  <liviu at opensips dot org>
        * [bb41e4beaf] :

        Remove "event_route.so" reference; Remove unused variable


2024-09-10  Razvan Crainea  <razvan at opensips dot org>
        * [07d59c2f09] :

        packaging/redhat_fedora: drop event_route references


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [7e9c98e86a] :

        cfg.y: Fix printf argument

        CID #417573


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [c6af741044] :

        dprint.c: Remove extra argument in printf

        CID #417643


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [b91771305b] :

        proto_ipsec: Switch the position of arguments

        CID #417603


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [719688def6] :

        lib/dbg/struct_hist.c: End variable argument processing

        CID #417586


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d6b396ef48] :

        cfg.y: Fix printf argument

        CID #417573


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [da403505fb] :

        usrloc: Fix print format specifier

        CID #199937


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [242729be3c] :

        httpd/httpd_proc.c: Resolve memory leak

        CID #216631


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [788569aa71] :

        lib/hash.c: Fix undefined shift operation

        CID #216641


2024-09-09  Răzvan Crainea  <razvan at opensips dot org>
        * [68551bcc16] :

        Merge pull request #3462 from oanatitoc/master

        evi: Remove 'event_route' module and integrate its functionality in core file

2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [d00a42162d] :

        event_sqs/docs: fix URL formatting


2024-09-09  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d05d9ed21b] :

        evi: Remove event_route module and integrate its functionality in core file


2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [4eda102a53] :

        topology_hiding: remove  bogus debugging


2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [550eb6b7b1] :

        b2b_entities: alocate mem for empty str

        Otherwise the `reason` variable points to a volatile memory that
        dissapears, leading to an uninitialized variable


2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [1ea63fcc7d] :

        sr_module: avoid c99 declarations for older compilers


2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [d725cd4c84] :

        event_rabbitmq: remove notice message


2024-09-09  Razvan Crainea  <razvan at opensips dot org>
        * [b08c728787] :

        packaging/redhat_fedora: ignore Event SQS


2024-09-08  OpenSIPS  <github at opensips dot org>
        * [105d7ce232] :

        Rebuild documentation


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [dde20c19bb] :

        event_sqs: fix format readme


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [545fb9eefd] :

        event_sqs: small changes to docs


2024-09-06  Răzvan Crainea  <razvan at opensips dot org>
        * [14433b76cd] :

        Merge pull request #3460 from oanatitoc/master

        build-contrib.sh: Merge 'rabbitmq' and 'event_rabbitmq' contributors

2024-09-06  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [8b121b4df4] :

        build-contrib.sh: Merge 'rabbitmq' and 'event_rabbitmq' contributors


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [4189831163] :

        event_sqs: exclude from building


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [ebb81d53f6] :

        event_rabbitmq: drop rabbitmq module from packages


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [97fafb5b07] :

        Merge branch 'oanatitoc-master'


2024-09-06  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ee56446e2e] :

        sr_module: Add 'module_warnings' struct and handle some 'loadmodule' errors


2024-09-06  Razvan Crainea  <razvan at opensips dot org>
        * [c59bbd3da1] :

        auth_aka: fix compile error for uninitialized var


2024-09-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [228630de03] :

        event_rabbitmq: Integrate rabbitmq module into event_rabbitmq


2024-09-05  Razvan Crainea  <razvan at opensips dot org>
        * [3092ec2d07] :

        clusterer: fix possible inconsistent list handling

        The tags `active_msgs_sent` list might become inconsistent due to the
        fact that the `ni->next` is being populated outside locks.


2024-09-04  David Trihy  <david.trihy at genesys dot com>
        * [f4555f5b3e] :

        Add support for subdomain checking in aliases and socket aliases


2024-09-03  Shkiperon  <shkiperon at gmail dot com>
        * [e02b99bc6f] :

        Fix HP_MALLOC build flag - DBG_MALLOC is not necessary for it

        Style fix


2024-09-03  Razvan Crainea  <razvan at opensips dot org>
        * [e65173fc97] :

        topology_hiding: do not mark the contacts parts as HDR_CONTACT_T

        This ensures that when a fixed contact is restored from a shm lump, it
        does not overlap to contact parts, as topology hiding builds them.

        Many thanks to David Trihy from Genesys for reporting and helping us
        troubleshoot.


2024-09-03  Razvan Crainea  <razvan at opensips dot org>
        * [307a9862ed] :

        Revert "tm: fix bogus contact built without domain"

        This reverts commit de50249961a25fdf3defbe77601c45c2dd2f0399.


2024-09-02  Razvan Crainea  <razvan at opensips dot org>
        * [3d0959a44f] :

        rtpengine: provide failover on errors returned from engine

        Feature sponsored by Five9 https://www.five9.com


2024-09-01  OpenSIPS  <github at opensips dot org>
        * [e2b8eef4d8] :

        Rebuild documentation


2024-08-29  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e25934312d] :

        event_sqs: Fix job destruction and improve queue configuration handling


2024-08-29  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [2f3416c30b] :

        event_sqs: Refactor message sending/receiving using specific send/receive_job functions


2024-08-29  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [25e80a5727] :

        event_sqs: Add documentation


2024-08-28  Liviu Chircu  <liviu at opensips dot org>
        * [bef2cc7ad6] :

        Merge pull request #3450 from vladpaiu/fix_mongo_crash_shutdown

        fix: NULL check received MongoDB connections

2024-08-28  Liviu Chircu  <liviu at opensips dot org>
        * [078e65b989] :

        SIP PN: Prevent overlapping modifications of pn_ebr_filters template

        The @pn_ebr_filters templates are actually allocated in shared memory and
        can be modified by multiple SIP workers concurrently, leading to
        occasional strange routing of INVITEs.  The fix is to simply allocate
        the objects in private memory instead.

        Credits to Ondrej Jirman <megi at xff dot cz> for documenting, troubleshooting
        and providing an initial fix!

        Related to #3394


2024-08-26  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [2f50bd3c15] :

        event_sqs: Add message handling and shutdown support to SQS worker


2024-08-25  OpenSIPS  <github at opensips dot org>
        * [8e93d08389] :

        Rebuild documentation


2024-08-22  Liviu Chircu  <liviu at opensips dot org>
        * [96c8e2d651] :

        Merge pull request #3448 from vladpaiu/fix_compare_uri

        Fix comparision of SIP URIs, add GR and PN related params checks

2024-08-22  Vlad Paiu  <vladpaiu at opensips dot org>
        * [2b566e67ad] :

        NULL check received connections


2024-08-22  Vlad Paiu  <vladpaiu at opensips dot org>
        * [8fa7bcb9ce] :

        Fix comparision of SIP URIs, add GR and PN related params checks


2024-08-22  Vlad Paiu  <vladpaiu at opensips dot org>
        * [2031348d0c] :

        Only update the TM UAS if we are in request context and are not running on top of a fake req


2024-08-21  Razvan Crainea  <razvan at opensips dot org>
        * [de50249961] :

        tm: fix bogus contact built without domain

        When fixing headers for fake messages (`fix_fake_req_headers` func), the
        function was looking for lumps that were removing the contact, because
        it would assume they will be the same that would add a new one (i.e.
        `fix_nated_contact`). However, the `toppology_hiding("U")` function,
        would create a del lump, but then adding 3 lumps over it. This would
        make the fixing bogusly learning the contact as "sip:$user" instead of
        hole URI.
        The fix for this was to make sure that there is only one ADD lump,
        otherwise it would point to a shorter (broken) URI.

        Credits go to David Trihy from Genesys for reporting and helping us
        troubleshoot.


2024-08-21  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [203ba5a94f] :

        event_sqs: Fix evi_raise errors


2024-08-21  Liviu Chircu  <liviu at opensips dot org>
        * [b71cf95b3e] :

        tm docs: Expand $T_fr_inv_timeout section


2024-08-20  Razvan Crainea  <razvan at opensips dot org>
        * [08a80f5af1] :

        rtpengine: handle notifications through IPC

        This way we also have script routes in the notification process,
        preventing it from crashing when events are raised.

        Thanks go to Norm Brandinger for reporting it!


2024-08-20  Liviu Chircu  <liviu at opensips dot org>
        * [a2c0054236] :

        Merge pull request #3444 from Integration-IT/master

        Update stir_shaken.c - enforce stir_shaken_verify pvar generic error reason

2024-08-20  MonkeyTester  <57145271+Integration-IT at users.noreply.github dot com>
        * [2f5be1642b] :

        Update stir_shaken.c - enforce verifier pvar error reason

        - more explicit SET_VERIFY_ERR_VARS.
        - stir_shaken_verify generic err_reason pvar is now more explicit to easily reflect the real reason.

        - replace verifier generic "Internal Server Error" by dedicated internal error like "Failed to parse headers", "Failed to parse identity header", "Failed to get current time", "Failed to get UNIX time from Date header", "Failed to load certificate", "Error validating certificate", "Error while verifying signature".

2024-08-20  MonkeyTester  <57145271+Integration-IT at users.noreply.github dot com>
        * [85f9250131] :

        Update stir_shaken.h

        - define new internal server error scopes.

2024-08-19  Razvan Crainea  <razvan at opensips dot org>
        * [b36a2479c6] :

        redhat: replace deprecated radiuslient with radcli


2024-08-18  OpenSIPS  <github at opensips dot org>
        * [bf0e1eedf8] :

        Rebuild documentation


2024-08-14  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [170f94cecd] :

        event_sqs: Implement send_message logic using pipes


2024-08-14  Razvan Crainea  <razvan at opensips dot org>
        * [b381e2e5cf] :

        rtpengine: proper indication of disabled on timer


2024-08-14  Razvan Crainea  <razvan at opensips dot org>
        * [cdfad2f836] :

        rtpproxy/rtpegine: suppress re-enable log while probing


2024-08-13  Razvan Crainea  <razvan at opensips dot org>
        * [fe4dbd7a68] :

        siprec: properly populate session in event


2024-08-13  Razvan Crainea  <razvan at opensips dot org>
        * [217654bfd2] :

        siprec: make sure events are registered before regex compile


2024-08-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [e71f46a26f] :

        [TCP] fix OOM error logs (pkg versus shm)

        Part of 50650b7ab64b1cc6e81c051d30e55a6d57e2b173

        (cherry picked from commit c76a542480921ba9fd23085738268156a97e4c17)


2024-08-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [18e9765303] :

        [TCP] fix pkg versus shm for the TCP workers array

        Due to the process auto-scaling, this array may visible not only to TCP Main, but also to attendet and TCP workers procs. See the comments in the code for more details

        (cherry picked from commit 50650b7ab64b1cc6e81c051d30e55a6d57e2b173)


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [35d7e1f53d] :

        b2b_logic: fix error logging when bridging existing entities


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [767cb5f1b5] :

        rtpengine/rtpengine: avoid waiting for probe in MI cmd


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [0e06ef1cba] :

        rtpproxy: add probing support for MI rtpproxy_enable


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [d5d94ee2e9] :

        rtpengine: add probing support for MI rtpengine_enable


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [d18deac293] :

        rtpengine: add ping_enabled switch

        add a switch to ping nodes even if they are enabled


2024-08-12  Razvan Crainea  <razvan at opensips dot org>
        * [b2a7589e72] :

        siprec: add events files


2024-08-11  OpenSIPS  <github at opensips dot org>
        * [f79b0b7847] :

        Rebuild documentation


2024-08-09  Razvan Crainea  <razvan at opensips dot org>
        * [99429abaef] :

        siprec: add start&stop events


2024-08-09  Liviu Chircu  <liviu at opensips dot org>
        * [3b65c35a7b] :

        usrloc federation HA: Fix race condition in managing CacheDB data

        This patch fixes a race condition introduced in the fa4bf3c67 fix
        for #1367, where the Backup node may now perform *unintended* DELETE
        operations on random UA De-REG/Re-REG sequences, simply because its
        internal mem_timer_udomain() happened to run, while the Active node's
        timer did not.  The UA is re-registered, but data from CacheDB is now
        missing, rendering the UA unreachable from other PoPs.

        The fix is to give usrloc insight into the state of the HA pair, and
        change the mem_timer_udomain() timer/cleanup procedure to only run
        DELETE operations against the CacheDB from the Active node.


2024-08-08  Razvan Crainea  <razvan at opensips dot org>
        * [4ee164ce8d] :

        rtp_relay: fix debugging in prev commit

        (cherry picked from commit 5b87766f6504588bbbba3f62f90ba024f912005b)


2024-08-08  Razvan Crainea  <razvan at opensips dot org>
        * [09e8303669] :

        build: exclude cachedb_dynamodb


2024-08-08  Razvan Crainea  <razvan at opensips dot org>
        * [28129a177a] :

        rtp_relay: add enhanced leg debugging


2024-08-08  Razvan Crainea  <razvan at opensips dot org>
        * [c689ec3a40] :

        rtp_relay: try first to match by tag, and only fallback to index


2024-08-08  Razvan Crainea  <razvan at opensips dot org>
        * [caa3ed21b8] :

        Revert "rtp_relay: do not swap tags if there is an offer on late"

        This reverts commit 1d38bdaa096d7bf2213a74a0c5596e71143f405b.


2024-08-07  Razvan Crainea  <razvan at opensips dot org>
        * [2b80f1a04c] :

        rtp_relay: sync leg tag on late


2024-08-07  Razvan Crainea  <razvan at opensips dot org>
        * [1d38bdaa09] :

        rtp_relay: do not swap tags if there is an offer on late


2024-08-07  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ee5c6481d2] :

        event_sqs: Implement send message logic


2024-08-06  Razvan Crainea  <razvan at opensips dot org>
        * [33f42743bb] :

        rtp_relay: fix leg detection on newer branches


2024-08-06  Liviu Chircu  <liviu at opensips dot org>
        * [c7a9f68d12] :

        mi_script: Avoid race condition in async(mi())

        Make sure to read & clean @job->req before dispatching @job to a
        different OpenSIPS worker, which may do a quick free() on it.

        Credits to Suchi Sahoo from Five9 for reporting!


2024-08-05  Razvan Crainea  <razvan at opensips dot org>
        * [24c055785b] :

        cachedb_dynamodb: remove example xml files


2024-08-05  Razvan Crainea  <razvan at opensips dot org>
        * [8dc3e5c5c4] :

        cachedb_dynamodb: remove .vscode


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a079623d7e] :

        Resolve other compile errors


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [0af9aac0be] :

        Add module dependencies and resolving some Makefile errors


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [1b7d81384e] :

        cachedb_dynamodb: Replace std logging with OpenSIPS LM logging macros in cpp file


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [dcb4f20402] :

        dprint: Adapt log functions for g++ compiler


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [f9c671b18d] :

        cachedb_dynamodb: Update defines


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [32ae055470] :

        cachedb_dynamodb: Improve memory access by using str instead of str* where possible


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [95a0469b55] :

        cachedb_dynamodb: Change memory allocation for str* variables


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [ef1e3189c7] :

        cachedb_dynamodb: Refactor the code using str* instead of char* where possible


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [9d99cb1ce0] :

        cachedb_dynamodb: Refactor keyset structures and improve handling the results for dynamo_get and dynamo_get_counter


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [6f355ff132] :

        cachedb_dynamodb: Improve memory efficiency and error handling


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [5245ec50cd] :

        cachedb_dynamodb: Fix some memory management issues and handle null return values for 'from_str_to_string' function


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [4204c95ab9] :

        cachedb_dynamodb: Fix default key and value


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [c3accdceee] :

        cachedb_dynamodb: Add documentation and update default key & value


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [a774d1753a] :

        cachedb_dynamodb: Implement expire logic for dynamodb_set/add/sub


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [565d17077b] :

        cachedb_dynamodb: Fix various issues


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [90c2a91373] :

        list.h: Adapt to g++ compiler


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [e3c8ebcc90] :

        Implement map set/get/remove functions for cachedb_dynamodb module


2024-08-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [7bc3909fba] :

        Add cachedb_dynamodb module with put_item and get_item implementation


2024-08-04  OpenSIPS  <github at opensips dot org>
        * [71e47427eb] :

        Rebuild documentation


2024-08-02  Razvan Crainea  <razvan at opensips dot org>
        * [46e3d05de1] :

        topology_hiding: store the appropriate routes in headers for indialog

        Credits go to Bence Szigeti for reporting and troubleshooting!


2024-08-02  Razvan Crainea  <razvan at opensips dot org>
        * [2cdda84904] :

        tm: clean receive_info for replicated packages


2024-07-31  Razvan Crainea  <razvan at opensips dot org>
        * [6edaba2281] :

        rtp_relay: prevent patch on abnormal traffic


2024-07-31  Razvan Crainea  <razvan at opensips dot org>
        * [454b713120] :

        rtpengine: respect disable state when choosing a node


2024-07-30  Razvan Crainea  <razvan at opensips dot org>
        * [a30ded6bee] :

        media_exchange: sync SDPs when offering/answering


2024-07-30  Razvan Crainea  <razvan at opensips dot org>
        * [cb9c8c9480] :

        rtp_relay: update $rtp_relay doc on branch route

        It provisiones the flags for the callee, rather than caller


2024-07-30  Razvan Crainea  <razvan at opensips dot org>
        * [4c55f3fc69] :

        db/mysql: adapt script migration


2024-07-30  Razvan Crainea  <razvan at opensips dot org>
        * [b0023b417a] :

        auth_db: drop email_address and rpid columns

        email_address and rpid columns were not used by opensips, thus they need
        special handling anyway - we drop them to simplify the schema and allow
        whoever wants to use them, to declare them accordingly


2024-07-28  OpenSIPS  <github at opensips dot org>
        * [3bcff0a366] :

        Rebuild documentation


2024-07-26  Razvan Crainea  <razvan at opensips dot org>
        * [267205d77c] :

        media_exchange: register index on pre_init

        this avoids overlapping with other modules that register the pointer and
        start storing in it immedately, without allowing to register other
        indexes


2024-07-25  Liviu Chircu  <liviu at opensips dot org>
        * [19add7c5bb] :

        media_exchange: Fix bad free in MI `media_exchange_from_call_to_uri`


2024-07-25  Razvan Crainea  <razvan at opensips dot org>
        * [f16b478144] :

        auth_aka: replace C11 timespec_get with clock_gettime


2024-07-25  Razvan Crainea  <razvan at opensips dot org>
        * [07896e13f9] :

        proto_ipsec: fix static_assert on older OSes


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [18ad811318] :

        redhat: create separate packages for dbschema


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [a291a76a0c] :

        redhat: add example in main package


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [40fbc66790] :

        example: add contributors


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [d2a5bca827] :

        debian: create separate packages for dbschema


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [59924258c5] :

        makefile: rename schema to dbschema


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [07a0c059bd] :

        io_wait: fix declaration according to c89 standard

        This fixes compile on older compilers i.e. Redhat 7


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [37df114988] :

        db_oracle: fix previous commit typo


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [ea1f23eb3d] :

        event_kafka: fix xml admin doc file


2024-07-24  Razvan Crainea  <razvan at opensips dot org>
        * [9c8ace4598] :

        makefile: install schema on different target


2024-07-23  Liviu Chircu  <liviu at opensips dot org>
        * [46e2085b60] :

        [I/O reactor] Small improvements to c15bd04aa4

        * add @idx check against upper bounds of h->fd_array (avoid overflow)
        * recover @idx even when it's out-of-bounds (e.g. idx == -10)
        * simplify backtrace call


2024-07-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [a28e500a0b] :

        [IO reactor] added an enhanced logging when detecting a reactor data corruption

        Use a basic/simple array to store logs to be eventually dump later if a corruption of the reactor data is detected after an io_wait_del() operation.
        This is debugging only, with the intention of helping the troubleshooting some ongoing investigations.


2024-07-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [c15bd04aa4] :

        [I/O reactor] do sanity check on the provided fd index

        On del operation, if an index (in the fd_array) is provided, check its consistency, to avoid corrupting the reactor's data.
        Upon corruption, do a backtrace and force recovery by resetting the index to -1

        IMPORTANT: this is not a fix, but a detection and recovery, hoping to help identifing bad ops over the reactor's fds.


2024-07-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [5e11c80de8] :

        Fixed test over the IO flags when removing a fd from reactor

        ignore the internal flags during the test


2024-07-22  Liviu Chircu  <liviu at opensips dot org>
        * [b8e0250bc9] :

        presence: Fix subtle race condition in update_db_subs()

        While walking the list and collecting expired subscriptions, it is
        incorrect to temporarily release, then re-acquire the lock and still
        make use of the @s or @prev_s pointers afterwards, as the list may have
        changed in the meantime!

        The fix is to detach and collect any expired subs, then walk & handle
        them in a separate iteration.


2024-07-22  Your Name  <your-email at example dot com>
        * [58977a9948] :

        tls_openssl: fix openssl_tls_async_connect

        The `fd` value here is used with `poll()`/`select()` in the event that `SSL_connect()`
        gives an `SSL_ERROR_WANT_WRITE` error. So we need to be polling/selecting on the fd that
        is used by the underlying socket, which is the fd passed as an argument to the function,
        rather than `con->fd`.

        It seems to me that `handle_io()` updates `con->fd` to match the received fd number only
        when the socket wants reading and not when it wants writing. When the socket wants writing
        the correct fd to use is the one that is passed in the function argument, not the one
        that is in `con->fd`.

        The reasons this mostly worked before are:

        1.  on a box that is not heavily-loaded you often end up with the same worker setting up
            the TLS session as opened the socket in the first place, so the fd in `con->fd happens
            to be correct.
        2.  if `SSL_connect()` happily connects straight away, without an `SSL_ERROR_WANT_WRITE`,
            then you never run into a code path that uses the value in `fd` anyway.


2024-07-22  Liviu Chircu  <liviu at opensips dot org>
        * [9c5e1bc2c3] :

        Utils: Add a few gdb post-analysis scripts

        * SHM troubleshooting: "what are the most recent SHM allocation events
        around corrupted address X?"
        * TCP conn troubleshooting: "what was the chain of events on connection
         X, which ultimately lead to a crash?"


2024-07-22  Liviu Chircu  <liviu at opensips dot org>
        * [e496cfc28a] :

        TCP debugging: Fine-tune TCP conn history settings

        * reduce logline buffer from 100 -> 80
        * only keep the last 300 events per connection (down from 2000)
        * avoid auto-logging (flushing) of all TCP conn histories to syslog

        These changes should reduce the default TCP conn debugging footprint
        from ~2GB to ~0.3GB of shared memory, as well as clean up the logs.


2024-07-22  Liviu Chircu  <liviu at opensips dot org>
        * [6108ee296f] :

        TCP: Fix race condition in "proto_tcp.tcp_parallel_handling"

        During F_TCPCONN handling by a TCP worker, the @con pointer must *not*
        be de-referenced if the READ was successful and connection already
        returned to TCP Main.  This patch adds a new retcode to the tcp.read API
        function in order to achieve this.

        Credits to Yury Kirsanov and Bogdan Iancu for helping troubleshoot
        this issue!


2024-07-22  Razvan Crainea  <razvan at opensips dot org>
        * [dc38cf3a19] :

        sql_cacher: remove test key from cache

        Since this key is stored in a non-base64 format, when the hash is being
        iterated, this value breaks the convesion - and when trying to
        `base64_decode("cdb_test_val")`, this results in a larger value than the
        expected integer, resulting in a stack crash.

        Removing the key from the hash fixes this crash, as all keys remain are
        properly base64 encoded. Moreover, if the key is not properly encoded,
        we should make sure that its decode does not overwrite the stack frame.


2024-07-19  Razvan Crainea  <razvan at opensips dot org>
        * [e8c9f07903] :

        siprec: drop deprecated `media_ip` flag in `$siprec`


2024-07-19  Razvan Crainea  <razvan at opensips dot org>
        * [fd37fa5ea5] :

        b2b_sdp_demux: reset successful legs for in-dialog

        The number of successful legs should be reset after completing the
        initial setup, so that if sequential legs are being rejected, we should
        not assume they are successful.

        Many thanks to Eric Tamme (@etamme) for reporting the issue and
        for providing testing scenarios.


2024-07-19  Razvan Crainea  <razvan at opensips dot org>
        * [fe889fb9dd] :

        siprec: add command to stop_recording


2024-07-18  Liviu Chircu  <liviu at opensips dot org>
        * [24a51ce3a5] :

        Merge pull request #3437 from dariusstefan/master

        Update db error message for domain_reload.

2024-07-18  Stefan Darius  <94108614+dariusstefan at users.noreply.github dot com>
        * [038c311777] :

        Update error message for domain_reload.


2024-07-16  Liviu Chircu  <liviu at opensips dot org>
        * [616ddd660a] :

        db_mysql: Add the 'tls_opts=' optional DB URL parameter

        With some DBaaS, the TLS connections only require a CA setting on the
        client side -- no need to explicitly set the "cert=" or "private_key=",
        as they might not even be available.


2024-07-15  Liviu Chircu  <liviu at opensips dot org>
        * [4074f8723d] :

        TCP: Add more connection debug logs from TCP workers


2024-07-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [759d08f916] :

        [tracer] remove useless line, pron to crashes

        Setting the tracing info into the processing context here is useless as none of the following funcions are using /accessing this context.
        Even more, there are cases (like tracing an UAC b2b transaction triggered by a b2b timeout) where there is not processing context set (so crashing).


2024-07-09  Liviu Chircu  <liviu at opensips dot org>
        * [42ebe1dbc4] :

        TCP Main: Make connection frees easier to troubleshoot

        By rewriting _tcpconn_rm() as a macro, the built-in shared memory
        debugging support (see `shm_memlog_size` core parameter) will record
        the TCP connection free() operations more accurately (file/func/line).


2024-07-08  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [3e592b60f4] :

        Merge pull request #3429 from okhowang/uac-expires

        uac_registrant: using Expires header if expires is absent in contact

2024-07-08  Liviu Chircu  <liviu at opensips dot org>
        * [bbe8f809d1] :

        backtrace.h: Make code more usage-friendly

        * avoid having to define -DEXTRA_DEBUG for backtrace logging
        * now you can define -DDBG_NO_BACKTRACE in order to disable all traces
        * default logging level changed from DBG to CRIT
        * fix issue with log level always being INFO; fix bad include


2024-07-08  Razvan Crainea  <razvan at opensips dot org>
        * [46de74aba5] :

        siprec: support starting the SIPREC session while call is established


2024-07-07  okhowang(王沛文)  <okhowang at tencent dot com>
        * [2f741dc6a7] :

        uac_registrant: using Expires header if expires is absent in contact


2024-07-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [005aa2e5be] :

        [stir_shaken] updated docs...

        ...to reflex the fix in a2560af0f7e0180589228267553fbe37d5885140


2024-07-05  Razvan Crainea  <razvan at opensips dot org>
        * [a970903c11] :

        siprec: fix failover crash

        When a failover happens, the initial_sdp is no longer available, hence
        the module crashes when trying to use it. This fix makes sure that the
        initial_sdp is not released, so that sequential failover can catch and
        use them.

        Many thanks to Farzaneh Soltanzadeh (@Fr-Soltanzadeh on GitHub) for
        reporting it in #3421 and trying to fix it in #3425.
        Fix #3421
        Close #3425


2024-07-05  Razvan Crainea  <razvan at opensips dot org>
        * [3d011d841d] :

        parser: unify has_totag() function


2024-07-05  Răzvan Crainea  <razvan at opensips dot org>
        * [2447af927f] :

        Merge pull request #3430 from oanatitoc/master

        cachedb: update exports structure

2024-07-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [a2560af0f7] :

        [stir_shaken] fix agressive test on Identity hdr.

        This will fail in a scenario like: INCITE with Identity received, remove the Identity hdr, call stir_shaken_verify again to add a new Identity hdr.


2024-07-05  Alexandra Titoc  <oanatitoc at gmail dot com>
        * [d9d444fac2] :

        cachedb: update exports structure


2024-07-04  Liviu Chircu  <liviu at opensips dot org>
        * [e8344e88fe] :

        fraud_detection: Fix possible SHM allocation bug w/ prefixless rules

        During the check_fraud() call, in case dr_binds.match_number() finds a
        prefixless route, the output @matched_len is un-initialized, potentially
        leading to a bogus map.get_map() call and arbitrary-sized shm_malloc().

        Many thanks to @okhowang for spotting the bug!

        Closes #3413


2024-07-04  Razvan Crainea  <razvan at opensips dot org>
        * [c30a757453] :

        add example module


2024-07-02  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [f176b3f163] :

        Merge pull request #3404 from NormB/doc_updates

        Doc updates

2024-07-01  Razvan Crainea  <razvan at opensips dot org>
        * [79fced4aa5] :

        siprec: proper handling recording resuming


2024-06-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [49adb751ab] :

        Adds status/report support for auto-scaling

        Each auto-scaling group has its own status/report identifier where it logs all ops like forking or ripping processes in the group


2024-06-25  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [606112deba] :

        [rabbitmq_consumer] fix wrong IPC advertising in rabbitMQ aux process

        (cherry picked from commit 50006eae756edb075ebe15b7582cd0bfdbc57492)
        (cherry picked from commit 26e9a75d264f15df24de10f8bfb62a5beddbb02a)


2024-06-21  Razvan Crainea  <razvan at opensips dot org>
        * [e0d0f6b8fb] :

        domain: init db connection in all processes

        If the db_mode says we should cache the dialog table and only reload it
        in MI proceeses, the module would not initialize the db connection for
        SIP workers/timers. This would prevent the mi_script from running the
        mi() commands.
        This fix initializes the db connection in all proceses, thus enabling
        the reload behavior from any process.


2024-06-19  Răzvan Crainea  <razvan at opensips dot org>
        * [182fafb65a] :

        Merge pull request #3410 from NormB/last-frame-pos

        RTPEngine - Last frame pos

2024-06-19  Răzvan Crainea  <razvan at opensips dot org>
        * [4aa4fff59a] :

        Merge pull request #3414 from sippy/pr_build_in_docker

        Move main builds into a docker container

2024-06-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [ccc346b8e3] :

        [event_kafka] remove bogus example in docs


2024-06-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [4ebeb3106b] :

        [tcp] check if the history list exists when doing unref

        There are cases where the tcp conn may fail right at the beginning (like a failed connect/accept) and maybe the hist list is not yet attached to the conn.

        (cherry picked from commit 2d8ea8ef28b4efbcde658ece5a65ec4e440e35ba)


2024-06-17  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [e5a79e2719] :

        Use actions/cache@v4, actions/upload-artifact@v4 and actions/checkout@v4.


2024-06-17  Maksym Sobolyev  <sobomax at sippysoft dot com>
        * [764893f435] :

        Move main builds inside a container, add Ubuntu 24.04.

        This allows us to provide a clean build environment as well as
        to extend os versions to be tested.


2024-06-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [6943499088] :

        [net/tcp] log the unref BEFORE destroying the conn

        (cherry picked from commit 3bb0d23d9aba03e2ea674563c88aa5ba18ca8ae7)


2024-06-16  OpenSIPS  <github at opensips dot org>
        * [53ee9b33d9] :

        Rebuild documentation


2024-06-14  Norm Brandinger  <n.brandinger at gmail dot com>
        * [2cca26621f] :

        Update rtpengine_admin.xml

2024-06-14  Norm Brandinger  <n.brandinger at gmail dot com>
        * [c1ba95789e] :

        Update rtpengine_admin.xml

        Moved the last_frame_pos to after the sock parameter

2024-06-14  Norm Brandinger  <n.brandinger at gmail dot com>
        * [3b06202e74] :

        Update rtpengine.c

        Move the last_frame_pos after the sock parameter

2024-06-14  Razvan Crainea  <razvan at opensips dot org>
        * [675db4c000] :

        rtpengine: fix uninitialized tmp warning


2024-06-14  Razvan Crainea  <razvan at opensips dot org>
        * [80bee9b8c2] :

        rtpproxy: fix structure copying


2024-06-14  Norm Brandinger  <n.brandinger at gmail dot com>
        * [eb4a4f4be4] :

        Update rtpengine_admin.xml

        Update example

2024-06-14  Norm Brandinger  <n.brandinger at gmail dot com>
        * [0fdff0b981] :

        Update rtpengine_admin.xml

        Update documentation with an example

2024-06-14  Razvan Crainea  <razvan at opensips dot org>
        * [1c3139ae28] :

        rtpengine: fix unitialized warning


2024-06-14  Razvan Crainea  <razvan at opensips dot org>
        * [90c9b78fb3] :

        rtp_relay: ignore correct branch index

        Many thanks to Liviu Chircu for spotting the issue


2024-06-13  Norm Brandinger  <n.brandinger at gmail dot com>
        * [b92480fdb5] :

        Update rtpengine_admin.xml

        Update documentation

2024-06-13  Norm Brandinger  <n.brandinger at gmail dot com>
        * [94daa01b53] :

        Update rtpengine.c

        Add support for saving the last-frame-pos when stopping a media file

2024-06-13  Razvan Crainea  <razvan at opensips dot org>
        * [2fba04ae73] :

        packaging/debian: do not run berkeley stubs if not built

        If the berkeley package is not build, we should not run its stubs, as
        they result in errors.

        Thanks go to Richard Revels (@rrevels-bw on GitHub) for reporting it.
        Close #3389


2024-06-13  Razvan Crainea  <razvan at opensips dot org>
        * [efc25521b2] :

        tracer: use own flag for B2B tracing

        This fix prevents crashes generated when the B2B module is loaded, but
        tracing is done at the transaction layer - since the transaction layer
        was setting the same flag, B2B tracing was also engaged, but without the
        necessary structures, leading to crashes.


2024-06-13  Razvan Crainea  <razvan at opensips dot org>
        * [0091ab4751] :

        siprec: properly handle paused recording


2024-06-13  Liviu Chircu  <liviu at opensips dot org>
        * [2bea262208] :

        rtp_relay: Make gcc-10 happy (uninitialized struct)

        if ((tv.flags & PV_VAL_STR) == 0) {
             ~~^~~~~~
            rtp_relay_ctx.c:2937:9: error: ‘tv.flags’ may be used uninitialized
                in this function [-Werror=maybe-uninitialized]


2024-06-13  Liviu Chircu  <liviu at opensips dot org>
        * [6ced3fbc09] :

        Merge pull request #3390 from lemenkov/new_transfom_date2unix

        A new string transformation

2024-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [fa9a863fd3] :

        [dialog] added support for dynamic names for $dlg_val()


2024-06-13  Liviu Chircu  <liviu at opensips dot org>
        * [388d4faa99] :

        db_sqlite raw queries: Fix unnecessary lowercase restriction

        The code was searching for the " from " string chunk in the query but
        in a case-sensitive manner (??), causing formatted queries (e.g. " FROM
        ") to fail.

        Credits to Eric Tamme (@etamme) for spotting and reporting the issue

        Fixes #3409


2024-06-13  Razvan Crainea  <razvan at opensips dot org>
        * [fb4402da39] :

        siprec: expose streams in xml

        Close #3287 and #3293


2024-06-12  Peter Lemenkov  <lemenkov at gmail dot com>
        * [b2f7ef7fc3] :

        A new string transformation

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


2024-06-11  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [fda7385b45] :

        Merge pull request #3407 from jes/jes/force-rereg

        uac_registrant: make force_register run force_register instead of disable

2024-06-11  James Stanley  <james at incoherency.co dot uk>
        * [7e059fe3ef] :

        uac_registrant: make force_register run force_register instead of disable


2024-06-11  Liviu Chircu  <liviu at opensips dot org>
        * [f2652a692d] :

        Update opensips.vim syntax file


2024-06-11  Liviu Chircu  <liviu at opensips dot org>
        * [1768d6543e] :

        menuconfig templates: Fix nat_uac_test() flags; Load a TLS module


2024-06-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [ea8771db82] :

        Remove b2b_logic_xml from exclude list

        The module does not exist anymore

        (cherry picked from commit 4896e5cc25282ba99eca6a10c8304ff63ebb525b)


2024-06-10  Razvan Crainea  <razvan at opensips dot org>
        * [67af79484c] :

        prometheus: migrate route's return mode from AVP to return()


2024-06-10  Razvan Crainea  <razvan at opensips dot org>
        * [616183dfa0] :

        prometheus: fix JSON return docs


2024-06-10  Razvan Crainea  <razvan at opensips dot org>
        * [de39043286] :

        rtp_relay: add support for running routes when rtp_relay is being used


2024-06-10  Razvan Crainea  <razvan at opensips dot org>
        * [55f4c9c5f8] :

        core: add support for returning values through return() function


2024-06-09  OpenSIPS  <github at opensips dot org>
        * [318d8389d2] :

        Rebuild documentation


2024-06-07  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
        * [9308abc20f] :

        [nathelper] do proper URI enclosing for FROM and TO URIs

        Reported by @InnovateAsterisk
        Closes #3405


2024-06-06  Liviu Chircu  <liviu at opensips dot org>
        * [d076141e4f] :

        Fix shutdown crash when 'event_shm_threshold' is enabled

        The SHM lock is NULL at that point, so use shm_free_unsafe() instead.


2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [590b1ad952] :

        Update b2b_logic_admin.xml

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [5a039a1d90] :

        Update media_exchange.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [23b7e96d6f] :

        Update b2b_sdp_demux.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [3a6f0dd101] :

        Update rtp_relay_ctx.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [d851732ee1] :

        Update rtpproxy.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [87335d6120] :

        Update logic.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [cab44e14e0] :

        Update msrp_ua.c

2024-06-04  Norm Brandinger  <n.brandinger at gmail dot com>
        * [2f0940a6ce] :

        Update README

2024-06-03  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [909ac1b889] :

        Merge pull request #3400 from NormB/NormB-patch-4

        Update b2b_logic_admin.xml

2024-06-03  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [e22e9c51a0] :

        Merge pull request #3399 from NormB/NormB-patch-3

        Update b2b_logic_admin.xml

2024-06-03  Aaron Meriwether  <me at ameriwether dot com>
        * [1c40610737] :

        Fix `perl_exec_simple` memory leak


2024-06-02  OpenSIPS  <github at opensips dot org>
        * [84b07668e6] :

        Rebuild documentation


2024-05-29  Norm Brandinger  <n.brandinger at gmail dot com>
        * [80e5fe2673] :

        Update b2b_logic_admin.xml

2024-05-29  Norm Brandinger  <n.brandinger at gmail dot com>
        * [0abad4a65d] :

        Update b2b_logic_admin.xml

2024-05-28  Liviu Chircu  <liviu at opensips dot org>
        * [39f056b617] :

        db_mysql: Drop usage of MYSQL_OPT_RECONNECT in 8.0.35+

        The auto-reconnect feature of libmysqlclient has been deprecated
        starting with version 8.0.34 and is subject to future removal.
        Moreover, OpenSIPS was explicitly disabling it anyway on startup, in
        favour of the "max_db_queries" application-level query retrying loop.


2024-05-28  Razvan Crainea  <razvan at opensips dot org>
        * [03265f09f9] :

        Revert "launch_darkly: add packaging"

        This reverts commit 0d57234e19191deafdaba9ef723e2f5f2ee2a7e3.


2024-05-28  Razvan Crainea  <razvan at opensips dot org>
        * [984a037495] :

        Revert "http2d: add packaging"

        This reverts commit 73c56ab25a84b8d60da06e918cbf4fb9bbff4c6a.


2024-05-28  Razvan Crainea  <razvan at opensips dot org>
        * [0073127a1e] :

        Revert "redhat: add launch_darkly and http2d restrictions"

        This reverts commit 9c69918456bd453133d0fc803f4907f1d1cd7e7a.


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [9c69918456] :

        redhat: add launch_darkly and http2d restrictions


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [73c56ab25a] :

        http2d: add packaging


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [0b94abd7b9] :

        http2d: add static build


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [7bb3b8aad7] :

        Makefile: always link against pthread


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [0d57234e19] :

        launch_darkly: add packaging


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [1989199f5b] :

        packaging: bump Debian version


2024-05-27  Razvan Crainea  <razvan at opensips dot org>
        * [d719919a97] :

        launch_darkly: compile static


2024-05-27  Bogdan Andrei IANCU  <bogdan at opensips dot org>
        * [91f50e62dd] :

        Merge pull request #3397 from NormB/NormB-patch-1

        Update sqlops_impl.c - Minor spelling

2024-05-26  OpenSIPS  <github at opensips dot org>
        * [57d5d3d2fc] :

        Rebuild documentation


2024-05-24  Norm Brandinger  <n.brandinger at gmail dot com>
        * [f582127b6d] :

        Update sqlops_impl.c - Minor spelling

2024-05-23  Razvan Crainea  <razvan at opensips dot org>
        * [f96335091d] :

        b2b_entities: logic_key should always be printable

        Many thanks to Voxtronic for spotting this issue!


2024-05-23  Razvan Crainea  <razvan at opensips dot org>
        * [8878491ad5] :

        redhat: fix diameter exclude list


2024-05-23  Razvan Crainea  <razvan at opensips dot org>
        * [1be7eabac7] :

        redhat: bump version to 3.6.0


2024-05-23  Razvan Crainea  <razvan at opensips dot org>
        * [d9543650d0] :

        proto_ipsec: fix redhat README


2024-05-23  Razvan Crainea  <razvan at opensips dot org>
        * [adc2612b76] :

        proto_ipsec: add packaging


2024-05-22  Liviu Chircu  <liviu at opensips dot org>
        * [50b651c230] :

        cfg parser: Avoid unnecessary strlen on error case

        When getline() returns -1, the @lineptr argument is never safe to read,
        nor is this recommended.  So when both rc == -1 and EOF conditions
        occur, it is safe to assume we read 0 bytes, without doing the strlen().

        Many thanks to Dhiraj Mishra (@RandomDhiraj) for detecting, documenting
        and reporting the potential risk of a heap buffer overflow here!


2024-05-19  OpenSIPS  <github at opensips dot org>
        * [0e4f402cb9] :

        Rebuild documentation


2024-05-18  Răzvan Crainea  <razvan at opensips dot org>
        * [58e2a696de] :

        Merge pull request #3391 from nikbyte/master

        Packaging update

2024-05-18  Nick Altmann  <nick at altmann dot pro>
        * [5d0ae4be4c] :

        RPM Packaging: new modules support


2024-05-18  Nick Altmann  <nick at altmann dot pro>
        * [f497bc9fd6] :

        DEB Packaging: move new modules to subpackages


2024-05-18  Nick Altmann  <nick at altmann dot pro>
        * [dd0e8e8b38] :

        DEB Packaging: increase compat. level


2024-05-16  Liviu Chircu  <liviu at opensips dot org>
        * [099e771b39] :

        http2d: Fix syntax in examples; Improve logs


2024-05-12  Liviu Chircu  <liviu at opensips dot org>
        * [a5890980eb] :

        proto_ipsec: Correct fix for struct ordering issue in 45272908

        Original error, on (clang-arm32-qemu-cross, ubuntu-22.04):

        ipsec.c:384:19: error: field 'algo' with variable sized type
        'struct xfrm_algo' not at the end of a struct or class is a GNU
        extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
          384 |         struct xfrm_algo algo;
              |                          ^

        Credits to Răzvan Crainea for spotting the bug!


2024-05-12  Liviu Chircu  <liviu at opensips dot org>
        * [4527290889] :

        proto_ipsec: Fix various compile warnings


2024-05-12  Liviu Chircu  <liviu at opensips dot org>
        * [a9813063d5] :

        Tests build: Add 'libmnl-dev' to DEB list


2024-05-12  OpenSIPS  <github at opensips dot org>
        * [f7d5489160] :

        Rebuild documentation


2024-05-10  Liviu Chircu  <liviu at opensips dot org>
        * [64c0042b42] :

        status_report: Avoid return 0 in sr_set_status()


2024-05-10  Liviu Chircu  <liviu at opensips dot org>
        * [7f12c44813] :

        status_report: Fix bad 3rd parameter to sr_set_status()


2024-05-09  Liviu Chircu  <liviu at opensips dot org>
        * [ca385b4580] :

        sqlops docs: Fix JSON syntax in examples


2024-05-09  Liviu Chircu  <liviu at opensips dot org>
        * [8fb00939cf] :

        Contributors: Update project-level stats

        Note: the numbers were last updated on Feb 2020.


