|
| 1 | +=========================== Release 3.5.5 ============================== |
| 2 | + |
| 3 | +2025-04-23 Liviu Chircu <liviu@opensips.org> |
| 4 | + * [83c32524fc] : |
| 5 | + |
| 6 | + Fix TCP Main crash with E_SHM_THRESHOLD |
| 7 | + |
| 8 | + TCP Main has NULL @sroutes, so it would crash while raising the event. |
| 9 | + |
| 10 | + (cherry picked from commit be8877214be8bfa0e930d20e3519129d98d6da30) |
| 11 | + |
| 12 | + |
| 13 | +2025-04-23 Liviu Chircu <liviu@opensips.org> |
| 14 | + * [b775af73d8] : |
| 15 | + |
| 16 | + event_route: Fix crash when out of SHM |
| 17 | + |
| 18 | + (cherry picked from commit 56c2c8eb890e9ab32deba626c9b8dece22d4bb0c) |
| 19 | + |
| 20 | + |
| 21 | +2025-04-20 OpenSIPS <github@opensips.org> |
| 22 | + * [25d3f7a7af] : |
| 23 | + |
| 24 | + Rebuild documentation |
| 25 | + |
| 26 | + |
| 27 | +2025-04-17 jupiter <36952362@qq.com> |
| 28 | + * [77d1dab591] : |
| 29 | + |
| 30 | + fix tls_mgm release domain issue |
| 31 | + |
| 32 | + (cherry picked from commit 959beeb588917893ac31a555bb70e53bd903f723) |
| 33 | + |
| 34 | + |
| 35 | +2025-04-17 Your Name <your-email@example.com> |
| 36 | + * [0485ed1bf5] : |
| 37 | + |
| 38 | + tls_openssl: fix openssl_tls_async_connect |
| 39 | + |
| 40 | + The `fd` value here is used with `poll()`/`select()` in the event that `SSL_connect()` |
| 41 | + gives an `SSL_ERROR_WANT_WRITE` error. So we need to be polling/selecting on the fd that |
| 42 | + is used by the underlying socket, which is the fd passed as an argument to the function, |
| 43 | + rather than `con->fd`. |
| 44 | + |
| 45 | + It seems to me that `handle_io()` updates `con->fd` to match the received fd number only |
| 46 | + when the socket wants reading and not when it wants writing. When the socket wants writing |
| 47 | + the correct fd to use is the one that is passed in the function argument, not the one |
| 48 | + that is in `con->fd`. |
| 49 | + |
| 50 | + The reasons this mostly worked before are: |
| 51 | + |
| 52 | + 1. on a box that is not heavily-loaded you often end up with the same worker setting up |
| 53 | + the TLS session as opened the socket in the first place, so the fd in `con->fd happens |
| 54 | + to be correct. |
| 55 | + 2. if `SSL_connect()` happily connects straight away, without an `SSL_ERROR_WANT_WRITE`, |
| 56 | + then you never run into a code path that uses the value in `fd` anyway. |
| 57 | + |
| 58 | + (cherry picked from commit 58977a99484120d32e1bf7968a54c140e6465e78) |
| 59 | + |
| 60 | + |
| 61 | +2025-04-16 Liviu Chircu <liviu@opensips.org> |
| 62 | + * [4e34d08a6d] : |
| 63 | + |
| 64 | + clusterer: Fix node pinging regression in 7d74f3dc |
| 65 | + |
| 66 | + While commit 7d74f3dc fixed links going down during pinging, it |
| 67 | + introduced a bug where node links could flip/flop between Up/Down state |
| 68 | + intermittently on some setups. This patch addresses the new issue. |
| 69 | + |
| 70 | + (cherry picked from commit f98189afa57b4ce2b8c87cab0c4f015d3d81e8ec) |
| 71 | + |
| 72 | + |
| 73 | +2025-04-06 OpenSIPS <github@opensips.org> |
| 74 | + * [2ee8374753] : |
| 75 | + |
| 76 | + Rebuild documentation |
| 77 | + |
| 78 | + |
| 79 | +2025-04-03 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 80 | + * [afd497a4d9] : |
| 81 | + |
| 82 | + [async] make the resume route checking more tolerant to script reload |
| 83 | + |
| 84 | + (cherry picked from commit 2a761a7805203935c2142259fee1a533fe1541ef) |
| 85 | + |
| 86 | + |
| 87 | +2025-04-03 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 88 | + * [659ff95c65] : |
| 89 | + |
| 90 | + Fix launch crash if the resume route is not defined in script. |
| 91 | + |
| 92 | + 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. |
| 93 | + |
| 94 | + (cherry picked from commit f3b33c482e6a76b79778d89c9d3e3c6b089e8aff) |
| 95 | + |
| 96 | + |
| 97 | +2025-04-02 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 98 | + * [744dbbb577] : |
| 99 | + |
| 100 | + Fix 0'ed msg passed to callbacks on parse error. |
| 101 | + |
| 102 | + This is a complition to af754d951b |
| 103 | + 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). |
| 104 | + |
| 105 | + (cherry picked from commit 1ad77d28050ac8acf2b2e7d23b7b5fb74624f057) |
| 106 | + |
| 107 | + |
| 108 | +2025-04-02 Razvan Crainea <razvan@opensips.org> |
| 109 | + * [3ef7f3a01b] : |
| 110 | + |
| 111 | + dialog: restore buffer only if STR value |
| 112 | + |
| 113 | + If an integer is returned, the buffer is no longer available, thus if it |
| 114 | + will be used as a string next time, it will crash. |
| 115 | + |
| 116 | + Completes #3135 |
| 117 | + |
| 118 | + (cherry picked from commit 2a28d960e0e7779d4a34c78d3526c41608a25cf3) |
| 119 | + |
| 120 | + |
| 121 | +2025-03-31 Razvan Crainea <razvan@opensips.org> |
| 122 | + * [3a1721fd16] : |
| 123 | + |
| 124 | + dialog: add release function to send indialog callbacks |
| 125 | + |
| 126 | + This fixes a bug in media_exchange where a reply callback is called |
| 127 | + multiple times for retransmissions, unreffing the session multiple |
| 128 | + times. |
| 129 | + |
| 130 | + (cherry picked from commit 6d0f9e5c2fbaa4a2d1e9b5bcbf727a68fa619fb4) |
| 131 | + |
| 132 | + |
| 133 | +2025-03-30 OpenSIPS <github@opensips.org> |
| 134 | + * [f247e7d072] : |
| 135 | + |
| 136 | + Rebuild documentation |
| 137 | + |
| 138 | + |
| 139 | +2025-03-26 Peter Lemenkov <lemenkov@gmail.com> |
| 140 | + * [25fe9ccb55] : |
| 141 | + |
| 142 | + Fix pointer type on 32-bin ix86 machines |
| 143 | + |
| 144 | + ``` |
| 145 | + aaa_diameter.c: In function ‘dm_send_answer’: |
| 146 | + aaa_diameter.c:420:60: error: passing argument 4 of ‘reverse_hex2int64’ from incompatible pointer type [-Wincompatible-pointer-types] |
| 147 | + 420 | reverse_hex2int64(res.rs.s, res.rs.len, 1, &fd_req); |
| 148 | + | ^~~~~~~ |
| 149 | + | | |
| 150 | + | long unsigned int * |
| 151 | + In file included from aaa_diameter.c:26: |
| 152 | + ../../ut.h:399:78: note: expected ‘uint64_t *’ {aka ‘long long unsigned int *’} but argument is of type ‘long unsigned int *’ |
| 153 | + 399 | inline static int reverse_hex2int64( char *c, int len, int unsafe, uint64_t *r) |
| 154 | + | ~~~~~~~~~~^ |
| 155 | + make[1]: *** [../../Makefile.rules:28: aaa_diameter.o] Error 1 |
| 156 | + make[1]: *** Waiting for unfinished jobs.... |
| 157 | + ``` |
| 158 | + |
| 159 | + Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> |
| 160 | + (cherry picked from commit 12bc40870e776f57e9f1449227408999d8d4f0fa) |
| 161 | + |
| 162 | + |
| 163 | +2025-03-23 OpenSIPS <github@opensips.org> |
| 164 | + * [153fd25e37] : |
| 165 | + |
| 166 | + Rebuild documentation |
| 167 | + |
| 168 | + |
| 169 | +2025-03-21 Razvan Crainea <razvan@opensips.org> |
| 170 | + * [5bae87bbf9] : |
| 171 | + |
| 172 | + rtp_relay: prevent removing the context twice |
| 173 | + |
| 174 | + (cherry picked from commit d40b04ec500c373c2312abce62585e235069582c) |
| 175 | + |
| 176 | + |
| 177 | +2025-03-21 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 178 | + * [241bf540d1] : |
| 179 | + |
| 180 | + [tm] advertise T during t_inject() |
| 181 | + |
| 182 | + This is a side effect of e00f63e0f7a58cdd914bf54b9555c3d4e6a47486. |
| 183 | + 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. |
| 184 | + |
| 185 | + (cherry picked from commit e2b6b02f375c2f2c4ef47ad043602a68533bfa44) |
| 186 | + |
| 187 | + |
| 188 | +2025-03-20 Bogdan Andrei IANCU <bogdan@opensips.org> |
| 189 | + * [7f63b20c1a] : |
| 190 | + |
| 191 | + Merge pull request #3604 from ovidiusas/master |
| 192 | + |
| 193 | + sipmsgops: fix warning: ‘*’ may be used uninitialized [-Wmaybe-uninit… |
| 194 | + (cherry picked from commit aef55070187fbdbf62a7243c6cbf16f9543e1af2) |
| 195 | + |
| 196 | + |
| 197 | +2025-03-19 Liviu Chircu <liviu@opensips.org> |
| 198 | + * [95b03e9c9d] : |
| 199 | + |
| 200 | + event_stream: Avoid double-free of @con.pending_buffer |
| 201 | + |
| 202 | + Fully zeroize the (str), avoid leaving a dangling pointer. |
| 203 | + |
| 204 | + Credits to Steve Frecinaux for the report! |
| 205 | + |
| 206 | + (cherry picked from commit d554d964992a40a449ddf826e04810c7c615c33c) |
| 207 | + |
| 208 | + |
| 209 | +2025-03-18 Răzvan Crainea <razvan@opensips.org> |
| 210 | + * [aeed29aaa0] : |
| 211 | + |
| 212 | + Merge pull request #3598 from purecloudlabs/fix/encode_flags_thinfo |
| 213 | + |
| 214 | + Preserving the flags of the topology_hiding in non dialog mode in thi… |
| 215 | + |
| 216 | + (cherry picked from commit 26d0ab0586e908463943c1381c2d70e100ecc8d5) |
| 217 | + |
| 218 | + |
| 219 | +2025-03-16 OpenSIPS <github@opensips.org> |
| 220 | + * [320901c147] : |
| 221 | + |
| 222 | + Rebuild documentation |
| 223 | + |
| 224 | + |
| 225 | +2025-03-13 Bogdan Andrei IANCU <bogdan@opensips.org> |
| 226 | + * [25bafb885f] : |
| 227 | + |
| 228 | + Merge pull request #3599 from nikbyte/master |
| 229 | + |
| 230 | + Ensure proper memory deallocation in case of parsing errors in parse_msg() |
| 231 | + |
| 232 | + (cherry picked from commit 6ba378a3097164911c73d0973b6f5c1d27a6180c) |
| 233 | + |
| 234 | + |
| 235 | +2025-03-11 Razvan Crainea <razvan@opensips.org> |
| 236 | + * [5617a32764] : |
| 237 | + |
| 238 | + rtp_relay: remove session on timeout |
| 239 | + |
| 240 | + (cherry picked from commit 619ee7b195a031e5ee46e6c8f26d822bef14a6ed) |
| 241 | + |
| 242 | + |
| 243 | +2025-03-10 Razvan Crainea <razvan@opensips.org> |
| 244 | + * [3690653cf8] : |
| 245 | + |
| 246 | + media_exchange: fix leg detection on media_exchange_from_uri |
| 247 | + |
| 248 | + (cherry picked from commit db99d0ea4cd924c3b38851f9afb06c0bedb3794f) |
| 249 | + |
| 250 | + |
| 251 | +2025-03-10 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 252 | + * [f1cc204de1] : |
| 253 | + |
| 254 | + [tm] t_lookup_ident() must not mess up with T |
| 255 | + |
| 256 | + 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. |
| 257 | + Setting the T is actually creating problem, as it it should set/restor T after a lookup. |
| 258 | + This is an alternative fix to #3502 |
| 259 | + |
| 260 | + (cherry picked from commit e00f63e0f7a58cdd914bf54b9555c3d4e6a47486) |
| 261 | + |
| 262 | + |
| 263 | +2025-03-10 Bogdan-Andrei Iancu <bogdan@opensips.org> |
| 264 | + * [a0c9e7630b] : |
| 265 | + |
| 266 | + [tm] avoid missing transaction unref if `to_tag` is missing in `tm_reply` MI cmd |
| 267 | + |
| 268 | + (cherry picked from commit 1097b4d9716772d71b762fd5970f1f7893ef7885) |
| 269 | + |
| 270 | + |
| 271 | +2025-03-09 OpenSIPS <github@opensips.org> |
| 272 | + * [881600e375] : |
| 273 | + |
| 274 | + Rebuild documentation |
| 275 | + |
| 276 | + |
| 277 | +2025-03-07 Liviu Chircu <liviu@opensips.org> |
| 278 | + * [754d0ee295] : |
| 279 | + |
| 280 | + clusterer: Fix sharing tag deadlock during dialog sync |
| 281 | + |
| 282 | + * fix edge-cases with "return 0" without releasing lock |
| 283 | + * fix convoluted logic mixing up read/write lock state on return |
| 284 | + * undo premature optimization on read/write locking (just write-lock it) |
| 285 | + |
| 286 | + (cherry picked from commit 4ae0537f46af3f86505426e42cac1d9c43f9ae0c) |
| 287 | + |
| 288 | + |
| 289 | +2025-03-06 Norm Brandinger <n.brandinger@gmail.com> |
| 290 | + * [798aea3e6d] : |
| 291 | + |
| 292 | + Fix sql_query required parameters |
| 293 | + |
| 294 | + (cherry picked from commit 28c554f0f67b058c7570597d3815cf429df856ac) |
| 295 | + |
| 296 | + |
| 297 | +2025-03-05 Răzvan Crainea <razvan@opensips.org> |
| 298 | + * [f065926ae3] : |
| 299 | + |
| 300 | + Merge pull request #3532 from hateeyan/fd |
| 301 | + |
| 302 | + rtpengine: Update fd when node reconnects |
| 303 | + (cherry picked from commit 84c6b81265ddac8369250fe17eaf0c4a9b2066aa) |
| 304 | + |
| 305 | + |
| 306 | +2025-03-03 Bogdan Andrei IANCU <bogdan@opensips.org> |
| 307 | + * [200f1dc878] : |
| 308 | + |
| 309 | + Merge pull request #3528 from vladpaiu/fix_inject_before_relay |
| 310 | + |
| 311 | + fix: update cloned msg under lock to avoid races with branch injection |
| 312 | + (cherry picked from commit b868e00a20210e006127ab8a4f9a10e0ddda1c36) |
| 313 | + |
| 314 | + |
| 315 | +2025-03-02 OpenSIPS <github@opensips.org> |
| 316 | + * [aaa2999dda] : |
| 317 | + |
| 318 | + Rebuild documentation |
| 319 | + |
| 320 | + |
| 321 | +2025-02-26 Bogdan Andrei IANCU <bogdan@opensips.org> |
| 322 | + * [5325f8cbc0] : |
| 323 | + |
| 324 | + Merge pull request #3576 from nikbyte/memfix_sqlops |
| 325 | + |
| 326 | + Fix sqlops memory leak in sql_avp_load / sql_avp_delete / sql_avp_store (for 3.5 and master) |
| 327 | + |
| 328 | + (cherry picked from commit 523ed18adb3dba46bcee2561da985a5d7d540dd1) |
| 329 | + |
| 330 | + |
| 331 | +2025-02-23 OpenSIPS <github@opensips.org> |
| 332 | + * [3348de9c1a] : |
| 333 | + |
| 334 | + Rebuild documentation |
| 335 | + |
| 336 | + |
| 337 | +2025-02-21 Razvan Crainea <razvan@opensips.org> |
| 338 | + * [d75bc9d89b] : |
| 339 | + |
| 340 | + rtp_relay: provide message for B2B local replies |
| 341 | + |
| 342 | + Reported in #3580 |
| 343 | + |
| 344 | + (cherry picked from commit d792db2e2e4f00daddbf01b8022562da88674894) |
| 345 | + |
| 346 | + |
| 347 | +2025-02-19 Liviu Chircu <liviu@opensips.org> |
| 348 | + * [d4694ffcd3] : |
| 349 | + |
| 350 | + Use actions/cache@v4, actions/upload-artifact@v4, actions/checkout@v4 |
| 351 | + |
| 352 | + |
1 | 353 | =========================== Release 3.5.4 ============================== |
2 | 354 |
|
3 | 355 | 2025-02-16 OpenSIPS <github@opensips.org> |
|
0 commit comments