=========================== Release 2.3.4 ============================== 2018-05-24 Razvan Crainea * [6a09047f3] : Bump version to 2.3.4 2018-05-24 Bogdan-Andrei Iancu * [29f305930] : Fix consistency of extra/leg values in acc module. If values are set before the dialog is matched, rather than simply discarding the setings done on the extra/leg values, better migrate the changes over the acc set stored in dialog. (cherry picked from commit 60b1e7005b22eedd1ed604ffc21054e91b7f404b) 2018-05-24 Bogdan-Andrei Iancu * [789b0e6fe] : Fix memory leak in using extra accounting. If setting $acc_extra() for a sequential request, before being matched against the dialog, the values will result in a leak. Ideally, the acc_extra set in the processing context should be merged with the acc_extra fetched after dialog matching. (cherry picked from commit 19305deaa6f89d3c3030f67e68f79c69116501f2) 2018-05-23 Liviu Chircu * [f8f46f17e] : clusterer: Do not log errors when broadcasting to 0 nodes Reported by Xiao Huang Fixes #1369 (cherry picked from commit c7cae9be6ad812f1a686e7529275f92194515ab1) 2018-05-22 Bogdan-Andrei Iancu * [4c2d9ad3c] : Fixed URI comparing when usernames are empty (cherry picked from commit a69c8541b08eb171f24eca55444e777a3b527509) 2018-05-21 Vlad Patrascu * [06a1b186c] : mi_xmlrpc_ng: fix system memory leaks when parsing xml Closes #1359 2018-05-21 Răzvan Crainea * [c9a7552ce] : Merge pull request #1366 from ryan-esty/2.3 added rtcp-mux-require Close #1364 2018-05-18 ryan-esty * [fd1124a2c] : added rtcp-mux-require maybe 2018-05-18 Liviu Chircu * [0ee949ea6] : acc: Fix $acc_extra so it accepts integer constants (cherry picked from commit 5f42814228cf52414a65bf859dffe10fb45ff94f) 2018-05-17 Bogdan-Andrei Iancu * [c49cb0991] : Fixed wrong DB result free in case of error. (cherry picked from commit bcad20098f92587ef465e3c634bd362ae3908522) 2018-05-17 Bogdan-Andrei Iancu * [f2429ac73] : Fix memory leak when ping-failed contacts unregister. As for the contacts with failed ping we keep the ping_cell into hash (in order to count the failures), we need a second timer list to be sure that the ping_cellis actually removed from hash as some point. Without this second list, as the ping_cell exists only in hash, if the contact is unregistered, it will never be removed. (cherry picked from commit 8532f9ed50aef1dbbf06668dcd9cfed1702c5a7d) 2018-05-17 Razvan Crainea * [7c7a4fbf5] : dialog: reset locked process only if you locked it Make sure that when callbacks are run only the proces that has the callbacks locked resets the locked_by field - if someone else does it, it might run into a deadlock. Thanks go to 46Labs for reporting this! (cherry picked from commit e35595e8596e6dd0bedb0b96cadd226c52417243) 2018-05-14 Razvan Crainea * [a0bed9db6] : proto_hep: prevent memleak when using correlation when not using homer5 and adding correlation to rest and xlog queries, the correlation string was never freed, generating a memory leak. also prevent opensips from crashing when running out of pkg memory. (cherry picked from commit 8904319909cd6618d4ce06148a25937738a90a37) 2018-05-10 Liviu Chircu * [55184367c] : dialog/topology_hiding: Update docs (cherry picked from commit 362e65d28ac6409d66d48bea4a735c1558dd6993) (cherry picked from commit 718cf732c76e03cdf3aaee3ed4d2402c0f8bbb99) 2018-05-10 Liviu Chircu * [e797ca1e0] : dialog: Fix dialog matching bugs in looping + TH scenarios This patch adds an extra control parameter to topology_hiding_match() and match_dialog() which allows the script writer to disable the current behavior of forcefully imposing the "DID_FALLBACK" dialog matching mode. In looping scenarios, performing SIP-wise dialog matching may be out of the question, as we may randomly match one of multiple dialogs with identical SIP coordinates. (cherry picked from commit deb3ee457b1f64a169b61751e6490c7049f1493e) (cherry picked from commit 2ddb4d10cb1ace4f9e50f3c057bd1f978f893d22) 2018-05-10 Liviu Chircu * [c4df9724a] : dialog: Document re-INVITE pinging interval restrictions (cherry picked from commit 4b59ffc0c65dca11a043faf61eb2987555192603) (cherry picked from commit 44af51b1ad35dff8d193fdd3b50f9b8ba02ca546) 2018-05-10 Liviu Chircu * [0d7dea1d5] : dialog: Fix re-INVITE pinging SDPs after on-hold/resume (cherry picked from commit 1d1f3d04d75b3c2a46444d7a6d57348ce85543a9) (cherry picked from commit 430039fd8c04f17cc762401e1511e01fed20776a) 2018-05-10 Liviu Chircu * [2a59013d7] : dialog: Fix unnecessary errors on DB load Affects DB-persistent dialogs w/o reinvite pinging. This regression was introduced by commit 9521770e. (cherry picked from commit 200a5563b227fc8c231e82f3d42e3c8528358fa2) (cherry picked from commit 123255c3e9be2e926c67cfefa340f7c46acb9456) 2018-05-10 Liviu Chircu * [625286e26] : dialog: Improve fetch_dlg_value() signature & docs (cherry picked from commit f2626d471d6c1d1b58c2d4a27eee13f96203c24f) (cherry picked from commit fd854b77866e6d591f84ed2db07c39a785f21b7a) 2018-05-10 Liviu Chircu * [27dee095f] : dialog: Fix Re-INVITE pinging after restarts The current solution is to persist the SDPs/Contacts of the caller side and the winning callee side into dialog var storage, which is restart persistent ("vars" column). Fixes #1342 (cherry picked from commit 9521770efccd385fafdb2c58ff365627e0d65fef) (cherry picked from commit 7d0f6bc0ec4aa823f83199c91591dfbfe56cc1a7) 2018-05-10 Liviu Chircu * [acb17059e] : dialog: Fix pkg memleak in commit a03ed4e1a3 The auto-generated CANCEL messages were leaking the parsed Via header. Reported by Nick Altmann (cherry picked from commit 34960b140f81adca25bf9ad84ac2bc078732421e) (cherry picked from commit 7d887fb4e8ffe15e93ae6d15e2d777469e5a056b) 2018-05-10 Liviu Chircu * [aea1869ac] : dialog: Fix regression in commit a03ed4e1a3 Commit a03ed4e1a3 may have fixed the create_dialog("Rr") scenarios, but it also broke the simpler ones, which rely on create_dialog(). Reported by Nick Altmann (cherry picked from commit b45ee74f5994ffdca12ccc8b6df0bcb33ca4c0b5) (cherry picked from commit 67b2bf382de40bc2e93672d8e952ffd30e12940b) 2018-05-10 Liviu Chircu * [6f7c7130a] : dialog: Clarify the new meaning of dlg_leg.sdp (cherry picked from commit bf2ae315609b1224338273a059b5f760b961b89f) (cherry picked from commit 6fa390bde2c408fa291973929eaa97bad3238f2c) 2018-05-10 Liviu Chircu * [185672e0f] : dialog: Fix Re-INVITE pinging issues with parallel forking The Re-INVITE pinging code would always leak both SDP and contact buffers when parallel forking. Moreover, depending on which branch answered the call, in some cases OpenSIPS would only Re-INVITE ping one of the parties involved, even if both "Rr" create_dialog() flags are set. This patch fixes the above issues by storing the SDPs of each forked branch into the "callee" leg array. Each call leg gets created before the INVITE branch is sent out, rather than only getting created upon matching a 200 OK reply. When matching a reply, the corresponding leg becomes 1 + the Via branch idx, which added by tm. (0, 1, 2, ...) Remaining issue: Proper handling for the multi-200 OK scenario, as we currently still overwrite the callee SDP at each 200 OK. (cherry picked from commit a03ed4e1a366807df3a89efada59df0d07f4d361) (cherry picked from commit fba65033e8878bdc3ab7b8ebcb1c7029e02e2237) 2018-05-08 Vlad Patrascu * [060a386fc] : sip_i docs: fix subfield value 2018-05-07 Vlad Patrascu * [c30017b70] : sip_i: fix crash for numbers longer than 15 digits Mapping the Called Party number or Calling Party number for IAM by default could cause a stack smashing for numbers longer than 15 digits (E.164 limit). Fixes #1348 (cherry picked from commit 47e5c47d3bb2ad7999a14b80d6412866d90493c9) 2018-05-07 Liviu Chircu * [88b3cb65e] : acc: Fix "ms_duration" computation Reported by John Quick (cherry picked from commit f2c86ed3fa19d256c1a2c5ae5b246871ccc8b312) 2018-05-02 Liviu Chircu * [ddf9f84e5] : registrar: Fix expires handling on 200 OK save() Silently use the default_expires, similarly to the behavior during a standard save() on a REGISTER, without throwing warnings. Credits to Norman Brandinger for providing the patch. (cherry picked from commit bbfdbaf9d69ef39160459b6f5f81e5a2e9344cdc) 2018-04-30 Liviu Chircu * [bfc635219] : core: Fix $branch(flags) manipulation It now accepts and prints a space-separated list of branch flags. Fixes #1341 (cherry picked from commit e2fd262f368928c8d71ec386c724de7025d6191a) 2018-04-26 Razvan Crainea * [a8544c85d] : dlg: suppress info for updating contact (cherry picked from commit 07ea9b686ec72d7155a2207f398a43e67026ea74) 2018-04-26 Razvan Crainea * [461b8f820] : dialog: update contact on re-INVITEs and UPDATEs Closes ticket #964 (cherry picked from commit 125a1dc5327cf1ae9d056c64f679abf03c7a6890) 2018-04-26 Razvan Crainea * [11c227de7] : Revert "dialog: update contact on re-INVITEs and UPDATEs" This reverts commit dab9b69549457ff8ba42fd3ba837c3a245a5ad1c. 2018-04-26 Razvan Crainea * [dab9b6954] : dialog: update contact on re-INVITEs and UPDATEs Closes ticket #964 (cherry picked from commit 125a1dc5327cf1ae9d056c64f679abf03c7a6890) 2018-04-26 Razvan Crainea * [cd6724789] : dialog: remove debugging CRIT message (cherry picked from commit ecb29ab2db8d95e291467c0fcd932167fbdf8bc6) 2018-04-25 Bogdan-Andrei Iancu * [0fb377fa0] : Fix handling of negative replies in EBR scenarios. If t_wait_for_new_branches(): * stop any waiting when cancel is received from UAC * keep doing waiting even if a negative reply was received on the real branches; maybe more branches are to be injected. The bugs fixed: * if there was at least one callee when routing the call, if the call was rejected by caller, the transaction terminates without waiting for any more branches * if there was no callee when routing the call, but added later via injection, the transaction did not terminate on spot upon cancel from caller, but waiting for timeout. Closes #1237 Closes #1128 (cherry picked from commit b1fdb899bfec18fd53ef771f287b29880520a11c) 2018-04-24 Razvan Crainea * [b7595d323] : tls_mgm: prevent openssl 1.1.0 from multiple free Register our own onexit() function after the library initializes to make sure that we forcefully exit before openssl does any crappy cleaning. Close #1121 (cherry picked from commit 90339327556748e4b11eaaf0af80ebed60d16137) 2018-04-24 Bogdan-Andrei Iancu * [6ac063c42] : Fixed proper handling of IPv6 net masks Reported by Pasan Meemaduma. Fixes #1336 (cherry picked from commit 86d3b84de04cd072a0d1eb2ecf34bcb8d121d2d0) 2018-04-24 Bogdan-Andrei Iancu * [26a2b1c07] : Fixed wrong triggering of post script callbacks. If the async() statement translates into a sync/inline operation as triggered from a non request route, do not trigger the post script callbacks. Fix for #1312 (cherry picked from commit 7a821af654b11c51a171a7454b99ebf757becdbd) 2018-04-23 Razvan Crainea * [e45364443] : acc: properly restore created after a restart Credits go to Nick Altman for reporting this Close #1344 (cherry picked from commit c5d8b6ed8f24212003d44fd679ee380bbe39a414) 2018-04-23 Bogdan-Andrei Iancu * [4a78508bb] : Fixed cloning of parsed_uri and parsed_uri_ok. Translate the parsed_uri pointers after setting the new new_uri buffer. Also take care and properly update the parsed_uri_ok flag. Reported by @ankurgupta001 - many thanks for the testing. Credits also to Razvan Crainea (@razvancrainea) for troubleshooting. Closes #1300 2018-04-20 Bogdan-Andrei Iancu * [eaca9099b] : Fix creation of IPC pipes. Credits go to Gohar Ahmed for identifying, reproducing and providing a testbed Fixes #1254 (cherry picked from commit 6d02840bb8d554714d6bf227964ef1b4c26dc8d9) 2018-04-20 Razvan Crainea * [4cf7b006e] : ratelimit: fix count dec and reset for SBT algo also fix counter var for SBT algo (cherry picked from commit a5ee8aa1df49a1c7703959396ab12cdca34b5291) 2018-04-20 Razvan Crainea * [86ca14e8b] : siptrace: fix memory leak when tracing transaction (cherry picked from commit 62424b670825be6d8671ad8ed51500ab188c8167) 2018-04-19 Razvan Crainea * [032e55e09] : rtpengine: prevent from reversing tags on DELETE When a delete is used on a reply route, do not reverse the tags, otherwise rtpengine will not match the proper session. More details on github, ticket #1339. (cherry picked from commit 818a74c9924f754bee0cd1d976c955ce7fe17e95) 2018-04-19 Bogdan-Andrei Iancu * [0e402f658] : Fixed missing include. Reported by Nick Altmann 2018-04-19 Liviu Chircu * [7c26ec86c] : fraud_detection: Complete commit 904e66b8 Reported by Denis (cherry picked from commit 581ca5c8c188d349525cd718560669849bacde15) 2018-04-19 Bogdan-Andrei Iancu * [e3bb36758] : updated README file 2018-04-19 Bogdan-Andrei Iancu * [fe5424511] : Fix function get_local_contact() to add transport to have consistency over b2b and presence module, fix the get_local_contact() to also add the transport indication in the URI it builds. This will simplify the code in presence (as we do not have to add the transport param later, from several parts of the code) and also fixes the b2b code where the transport was not added at all in the URIs. Credits go to @arttemk for identifing the problem and suggesting the fix. Fix for #1275 (cherry picked from commit eb50b9b1516599316752ad5a4d037d10f625bc60) 2018-04-19 Liviu Chircu * [43090fca5] : ctl tools: Fix errors in verbose mode (cherry picked from commit a1332cbbd061adc3c0f56de2f08e0b13fbf40adb) 2018-04-18 Razvan Crainea * [6b6d5418b] : dialog: always check if create dialog was called on initial INVITE (cherry picked from commit 2a2027a6e99ae20d6b3580950cfe39b81d46f087) 2018-04-17 Bogdan-Andrei Iancu * [03e852be7] : Fix branch cancelation after a t_reply() Be sure and call which_cancel() only when cancel_uac() is also called, otherwise the cancelling markers may prevent further canceling acttions on the transaction Credits go to Stepan Pologov @sisoftrg Fix for #1337 (cherry picked from commit d8ef9f1264f33469340b5961aaf8a76310f5e258) 2018-04-17 Bogdan-Andrei Iancu * [dd8fc985a] : Fix CRIT logs back to DBG. (cherry picked from commit ee7db82ae39eb13fa3675dd05112731af36dfbfc) 2018-04-17 Bogdan-Andrei Iancu * [2d02ffba4] : Fix dialog unref for local BYEs. Instead of unref-ing the dialog when a final reply is received for the local BYE, better wait until the BYE transaction is destroyed. IF not, we will end up with a dangling dailog pointer in the BYE transaction. Fix for #1330 where a local BYE retransmission in combination with TH ends up acessing the dangling dialog pointer. Many thanks to Nick Altmann for the support in investigating this issue. (cherry picked from commit ec52613da12d43299edf0dab26ae80e5d2153854) 2018-04-16 Razvan Crainea * [5444c8c61] : dialog: fix dialog timeout when loading from db Prevent the module from adding the ticks jiffies twice to the dialog timeout. (cherry picked from commit dcb35022ba9b3bad3bf8b6a356f0b96199ce0e92) 2018-04-13 Vlad Patrascu * [322be64d2] : dialog: call values/profiles write callbacks before replicating dialogs Rename DLGCB_DB_WRITE_VP to DLGCB_WRITE_VP since it should also be triggered when replicating a created dialog. This allow modules to properly save context information in the dialog which can then be visibile on all instances where the dialog is replicated. This fixes issues with received replicated dialogs in acc and cgrates modules. (cherry picked from commit bcc3d8c0fb69073f49980c64aa80fba41d7b7961) 2018-04-13 Liviu Chircu * [8bbdc1f97] : opensipsctl: Fix dispatcher SQL inserts (2.3+ schema) Fixes #1338 (cherry picked from commit b4991d076eb4859eaced4001befa6d5fcb9802fa) 2018-04-12 Bogdan-Andrei Iancu * [59a1502b0] : Fix bogus delete on undefined AVPs. Reported by John Quick. (cherry picked from commit 5df9679c09ea8a247baac9e9ffdaff8e238feb4a) 2018-04-12 Vlad Paiu * [935cba1f6] : Also flush carrier id AVPs when initiating a new routing Fixed cases where do_routing() followed by route_to_carrier() would report the wrong carrier id (cherry picked from commit 7844aaba9400e6480d341c18ac41dcc17b403070) 2018-04-12 Liviu Chircu * [d926376eb] : OpenSIPS ViM syntax: Allow "." in pvar names Reported by John Quick (cherry picked from commit 7f1407baa80dd8383deb8fe11d52dbcb3631f354) 2018-04-11 Bogdan-Andrei Iancu * [d981b65ba] : Fix is_ip_registered() to use IP-wise matching. Instead of doing string comp, better convert to ip_addr both IPs and do the comp as ip_addrs. This fixes the comp for IPv6, as IPv6 does not have a unique string representation. (cherry picked from commit dc6fa00e6c7d25f296d25b727c1074a5abefdf5d) 2018-04-11 Razvan Crainea * [cf059cf5b] : acc: prevent crash when drop_accounting() is used Reported by Tito Cumpen and Pete Kelly Lots of thanks go to Pete Kelly for providing testing environment and extended details about the issue (cherry picked from commit 9de48658d35c62c5bcb888068d3e7978bd3aad6a) 2018-04-06 Bogdan-Andrei Iancu * [1d3dc9d75] : README updated 2018-04-06 Bogdan-Andrei Iancu * [383ced85f] : Updated description of the mask_col. Reported by Pasan Meemaduma Part of #1336 (cherry picked from commit d4f83db42e10ffd6b4ebe74f61507fa0e135aa39) 2018-04-06 Bogdan-Andrei Iancu * [97e290792] : updated description of make field (according to ipv6) (cherry picked from commit 4c8b3488d3b37f71470f9b5e81eeb1723e837441) 2018-04-06 Bogdan-Andrei Iancu * [1aa8738da] : Fixed checking IP addr against host/name Instead of coverting an IP addr to string and to string matching, it is more sane to try to covert the host/name to IP addr (anyhow in 99% it will be an IP as it is taken from VIA hdr). The old string matching fails for IPv6 as the string representation of an IPv6 is not unique (like for IPv4) - you may have compact format for IPv6. Reported by Pasan Meemaduma (cherry picked from commit a69f6de764cefab7cb7179b2f439780e74082461) 2018-04-05 Liviu Chircu * [35b3681a5] : fraud_detection: Fix a couple of limitations * reset the "sequential calls" stats similarly to the other ones * add a new modparam ("use_local_time") Reported by Denis via mailing list. (cherry picked from commit 904e66b83488f5153133bb2068c4802754ab2aba) 2018-04-05 Bogdan-Andrei Iancu * [de3261f52] : Force case insensitive matching via fnmatch remove_hf(,'g') uses fnmatch with FNM_CASEFOLD if available (as it is a GNU extension) Closes #1333 Reported by Nick Altmann (cherry picked from commit 19a869148c98a1d7b13bac7e19a23a3e8d37fe3f) 2018-04-05 Bogdan-Andrei Iancu * [cad377ed6] : Fix previous backport 2018-04-05 Bogdan-Andrei Iancu * [37c959837] : Fix IPv6 support for check[_source]_address functions Try to parse the string IP as both IPv4 and IPv6. Closes #1334 (cherry picked from commit bb6b210294bba23ee22b9961fa5c8e764001d48c) 2018-04-04 Bogdan-Andrei Iancu * [b8fcb7397] : Support '-' in the URI part of the HEP ID definition (cherry picked from commit ba2840639777d797889e4a3a74c0b56f02ce9aba) 2018-04-04 Bogdan-Andrei Iancu * [e5046e287] : Fixed the default tracing mode. It should stay disabled if no HEP detination was set for that MI backend. Use the -1 marker as disabled as the 0 values is actually a valid one. Reported by Ben Newlin (cherry picked from commit 8a46fbf531c6554c44e3a32b73e4a5e4a6c16959) 2018-04-04 Bogdan-Andrei Iancu * [3a1124ca0] : Fix output of bm_poll_results using mi_json. Missing ARRAY flag in a node with a list on nodes without names. Reported by Nick Altmann Fixes #1332 (cherry picked from commit 0070cbb130d525708f4c50d0ba6fbaa31209e655) 2018-04-02 Liviu Chircu * [914431e5d] : exec: Clarify "time_to_kill" behavior Reported by John Quick. (cherry picked from commit 5bc0c8fbbb427f033912515a7f3c35e9954573b3) 2018-04-02 Bogdan-Andrei Iancu * [adb560547] : Fix multiple int2str coversion in function parameters While evaluating the parameters of the module funtions (which can be up to 6) some of them can internally use pvar evaluation with conversion from int to str. Shortly, multiple int2str may be before in a row. To avoid data overlapping, the int2str uses now a set of 7 rotating buffers (instead of a single one). (cherry picked from commit 304d1554914302363915aa06db91bcffff27d07c) 2018-03-30 Vlad Patrascu * [f49075888] : sip_i: add missing doc for "country_code" modparam (cherry picked from commit 54c0b666ca388fbaa65de963fb2a27be5f0f581a) 2018-03-30 Liviu Chircu * [1aa2c1add] : tm: Fix invalid memory access on $T_id reads Reported by Stepan Pologov. Fixes #1326 (cherry picked from commit dbc1fedf0b00a1fd4b3b6f84192bdd99a8ca2b82) 2018-03-30 Bogdan-Andrei Iancu * [e2b17434e] : Fix typo in command name This is the correct fix for #1305 (cherry picked from commit 5740fff644f82c5115d0f831e579c62178436eb9) 2018-03-30 Bogdan Andrei IANCU * [0a00cbf54] : Merge pull request #1322 from nikbyte/master Allow ds_select_dst and ds_select_domain in branch route (cherry picked from commit 2168cfa3614a9c3c6c377c47e35c33342e96da25) 2018-03-30 Bogdan-Andrei Iancu * [d698e4424] : Removed bogus destroy function The data freed in destroy callback actually resides in pkg and not shm memory - this is the original bug. Now that the data is pkg, makes no sense to free it from the attendant process. (cherry picked from commit 1e61bdc5bf0e52da5a9e2458395c4e2c716bcddb) 2018-03-30 Vlad Patrascu * [34dbea5c5] : sip_i: fix support for redirection related ISUP parameters Add missing parameters: Original called number, Redirecting number and Redirection information. Closes: #1323 (cherry picked from commit 08f5fa74bf3cc99fa7613362fb87f21db27cc492) 2018-03-22 Dan Pascu * [292b3fb85] : Fixed building release dependent debian packages on debian unstable/sid 2018-03-22 Dan Pascu * [ade2f9589] : Strip PATH from opensipsdbctl too for debian package 2018-03-22 Dan Pascu * [d77008535] : Fixed typo in debian rules 2018-03-22 Dan Pascu * [0308463dd] : rtpengine: Fixed compilation when PKG_MALLOC is not defined 2018-03-20 Liviu Chircu * [3a66b9cff] : mid_registrar: Properly initialize the "received_avp" This bug was caused by an incomplete backport, in commit 1c0ea020746d1. Reported by Sebastian Sastre on the users mailing list. 2018-03-14 Bogdan-Andrei Iancu * [18c63e774] : Removed bogus debug log (cherry picked from commit 5cd8e0eceb7c76e649d0558968a6f97396265ede) 2018-03-14 Razvan Crainea * [6f4ff3eca] : rtpengine: add transcoding documentation (cherry picked from commit 373c598286b2f49c08c5029134efb67fe40e6e0e) 2018-03-14 Razvan Crainea * [d9a6e25a1] : rtpengine: fix params passing doc (cherry picked from commit a12f6a84d4f89d6d18b6ec9afd7157113f067f4b) 2018-03-13 Bogdan-Andrei Iancu * [950ef508f] : Fixed update the len of the parameter strs. (cherry picked from commit 4c0c761ce570e16c117bb1e52db691c240b4bcfd) 2018-03-07 Razvan Crainea * [385b7f591] : acc: fix leak when assinging empty string to extra Many thanks to Pete Kelly for reporting and offering testing environment for this bug! (cherry picked from commit 8d68f03c4e55293d07e7d14d500e6345a15da662) 2018-03-06 Razvan Crainea * [30da4d097] : ratelimit: fix documentation Properly document which routes the functions are allowed to run into. (cherry picked from commit 06aa1ed8c2575029adb031fc3ceae31aaa4c0a27) 2018-03-06 Razvan Crainea * [fd3ae46e8] : cgrates: allow cgrates_cmd() from any route (cherry picked from commit f2f88f1bddbf0a0b0d52338582929ed34cb2c84b) 2018-03-06 Razvan Crainea * [cbb54283f] : httpd: make buffer a quarter of the pkg memory Exactly as it is described in the documentation. (cherry picked from commit 0c0679bd22943aef3f59591daffab4e8e24fba74) 2018-03-06 Razvan Crainea * [366726f0d] : topo_hiding: do not delete shm lumps from add_rm list These lumps can point somewhere in the middle of a shm lumps chunk, thus will result in a memory corruption error. Many thanks to Jonathan Hulme for providing testing environment! (cherry picked from commit 28254a2aa55520f1381862c3c5744699231aeab7) 2018-03-06 Razvan Crainea * [d83702b03] : dialog: fix previous commit warning (cherry picked from commit ff86066ea02fc4f90d445df89d0654e0cef777be) 2018-03-06 Razvan Crainea * [9c5e7bea5] : dialog: fix reinvite pinging make sure that pinging is properly engaged Credits go to Jonathan Hulme Closes #1082 (cherry picked from commit 552bd4e7a7770e8e23768b35cc00226bc4863cbe) 2018-03-06 Bogdan-Andrei Iancu * [090c017a0] : Removed wrong error message. If the counter does not exist, simply print NULL, do not throw an error (cherry picked from commit aa61326000c940dbc172d317b4c558536753f143) 2018-03-06 Bogdan-Andrei Iancu * [d99634e9f] : Fixed DB URL escaping. The ability to escape/encode DB URLs using %xy became a must with the auto generated user and passwords in the cloud envs. (cherry picked from commit 5b0bc1e30ebfc1e67f4967c3e66cfa7577ee5b58) 2018-03-02 Liviu Chircu * [bb4db566a] : F_MALLOC: Fix "last free" line reports when debugging If -DBG_MALLOC is in use, double free operations would report the "first free" to actually be the malloc operation, which is incorrect. (cherry picked from commit 234cf3967c7f6adf138a5b873e5f6d7040eba4df) 2018-03-02 Liviu Chircu * [cb42cd23d] : F_MALLOC: Improve double free error reporting (cherry picked from commit 9e9221802d51abe6fcb5bfadc51cbd75cbbf3658) 2018-03-01 Vlad Patrascu * [b413c7ae1] : xmpp: fix uninitialized warning 2018-03-01 Vlad Patrascu * [75351eb2d] : sql_cacher: fix supported column types to include blob (cherry picked from commit 1378b51bc9111233b5ed95d490235aae435127a3) 2018-03-01 Liviu Chircu * [1e527990f] : ut.h: Remove redundant memset() (cherry picked from commit 2944ba83b8c30ebd26381307289b871718bfb415) 2018-02-28 Bogdan-Andrei Iancu * [34f81b223] : Fix extra 1 byte being copied after removing param. I have no clue why that "+1" was there :-|. Makes no sense. Reported by Ben Newlin (cherry picked from commit f1ec655b053962edb5afe9a57ecd9cf81dc52f6d) 2018-02-28 Bogdan-Andrei Iancu * [37eab9a8c] : Extend the test for re-using pre-compiled regexp. A failure in compiling a regexp may lead to an inconsistent state, where the buffer is correctly populated, but the regexp pointer is NULL -> on next usage, the code will attempt to directly used (as the regexp buffer matches) the NULL pointer and crash. Reported by Ben Newlin (cherry picked from commit b77c1823ead3b61875e9f0dae1d57c9a6455135b) 2018-02-27 Bogdan-Andrei Iancu * [ab8488b70] : Fix dangerous \0 adding outside the str buffer. It is bogus to write a 0 outside the str buffer as (1) the buffer may be in data zone (so read-only) or (2) it may be in shm memory and an overflow may corrupt the memory manager Reported by Ben Newlin (cherry picked from commit 93cc348717f91ad3c31775b99e0d1863ffce84ae) 2018-02-27 Razvan Crainea * [b022ad5a7] : net: only start TCP workers if there are listeners Credits goes to Xaled for reporting this on mailing list (cherry picked from commit bdeb8ff131d23e38cbac68a65ce2f48dfe8c572d) 2018-02-27 Bogdan-Andrei Iancu * [be097b744] : Fix displaying the usrloc domains. Dropped the "records" parameters as there is no way to count in advance how many records we may have in a dynamic shared hash table. Renamed "table" attribute into "hash_size" as this what it display :P Related to #1265 (cherry picked from commit c9e7db08eab37f50814e57519de3ffd57fc20e8d) 2018-02-27 Bogdan-Andrei Iancu * [29fed3c6b] : Update the help messge. '-D' is not "do not fork" anymore, but enbles the "debug mode" Reported in #1295 (cherry picked from commit e472e528685d09f065bf0712838878ad1a1d5c72) 2018-02-27 Bogdan-Andrei Iancu * [734bb9a03] : Added docs for the probing_verbose module parameter. Reported via #1280 (cherry picked from commit ffa51f822516c813d3580b4c10f13debfe3ddc52) 2018-02-27 Bogdan-Andrei Iancu * [ce4eae9ed] : Added doc node about usage across differen top routes. Related to #1277 report (cherry picked from commit fefc33f107882f45b23b77013e8a9d3a21531da0) 2018-02-22 Bogdan-Andrei Iancu * [224c60dfc] : Fixed return code in del_uri_param() function. Avoid returning 0 if the param is not found, as 0 terminates the whole script execution. Reported by Ben Newlin (cherry picked from commit 6bd6d7128f4412fec2c038f9aa65f3005d4cc688) 2018-02-21 Bogdan-Andrei Iancu * [edded2f14] : Remove any capability constraints because of the used MODE. As we are not aware of the relation (if any) between the real DB URLs from the set, it is not correct to restrict DB capabilities based on the used MODE. Like if it is Round Robin, do not do UPDATE ever. Maybe the URLs point to the nodes of the same cluster. (cherry picked from commit 305a570f7dc48a8bb4ffd60f33b0df3438fd0246) 2018-02-21 Razvan Crainea * [0a092a5f3] : rtpengine: allow specifying 15 length options (cherry picked from commit baf4af90f249258bb8355630ca8b0c0ac46f6fd1) 2018-02-16 Liviu Chircu * [cabb4c082] : F_MALLOC: Recover from double pointer free This patch makes F_MALLOC more robust in production by avoiding memory corruption in case of double free operations. Previously, the hash state would immediately get corrupted on such operations, and it would only be a matter of time before the allocator would crash in some random place with a useless backtrace resembling: \#0 0x0000000000507209 in fm_remove_free (qm=0x7f7d578d2010, size=56) at mem/f_malloc.c:200 200 *pf=n->u.nxt_free; When DBG_MALLOC is defined, F_MALLOC will now abort() on a double free, similar to QM_MALLOC. (cherry picked from commit 2254d0011535d37d8aa05387d4d967d074d7b9d5) 2018-02-15 Liviu Chircu * [dbff249b1] : rest_client: Fix a string handling bug in append_hf() Issue reported by Pasan Meemaduma (cherry picked from commit 888d5e9b3f99423288a20065a2b90d28a9bb030e) 2018-02-14 Liviu Chircu * [b6d70e71a] : mid_registrar: Log the Call-ID on erroneous register forking (cherry picked from commit e9846467dc0afbe646dfac70190bdc019e45d64c) 2018-02-14 Dan Pascu * [6a101bf44] : permissions: Handle integer columns of different sizes in tables/views 2018-02-13 Razvan Crainea * [ac91c5732] : fix passing NULL values for route param (cherry picked from commit 25d6396eac8bd0bc96eab5d983c0d40f217cea72) 2018-02-13 Bogdan-Andrei Iancu * [42cba2c0d] : Fix pushing pure INT values into acc extra. Convert integer values to str if the val does not advertise any STR val. (cherry picked from commit 46e2dfa8dc520b31b465865013399cf6efc1454d) 2018-02-07 Liviu Chircu * [5e0f28b05] : cachedb_mongodb: Fix possible crash in counter add/sub (cherry picked from commit 8345ff29f816c012db4b149798d6c29d46c2b2fd) 2018-02-07 Razvan Crainea * [4b29ec62e] : ratelimit: create pipe in a generic manner Fix pipe init by merging the pipe create in a single, common function. (cherry picked from commit d6933ad99ccfa20edbd375155a4b8e06b4e495a5) 2018-02-06 Razvan Crainea * [549f1dc03] : cgrates: fix using $cgr without dialog Thanks go to Artem Chalkov for reporing on GitHub Fixes #1268 (cherry picked from commit d857d4b95a3c401d08dea5bd3d1ff158a7a6af6d) 2018-02-05 Ovidiu Sas * [1f5ead723] : rtpproxy: revert commit ee2731212303eb7055b3bd165464fe44fae05e7b - add comments to better explain logic behind code (cherry picked from commit ebbe49c50ce045a41b390198e3ee731450aaf600) 2018-02-05 Ovidiu Sas * [1e36fa1af] : nathelper: revert commit a45d4dcaf046bb273cfe5905ac035845a6867945 - add comments to better explain logic behind code 2018-02-05 Ovidiu Sas * [a45d4dcaf] : nathelper: manual backport for 3c39167e333a8801772f49f8561a015bfa1836f1 - fix test condition for updateing IP for fix_nated_sdp() 2018-02-05 Ovidiu Sas * [7eeb83e29] : rtpproxy: fix test condition for altering IP in SDP while forcing RTP (cherry picked from commit 55e9479b32c2d01a12a3278afb75b0fa520605c4) 2018-02-05 Bogdan-Andrei Iancu * [a71c679a5] : Fixed memory leak in TCP reporting via HEP Free the memory used by the reporting job after the reporting is done. 2018-02-05 Bogdan-Andrei Iancu * [ecea494a5] : Fix reverse_hex2int64() prototype As the computed value is an unsigned (as data size), it cannot be returned as int as it will overflow and get converted to a negative value. This will colide with the negative error ret code -1 (cherry picked from commit ed12eb97c06a23491c8b831124600361b0b63f2f) 2018-02-05 Bogdan-Andrei Iancu * [b3fa177d4] : Explicit reset of conn ID on error if reverse_hex2int fails, be sure the conn id stays 0. (cherry picked from commit a61fa8646e6f865b347b3e725c6362dc15d4e57b) 2018-02-05 Bogdan-Andrei Iancu * [bf0cbd05c] : Fix reverse_hex2int() prototype As the computed value is an unsigned (as data size), it cannot be returned as int as it will overflow and get converted to a negative value. This will colide with the negative error ret code -1 Reported by Daniel Zanutti. (cherry picked from commit 095dc57300b9665b090e999a540db8b391f8d22e) 2018-02-02 Liviu Chircu * [dd9354f03] : mid_registrar: Allow REGISTER failover This patch fixes mid-registrar's callback logic to properly work when a failure_route is in use. (cherry picked from commit 075dc9ba8bbd02055ab4cb10a54de5a7ab8c79be) 2018-02-02 Liviu Chircu * [6a9f4c6cd] : ut.h: Minor additions * add shm_str_sync() and shm_str_clean() * improve robustness during error states (cherry picked from commit 664aee60dabb0f9a4454b0d4a090d81c6b7a6fc4) 2018-02-02 Vlad Patrascu * [e7f4ba44a] : event_flatstore: return proper error message for evi_flat_rotate (cherry picked from commit 47aa5f7a464f6c70e803f10e17eb8d841a5dffd3) 2018-02-02 Vlad Patrascu * [6fb9a1205] : event_flatstore: fix some locking issues (cherry picked from commit e340e70cfaf0762e81b94b896144cb636398022e) 2018-02-02 Vlad Patrascu * [1af634a1e] : event_flatstore: fix possible crash when subscribing (cherry picked from commit c4d113a927890bc09b00e5263f44329c4d71099a) 2018-02-01 Razvan Crainea * [71f8d6354] : cfg: fix error reporting for unenclosed scriptvars (cherry picked from commit adfc62b55cc2ada7ccac78bdaeab3bbdd47e5abf) 2018-02-01 Razvan Crainea * [336efdc1b] : json: merge json detection into a common dir re-arrange code to be able to merge json(-c) library detection into a single common directory (cherry picked from commit 3e71fd6f709e363144b9db7805686bb952179e29) 2018-02-01 Björn Esser * [9719ff84c] : modules/json: Improve readability (cherry picked from commit 5220f6ae29574f42a95d43f37b0cc1df8b9b203a) 2018-02-01 Razvan Crainea * [3ca4c9fb5] : json: rename some variables and change C99 comment (cherry picked from commit d3def25caeea44d7f97defaf9ccfb6bcce2c67d2) 2018-02-01 Björn Esser * [8c200b84c] : modules/json: Properly detect json-c version and adaptions for v0.13 (cherry picked from commit 57ae84b2d8b2e0af1a66d529e4e94b21f3df319d) 2018-02-01 Razvan Crainea * [15beebc98] : ratelimit: replicate the current counter for SBT (cherry picked from commit 08bc17915bc113ee045f8a6d37257450a199c753) 2018-01-31 Razvan Crainea * [e3fa6952f] : pvar: fix $hdr() to allow variable headers (cherry picked from commit b7862ccdd5290ebd8d41e2f5b0aadc6e93f1e8dd) 2018-01-31 Razvan Crainea * [84a8efc25] : tls_mgm: fix doc for client_domain_avp (cherry picked from commit c71021e84f7ac9cca3116b13f354aa91072fe4c5) 2018-01-30 Razvan Crainea * [1fa34b4cd] : dialog: fix README to reflect actual event params (cherry picked from commit 6243d57bab3918b2714cdfd1ff509a89fa324f5a) 2018-01-18 Razvan Crainea * [73eb19c1d] : update ChangeLog for 2.3.3 =========================== Release 2.3.3 ============================== 2018-01-18 Liviu Chircu * [95f81bb87] : usrloc: Fix broken contact_id generation Commit b2554c3c3a actually broke contact_id generation during replicated usrloc contact inserts. We now ensure all registrar insert_ucontact() calling code passes on a zeroed "ucontact_info_t" struct, such that new contact_ids get properly generated with every call. Reported by @sekil on IRC (cherry picked from commit 8d3daae21d32c703b883d3f665a5c37fe3c17e20) 2018-01-17 Razvan Crainea * [fdd5c0ba5] : Bump version to 2.3.3 2018-01-17 Razvan Crainea * [90774364b] : rtpengine: handle POLLHUP while draining Thanks go to Pete Kelly for reporting this (cherry picked from commit 151c1cf0e7b0b600a7ce2ec2807738aec214b607) 2018-01-17 Liviu Chircu * [34da7a773] : xlog: Fix a series of issues * properly report xlog() success/failure at script level * differentiate between xlog errors (-1) and HEP errors (-2) * do not cancel logging because of HEP errors * remove bogus error log * hint at 'xlog_buf_size' if the print string is too large (cherry picked from commit 95ab8c05f7f34d83267fc8950367d98ac8e9e3b9) 2018-01-17 Liviu Chircu * [b00e6ffbe] : mid_registrar: Fix an AoR throttling bug Do not apply min/max "expires" module limitations when computing the main registrar's contact expiration value. (cherry picked from commit 0d1bc44237b8046b7ea0fb34c9806806c913de2d) 2018-01-17 Liviu Chircu * [66a0cd5d2] : mid_registrar: Fix unsafe strdup operation (cherry picked from commit 14baedfbd23cd513347d46f3a4412e3e3aad1adf) 2018-01-17 Liviu Chircu * [6894b3ce3] : mid_registrar: Improve the advertised socket logic Instead of blindly advertising the first UDP interface in the self-generated, outgoing Contact URIs, the mid_registrar is now aware of the next SIP hop and properly advertises the actual sending interface which will be used. This includes any forced send socket logic at script level. (cherry picked from commit 7bafce982b1c7a2416025fed6b04b4d9dffc5b0a) 2018-01-17 Liviu Chircu * [f48a0cc90] : mid_registrar: Fix unused variable (cherry picked from commit 3acaf2e92a74cd8b13539eb75cf45a5edcc352ae) 2018-01-17 Liviu Chircu * [dbfc155d9] : mid_registrar: Fix a PKG memory leak Although the TMCB_RESPONSE_IN callback provides a reference to the initial request during reply processing, this sip_msg must not be parsed (i.e. passed to parse_headers()), otherwise we leak PKG memory, since parsing is PKG-based, while the request buffer is copied in SHM. The current workaround for mid_registrar is to immediately duplicate all contact-related data we could possibly need, should the contact successfully register on the downstream registrar. This copying takes place during request processing. Once the reply arrives, we only make use of this info in order to store the contact in usrloc, and barely even use the "req" sip_msg provided by tm. (cherry picked from commit 86628e6d418ed72d159ebb1b055b86daca0c4f6e) 2018-01-17 Liviu Chircu * [370705422] : Add a "struct ucontact_info" logging function (cherry picked from commit a2dd10a49b2557c1343cd87c364a1144e9ea7118) 2018-01-17 Liviu Chircu * [59f98e968] : mid_registrar: Never parallel fork in "mode == 1" This patch fixes a subtle bug where a "mode == 1" mid-registrar would parallel fork to a random number of contacts by walking the remaining "->next" values of the currently looked up contact. (cherry picked from commit 02b114902dc91ea3a1f2dfc36d00658150cb9946) 2018-01-17 Liviu Chircu * [2adf24ff2] : mid_registrar: Update docs (cherry picked from commit fee1ccb72bc62823259dedfaccd5a262c8dbd1e3) 2018-01-17 Liviu Chircu * [d3bcf482b] : mid_registrar: Restore "default_expires" and "max_expires" These registrar modparams were left unmaintained / ignored during development. However, they are still valid and completely separate from "outgoing_expires". The former two params control ingress expirations, while the latter one controls egress expirations. To match the newly introduced defaults, we also increase the default "outgoing_expires" from 600s to 3600s. (cherry picked from commit 67c31603e2215bca6211bcaaa4b0682d9325fa18) 2018-01-17 Liviu Chircu * [478637e0e] : mid_registrar: Fix a CSeq bug in mode == 1 Contact updates would not also update the last cseq value. This, in turn, would lead to SIP-wise incorrect self-generated de-registrations. (cherry picked from commit 7bcf0323369587ae0f153de1f7a87c7f85aefd4d) 2018-01-17 Liviu Chircu * [16bd2dd27] : mid_registrar: Restore reply contact mangling The contact rework commits have rendered the restore_reply_contacts() function obsolete, thus the contact headers were propagating upstream unchanged. We now rebuild the reply contact set in all modes by using build_contacts() Thanks to Răzvan Crainea for spotting the issue (cherry picked from commit f298587d6277d28e01ab26f64655a8b5d1bcf100) 2018-01-17 Liviu Chircu * [a8b63f5a7] : usrloc: Fix bad comparison Also complete commit d3790e6c Reported by Răzvan Crainea Fixes Coverity CID #180087 Fixes Coverity CID #180093 (cherry picked from commit 0124344f9733a123753435367525ec9f56e06f1b) 2018-01-17 Liviu Chircu * [695e7d430] : mid_registrar: Fix CSeq handling for De-REGISTERs Keep track of outgoing CSeq values and use this value during self-generated de-registrations, rather than using the tm's built-in default CSeq value of "13". (cherry picked from commit 016da2f7f31b764da5dcce1d4189b8f9ef77b5cb) 2018-01-17 Liviu Chircu * [1c0ea0207] : mid_registrar: Fix NAT issues in "contact" insertion mode This patch completely reworks the saving/matching logic with regards to the SIP contacts generated by the mid-registrar. It is only relevant to working modes "0" (mirror) and "1" (contact throttling). The former logic (encoding the requests's Contact as a URI parameter of the outgoing contact) was somewhat stateless, as it would forward requests to the mid-registrar's contacts directly to their actual Contact URIs (UA side). When NAT comes into play, this no longer works well. Fortunately, the user location already handles this problem. Thus, we change the mid-registrar to advertise contact IDs instead of the device's contact. As requests arrive for the contact IDs, we are easily able to look up their corresponding user location AoR, contact, along with any other useful information for NAT traversal. (cherry picked from commit 7e190a8b1cdcdfe66afe9eea4b0be4c75f275a89) 2018-01-17 Liviu Chircu * [512acb13b] : mid_registrar: Fix possible crash in mirror mode (cherry picked from commit 8c46ab3cad07029a1e78fdb1d57300247c00c4eb) 2018-01-17 Liviu Chircu * [3a079a756] : usrloc: Add urecord reference counting mechanism This mechanism is required by the mid-registrar, which needs to "reserve" contact IDs while the main registrar decides upon them. This means that a blank urecord structure must be kept alive during this process. By reference counting the blank urecord structures, we prevent them from being cleared by the timer before the outgoing registrations get a chance to receive a reply. (cherry picked from commit ad274fad9a6fd072737d45230a0c297d0e4b9329) 2018-01-17 Liviu Chircu * [b2554c3c3] : usrloc: Allow forced IDs during contact inserts (cherry picked from commit 7d4894943ad522406d1f2cb9231821c91f423562) 2018-01-17 Liviu Chircu * [f47d185e0] : usrloc: Add some useful API functions * get_ucontact_from_id() - fetch both ct and rec from an id * next_contact_id() - fetch and advance the current ct counter (cherry picked from commit 15a5067b2d493c273842b723199d42c695a1b93f) 2018-01-17 Liviu Chircu * [3894087d5] : Add str2int64() parsing function (cherry picked from commit e9be01680557a030c5fd6346299f5db663467018) 2018-01-17 Liviu Chircu * [520b4d4d3] : Fix int2str() function signature Although implemented to be able to print 64-bit integers, int2str() downcasted all of its parameters to an "unsigned long" type, thus breaking behavior on 32-bit architectures. (cherry picked from commit a5d633924fc78cd4d9999a727ab529cb1bf50405) 2018-01-17 Liviu Chircu * [99432b1a9] : usrloc: Fix locking for contact_id-based deletion The delete_ucontact_from_id(), get_ucontact_from_id() pair of functions were masking possible code execution paths which would lead to unsafe memory access. This, in turn, would cause the ping_checker_timer() job of nathelper to occasionally crash and burn. Reported by solo@astercc.org. (cherry picked from commit 18a93c89aa1c32498689a6f6dd09911272c18896) 2018-01-17 Liviu Chircu * [8d139f375] : usrloc API: Make get_urecord() more robust Zeroize the output pointer if record is not found. (cherry picked from commit d4967201bf4243646eef0a92be1c37dff0aba29d) 2018-01-16 Razvan Crainea * [96452b15a] : compression: fix memory leak due to whitelists Thanks go to Nick Altmann for reporting this Closes #1252 (cherry picked from commit d33253b6bdf4561f2a978fc093992d72a87773fb) 2018-01-16 Bogdan-Andrei Iancu * [50735b935] : Fix RURI len calculation after removing param. Reported by Denis Lemire 2018-01-16 Razvan Crainea * [4657dd58d] : net_tcp: remove fd from reactor before cleaning up (cherry picked from commit 8c5651be24edfc3aef8478089fb7c6495638b5a9) 2018-01-12 rvlad-patrascu * [c30e59221] : Revert "sql_cacher: do data loading for full caching in the first child process" This reverts commit ca2f6633ed9d8fafa15a8a10c10471f3ac99cfaf. 2018-01-12 rvlad-patrascu * [ef81f3be9] : Revert "sql_cacher: fix data loading from previous commit" This reverts commit 7e475405e9729077e6d813eb98a081847ccb37e1. 2018-01-12 rvlad-patrascu * [7e475405e] : sql_cacher: fix data loading from previous commit Fix backporting of previous commit and do data loading in the child_init function as the IPC framework doesn't have the ability to send RPC yet. 2018-01-11 rvlad-patrascu * [ca2f6633e] : sql_cacher: do data loading for full caching in the first child process Speed up OpenSIPS starting sequence by doing the full caching data load in the first process, after child_init is done (via RPC), instead of during module init. (cherry picked from commit 71960b917deef997799c2abbd80cae2182642341) 2018-01-11 rvlad-patrascu * [bfa1df2a2] : sip_i: small doc fix for add_isup_part function (cherry picked from commit 0b06e6ee3346dd60c5837c982608531e06d53416) 2018-01-11 Razvan Crainea * [7d6f2fc6a] : msg: properly compute the initial body size Also initialilize the body structure in case there is no body in the message. Thanks go to Aqs Younas for reporting it 2018-01-11 Razvan Crainea * [a3b192739] : protos/tcp: respect async operations order In case there is a write request, before actually writing the data on the network, check if there are any async chunks left, and make sure they are sent before any other write happens. This is necessary to make sure the order of the packets is respected, otherwise we might end up with fragments of other packets in the stream. Thanks go to Vlad Patrascu for reporting and testing this. (cherry picked from commit 5773e65b9058643191544763e0f5ff26f5a7fb3b) 2018-01-11 Bogdan-Andrei Iancu * [8bf502c7f] : Fix TO parsing when there is a comma inside a quoted display/value This bug was introduced during the re-factoring of the TO parser to support multple body parts - see 908b9f190bff3b356f76ce8ca75d43a2c149a412 Reported by Tito Cumpen (cherry picked from commit 769fb3c5913c9d7e583c4cdbdf26aae82cdaa205) 2018-01-11 Bogdan-Andrei Iancu * [d448ab6e3] : Fixed parameter passing for dr_is_gw(). If partitions are not used, do a logic shift for the parameters with one position to the left to compensate the missing partition param. Reported by Jonathan Hunter (cherry picked from commit 963f05169c18abd9b2ccdf26170e08628a54becb) 2018-01-09 Razvan Crainea * [f71f6f3b0] : pike: enforce remove latency to at least sampling_time_unit + 1 This prevents UNBLOCK events from being lost. (cherry picked from commit cf190a95515def67333aeab2ab5b74629ed74d22) 2018-01-09 Razvan Crainea * [730d1b0aa] : msg: remove extra bytes from malformed bodies This commit fixes an abort() generated by the message builder when a malformed message is received that has a Content-Length lower than the actual body. Thanks go to Jon Hunter for reporting this issue and offering all necessary information for debugging it. Closes #1244 (cherry picked from commit fecb4b244c3cf84435af03db88bfd88002a69177) 2018-01-05 Bogdan-Andrei Iancu * [a3b332ca4] : Ignore tracing types which are not recognized. Instead of exiting with error and abording the whole tracing, better simple ignore the unrecognized tracing types. (cherry picked from commit c6c937d1e7e2fc14339de79590c49455bfe4eaf7) 2018-01-05 Liviu Chircu * [aa81c6721] : rest_client: Fix a rest_post() regression bug Commit c549e6ec added an unnecessary libcurl option which caused the HTTP headers to be logged into the output body pseudo-variable alongside the request body when performing a rest_post(). This patch disables the above-mentioned libcurl option (CURLOPT_HEADER). Reported by @goharahmed on GitHub. Fixes #1247. (cherry picked from commit 91d7e7f4bc44857b6649dcbfd48b0ad9decf902c) 2018-01-05 Bogdan-Andrei Iancu * [4f35c99a0] : Fixed expantion of shm_info() for HP_MALLOC Reported by Nick Altmann Closes #1240 (cherry picked from commit cec2d66b72a1c65cd3c7fa0276211aa8566cc268) 2018-01-05 Liviu Chircu * [5f8f3e1f6] : menuconfig: Fix a PREFIX handling bug This patch fixes a bug where menuconfig corrupts the Makefile.conf PREFIX variable value by incorrectly trimming the last char in an attempt to ensure that the value has a trailing '/' char. This would happen each time the user launches menuconfig and chooses "Exit & Save All Changes". Reported by @Jeffrey2019 on GitHub. Fixes #1248. (cherry picked from commit aab1ec7e0dcefdef173e327cd35a857895ad3a75) 2018-01-03 rvlad-patrascu * [dfe4cd43e] : dialog: fix a clusterer module registration bug Bad cluster id provided to the clusterer module when only the accept_replicated_profiles parameter was defined without accept_replicated_dialogs. Thanks go to Nick Altmann for reporting this. Closes #1243 (cherry picked from commit 9bb8021e257fe5db8a9be086fe41931e9b8741c3) 2018-01-03 Bogdan-Andrei Iancu * [f9b26fbc8] : Improve docs on db_url setting (cherry picked from commit f7216003b5d19a80fbf115987c9b4f8b4f43bc5e) 2018-01-03 Bogdan-Andrei Iancu * [7dbb7c7dd] : Fixed handling of TTL 0 in DNS answers. RFC1035 states : "Zero TTL values are interpreted to mean that the RR can only be used for the transaction in progress, and should not be cached." Reported by Marcin Luczkiewicz @ Magrathea Telecom (cherry picked from commit b4d74ebd5fee055065e2e400f10c97a8bad3d9dd) 2017-12-22 Razvan Crainea * [01c078df2] : dispatcher: restore URI headers check from prev. commit (cherry picked from commit 6b2ad1fe3f37ccb5aa0b7fc4da6676278baacedb) 2017-12-22 Razvan Crainea * [74c5e9c32] : dispatcher: fix TCP and TLS destinations Before this commit, the structures used internally to store the destinations URI were not storing the URI parameters - since these were dropped, URIs that contain TCP or TLS transport would be involuntary converted to UDP. This fix also stores the provisioned parameters in the dst_uri. Closes #1227 (cherry picked from commit 575a1b15936bdc306e00ca01c8534567201d13a9) 2017-12-21 Razvan Crainea * [8f4a31818] : dialog: don't mark new dialogs as deleted (cherry picked from commit e845b37a598d6315b68c4063528b8c72496ce23c) 2017-12-21 Liviu Chircu * [774653190] : cache_counter_fetch(): Fix bogus error handling (looks like a copy-paste bug) (cherry picked from commit 9a19ff96a2c7db4c544c20065c1c90bb2a5e8aae) 2017-12-21 Liviu Chircu * [1f41367d0] : cachedb core: Fix a minor mem leak (cherry picked from commit 1f3a0a3358d13cdfab9e844790ac58711be6ef99) 2017-12-21 Liviu Chircu * [11e4181e6] : db: Fix a minor mem leak (cherry picked from commit 8b6884e98e8b4cbabcd3218f8b7a73864a07fc95) 2017-12-20 Bogdan-Andrei Iancu * [03cd65c9f] : Fixed error message. Properly report the hdr name (PAI or PPI) when hdr fields validation fails (cherry picked from commit 30d47e65835bacc766ae05257ef50df2e9420468) 2017-12-20 Bogdan-Andrei Iancu * [1702ebe44] : Remove some heavy log (instroduced with the prev commit). (cherry picked from commit ef89e181ff7cb8274b12d0a34aff74e0ae5a3a4a) 2017-12-20 Bogdan-Andrei Iancu * [a6ee57698] : Use as OBP the first PATH URI. If PATH defined, when injecting a new branch, extract the first PATH URI and use it as destination. Reported by @futsystems in #1235 Fix for problem 1. (cherry picked from commit f78926432f1beb3594fd1fd72e64407a5b0ad1b7) 2017-12-20 Razvan Crainea * [b2ce0c2ed] : debian: let debuild figure out mysql dependencies Reported by Nick Altmann (cherry picked from commit 5916511339e638ff301ad7556c2ef8f4cb7f36bb) 2017-12-19 Bogdan-Andrei Iancu * [c57bd60af] : Fix validation for PAI, PPI and Diversion headers These headers must be parsed as multu-field headers Also for PAI and PPI we apply extra checks as per RFC3325. Close #1134 Close #1228 (cherry picked from commit 69ef92cd9f74020da5398eab0f81668bb8e12281) 2017-12-19 Bogdan-Andrei Iancu * [9ae04214b] : Fix hdr parsing to accept multi-value bodies. The parser for Diversion, PAI and PPI use now the parse_multi_to() in order to handle multi name-addr/addr-spec hdr bodies. (cherry picked from commit 908b9f190bff3b356f76ce8ca75d43a2c149a412) 2017-12-19 Bogdan-Andrei Iancu * [25c30561b] : Refactor generic parse_to() to accept multi-value headers. New function parse_multi_to() added to allow parsing of multi-value (comma separated) name-addr/addr-spec headers (like Diversion, PAI, PPI). Changes are backward compatible in regards to original parse_to() function. (cherry picked from commit a7e724a09c01c78a5f3c303d2966a55883eaffeb) 2017-12-19 Razvan Crainea * [781e1b372] : deprecate epoll_et and use epoll_lt instead epoll_et needs draining the socket out of data, which behaves against our balancing mechanism. (cherry picked from commit cbfef48c726bd4679f7f63df83250523101068f6) 2017-12-19 Razvan Crainea * [04a0192ee] : acc: fix prepared statements for non-ctx records In case one is doing a "manual" acc_db_request() in local route, where you don't have a context, there are not extra values available, thus we need to use a different prepared statement. Credits go to Pete Kelly for reporting this (cherry picked from commit a250191728b761cdfb18fe37d2625e94623918f7) 2017-12-19 Razvan Crainea * [5047ff98f] : ratelimit: improve expire_time parameter doc Kudos the Ecosmob team for reporting this! (cherry picked from commit 49805a1c0a6ca1a59de1d6b0298e3288bca9b45f) 2017-12-19 Razvan Crainea * [880d628e2] : ratelimit: improve documentation on rl_check() Consider using rl_dec_count() for declined calls. Credits go to Ecosmob for reporting this. (cherry picked from commit 0124e7f28ad8fd04f9d8f7f3d555568c21fa3b28) 2017-12-19 Razvan Crainea * [801cbca4b] : ratelimit: fix slot_period documentation slot_period should be expressed in milliseconds, not milliseconds Kudos to the Ecosmob team for reporting this! (cherry picked from commit f932cc4c02d34bcc725ee0a3659343bdee0afd5e) 2017-12-15 rvlad-patrascu * [68ea1c250] : sql_cacher: complete mem leak fix from previous commit (cherry picked from commit 5923267fb67200562bcae1662878d3024106613e) 2017-12-15 rvlad-patrascu * [2b266f328] : sql_cacher: fix memory leaks when loading from SQL on demand (cherry picked from commit 5179bc2f97b65236dddfe59cc9c6795e4a1bde36) 2017-12-15 rvlad-patrascu * [fe22adbcf] : sql_cacher: fix possible crash when loading from SQL on demand Elements from the list of queries in progress are now properly removed. (cherry picked from commit 6aef8347bbfaf5bec21455abc0baa4024faf55d6) 2017-12-13 Razvan Crainea * [2ae87c644] : dialog: fix error typo (cherry picked from commit 49bb70dd1a018efe04e9640778bb295f8ad2665c) 2017-12-13 Razvan Crainea * [4371208a6] : disable EPOLLEXCLUSIVE due to bogus behavior (cherry picked from commit 3596efdc004b1ab9241cb6e235477cb4c7e11eff) 2017-12-13 Razvan Crainea * [f6ceb3ea9] : clang: fix blacklist bitwise check warnings (cherry picked from commit e37be3ab2f8c985c2e59323f8dfcc22153695e51) 2017-12-12 Bogdan-Andrei Iancu * [ca96dd653] : Fix README file local:group2///collection2 Cache DB URL is broken in example. 2017-12-12 Bogdan-Andrei Iancu * [87025cc92] : Fix ambuguity in cache DB URL parser. Do not accept URLs like schema:group//.. ; Correct format is schema:group://.. or schema://.. 2017-12-08 Razvan Crainea * [b24672a4f] : rtpproxy/rtpengine: handle error while draining (cherry picked from commit 5ae5daecbd13b3ec0565a68bc93c45a61b740546) 2017-12-07 Razvan Crainea * [8da763af6] : ip.resolve: null terminate queried string Thanks go to Nick Altman for reporting this! (cherry picked from commit f0fcf326ccd240b9b3de7d8e9f83aa82e8e12662) 2017-12-07 Razvan Crainea * [0082cf93a] : Revert "ut: fix *_strdup() functions" This reverts commit 99acfd150eefb43813e562784c17f79e770024af. 2017-12-07 Razvan Crainea * [99acfd150] : ut: fix *_strdup() functions (cherry picked from commit 595c91590cbbb3eed3ba789d689281c7088f0ffe) 2017-12-06 Razvan Crainea * [0d62b1296] : add interface name only if specified (cherry picked from commit 27de1916851ffc7d4208b5db119c0036170b1f56) 2017-12-06 Razvan Crainea * [a13d6d76b] : add support for '*' keyword for listeners Using this feature you can specify opensips it should listen for a specific protocol on all interfaces. The syntax is: ``` listen = udp:*:5060 ``` (cherry picked from commit 4b39b578d430d49301a7d3fcf2f13d1bcc52a962) 2017-11-24 Liviu Chircu * [2c92b923a] : cachedb_mongodb: Start OpenSIPS if ":port" URL part is missing Reported by Răzvan Crainea (cherry picked from commit 70eea5c61b3262c2fd182cf82ec9da8df6b4e259) 2017-11-24 Liviu Chircu * [2eaef62bc] : mid_registrar: Fix an AoR throttling corner-case If the main registrar omits the Contact in the 200 OK reply, it could possibly crash the mid registrar. Reported by Răzvan Crainea. Fixes Coverity CID #180107 (cherry picked from commit d3790e6cdd77d4a180189f27f617c99c2f6b1b81) 2017-11-23 Razvan Crainea * [450c3bb3a] : rtpproxy: fix rtpproxy_stats() fixup for more params Thanks go to Lt-Flash(github) for reporting and providing the fix Closes #1219 (cherry picked from commit 5e1568660007d3b45911301764caeebf6933d09b) 2017-11-22 Razvan Crainea * [e7d6aba8f] : packaging/debian: merge master changes 2017-11-22 Razvan Crainea * [514206800] : packaging: sync debian and redhat_fedora service files Thanks to Nick Altman's suggestions (cherry picked from commit ef82312cbef3ba944df546eaee25b49659df899a) 2017-11-22 Razvan Crainea * [fc8f87c11] : debian: add m4 support in systemctl (cherry picked from commit f562251d91a8a57e662db513e2d393a1f9de2884) 2017-11-22 Razvan Crainea * [2f8e3100c] : debian: add lsb-release dependency Suggested by Nick Altmann to fix stretch and xenial build errros (cherry picked from commit 069a8f6d187b8b714da40783554d02db31d8319e) 2017-11-22 Razvan Crainea * [1ab7d29b0] : move all debian files in a single directory (cherry picked from commit d4fdc854fc337e6749b2c17ad376b4b8827a2651) 2017-11-21 Razvan Crainea * [4f0558c20] : Merge branch 'lemenkov-mariadb_unnecessary_include' (cherry picked from commit 63042c9221e596556233f7fc1b174cc30f6cfb8b) 2017-11-21 Razvan Crainea * [f55b58ad2] : couchbase: fix multiple hosts usage Closes #1216 (cherry picked from commit c23ad230af545e2ed9a153a0f4a4e5c3998f16f3) 2017-11-21 Razvan Crainea * [3dba6912b] : couchbase: fix LIBS in Makefile (cherry picked from commit 56490e4e325bab1714be516c88f3627a558e5f4d) 2017-11-16 Liviu Chircu * [823044b45] : usrloc: Fix bad logical condition Reported by Răzvan Crainea. (cherry picked from commit a644f1b370d61e60b2f4de20c9728564d8d8a06d) 2017-11-09 Razvan Crainea * [93eb6599e] : rtpengine: do not use replace bson for delete Prevent the module for using replace-* attributes for any other operation than offer or answer. This allows you to use the rtpengine_manage() function easier. Reported by Edwin Hoff (cherry picked from commit d67fbb9809427cc4087563bbbebf556420f1f330) 2017-11-09 Razvan Crainea * [b72d2272a] : db_sqlite: let the DB interface determine the capabilities This prevens the module from advertising bogus capabilities - in this case the sqlite module was saying that it has the ASYNC RAW queries support, although it didn't. Reported by Wilhelm Lundgren on list (cherry picked from commit b9ca13a643e4c21aeba1fa9d88c57a054a290f64) 2017-11-01 Liviu Chircu * [7581bd575] : doc: Fix formulas for FS-driven routing Also add a useful example (cherry picked from commit 18e95e6e96cb01a1c261eef635ae89a2d5edd9b1) 2017-10-27 Liviu Chircu * [53a271eb4] : clusterer: Add "proto_bin" module dependency (cherry picked from commit fbb54143ec90fe944051a4b05e2e142aa593f911) 2017-10-27 Bogdan-Andrei Iancu * [e5a32e360] : Fix creating the profiles list in the dlg_list_ctx MI command The profiles are not array, but list as they have different names for the nodes.Reported by Vladimir Dubov (@vovad) Closes #1166 (cherry picked from commit 60d161d447ccf082aa1be7fbb2261c5548dcd3bf) 2017-10-26 Bogdan-Andrei Iancu * [420d13296] : Fixed trace URI identification for the non-SIP protos. In the e59a7399e982ef58a7a12ffb53d8aa8432f537ab commit, I broke the hash based matching logic, so tracing for non-sip (xlog, net, rest) was affected. 2017-10-25 Liviu Chircu * [3ed8010e7] : mid_registrar: Add "next hop" awareness The mid_registrar must preserve the values of both $ru and $du, in order to replicate the same behavior for its De-REGISTER requests. (cherry picked from commit 3a1d8053357b5ac4d84bc5de89ca0059af9cdc28) 2017-10-25 Liviu Chircu * [1c55866d9] : mid_registrar: Fix crash on missing Contact ";expires" Correctly process contact expirations on 200 OK replies in "db_mode = 1". Reported by Jim DeVito. (cherry picked from commit fc5762694201ebe4902d027e8daeaf29047a2a8a) 2017-10-24 Razvan Crainea * [119c841b0] : db_virtual: fix previous commit (cherry picked from commit f53a74f5a6d572d69fa7439a3762ca6c3faba751) 2017-10-24 Razvan Crainea * [9b1cd8aee] : db_virtual: provide DELETE capabilities for ROUND mode (cherry picked from commit 4c7cbb7e06183b318393977f993b0ff31508cd4c) 2017-10-24 Razvan Crainea * [f25fbf631] : db: do not compute capabilities Do not compute capabilities for modules that pre-populate them. This fixes an issue where the db engine was overwriting the db capabilities of db_virtual. Thanks go to Jonathan Hulme for reporting and providing testing environment (cherry picked from commit 0527560978028de80a51343714429e5a3d923919) 2017-10-19 Bogdan-Andrei Iancu * [77683dda3] : Fix init of the cachedb related module params Init val_prefix, noval_prefix and size_prefix before general cachedb init. Credits go to @Tinet-AaronAn Closes #1203 (cherry picked from commit ec8d6a982a93d96fec8683426d2107bda67de66f) 2017-10-17 Bogdan-Andrei Iancu * [862ec4f03] : Improved explanation on the "port" parameter. The port parameter sets the default port for the protocol, affecting both listeners and sending URIs. (cherry picked from commit e67a055fc8c3481dd6189d3d412f69dac1a20842) 2017-10-17 Bogdan-Andrei Iancu * [bdc1d68e5] : Fix escaping URI parameters - skip alphanumerical chars. Reported by Ben Newlin on "user" mailing list. (cherry picked from commit b5094f0dc6a4f52555f9cca1ea9df7c846749482) 2017-10-16 rvlad-patrascu * [18a9ad19a] : dialog: also share module flags when replicating dialogs (cherry picked from commit ad35e7cedc44efd90c58f26a853585ece5883bac) 2017-10-16 rvlad-patrascu * [3d3c27aec] : dialog: fix a runtime bug with DLGCB_LOADED callbacks Relying on the fact that all modules that register dialog callbacks are initialised after the dialog module (thanks to module dependencies), we can run all DLGCB_LOADED callbacks at registration time and also keep them in a list for calling them later (i.e reloading from database via MI cmd or receiving replicated dialog). This fixes a series of bugs where the DLGCB_LOADED callback is not run during, e.g. "dlg_db_sync" MI command or received replicated dialogs which do not have their callbacks installed or run. (cherry picked from commit 8c8f27f6091289061f6aaf0d3c85ccd27db80a0d) 2017-10-13 Liviu Chircu * [9cf184ec7] : drouting docs: Clarify behavior for the gateway "type" parameter 2017-10-13 Liviu Chircu * [0003db957] : dns_cache: Avoid incorrect error logs during startup (cherry picked from commit 5c4db4f320cef56bb91f17629e259711c706eacd) 2017-10-12 Liviu Chircu * [289901940] : proto_hep: Fix pkg memory leaks (cherry picked from commit 6f54f780d20e84a4fb029f12b0d3f3129b0b2810) 2017-10-12 rvlad-patrascu * [c3ff507ef] : acc: fix possbile memory leak when calling do_accounting() on CANCEL while "report_cancels" modparam not set (cherry picked from commit aa32bf1b6909c8471eea8c2170a3a2a3f94be1cf) 2017-10-10 Liviu Chircu * [8035f95bf] : drouting: Fix verbose log line (cherry picked from commit b10b142378a18a302360f56de495efead509f3c0) 2017-09-25 Răzvan Crainea * [111417b2a] : Merge pull request #1195 from etamme/master check if trace id node exists before de-reference (fix segfault) (cherry picked from commit 675164c747e4f538dfa34fcdfb46b9adbf3567e4) 2017-09-21 Bogdan Andrei IANCU * [1017327e4] : Merge pull request #1168 from sippy/master_freebsd_fix Fix some minor build issues on FreeBSD (cherry picked from commit bf1c6de3c7ec7aae74df3fe6f5a753f5cf2488ee) 2017-09-21 Bogdan Andrei IANCU * [69e4a9436] : Merge pull request #1191 from etamme/master fix memory leak in cpl-c write_to_db (cherry picked from commit 2a64a1455d63fdabf9d9130811d2932e245afd1e) 2017-09-21 Razvan Crainea * [9970f3abb] : add sqlite for jessie and wheezy Fix provided by Nick Altman (cherry picked from commit 6c1a79d291af802d0b7115b15582b068acfe18d5) 2017-09-15 Razvan Crainea * [8a17c82ce] : siptrace: allow capturing on any port reported by Eric Tamme from OnSIP (cherry picked from commit b7f9ca3316f4d6c740fc62599a55bae97026efbd) 2017-09-14 Bogdan-Andrei Iancu * [9e497ea4a] : Fix bogus error message (probabaly copy paste error) Credits for the fix go to Michael Mavroudis. 2017-09-13 Razvan Crainea * [6b3ba3c7e] : proto_wss: release lock even if write fails Detected and fixed by Eric Tamme from OnSIP (cherry picked from commit 99af2fc44f0b8216bdbe7320d41adb208144ada0) 2017-09-13 Razvan Crainea * [cf9c0f17e] : proto_wss: write all TLS chunks under a single lock Reported by Eric Tamme from OnSIP (cherry picked from commit e113e147c71b2fa4f84bed3621b91d1ed1de38f6) 2017-09-12 Razvan Crainea * [f77ae3034] : parse_fline: fix implicit cast sign (cherry picked from commit b0eb928e7241e9c8c2fcfff3e3bb3704fbfddae6) 2017-09-01 Liviu Chircu * [935fd57e6] : sipcapture: Fix primary key issues with PostgreSQL Postgres handles zero-value auto-increment columns which are part of composite primary keys differently than MySQL. Omitting the column altogether from the INSERT statements rather than setting it to zero leads to the expected behavior on both platforms (i.e. "always try to insert a unique id"). Thanks to Jennifer Hashimoto for reporting and troubleshooting (cherry picked from commit e3be4a13d36898998beafd4acf89ef0c2520749c) 2017-08-31 Razvan Crainea * [166bb4489] : Bump version to 2.3.2 in redhat specs as well Reported by Nick Altmann 2017-08-31 Razvan Crainea * [f74855934] : Update ChangeLog for 2.3.2 =========================== Release 2.3.2 ============================== 2017-08-31 Razvan Crainea * [50c4c98a5] : Bump version to 2.3.2 2017-08-31 Liviu Chircu * [2650e97dd] : mid_registrar: Fix commit 496e2dcc Suggested by Chad Attermann Fixes #1178 Fixes #1187 Fixes #1184 (cherry picked from commit 396dca37ccced8b758c830c536b5385be98feb3a) 2017-08-31 Liviu Chircu * [cd5be9342] : mid_registrar: Avoid some memory leaks on parsing errors Also improve mri_free(): avoid redundant checks on non-NULL fields. Suggested by Chad Attermann (cherry picked from commit 4b9f34d6b1a0fa59c495cc8eec695cc49772c222) 2017-08-31 Liviu Chircu * [ce40839b8] : mid_registrar: Fix a tm callback race condition Commit f522b0ef089 is incomplete, since the tm's TMCB_RESPONSE_IN callbacks are actually not mutually exclusive. We fix this by protecting the tm parameter read/overwriting with an SHM'ized rw lock. Reported by Chad Attermann (cherry picked from commit 496e2dcc2745829cc0895bca09400267c23ad7f2) 2017-08-31 Liviu Chircu * [fd6c82a48] : mid_registrar: Fix mem corruption on SIP retransmissions The TMCB_RESPONSE_IN function gets called once per each retransmission, and we want to avoid this in the mid_registrar code. Since the callbacks themselves are mutually exclusive, we can get away with zeroizing our own parameter after the first run. A better way of fixing this would be to extend the tm callback API to include SIP retransmission preferences. (cherry picked from commit f522b0ef089e12375b6dc184f5643c11312d1ebc) 2017-08-31 Liviu Chircu * [2778a5116] : freeswitch: Update the assumed heartbeat interval Assuming a 1 second heartbeat interval setting on the FS boxes (the minimum) is a good compromise between performance and near-realtime rate of update for the balancing weights. 2017-08-31 Razvan Crainea * [3a0f1e79d] : ratelimit: fix buffer overflow when using SBT algorithm Make sure the window doesn't overflow Fixes #1176 (cherry picked from commit d8854637e9329e7d6a52b87aa5cc4601450011c3) 2017-08-31 rvlad-patrascu * [36f43169e] : siptrace: fix type for message DB column value, str instead of blob 2017-08-31 Liviu Chircu * [7562e3dd3] : mid_registrar: Properly update timestamps on usrloc inserts This avoids a buggy forward of the 2nd REGISTER to the main registrar, after which behavior would correct itself anyway. Affected modes: 1 and 2. Also refactor a small code block. (cherry picked from commit 12ab75ad950a083e7cd95944cdf8e4922c00c965) 2017-08-30 Liviu Chircu * [bcc7983b0] : mid_registrar: Fix missing expiry values in mode = 2 Proper handling when forwarding REGISTER requests with missing Expires hf. (cherry picked from commit ee23700710564efb1b02f5584fed086bf89786e2) 2017-08-30 Liviu Chircu * [0fce7edee] : mid_registrar: Improve De-REGISTER behavior in mode = 2 Do not auto-reply to de-registrations for the last contact in AoR throttling mode, but forward them to main registrar first. Additionally, avoid auto-generating De-REGISTER messages for contacts that were deleted through a De-REGISTER to begin with (and did not expire or get deleted through the remove() script function). (cherry picked from commit 1143419b7bda9bebdd06e36dff2eb599e1eb20ea) 2017-08-30 Liviu Chircu * [6182b6a45] : mid_registrar: Fix un-initialized global variable (cherry picked from commit 803d5d3a4bea36a06f66e6b9687f85b41a96f1df) 2017-08-29 Liviu Chircu * [48f0adebb] : sipmsgops: Adapt SDP iteration code to the new format Reported by Denis Fixes #1181 (cherry picked from commit d71cb43e816be91db4d5a8855561df1a184efd6b) 2017-08-29 Razvan Crainea * [f61024d32] : dialog: do not allow callbacks in state DELETED If these callbacks would have been registered, they will be never ran, but the free function will still be called. This breaks some modules (such as acc), which rely the function will be called. (cherry picked from commit 83669d2caec38823ce79ccd12eec4ed013e2d867) 2017-08-29 Razvan Crainea * [aebd8f592] : acc: prevent multiple CDRs in case of retransmissions (cherry picked from commit f1aabeaf983805462924e935e2eaf1dce4e5f7d5) 2017-08-25 Liviu Chircu * [d6b1ab40e] : sipcapture: Fix uneditable "custom_fieldX" columns This allows the script writer to optionally provide data for the "custom_field1", "custom_field2" and "custom_field3" columns using sip_capture(). (cherry picked from commit b763544ad5e0a5ab8bb8ecd2e613b73b9e420e9f) 2017-08-25 Liviu Chircu * [e4a558d6c] : sipcapture: Fix segfault when proto_hep is not loaded (cherry picked from commit 71af8fcd47db24bec8068b01dde8bc1618670f10) 2017-08-25 Liviu Chircu * [15199a129] : mid_registrar: Improve resilience in some corner-case scenarios * do not crash with usrloc replication (although it's not supported) * handle registrar + mid_registrar concurrently Fixes #1172 Fixes #1183 (cherry picked from commit bcae3a0e17cd118b5accd445a4dbac955d811d70) 2017-08-24 Liviu Chircu * [92de4ffc0] : statistics: Improve the stat group parser Although we break backwards-compatibility, we actually fix the logic to be closer to what users would expect. For example, a "method:register:auth" statistic is more naturally interpreted as: { "group": "method", "stat": "register:auth" } (new behavior) rather than: { "group": "method:register", "stat": "auth" } (old behavior). (cherry picked from commit 4d028f716330271367d7d85e25492f5ae1f35d8a) 2017-08-24 Bogdan-Andrei Iancu * [6cc56d26c] : Fixed deadlock in CANCEL handling. Reported by Maxim Sobolev (cherry picked from commit 4aa5fb91a0a8b06d886ef3f2a093c8f5526aaa4a) 2017-08-18 Liviu Chircu * [62e4fdf9b] : cachedb_mongodb: Avoid redundant mongoc_init() calls mongoc_init() is using pthread_once() anyway, so we might as well avoid calling it multiple times. (cherry picked from commit 7a5e2c7b42e2680b6c1cea4481940061430c17eb) 2017-08-18 Liviu Chircu * [1720ef435] : cachedb: Improve error reporting for bad connect strings Based on an original report+patch provided by @jalung on GitHub. (cherry picked from commit 7587326d352ef4ae6b3f2c6afab059ac57c0053c) 2017-08-18 Liviu Chircu * [f6ff0bb66] : registrar: Fix possible crash with remove() When using usrloc "use_domain = 1", the registrar remove() function could cause OpenSIPS to crash due to some uninitialized struct. Based on an original report+patch provided by @jalung on GitHub. (cherry picked from commit c2a0e7e7164d2fc7bba79351dcf126af4f2e79c2) 2017-08-18 Liviu Chircu * [60d3c785f] : usrloc: Fix contact matching with db_cachedb Based on an original report+patch provided by @jalung on GitHub. (cherry picked from commit de0e58a5952df7c482e78920b5ee67e5bfd0635e) 2017-08-18 Liviu Chircu * [9c4245b03] : cachedb_mongodb: Fix several issues * fix startup crash when libmongoc is compiled with --disable-automatic-init-and-cleanup * add silent startup dependency with tls_mgm module, since both modules attempt to perform TLS initialization * add proper handling for NULL and ObjectID types * fix a bson iteration bug, causing find() to skip 1st doc * fix a bug in kvo_to_bson(), causing OpenSIPS to crash * fix compile errors on some platforms due to "str" var names Based on an original report+patch provided by @jalung on GitHub. Closes #1135 Closes #1163 (cherry picked from commit 18045793ada31f8f9f36d2b68b36e566456687dd) 2017-08-16 Liviu Chircu * [72fa14610] : acc: Improve documentation (cherry picked from commit 8338fd48e4e2143fae1f762437a07f7fc51cf01c) 2017-08-16 Razvan Crainea * [4b83be48a] : event_xmlrpc: rebuild buffer for each event This prenvets crashes when multiple xmlrpc subscribers are used (cherry picked from commit 1885c0d4679f4b7b62b00512aa9b23de8880bff4) 2017-08-03 Razvan Crainea * [c33f23f67] : cgrates: return OK as a successful result Before that it was returning 0, which was not consistent to what cgrates was expecting (cherry picked from commit db5d1bddc95a311da283ea56ec46c6da2259c33f) 2017-08-03 Razvan Crainea * [5bda554f5] : cgrates: switch id from long to int for backward compatibility (cherry picked from commit 7935ad3c87b5e47ab39d591a89c49898677ac4de) 2017-08-03 Razvan Crainea * [1b836cd26] : cgrates: use an integer unique id rather than string (cherry picked from commit 8ab1deb473cdc505b48616b4b4bc2e031cd64d28) 2017-08-03 Razvan Crainea * [83f7ee48d] : cgrates: add id in request Add an identifier for the requests done to cgrates. Requested by cgrates/cgrates#674 (cherry picked from commit 402ff3411c52ee70e6cc97e1b559dd515159b146) 2017-08-03 Bogdan-Andrei Iancu * [0594318dc] : Propagate the tracing context via function param. Inside SIPtrace module propagate the tracing context as function param instead of relying on the processing context - there are cases were we have no processing context (like retransmissions). (cherry picked from commit e59a7399e982ef58a7a12ffb53d8aa8432f537ab) 2017-08-03 Bogdan-Andrei Iancu * [7c1e78e2e] : Fixed missing traced SIP messages. The following SIP messages were not traced by SIP trace: * 100 trying generated by OpenSIPS * incoming ACK for negative replies * outgoing ACK to negative replies * incoming replies to CANCEL requests * incoming request retransmissions * outgoing request retransmissions * outgoing reply retransmissions The fix introduced two new TM callback to get access to the lowest level in TM message handling: * matching a SIP message to the transaction * sending a SIP message related to the transaction (cherry picked from commit 6eec7f95025f0bda0e1dfa764430934a73e90e87) 2017-08-01 Bogdan-Andrei Iancu * [9667332c3] : Fix missing handling on LAUNCH triggering in extra timer proc. (cherry picked from commit 68419e3ba62b29011f71bcdb4656a4ca0e7ef06c) 2017-08-01 Liviu Chircu * [b445d3bee] : mid_registrar: Normalize registration expiries in AoR throttling (cherry picked from commit fce1f47304802013d523c100553fa0df51ef2984) 2017-07-31 Liviu Chircu * [a173dac34] : Allow memory dumps to be enabled at runtime Memory dumps and full memory logging can now also be enabled by setting "log_level = 14" and "log_level = 15", respectively, without having to restart OpenSIPS and set a proper value for "memdump" / "memlog". (cherry picked from commit 21322d64e1c40404ee011e40f3c8ade97b51aecc) 2017-07-31 Liviu Chircu * [0186eb36a] : mid_registrar: Fix broken "Path:" URIs when using domains The module now properly handles usrloc's "use_domain = 1". (cherry picked from commit df374c635260da47825493494dbeb16a81e1c701) 2017-07-27 Bogdan Andrei IANCU * [3dce06a21] : Merge pull request #1164 from caringi/master db_mysql: fix build against MariaDB 10.2 (cherry picked from commit 77e678a6a18822cf8ceb30732494cf492a5a1407) 2017-07-27 Liviu Chircu * [db27e6fc0] : mid_registrar: Fix some AoR throttling bugs #2 * report proper expiration time back to the UAC when the main registrar shortens the lifetime on the virtual Contact * properly handle auth'ed registrations (completes commit aa5366796) (cherry picked from commit 47af7de2316cc1ff96c091ef43210b7354932300) 2017-07-27 Liviu Chircu * [e8deb0e74] : mid_registrar: Code refactoring (cherry picked from commit 0831d9a3a1cf66f56bda98d4d6a869e0eca983a5) 2017-07-27 Liviu Chircu * [8d7f51697] : mid_registrar: Fix some AoR throttling bugs * prevent AoR throttling lookups from using "rid" * always mangle contacts in AoR throttling, regardless of "insertion_mode". This prevents lookup issues in "Path" insertion mode with clients that are using auto-generated Contact usernames. (cherry picked from commit 597695cdb0f924688caa2a9ae7d786e2e88ed932) 2017-07-27 Liviu Chircu * [59a36a213] : Merge pull request #1162 from attermann/2.3 Gracefully handling missing or malformed Contact and Expires headers in REGISTER requests to mid_registrar module 2017-07-26 Liviu Chircu * [7aed44c72] : mid_registrar: Add a useful startup error case (cherry picked from commit 0017951f3fb70d77e33494cf6dbcc9482cce7417) 2017-07-26 Liviu Chircu * [6b04bd6fb] : rest_client: Update documentation Reported by Tito Cumpen (cherry picked from commit f302175382620848a22c6bcec237dfee270e0de6) 2017-07-25 Razvan Crainea * [5e04afa0d] : ratelimit: fix documentation typo (cherry picked from commit 91da5063ddb56d31dbe6be6013434ea9083a7013) 2017-07-25 Bogdan-Andrei Iancu * [fc4793e39] : Fixed wrong TLS parameters. TLS configuration parameters were moved from proto_tls to tls_mgm module. Credits to Mike Tesliuk for reporting this. (cherry picked from commit f0e36896be10c69581ebf77def209df084c82d13) 2017-07-24 Razvan Crainea * [57f019386] : b2b_entities: fix b2b key memory leak (cherry picked from commit 8ba6567f2d81d9a912a6ab9dd0d23d265c77ba41) 2017-07-20 root * [605098bb0] : Gracefully handling missing or malformed Contact and Expires headers in REGISTER requests. 2017-07-20 root * [747dcdb6f] : Gracefully handling missing or malformed Expires header in REGISTER request. 2017-07-17 Bogdan-Andrei Iancu * [538bb6372] : Fix replicating NULL socket in contact A contact added by ul_add MI contact has a NULL contact, so take care on this during contact replication. Also, when receiving a replicated contact with NULL socket, do not discard it, but simply set NULL socket. Reported by Samusenko Andrej on user mailing list (cherry picked from commit d1d897ebc1f7cdd0c817952c28d5c5877b51f304) 2017-07-14 Bogdan-Andrei Iancu * [90266a638] : Fix incorrect bug log. A missing tracing context in the SL_reply_out callback is perfectly valid - if you send from script a reply (se_send_reply) without doing any sip_trace() before. (cherry picked from commit 5a4550b23deb137db33c50fb6fcf773392d31940) 2017-07-13 Razvan Crainea * [94aedb442] : drouting: fix parameters specifications for gw detection functions (cherry picked from commit 991b3ef4fabb4a21dd0f95ea18a5e934261be01c) 2017-07-13 rvlad-patrascu * [fed06ed6c] : clusterer: prevent crash when calling module destroy function before initializing DB handler. (cherry picked from commit 2ca34ff01e2c5b9f2640b23dadffde017c25805d) 2017-07-12 Liviu Chircu * [8c2a15339] : mid_registrar: Fix authenticated registrations This applies to both throttling modes (contact and AOR). Closes #1156 (cherry picked from commit aa5366796a285fc32a90aeab9df26d70f31760ce) 2017-07-12 Razvan Crainea * [23d893e79] : acc: restore new_uri in case an error occurs on reply (cherry picked from commit e2f9d8fc73a8414fc80430abd4ba5975cb1bfe89) 2017-07-05 Razvan Crainea * [2ca64d2f3] : Update ChangeLog for 2.3.1 2017-07-05 Razvan Crainea * [92cf23ddd] : Bump version to 2.3.1 2017-07-05 Razvan Crainea * [98454777c] : Bump version to 2.3.1 2017-07-05 Liviu Chircu * [bb2228bf6] : exec: Fix incorrect pclose() calls on standard I/O streams Many thanks to Walter Doekes for detailing this issue (also including some minor code improvements) (cherry picked from commit 96ba9ed03d2223f09b6fd25061d229c2c7ee5eb4) 2017-07-04 Liviu Chircu * [e32975f50] : pua: Fix several locking & memory access bugs Several issues with publ_cback_func(): * 1 x extra lock release upon breaking "send publish" loop * N x extra lock releases inside the loop, per each failed publish * invalid memory access on "presentity" ptr after send_publish_int() (cherry picked from commit 9957ff2d9acc4a2686495b5e2ea43cdc3bb7e3ed) 2017-07-04 Bogdan-Andrei Iancu * [4ba179df5] : Destroy the TCP conn even if the WS link has missing data. Perform full conn destroy (in the TCP network layer) even if the WS link doesn't have (very unlikely) the proto-specific data attached. (cherry picked from commit e08d54e6bc1a2550cd3ec6c7aec12f6a69b6377a) 2017-07-04 Bogdan-Andrei Iancu * [f8cf5aca9] : Fixed memory leak on proto TLS tracing. Free the tracing data (if any) when the TLS connection is destroyed (cherry picked from commit e2f872598145bad7913215b48b929b05dff78311) 2017-07-04 Bogdan-Andrei Iancu * [f2666cbc3] : Fix tracing race condition on SSL based connects When performing a connects (required by a write op) for a SSL enabled connection, the returning handshake make lead to a concurent read on the same connection. And the read op will try to dump the traced data aquired by the write (connect) op -> different processes, different memory chuncks To avoid such probles, the "connect" tracing will be flushed on write (a connect is always trigger by a write need) and the "accept" tracing will be flushed only on read (an accept is always followed by a read). (cherry picked from commit 059545765e34dc8016c278a3e4800a33929bd117) 2017-07-03 Bogdan-Andrei Iancu * [3fd772cf2] : Remove bogus auto conversion from SIP uri to TEL uri For ancient reasons, a SIP URI with user=phone was automatically converted to a TEL URI. Such conversion, automatically done, is dangerous - there is nothing in the RFC3261 stating something like this. Even more, the conversion is not complete - besides moving the username parameters to URI parameters, the domain is not stripped and the TEL not added. (cherry picked from commit 05ece794083f8328cbd5259cdb7b3aead8d9f943) 2017-07-03 Liviu Chircu * [e56f49d7a] : cfg parser: Fix underflow with an empty mpath (cherry picked from commit 9e07f3f3650607c3e0298182aa3bb08d377e8837) 2017-07-03 Liviu Chircu * [4f06fd6e5] : TCP engine: Fix the TCP worker duplicate connection check (cherry picked from commit 8845fd7950ec90fad7498b323745c86cac4070f6) 2017-07-03 Liviu Chircu * [6a5fd0e64] : TCP engine: Fix misleading logs (cherry picked from commit a7249f03d7a16221e21b8f57eb73540f0b8c4888) 2017-07-03 Razvan Crainea * [b33c84392] : net/tcp: do not reset conn proc_no as a writer when releasing a conn as a writer, do not reset the process owner of the conn, otherwise a reader will have to re-take it back. (cherry picked from commit d5fca4482ab1746351157ee0353474a24b084f60) 2017-07-03 Liviu Chircu * [0fd713369] : TCP engine: Fix a race condition related to con lifetime management Connections which received a read event concurrently with their expiration time could trigger an indefinitely long, CPU wasteful, rapid succession of back-forth passing of the connection object between TCP Main and a TCP worker process. The fix involves adding a TCP connection lifetime update in the TCP worker just after receiving the connection object from TCP Main (this is correct - there is some pending data, the connection is non-idle), before the expiration check is done. Thanks to Bogdan for helping with troubleshooting (cherry picked from commit 99181710c3f52b4ca97186623af0a7760191a276) 2017-07-03 Liviu Chircu * [1bf414226] : TCP engine: Fix ref counting bug in async writes TCP writes done by TCP workers were subject to an extra dereferencing operation, potentially leading to memory corruption due to SHM overwriting on freed tcp_connection structs. This patch eliminates the extra dereferening operation, while also taking care not to break the code for non-TCP worker writers, which will now have their passed connections dereferenced by TCP main. (cherry picked from commit 04e2d6e5f46b98c481b2e810ea0aa73c7be36b40) 2017-07-03 Bogdan-Andrei Iancu * [e1497271f] : Set some default value for "already", to avoid bogus printing. Reported by Ovidiu Sas 2017-07-03 Bogdan-Andrei Iancu * [e38e6daa1] : Downgrade severity and extra loging on epoll self healing (cherry picked from commit b60780c502ae3b7b9f54f2047da04cb95d915e5b) 2017-07-03 Bogdan-Andrei Iancu * [d4f99f786] : Triggered fds with no fd_map are reported and removed from epoll If epoll triggers on a fd that has a cleared (removed) fd_map, remove it from epoll. (cherry picked from commit ade9c93d807abb97ababa0033589b46f70c040da) 2017-07-03 Bogdan-Andrei Iancu * [84a53b8bd] : Flag reset fixed; print flags as hexa (cherry picked from commit 34d98d82dc7cff162782b57af8e8f04e6719109c) 2017-07-03 Bogdan-Andrei Iancu * [2035f4049] : Fix for prev+1 commit - fd=0 should be consider unset (as -1) (cherry picked from commit 0dfbad3861e6fb066db3a4aea4e78f17ab0b27f5) 2017-07-03 Bogdan-Andrei Iancu * [e05db1806] : Fix prev commit - data may be null for valid fd maps (like timer jobs) (cherry picked from commit b90094c46bb8dadc3f6f13be6c394c6b7208190e) 2017-07-03 Bogdan-Andrei Iancu * [382f567cf] : Added extra code for sanity checks over reactor data (cherry picked from commit ab26d05599074e8ef4a5ba7f68e60c739be7cbfc) 2017-07-03 Bogdan-Andrei Iancu * [b06f4fb4e] : Set proper UPDATED flag upon cloning. IF the cloning is full (with the updatable part too), set the UPDATED flag too (cherry picked from commit 0f9e65fef33d2846eaf0d3f17a469c321796cee5) 2017-06-30 Razvan Crainea * [5928e4606] : clusterer: prevent crash when calling send_to after destroy 2017-06-30 Razvan Crainea * [a5ce7722c] : acc: fix substitutions typo (cherry picked from commit 8025792838edec6437f984556460efc206883c36) 2017-06-29 Liviu Chircu * [9abaec121] : exec: Improve docs for "time_to_kill" Reported by Tito Cumpen (cherry picked from commit 5c407c64cb8d68fbdbefb8779be9810a4760d66e) 2017-06-28 Ovidiu Sas * [ceaccd46f] : tls_mgm: fix warning: ‘port’ may be used uninitialized in this function [-Wmaybe-uninitialized] (cherry picked from commit 5cb01c85f3a8e2fed6004291b80f08c2b4617f4c) 2017-06-28 Bogdan-Andrei Iancu * [fe0ebcb45] : Related to prev fix - dialog table has no PK (cherry picked from commit 805c0e2f3d4921e939edb142170278e7286934ee) 2017-06-28 Bogdan-Andrei Iancu * [d8573c0a1] : Fix granting permissions on the PK of location table. As the PK column has a custom name "contact_id", it needs special handling when granting permissions upon PSQL DB creation. (cherry picked from commit 0f36c9d0f7c31f30eaac6b16c11c71704022245b) 2017-06-26 rvlad-patrascu * [05e6a0abf] : tls_mgm: fix skipping invalid TLS domain definitions in the script (cherry picked from commit 71ca5691c63ba48199326676aaf7cc7234f350d4) 2017-06-23 Liviu Chircu * [0ba2702a2] : Fix a bug in is_ws() Reported by Răzvan (cherry picked from commit 951f7e10d1d79276f075bc9fd3cc16245b4a07d5) 2017-06-22 rvlad-patrascu * [7a861fa0f] : tls_mgm: properly start up even if there are invalid TLS domain definitions in DB (cherry picked from commit ad8fbaf99bcac4e82d71f96d957432d9d689e78d) 2017-06-22 Liviu Chircu * [4dfaab9ca] : Merge pull request #1147 from attermann/2.3 Mid-registrar skipping appending of proxy ip:port to AOR usrloc use_domain is enabled 2017-06-21 Chad Attermann * [4fb1581a4] : Skipping proxy ip:port append when use_domain enabled In aor-throttling mode, when usrloc use_domain is enabled the aor already includes the domain so there is no need to append the proxy ip:port to the aor in the Contact header that is relayed to the main registrar. 2017-06-21 Bogdan-Andrei Iancu * [38f25f8c8] : Do not replicate if not configured so Test if replication was set before trying to replicate the change of carrier status (cherry picked from commit 34a25b7337abaa8f6c7751ba00060f6b31acf220) 2017-06-21 Bogdan-Andrei Iancu * [f394ee511] : Fixed MI printing of tid (trace ID) URLs. Discard on-stack buffer and use formated printing for IP + port. Use MI_DUP_VALUE flag for adding the DB URL (cherry picked from commit 7249c95f94c63e195e4e680b8bd6e73efa1421fd) 2017-06-21 Liviu Chircu * [a839da1da] : regex transformation: Fix a double free bug Supplying a bad regular expression to {re.subst} would lead to a double pkg_free(). Credits to Nick Altmann for reporting / helping with troubleshooting (cherry picked from commit 00d44e8bb17b7391fa0c7a18137d880ba0dff4ee) 2017-06-21 Liviu Chircu * [a2a9b79c1] : Merge pull request #1146 from attermann/2.3 Parameter "use_domain" not imported from usrloc in mid-registrar module 2017-06-21 Chad Attermann * [a182a9445] : Parameter "use_domain" not imported from usrloc Variable reg_use_domain is initialized to 0, but not imported from usrloc module as eluded in docs. Added import of "use_domain" parameter from usrloc module to initialize reg_use_domain (taken from registrar module). 2017-06-20 Razvan Crainea * [59947fbfa] : debian: add libbson-dev dependency Reported by Nick Altman (cherry picked from commit 6e796ff56262358a77a50c93a28573d904404cef) 2017-06-19 rvlad-patrascu * [eb2b3e52c] : clusterer: start only if DB info is invalid, shutdown for other errors when loading from DB (cherry picked from commit 030bed9a88f17c8a63c2ec7dc7a136e747d7cdd7) 2017-06-19 rvlad-patrascu * [c04670164] : clusterer: start even if unable to load provisioning info from DB (cherry picked from commit edf519b9373cef2bae5a1b74a47114fe6cf9a25f) 2017-06-19 rvlad-patrascu * [0e5c526b8] : clusterer: properly init node info structures(memset to 0) (cherry picked from commit 24ad5dbaece07ee594e51ec46189ad23753d892c) 2017-06-17 Liviu Chircu * [33d43262d] : Merge pull request #1142 from attermann/2.3 mid_registrar: Required CRLF missing in 200 OK response 2017-06-17 Chad Attermann * [78eaed807] : Required CRLF missing in 200 OK response Addition of CRLF was mistakenly placed inside of check for Contact expires paramtere. Moved outside so that CRLF is always appended after last Contact header. 2017-06-16 Bogdan-Andrei Iancu * [2a7489bf9] : Fix leak in use_next_gw() The leak occurs only when doing fallback between rules. (cherry picked from commit 911478b102576eb73e8c08989a0f6beb109821d9) 2017-06-15 Liviu Chircu * [1d9b6cd6b] : core statistics: Fix a bad logical condition (regression from e90ac3e937de8) (cherry picked from commit f7a7fabcc9e31333cf4ffc4cbd962fc4894b7f56) 2017-06-14 Bogdan-Andrei Iancu * [df9c76f21] : Fix memory leak in do_routing() (cherry picked from commit 3c0df80d3b5ec8dfb5e54e78cd84153266fbf0f7) 2017-06-13 Bogdan-Andrei Iancu * [9dbce2b13] : Added auto-healing for reactor. If the epoll() fires a fd with a removed fd_map, better do not trigger the handler and remove the fd from epoll and fd_array (cherry picked from commit 4929bcee6b69a809052d25f141a1849cd272a749) 2017-06-13 Bogdan-Andrei Iancu * [f238b1634] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit 0a3bfed03d2d1166b1b4bbdf47de7c64fad5a5ea) 2017-06-13 Liviu Chircu * [dcbfbf657] : Do not exit startup sequences with unusable HP_MALLOC params (cherry picked from commit df29102e9d6c06ef73f112898dd5feac171985cf) 2017-06-13 Bogdan-Andrei Iancu * [e79a62c0e] : Fix missing braken (introduced with previous commit) (cherry picked from commit 4e7a14bd7f8948bbfa5cf0057fcfc48d7c80d2ba) 2017-06-13 Bogdan-Andrei Iancu * [8b7d2e2dd] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit 27a36a940fba6b40b44951fe75d35082c27cb00e) 2017-06-13 Bogdan-Andrei Iancu * [3320576d7] : Just code identation. (cherry picked from commit 69e3576d884234271cbb9142d471dbcfbb95a34d) 2017-06-13 Bogdan-Andrei Iancu * [1c86c9d82] : Do not log EINTR and EAGAIN as errors during UDP write. (cherry picked from commit cf8caeb8ed35f221b06621f6123d8d4dbb878753) 2017-06-13 Bogdan-Andrei Iancu * [c0d67c697] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit a90723d896dfdddf2e7f7b52fac7d7348ec740c0) 2017-06-07 Bogdan-Andrei Iancu * [5ecf882c6] : Add proper listing for XML module. Not being listed with full description make the menuconfig to ignore it. 2017-06-07 Razvan Crainea * [8bd0e52e3] : ratelimit: clarify limits scope for timer_interval Reported by Max Mühlbronner on mailing list (cherry picked from commit 52b7ece216b55d5729340beaec50a90715fc51f7) 2017-06-07 Bogdan-Andrei Iancu * [db039aa57] : Fixed mem leaks and bogus err logs during contact replication. Reported by sekil on IRC. (cherry picked from commit 0f9ccb576db97af2fcc01cf4a783045ac259dc3e) 2017-06-06 Liviu Chircu * [d62a73a4d] : cachedb_mongodb: Update documentation (cherry picked from commit 99ebafdd7aa99ba23ee0248dfe0522c4fd2b2080) 2017-06-06 Liviu Chircu * [f51ad4659] : cachedb_mongodb: Remove unused module parameters (cherry picked from commit 53d62036f8a92ed4305fd3c43c8a2a120a74f0cb) 2017-06-06 Liviu Chircu * [9b26f05e4] : cachedb_mongodb: Fix pkg-config errors with missing libraries (cherry picked from commit a09dada8642a6792d3da5e741a35283ca032a92b) 2017-05-31 Razvan Crainea * [cd9196373] : dialog: don't flush in db unnecessary flag values (cherry picked from commit 9d0436eef00e65b1e0d660517228bdf9d5c9207c) 2017-05-25 Bogdan-Andrei Iancu * [818947dec] : Fixed examples in docs (cherry picked from commit ae1c1f32bd71a21c638c0903bcbaeab53d07ec78) 2017-05-25 Bogdan-Andrei Iancu * [9b757befb] : Fix memory leak for HEPv12. Do not add formated payload or extra correlation IDs in HEP version 1 or 2 packets as they are not used and it generate a mem leak. (cherry picked from commit 619183358cfe28c70a4be36478e4f800a979c7ef) 2017-05-22 Bogdan-Andrei Iancu * [eb0e47129] : Proper HEP free upon failures 2017-05-22 Bogdan-Andrei Iancu * [1fea1d71f] : Proper HEP free upon failures in sip_context_trace_impl() 2017-05-22 Bogdan-Andrei Iancu * [2b93469b1] : Better reset the freed pointers. 2017-05-22 Bogdan-Andrei Iancu * [9bba5954c] : Free the HEP message in case of send failure too 2017-05-22 Bogdan-Andrei Iancu * [84c33d184] : Proper free of HEP message if building fails 2017-05-22 Bogdan-Andrei Iancu * [83c286573] : Proper OOM handling and reporting in add_hep_payload() 2017-05-22 Bogdan-Andrei Iancu * [8e8988183] : Make free_hep_message() safe to partially allocated HEP messages. 2017-05-17 Razvan Crainea * [4fc4f6d86] : dialog: update documentation for triggered event Updated documentation for the event triggered when the state is changed (cherry picked from commit 494e048cddf70db858401745a530e219eeb2908e) 2017-05-17 Razvan Crainea * [c64e66aef] : rtpproxy: allow multiple servers on same machine Before this fix, rtpproxy was accepting a single connection from a specific IP. This prevented multiple rtpproxy servers on the same machine (or behind the same NAT) to send timeout notifications simultaneously. Using this fix each rtpproxy provisioned can have on connection to opensips. This commit also adds some extra debugging. Reported and debugged by Flavio Goncalves. Fix #865 (cherry picked from commit 070e7d4710983abf76a3d16bdc67371c6c4941ce) 2017-05-16 ionutrazvanionita * [7c5947c3e] : [acc extra] fix leg index when doing CDRs (cherry picked from commit 8ebf592156f5a915f2bdd3241163705921f71b29) 2017-05-16 ionutrazvanionita * [540c726c0] : [acc] fix adding extra when doing CDRs (cherry picked from commit 789b9b0632dab63d42be8deff8501b70001c7074) 2017-05-16 ionutrazvanionita * [352fb5280] : [acc extra] fix overwriting right-operand value when setting acc extra/leg (cherry picked from commit 4f7f44ae8b38b345a7a29a177873912d6857569d) 2017-05-16 Bogdan-Andrei Iancu * [43764b66a] : Fix free space calculation. Improper computing of the available buffer space lead to false errors in writing down the dialog HASH and ID (only when using the D flag - dialog ID in contact username) 2017-05-12 Razvan Crainea * [d22f7636b] : cgrates: fix error detection for different libjson version This is a rework on interpreting the error reports in the cgrates replies. Reported by DigiDaz Fixes #1122 (cherry picked from commit 4bb3f1ffaf132f46f6641be9ba6142fbf5f2ee94) 2017-05-12 ionutrazvanionita * [ca046d566] : [acc] don't start if extra values defined but no aaa/db url defined (cherry picked from commit d86047abd2659562c0e0c4c6fb70e7b6367953ea) 2017-05-12 ionutrazvanionita * [42c682034] : [acc] null terminate leg/extra values when storing them * problems appeared when the name of the AVP was given to radius backend which expected null terminated strings (cherry picked from commit 3a4fd0b81122adf3e0926ab7705e423e87f80e40) 2017-05-11 Liviu Chircu * [af3667dbd] : Proper fix for PostgreSQL login Submitted by @volga629 (cherry picked from commit abd1e655f9816b44590d0f73dd309b30650b0b5e) 2017-05-11 Liviu Chircu * [7f8d65e14] : str2ip(): Do not reject IPs with leading '0' byte This is useful in some code areas (e.g. allowing 0.0.0.0/0 "catch-all" networks in the permissions module) (cherry picked from commit c75a7ddcd190997e84e6aa1d54da37993135dc1d) 2017-05-11 Liviu Chircu * [bed86ea7e] : dialog: Fix possible crash when disabling "accept_replicated_profiles" Avoid processing received replicated profiles when "accept_replicated_profiles" is disabled. In this case, the profile handling code will be optimized and will break if attempting to run replicated profiles through it. (cherry picked from commit 69b14b0aef63e49236663390c4293374d406b12d) 2017-05-11 Liviu Chircu * [1f36f9535] : dialog: Fix possible crash in "profile_get_values" MI command (cherry picked from commit 2d474f003bc5f8a3e00c303fb0bf91bc31b2eb1a) 2017-05-11 ionutrazvanionita * [058120932] : [acc] allow multiple rows extra/leg fields definition (cherry picked from commit 777bf95b3811895200f46b02126689bee55b23e2) 2017-05-11 Razvan Crainea * [65ba630d2] : fix $source_uri pvar when using IPv6 This fix encloses the IPv6 address in square brackets in the resulted URI Reported by Ankur Gupta on mailing list (cherry picked from commit 9798924ba8b24d3829e9ef536ef8f1542056d34d) 2017-05-11 Bogdan-Andrei Iancu * [97cbdf6e4] : Fix doc formating and improve some description (cherry picked from commit aa2f0f5f2bd304e3f4923aca358bdacc70065e15) 2017-05-10 Razvan Crainea * [09e259f59] : usrloc: fix event trigger when no socket is used Without this fix, opensips crashes when trying to add a contact from MI or when loading a user from DB without a socket or with an unknown socket. Reported by Cindy Leung on mailing list (cherry picked from commit a8294457a9bfefbdbb6786e8a40e0acab16560f7) 2017-05-10 Razvan Crainea * [02d312d45] : tls_mgm: fix uninitialized variable (cherry picked from commit b6d7a9e2748be7482de4ab6af333b54bdec9c233) 2017-04-28 rvlad-patrascu * [c5928a643] : tls_mgm: db_schema: same default values for verify_cert and require_cert when taken from DB as from script (cherry picked from commit 24d48c51812e46b04590ef7ac7ed70e881930af0) 2017-04-28 rvlad-patrascu * [a57add88c] : tls_mgm: some doc fixes and improvements * fix client domain AVP usage example * document default TLS settings for any domain when not set * fix some default values for module parameters (cherry picked from commit cc50c0912e1596d2d7fd0e127e62963e15e18798) 2017-04-28 ionutrazvanionita * [6ba33b589] : [aaa_radius] fix Makefile if pkg-config doesn't find the lib (cherry picked from commit c4471299f6dc9b2315453191a6f3c72cfad6f89c) 2017-04-27 Razvan Crainea * [e8b609071] : tm: fix uninitialized variable to make travis happy (cherry picked from commit b9fba7c1e228a31f765d573dec903a32140e45e5) 2017-04-27 ionutrazvanionita * [8ced9b8af] : [proto_hep] fix handling tcp requests coming in multiple chunks This commit fixes 2 bugs: 1) fixes not reading second part of a single TCP request because of bad parsed pointer update; 2) fixes major bug that was causing packets to be processed infinite times by hep callback when one message + some part of a second message came in a chunk and in the second chunk it was the second part of the second message; the tcp request structure was not updated(complete was not set to 0 after first message was processed) causing the second message to be processed an infinte amount of times into the database; 2017-04-27 Razvan Crainea * [f5c5d903f] : acc: fix uninitialized variable (cherry picked from commit 6c4b62dfe5b90f56c347e4a67d40895beeeab963) 2017-04-27 Liviu Chircu * [9268a7eb6] : mid_registrar: Fix insertion issues in mirror mode Reported by @volga629 Fixes #1094 (cherry picked from commit 01c9ae2f350394bb28e59f34863ef7868ab0d748) =========================== Release 2.3.1 ============================== 2017-07-05 Razvan Crainea * [98454777c] : Bump version to 2.3.1 2017-07-05 Razvan Crainea * [92cf23ddd] : Bump version to 2.3.1 2017-07-05 Liviu Chircu * [bb2228bf6] : exec: Fix incorrect pclose() calls on standard I/O streams Many thanks to Walter Doekes for detailing this issue (also including some minor code improvements) (cherry picked from commit 96ba9ed03d2223f09b6fd25061d229c2c7ee5eb4) 2017-07-04 Liviu Chircu * [e32975f50] : pua: Fix several locking & memory access bugs Several issues with publ_cback_func(): * 1 x extra lock release upon breaking "send publish" loop * N x extra lock releases inside the loop, per each failed publish * invalid memory access on "presentity" ptr after send_publish_int() (cherry picked from commit 9957ff2d9acc4a2686495b5e2ea43cdc3bb7e3ed) 2017-07-04 Bogdan-Andrei Iancu * [4ba179df5] : Destroy the TCP conn even if the WS link has missing data. Perform full conn destroy (in the TCP network layer) even if the WS link doesn't have (very unlikely) the proto-specific data attached. (cherry picked from commit e08d54e6bc1a2550cd3ec6c7aec12f6a69b6377a) 2017-07-04 Bogdan-Andrei Iancu * [f8cf5aca9] : Fixed memory leak on proto TLS tracing. Free the tracing data (if any) when the TLS connection is destroyed (cherry picked from commit e2f872598145bad7913215b48b929b05dff78311) 2017-07-04 Bogdan-Andrei Iancu * [f2666cbc3] : Fix tracing race condition on SSL based connects When performing a connects (required by a write op) for a SSL enabled connection, the returning handshake make lead to a concurent read on the same connection. And the read op will try to dump the traced data aquired by the write (connect) op -> different processes, different memory chuncks To avoid such probles, the "connect" tracing will be flushed on write (a connect is always trigger by a write need) and the "accept" tracing will be flushed only on read (an accept is always followed by a read). (cherry picked from commit 059545765e34dc8016c278a3e4800a33929bd117) 2017-07-03 Bogdan-Andrei Iancu * [3fd772cf2] : Remove bogus auto conversion from SIP uri to TEL uri For ancient reasons, a SIP URI with user=phone was automatically converted to a TEL URI. Such conversion, automatically done, is dangerous - there is nothing in the RFC3261 stating something like this. Even more, the conversion is not complete - besides moving the username parameters to URI parameters, the domain is not stripped and the TEL not added. (cherry picked from commit 05ece794083f8328cbd5259cdb7b3aead8d9f943) 2017-07-03 Liviu Chircu * [e56f49d7a] : cfg parser: Fix underflow with an empty mpath (cherry picked from commit 9e07f3f3650607c3e0298182aa3bb08d377e8837) 2017-07-03 Liviu Chircu * [4f06fd6e5] : TCP engine: Fix the TCP worker duplicate connection check (cherry picked from commit 8845fd7950ec90fad7498b323745c86cac4070f6) 2017-07-03 Liviu Chircu * [6a5fd0e64] : TCP engine: Fix misleading logs (cherry picked from commit a7249f03d7a16221e21b8f57eb73540f0b8c4888) 2017-07-03 Razvan Crainea * [b33c84392] : net/tcp: do not reset conn proc_no as a writer when releasing a conn as a writer, do not reset the process owner of the conn, otherwise a reader will have to re-take it back. (cherry picked from commit d5fca4482ab1746351157ee0353474a24b084f60) 2017-07-03 Liviu Chircu * [0fd713369] : TCP engine: Fix a race condition related to con lifetime management Connections which received a read event concurrently with their expiration time could trigger an indefinitely long, CPU wasteful, rapid succession of back-forth passing of the connection object between TCP Main and a TCP worker process. The fix involves adding a TCP connection lifetime update in the TCP worker just after receiving the connection object from TCP Main (this is correct - there is some pending data, the connection is non-idle), before the expiration check is done. Thanks to Bogdan for helping with troubleshooting (cherry picked from commit 99181710c3f52b4ca97186623af0a7760191a276) 2017-07-03 Liviu Chircu * [1bf414226] : TCP engine: Fix ref counting bug in async writes TCP writes done by TCP workers were subject to an extra dereferencing operation, potentially leading to memory corruption due to SHM overwriting on freed tcp_connection structs. This patch eliminates the extra dereferening operation, while also taking care not to break the code for non-TCP worker writers, which will now have their passed connections dereferenced by TCP main. (cherry picked from commit 04e2d6e5f46b98c481b2e810ea0aa73c7be36b40) 2017-07-03 Bogdan-Andrei Iancu * [e1497271f] : Set some default value for "already", to avoid bogus printing. Reported by Ovidiu Sas 2017-07-03 Bogdan-Andrei Iancu * [e38e6daa1] : Downgrade severity and extra loging on epoll self healing (cherry picked from commit b60780c502ae3b7b9f54f2047da04cb95d915e5b) 2017-07-03 Bogdan-Andrei Iancu * [d4f99f786] : Triggered fds with no fd_map are reported and removed from epoll If epoll triggers on a fd that has a cleared (removed) fd_map, remove it from epoll. (cherry picked from commit ade9c93d807abb97ababa0033589b46f70c040da) 2017-07-03 Bogdan-Andrei Iancu * [84a53b8bd] : Flag reset fixed; print flags as hexa (cherry picked from commit 34d98d82dc7cff162782b57af8e8f04e6719109c) 2017-07-03 Bogdan-Andrei Iancu * [2035f4049] : Fix for prev+1 commit - fd=0 should be consider unset (as -1) (cherry picked from commit 0dfbad3861e6fb066db3a4aea4e78f17ab0b27f5) 2017-07-03 Bogdan-Andrei Iancu * [e05db1806] : Fix prev commit - data may be null for valid fd maps (like timer jobs) (cherry picked from commit b90094c46bb8dadc3f6f13be6c394c6b7208190e) 2017-07-03 Bogdan-Andrei Iancu * [382f567cf] : Added extra code for sanity checks over reactor data (cherry picked from commit ab26d05599074e8ef4a5ba7f68e60c739be7cbfc) 2017-07-03 Bogdan-Andrei Iancu * [b06f4fb4e] : Set proper UPDATED flag upon cloning. IF the cloning is full (with the updatable part too), set the UPDATED flag too (cherry picked from commit 0f9e65fef33d2846eaf0d3f17a469c321796cee5) 2017-06-30 Razvan Crainea * [5928e4606] : clusterer: prevent crash when calling send_to after destroy 2017-06-30 Razvan Crainea * [a5ce7722c] : acc: fix substitutions typo (cherry picked from commit 8025792838edec6437f984556460efc206883c36) 2017-06-29 Liviu Chircu * [9abaec121] : exec: Improve docs for "time_to_kill" Reported by Tito Cumpen (cherry picked from commit 5c407c64cb8d68fbdbefb8779be9810a4760d66e) 2017-06-28 Ovidiu Sas * [ceaccd46f] : tls_mgm: fix warning: ‘port’ may be used uninitialized in this function [-Wmaybe-uninitialized] (cherry picked from commit 5cb01c85f3a8e2fed6004291b80f08c2b4617f4c) 2017-06-28 Bogdan-Andrei Iancu * [fe0ebcb45] : Related to prev fix - dialog table has no PK (cherry picked from commit 805c0e2f3d4921e939edb142170278e7286934ee) 2017-06-28 Bogdan-Andrei Iancu * [d8573c0a1] : Fix granting permissions on the PK of location table. As the PK column has a custom name "contact_id", it needs special handling when granting permissions upon PSQL DB creation. (cherry picked from commit 0f36c9d0f7c31f30eaac6b16c11c71704022245b) 2017-06-26 rvlad-patrascu * [05e6a0abf] : tls_mgm: fix skipping invalid TLS domain definitions in the script (cherry picked from commit 71ca5691c63ba48199326676aaf7cc7234f350d4) 2017-06-23 Liviu Chircu * [0ba2702a2] : Fix a bug in is_ws() Reported by Răzvan (cherry picked from commit 951f7e10d1d79276f075bc9fd3cc16245b4a07d5) 2017-06-22 rvlad-patrascu * [7a861fa0f] : tls_mgm: properly start up even if there are invalid TLS domain definitions in DB (cherry picked from commit ad8fbaf99bcac4e82d71f96d957432d9d689e78d) 2017-06-22 Liviu Chircu * [4dfaab9ca] : Merge pull request #1147 from attermann/2.3 Mid-registrar skipping appending of proxy ip:port to AOR usrloc use_domain is enabled 2017-06-21 Chad Attermann * [4fb1581a4] : Skipping proxy ip:port append when use_domain enabled In aor-throttling mode, when usrloc use_domain is enabled the aor already includes the domain so there is no need to append the proxy ip:port to the aor in the Contact header that is relayed to the main registrar. 2017-06-21 Bogdan-Andrei Iancu * [38f25f8c8] : Do not replicate if not configured so Test if replication was set before trying to replicate the change of carrier status (cherry picked from commit 34a25b7337abaa8f6c7751ba00060f6b31acf220) 2017-06-21 Bogdan-Andrei Iancu * [f394ee511] : Fixed MI printing of tid (trace ID) URLs. Discard on-stack buffer and use formated printing for IP + port. Use MI_DUP_VALUE flag for adding the DB URL (cherry picked from commit 7249c95f94c63e195e4e680b8bd6e73efa1421fd) 2017-06-21 Liviu Chircu * [a839da1da] : regex transformation: Fix a double free bug Supplying a bad regular expression to {re.subst} would lead to a double pkg_free(). Credits to Nick Altmann for reporting / helping with troubleshooting (cherry picked from commit 00d44e8bb17b7391fa0c7a18137d880ba0dff4ee) 2017-06-21 Liviu Chircu * [a2a9b79c1] : Merge pull request #1146 from attermann/2.3 Parameter "use_domain" not imported from usrloc in mid-registrar module 2017-06-21 Chad Attermann * [a182a9445] : Parameter "use_domain" not imported from usrloc Variable reg_use_domain is initialized to 0, but not imported from usrloc module as eluded in docs. Added import of "use_domain" parameter from usrloc module to initialize reg_use_domain (taken from registrar module). 2017-06-20 Razvan Crainea * [59947fbfa] : debian: add libbson-dev dependency Reported by Nick Altman (cherry picked from commit 6e796ff56262358a77a50c93a28573d904404cef) 2017-06-19 rvlad-patrascu * [eb2b3e52c] : clusterer: start only if DB info is invalid, shutdown for other errors when loading from DB (cherry picked from commit 030bed9a88f17c8a63c2ec7dc7a136e747d7cdd7) 2017-06-19 rvlad-patrascu * [c04670164] : clusterer: start even if unable to load provisioning info from DB (cherry picked from commit edf519b9373cef2bae5a1b74a47114fe6cf9a25f) 2017-06-19 rvlad-patrascu * [0e5c526b8] : clusterer: properly init node info structures(memset to 0) (cherry picked from commit 24ad5dbaece07ee594e51ec46189ad23753d892c) 2017-06-17 Liviu Chircu * [33d43262d] : Merge pull request #1142 from attermann/2.3 mid_registrar: Required CRLF missing in 200 OK response 2017-06-17 Chad Attermann * [78eaed807] : Required CRLF missing in 200 OK response Addition of CRLF was mistakenly placed inside of check for Contact expires paramtere. Moved outside so that CRLF is always appended after last Contact header. 2017-06-16 Bogdan-Andrei Iancu * [2a7489bf9] : Fix leak in use_next_gw() The leak occurs only when doing fallback between rules. (cherry picked from commit 911478b102576eb73e8c08989a0f6beb109821d9) 2017-06-15 Liviu Chircu * [1d9b6cd6b] : core statistics: Fix a bad logical condition (regression from e90ac3e937de8) (cherry picked from commit f7a7fabcc9e31333cf4ffc4cbd962fc4894b7f56) 2017-06-14 Bogdan-Andrei Iancu * [df9c76f21] : Fix memory leak in do_routing() (cherry picked from commit 3c0df80d3b5ec8dfb5e54e78cd84153266fbf0f7) 2017-06-13 Bogdan-Andrei Iancu * [9dbce2b13] : Added auto-healing for reactor. If the epoll() fires a fd with a removed fd_map, better do not trigger the handler and remove the fd from epoll and fd_array (cherry picked from commit 4929bcee6b69a809052d25f141a1849cd272a749) 2017-06-13 Bogdan-Andrei Iancu * [f238b1634] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit 0a3bfed03d2d1166b1b4bbdf47de7c64fad5a5ea) 2017-06-13 Liviu Chircu * [dcbfbf657] : Do not exit startup sequences with unusable HP_MALLOC params (cherry picked from commit df29102e9d6c06ef73f112898dd5feac171985cf) 2017-06-13 Bogdan-Andrei Iancu * [e79a62c0e] : Fix missing braken (introduced with previous commit) (cherry picked from commit 4e7a14bd7f8948bbfa5cf0057fcfc48d7c80d2ba) 2017-06-13 Bogdan-Andrei Iancu * [8b7d2e2dd] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit 27a36a940fba6b40b44951fe75d35082c27cb00e) 2017-06-13 Bogdan-Andrei Iancu * [3320576d7] : Just code identation. (cherry picked from commit 69e3576d884234271cbb9142d471dbcfbb95a34d) 2017-06-13 Bogdan-Andrei Iancu * [1c86c9d82] : Do not log EINTR and EAGAIN as errors during UDP write. (cherry picked from commit cf8caeb8ed35f221b06621f6123d8d4dbb878753) 2017-06-13 Bogdan-Andrei Iancu * [c0d67c697] : Intercept ECONNRESET and silently handle it as EOF (cherry picked from commit a90723d896dfdddf2e7f7b52fac7d7348ec740c0) 2017-06-07 Bogdan-Andrei Iancu * [5ecf882c6] : Add proper listing for XML module. Not being listed with full description make the menuconfig to ignore it. 2017-06-07 Razvan Crainea * [8bd0e52e3] : ratelimit: clarify limits scope for timer_interval Reported by Max Mühlbronner on mailing list (cherry picked from commit 52b7ece216b55d5729340beaec50a90715fc51f7) 2017-06-07 Bogdan-Andrei Iancu * [db039aa57] : Fixed mem leaks and bogus err logs during contact replication. Reported by sekil on IRC. (cherry picked from commit 0f9ccb576db97af2fcc01cf4a783045ac259dc3e) 2017-06-06 Liviu Chircu * [d62a73a4d] : cachedb_mongodb: Update documentation (cherry picked from commit 99ebafdd7aa99ba23ee0248dfe0522c4fd2b2080) 2017-06-06 Liviu Chircu * [f51ad4659] : cachedb_mongodb: Remove unused module parameters (cherry picked from commit 53d62036f8a92ed4305fd3c43c8a2a120a74f0cb) 2017-06-06 Liviu Chircu * [9b26f05e4] : cachedb_mongodb: Fix pkg-config errors with missing libraries (cherry picked from commit a09dada8642a6792d3da5e741a35283ca032a92b) 2017-05-31 Razvan Crainea * [cd9196373] : dialog: don't flush in db unnecessary flag values (cherry picked from commit 9d0436eef00e65b1e0d660517228bdf9d5c9207c) 2017-05-25 Bogdan-Andrei Iancu * [818947dec] : Fixed examples in docs (cherry picked from commit ae1c1f32bd71a21c638c0903bcbaeab53d07ec78) 2017-05-25 Bogdan-Andrei Iancu * [9b757befb] : Fix memory leak for HEPv12. Do not add formated payload or extra correlation IDs in HEP version 1 or 2 packets as they are not used and it generate a mem leak. (cherry picked from commit 619183358cfe28c70a4be36478e4f800a979c7ef) 2017-05-22 Bogdan-Andrei Iancu * [eb0e47129] : Proper HEP free upon failures 2017-05-22 Bogdan-Andrei Iancu * [1fea1d71f] : Proper HEP free upon failures in sip_context_trace_impl() 2017-05-22 Bogdan-Andrei Iancu * [2b93469b1] : Better reset the freed pointers. 2017-05-22 Bogdan-Andrei Iancu * [9bba5954c] : Free the HEP message in case of send failure too 2017-05-22 Bogdan-Andrei Iancu * [84c33d184] : Proper free of HEP message if building fails 2017-05-22 Bogdan-Andrei Iancu * [83c286573] : Proper OOM handling and reporting in add_hep_payload() 2017-05-22 Bogdan-Andrei Iancu * [8e8988183] : Make free_hep_message() safe to partially allocated HEP messages. 2017-05-17 Razvan Crainea * [4fc4f6d86] : dialog: update documentation for triggered event Updated documentation for the event triggered when the state is changed (cherry picked from commit 494e048cddf70db858401745a530e219eeb2908e) 2017-05-17 Razvan Crainea * [c64e66aef] : rtpproxy: allow multiple servers on same machine Before this fix, rtpproxy was accepting a single connection from a specific IP. This prevented multiple rtpproxy servers on the same machine (or behind the same NAT) to send timeout notifications simultaneously. Using this fix each rtpproxy provisioned can have on connection to opensips. This commit also adds some extra debugging. Reported and debugged by Flavio Goncalves. Fix #865 (cherry picked from commit 070e7d4710983abf76a3d16bdc67371c6c4941ce) 2017-05-16 ionutrazvanionita * [7c5947c3e] : [acc extra] fix leg index when doing CDRs (cherry picked from commit 8ebf592156f5a915f2bdd3241163705921f71b29) 2017-05-16 ionutrazvanionita * [540c726c0] : [acc] fix adding extra when doing CDRs (cherry picked from commit 789b9b0632dab63d42be8deff8501b70001c7074) 2017-05-16 ionutrazvanionita * [352fb5280] : [acc extra] fix overwriting right-operand value when setting acc extra/leg (cherry picked from commit 4f7f44ae8b38b345a7a29a177873912d6857569d) 2017-05-16 Bogdan-Andrei Iancu * [43764b66a] : Fix free space calculation. Improper computing of the available buffer space lead to false errors in writing down the dialog HASH and ID (only when using the D flag - dialog ID in contact username) 2017-05-12 Razvan Crainea * [d22f7636b] : cgrates: fix error detection for different libjson version This is a rework on interpreting the error reports in the cgrates replies. Reported by DigiDaz Fixes #1122 (cherry picked from commit 4bb3f1ffaf132f46f6641be9ba6142fbf5f2ee94) 2017-05-12 ionutrazvanionita * [ca046d566] : [acc] don't start if extra values defined but no aaa/db url defined (cherry picked from commit d86047abd2659562c0e0c4c6fb70e7b6367953ea) 2017-05-12 ionutrazvanionita * [42c682034] : [acc] null terminate leg/extra values when storing them * problems appeared when the name of the AVP was given to radius backend which expected null terminated strings (cherry picked from commit 3a4fd0b81122adf3e0926ab7705e423e87f80e40) 2017-05-11 Liviu Chircu * [af3667dbd] : Proper fix for PostgreSQL login Submitted by @volga629 (cherry picked from commit abd1e655f9816b44590d0f73dd309b30650b0b5e) 2017-05-11 Liviu Chircu * [7f8d65e14] : str2ip(): Do not reject IPs with leading '0' byte This is useful in some code areas (e.g. allowing 0.0.0.0/0 "catch-all" networks in the permissions module) (cherry picked from commit c75a7ddcd190997e84e6aa1d54da37993135dc1d) 2017-05-11 Liviu Chircu * [bed86ea7e] : dialog: Fix possible crash when disabling "accept_replicated_profiles" Avoid processing received replicated profiles when "accept_replicated_profiles" is disabled. In this case, the profile handling code will be optimized and will break if attempting to run replicated profiles through it. (cherry picked from commit 69b14b0aef63e49236663390c4293374d406b12d) 2017-05-11 Liviu Chircu * [1f36f9535] : dialog: Fix possible crash in "profile_get_values" MI command (cherry picked from commit 2d474f003bc5f8a3e00c303fb0bf91bc31b2eb1a) 2017-05-11 ionutrazvanionita * [058120932] : [acc] allow multiple rows extra/leg fields definition (cherry picked from commit 777bf95b3811895200f46b02126689bee55b23e2) 2017-05-11 Razvan Crainea * [65ba630d2] : fix $source_uri pvar when using IPv6 This fix encloses the IPv6 address in square brackets in the resulted URI Reported by Ankur Gupta on mailing list (cherry picked from commit 9798924ba8b24d3829e9ef536ef8f1542056d34d) 2017-05-11 Bogdan-Andrei Iancu * [97cbdf6e4] : Fix doc formating and improve some description (cherry picked from commit aa2f0f5f2bd304e3f4923aca358bdacc70065e15) 2017-05-10 Razvan Crainea * [09e259f59] : usrloc: fix event trigger when no socket is used Without this fix, opensips crashes when trying to add a contact from MI or when loading a user from DB without a socket or with an unknown socket. Reported by Cindy Leung on mailing list (cherry picked from commit a8294457a9bfefbdbb6786e8a40e0acab16560f7) 2017-05-10 Razvan Crainea * [02d312d45] : tls_mgm: fix uninitialized variable (cherry picked from commit b6d7a9e2748be7482de4ab6af333b54bdec9c233) 2017-04-28 rvlad-patrascu * [c5928a643] : tls_mgm: db_schema: same default values for verify_cert and require_cert when taken from DB as from script (cherry picked from commit 24d48c51812e46b04590ef7ac7ed70e881930af0) 2017-04-28 rvlad-patrascu * [a57add88c] : tls_mgm: some doc fixes and improvements * fix client domain AVP usage example * document default TLS settings for any domain when not set * fix some default values for module parameters (cherry picked from commit cc50c0912e1596d2d7fd0e127e62963e15e18798) 2017-04-28 ionutrazvanionita * [6ba33b589] : [aaa_radius] fix Makefile if pkg-config doesn't find the lib (cherry picked from commit c4471299f6dc9b2315453191a6f3c72cfad6f89c) 2017-04-27 Razvan Crainea * [e8b609071] : tm: fix uninitialized variable to make travis happy (cherry picked from commit b9fba7c1e228a31f765d573dec903a32140e45e5) 2017-04-27 ionutrazvanionita * [8ced9b8af] : [proto_hep] fix handling tcp requests coming in multiple chunks This commit fixes 2 bugs: 1) fixes not reading second part of a single TCP request because of bad parsed pointer update; 2) fixes major bug that was causing packets to be processed infinite times by hep callback when one message + some part of a second message came in a chunk and in the second chunk it was the second part of the second message; the tcp request structure was not updated(complete was not set to 0 after first message was processed) causing the second message to be processed an infinte amount of times into the database; 2017-04-27 Razvan Crainea * [f5c5d903f] : acc: fix uninitialized variable (cherry picked from commit 6c4b62dfe5b90f56c347e4a67d40895beeeab963) 2017-04-27 Liviu Chircu * [9268a7eb6] : mid_registrar: Fix insertion issues in mirror mode Reported by @volga629 Fixes #1094 (cherry picked from commit 01c9ae2f350394bb28e59f34863ef7868ab0d748) =========================== Release 2.3.0 ============================== 2017-04-26 Razvan Crainea * [a9ba673f8] : presence: remove useless NOTICE at the beginning of child init (cherry picked from commit bc1ce053c23ec0e07bf12ee884a587e019fc6981) 2017-04-26 ionutrazvanionita * [abec7c078] : fix transport hep identifier from net to trans (cherry picked from commit cddeca398a99563e06988bef416a40a70fff139f) 2017-04-26 rvlad-patrascu * [38a463231] : tls_mgm: revert table version increase (cherry picked from commit d326e4e8e354e72f7dbf16e1d220056428224869) 2017-04-26 Razvan Crainea * [a3aab9cfd] : net: print destination when msg_send() fails (cherry picked from commit df23995f69b485d24b9162487ac4ea7d56a9870c) 2017-04-26 rvlad-patrascu * [2411deafc] : tls_mgm: update docs (cherry picked from commit 8972a5d7f1a3becbcc35d2523929e959da9b30b0) 2017-04-26 rvlad-patrascu * [29a843213] : tls_mgm: use the domain name as an unique identifier for a TLS domain specificiation (both from DB and script) The 'domain' DB column is now mandatory and represents the domain name and identifier. When defining a domain through the script parameters 'server_domain' or 'client_domain' the syntax is now 'domain_name=IP:port' with the address part optional for client domains. Also, improve loading of default domains from DB and fix some issues: overriding script domains with DB domains at startup, crash when defining clients domains without address. (cherry picked from commit ece42ab71c56c03c8aba581e5c978d033e56ff9a) 2017-04-26 rvlad-patrascu * [3d9d03791] : tls_mgm: allow defining default TLS domains in DB (cherry picked from commit cbbb232e9b2b8e8a9ed35a1da3f8d2eec0611334) 2017-04-26 rvlad-patrascu * [bd4b40105] : tls_mgm: allow defining TLS domains both from DB and script (cherry picked from commit 35981e0aaf271a587168d83702a6a220eb9bf06f) 2017-04-26 rvlad-patrascu * [4975a9fab] : tls_mgm: properly get the domain name and address from the corresponing DB columns Previously, the value of the domain column was only an id and the actual domain name was taken from the address column when it's value was not in the "ip:port" format. This was somewhat misleading and consequently the domain column now expects the domain name, and the address column an ip address and port. Also drop the not null constraint from the domain and address DB columns, as server domains only need and address and client domains can be either socket or name based. (cherry picked from commit c27405ec6b7095d2d012da85599c1e10c01282e0) 2017-04-26 Razvan Crainea * [502347e6d] : cgrates: fix readme cgrate(s) typo (cherry picked from commit ff1ffefd4fa9a4e67cbd44057e3e7b9610efa681) 2017-04-26 ionutrazvanionita * [55e4b7b47] : [usrloc] remove unnecessary condition; minor naming fixes (cherry picked from commit f915a8088d1576211f5023c8e3924cd8451b5e62) 2017-04-26 Razvan Crainea * [2a264ffaa] : cgrates: suppress SESSION_NOT_FOUND error on TerminateSession this might happen all the time when using postpaid billing (cherry picked from commit 15600b615220a1aae88b68ae373c34efc5b094a6) 2017-04-26 ionutrazvanionita * [f114dd291] : [usrloc] fix contact removal in DB_ONLY mode (cherry picked from commit b807576180ef4ae0e85176bab364703f4af5b419) 2017-04-26 Razvan Crainea * [afeca1eab] : cgrates: rename MaxUsage to GetMaxUsage function (cherry picked from commit fc8da38d889bc6e0e21274bfdfc3e74fae93c062) 2017-04-26 Razvan Crainea * [c4aa57d58] : cgrates: check for both result and error on replies (cherry picked from commit 9a5796ab87bd74478c07bf8cb09147cbed2c4842) 2017-04-26 Razvan Crainea * [9e0e1b36b] : cgrates: increase debugging in case of error (cherry picked from commit 70098bc696a6edb1584390f374440316a6d6509a) 2017-04-26 Razvan Crainea * [a4adc86ae] : cgrates: add mandatory Destination for CDRs (cherry picked from commit 8a2a85b103c464d8f290f99e2e55495d1fd5e3c2) 2017-04-26 ionutrazvanionita * [db12fee7d] : [sipcapture] report capture table samples for HOMER5 and HOMER6 (cherry picked from commit 1420fe05244db2247f3633c9cc82752994360cf2) 2017-04-26 ionutrazvanionita * [1c4a6460b] : Document homer5_on from proto_hep influence on report_capture function (cherry picked from commit 0f903f1e0b7a1eef5c5b64aa04bcc2aa3db35af5) 2017-04-25 ionutrazvanionita * [65c1c7d07] : [proto_hep] fix transport identfier from trans to net (cherry picked from commit 04f7fbdea5034bc002c9e27c6a48fdacbd93b381) 2017-04-25 ionutrazvanionita * [154a6283f] : [proto_hep]set different addresses if none specified for source and destination (cherry picked from commit 3c904e2106a452221d1587b00779ba6c22adb3c6) 2017-04-25 ionutrazvanionita * [1b22290a7] : [siptrace] fix extra corelation key name from trans to net (cherry picked from commit 6097ec5386213cf77d21e8a7bf3f0860559952be) 2017-04-25 ionutrazvanionita * [1829895d8] : [sipcapture] fix homer6 incompatibilities for report_capture and sip_capture * export homer version via proto_hep to sipcapture * fix report_capture columns depending on version * use extra_correlation chunk for sip_capture if homer6 used (cherry picked from commit 7ec9a572b75e3093b93afa75423c8b26ab371bb4) 2017-04-25 ionutrazvanionita * [9689a2214] : [xlog] fix add xlog level as event key (cherry picked from commit 5bb8378256d4057ba4ccbfefaf6285d8ae44a307) 2017-04-25 ionutrazvanionita * [4b2dd44dc] : [proto_hep] use homer5 format by default (cherry picked from commit 4ee0764f98e43215472186fef2247d2439d4801d) 2017-04-25 Dan Pascu * [8a129fff9] : Added support for RFC6598 private address range (cherry picked from commit b604bd9a977f7237a0eab7abe15616b7a1a6364b) 2017-04-25 Razvan Crainea * [e081b234b] : rtpproxy: add default_set mod param This allows you to specify a default set to be used when not explicitly specifying it in the rtpproxy_*() functions, or in the socket definition. References #1105 (cherry picked from commit c8e5a41297c2125bd1627b84329e81d00417d415) 2017-04-25 Razvan Crainea * [16f8a272b] : rabbitmq: prevent crash if vhost not specified (cherry picked from commit a38a3b7b67947805189d3eb166f1f24b5c8ae73e) 2017-04-25 Razvan Crainea * [a46124fac] : rabbitmq: more verbose error reporting (cherry picked from commit 83d3399fa26a44febecec64d7ed91e1d3afd7f3f) 2017-04-24 Bogdan-Andrei Iancu * [3db24a854] : Extend 8ea908 fix to the async support via core. Assume ASYNC_DONE also when forcibly resuming async operations (cherry picked from commit aad5b82afd3f12c1ae1dc5b208dbdcba798f84f6) 2017-04-24 Liviu Chircu * [b2edc7798] : tm: Assume ASYNC_DONE also when forcibly resuming async operations Fixes #1074 (cherry picked from commit 8ea9082b85d97065b4c49932233d87f51bffd0f8) 2017-04-24 ionutrazvanionita * [645f71b1d] : [db datetime parsing] parse only date if date-time format parsing fails (cherry picked from commit 334c67a9fb93fefe724292bd883f30ba722b2aa3) 2017-04-24 Liviu Chircu * [191fa7e2c] : fraud_detection: Fix sequential_calls stat Fixes #888 (cherry picked from commit 1eb3ff4ad9eeda17ad713400ec6142d210a07fdd) 2017-04-24 Razvan Crainea * [d02562d61] : sql_cacher: fix bogus return check Fixes Coverity CID 167552 (cherry picked from commit 809df8d5842a1bf098666058657149d54d6136ff) 2017-04-24 ionutrazvanionita * [ac28466ac] : [tls_mgm] fix uninit variable usage (cherry picked from commit 8d3aaddf1e10b76a2434f60e1802863107b62f39) 2017-04-23 Bogdan-Andrei Iancu * [4ab6f3f2d] : Fix bug in GW pinging. Disable the destination if the ping sending fails. If we cannot ping it, for sure we will not be able to send call to it too. Closes #982 (cherry picked from commit 478d3f33cce65996a627613345c77fe5373b717f) 2017-04-21 Liviu Chircu * [e9a1ed861] : opensipsctl: Fix PostgreSQL login Closes #1089 (cherry picked from commit 00906dec7df55d9feb117af53e059943a229993b) 2017-04-21 Razvan Crainea * [f5d572df7] : sql_cacher: fix uninitialized return code in case of error (cherry picked from commit 38fd4a6335e31303a0075a3d202a89cc3c2e9e03) 2017-04-21 Razvan Crainea * [ab9838794] : topo_hiding: fix COND_FAILED insertion for after and before (cherry picked from commit 017c5e40d3bd5b8fd08cb2184f884ad9f668a268) 2017-04-21 Bogdan-Andrei Iancu * [5022725c4] : Fixed t_check_trans() not to report end-2-end ACKs end-2-end ACKs are sequential requests (in dialog) forming a separate transaction than the INVITE; In terms of ACK matching, the t_check_trans() reports only hop-by-hop ACKs (to negative replies) which are part of the INVITE transaction. (cherry picked from commit dee4d12f8e99adbb6e46476eaeaf2b80130cb5a9) 2017-04-21 Bogdan-Andrei Iancu * [d568d2116] : Fix sequential lookups of the DID separator. (cherry picked from commit 8cba5ecc0ea7b95daaf702d023e9de2ec8b26daf) 2017-04-21 Bogdan-Andrei Iancu * [7a6a45365] : Fixed testing the return code for pv_set_value() (cherry picked from commit c9cf64084aabf8c967b068ecbf2dd10e68f5a8b1) 2017-04-21 Bogdan-Andrei Iancu * [cf73b681d] : Fixed bogus returned code for sl_send_reply() If called for an ACK request, the sl_send_reply() func returns 0, terminated the script execution; Changed to return success (1). (cherry picked from commit 527017104058deb253ba5be6b32239483f834839) 2017-04-21 Liviu Chircu * [1604502f5] : mid_registrar: Fix reply handling when routing by Path (cherry picked from commit bae111ba3de7c75c9a2c15fe3048e6343b3f1417) 2017-04-21 Liviu Chircu * [257c37c70] : mid_registrar: Simplify data structures (cherry picked from commit 484f0de804c242af2a627b0b9743f69bb9d8d4e0) 2017-04-21 Liviu Chircu * [2e0de6fac] : Fix a print_uri() parameter issue The parameter fields of a parsed (struct sip_uri) actually contain the entire value (e.g. .transport = "transport=tcp", .transport_val = "tcp") (cherry picked from commit 6d683cef0abe023540fdf86d0ec2b7f85d7c916b) 2017-04-21 Liviu Chircu * [99380dc15] : registrar library: Fix nat flag management (cherry picked from commit c9901f6138748d28d0b948aab700a15e1ae4b940) 2017-04-21 Liviu Chircu * [767973e4c] : Move common registrar time-keeping code under lib/reg (cherry picked from commit 1f9aa6d61333346c3935ce57a674defb977629a0) 2017-04-21 Liviu Chircu * [70aeb654f] : Move common registrar code under lib/reg Also add distinct compilation logic for it, so as not to be included in the "opensips" binary. (cherry picked from commit 82873f5720513d13319bd518f09be6869d2a5f87) 2017-04-21 Liviu Chircu * [858796ce1] : mid_registrar: Improve function docs (cherry picked from commit 0b19616ec60c389643a5503e26cfc19af748640a) 2017-04-21 Razvan Crainea * [29367735a] : dialog: update contact at the end of initial req processing This makes the fix_nated_contact() changes visible throughout the entire processing of the initial request. (cherry picked from commit df59d0dcf595c0fe4538b873ee0c113891a0e98e) 2017-04-21 Razvan Crainea * [23a9a7467] : dialog: split contact and route_set buffers This allows changing each of the contact/route set individually (cherry picked from commit 3371f80cdbc6b6ac05e8c88756239a306a21d580) 2017-04-21 Razvan Crainea * [51c23aaf0] : topo hiding: replace contact lumps with NOP This prevents possible dangling pointers in the contact uri (changed by the fix_nated_contact() function). Instead of deleting the lumps that alter the contact, we replace them with a NOP and COND_FALSE. (cherry picked from commit 4bba4d800cdb76c64c6a3b66b0849a0ff1eb90a2) 2017-04-21 Razvan Crainea * [4f067d827] : rabbitmq: do not exit script if command is successful (cherry picked from commit adb59dd5c1bbfaafe50dc0e24e21f36d372d0a3a) 2017-04-21 Razvan Crainea * [0967d6f82] : rabbitmq: fix documentation copy&paste error (cherry picked from commit c63dd1626e3407ad5d38a064cf7fd4b3c2bfb64b) 2017-04-21 Razvan Crainea * [03dc422ca] : registrar: is_ip_registered() also checks contact host The is_ip_registered() function should match the IPs to the registered parameter, if it exists, or to the contact's host otherwise. Thanks go to Ovidiu Sas for reporting this. Close #1086 (cherry picked from commit 7057e6765779eeb55155827d843c483c4c8e2a65) 2017-04-20 Liviu Chircu * [aeacc2d44] : Improve memory allocation error reporting Reporting "bytes needed" may speed up troubleshooting broken code which attempts to allocate bogus amounts of memory. (cherry picked from commit ad71e0e9e3e7bae6d5f45091aeddbb674c04ab1c) 2017-04-19 Razvan Crainea * [e264919e9] : debian: add wheezy packaging (cherry picked from commit f9f46d560f143c3c8cffb8a6ce1dbaf7dcab8aff) 2017-04-18 Razvan Crainea * [3ddb5fe55] : rtpengine: fix direction specification Reported by volga629 on GitHub Close #1107 (cherry picked from commit 4c71612b477af1a2c42d946ed56a94311e150ddf) 2017-04-16 Razvan Crainea * [6ff098e65] : debian: add stretch files and make jessie default (cherry picked from commit 0c718ad9dd04a59e96a32c7680ea91bf9a915c3f) 2017-04-14 Razvan Crainea * [fc9e72581] : xml: remove useless include that breaks kfreebsd (cherry picked from commit b24bffb4702aabf8a908776a9dee44a2632e3c34) 2017-04-14 Razvan Crainea * [f72350973] : Remove useless includes These useless includes prevented compile on kfreebsd Close #1002 (cherry picked from commit 50c406bc4fd4975c63f5754a8bcdc49d3fa80876) 2017-04-14 Razvan Crainea * [e9e0891f0] : timerfd: only linux supports timerfd (cherry picked from commit 040e73a7e2ffe25bf32ef0c6c8f49eaef781c992) 2017-04-14 Razvan Crainea * [e7d26699f] : Always overwrite DEFS variable but provide an init This is a better solution to 5324464234 for providing DEFS from outside the building environment (cherry picked from commit fbd54c4a599299da93fc54626766ad34d1afa97a) 2017-04-14 Razvan Crainea * [bcaa5324b] : fix several typos (cherry picked from commit b3ec00e634354cfa17781b6a1160c60f194ad4fd) 2017-04-14 Razvan Crainea * [c022d67f0] : sync debian packaging with official packages (cherry picked from commit dceb1db63f8c739a775c6325fd343868dc738c8b) 2017-04-14 Razvan Crainea * [571991770] : add packaging for debian jessie (cherry picked from commit a86ddf28464e024379c2d51d67872d83904fe624) 2017-04-14 Razvan Crainea * [a56a7438b] : tls_mgm: add support for openssl 1.1.0 for master-key (cherry picked from commit b73fbaf0fcb632d4a81ce79fb3e084795dceb315) 2017-04-13 rvlad-patrascu * [46a3dca24] : xml: fix missing XML declaration when dumping entire document (cherry picked from commit a8b74d0fc22f8dbb4d6edbe35621ab9e708d8abc) Conflicts: modules/xml/xml.c 2017-04-13 Liviu Chircu * [8851cef1b] : binary interface: Improve coding style * fix missing "\n" in log messages * improve readability of buffer safety checks * bin_extend(), rather than bin_realloc() * fix some line lengths * fix typos (cherry picked from commit 06bc4ba4d560606ddd8299754e03ef1b3c1f4007) 2017-04-13 Liviu Chircu * [a8f20907b] : dialog replication: Avoid potential crash when debugging ("log_level = 4") (cherry picked from commit 8ebca4bfbebb49f5598bb9079b24368c85afb84e) 2017-04-13 Liviu Chircu * [0067a77a1] : Fix several binary interface bugs * badly handled empty str pushes * buggy str pop operations * missing safety check * addition instead of subtraction bug :| * bad limit check * fix guaranteed crash if out of pkg mem Fixes #1084 (cherry picked from commit 3d2abb23ce0063150e2a945d876bec03b079b6cf) 2017-04-13 rvlad-patrascu * [e00b03a9a] : xml: downgrade logs to DBG when retrieving an unexisting node or attribute (cherry picked from commit c6083fca7d7ad29949dba56d5ece4fb92bb542ad) 2017-04-13 Razvan Crainea * [5cddcf390] : tls_mgm: fix kerberos error log (cherry picked from commit b4ce514b0a22fb3d301126723cd455aa33e516dd) 2017-04-13 Bogdan-Andrei Iancu * [54637ec8a] : Fix wrong BUG log, downgrading it to ERR Also improved the log messages by printing the proto name (not only its index) (cherry picked from commit b7b8717d87ff898fd68ed76f1e9b6ef63c8cb5a0) 2017-04-12 Razvan Crainea * [e35a6907c] : tm: update branch route only if it was specified in branch route (cherry picked from commit 77b37f5316623e0e55da4b798e6e0549100ff2f2) 2017-04-12 Razvan Crainea * [7acaf6344] : topology_hiding: remove bogus prev_crt check in contact removal Closes #1095 reported by hydrosine (cherry picked from commit 9e251cefbf9129d8ae5ade74ee297e18fc5907b6) 2017-04-12 Bogdan-Andrei Iancu * [097f800ef] : Expose a processing context in all routes. If the underlaying code does not set a context when executing a script route, allocate a temporary one in run_top_route. Related to #1097 and #1100 (cherry picked from commit b90ec06e7a0cebfe6415e145afcfa799363a726f) 2017-04-12 Bogdan-Andrei Iancu * [7a762610b] : Fixed updating transaction if no relay done in request route. If the request route ends without any t_relay() (like in the PN scenario, where there are no contact registered at the time of INVITE handling), we need to force upating the cloned request (in the UAS side of the transaction) with all the changes done over the request in script (normally this is done at the t_relay() time). Reported by Nick Altmann. (cherry picked from commit 6455ccba84539d91d7575161989bf9ef41c392e9) 2017-04-11 Liviu Chircu * [b044b721c] : statistics: Fix a $stat bug Properly register a statistic (and attach it to static storage) even when it's first used in a $stat statement. (cherry picked from commit d8a3be9913409e9e69ec0f75566f09ce1cc83e85) 2017-04-11 Liviu Chircu * [66bd23dc0] : statistics: Code refactoring (cherry picked from commit e44d51374c554bb14f5c64dc700f2aaab927ac0c) 2017-04-11 ionutrazvanionita * [06f96cb8d] : [statistics mod] fix stat lookup for $stat variable (cherry picked from commit f9ca59f7baa20701f21ec9c7912c21e13580f8c3) 2017-04-11 Liviu Chircu * [5c5e68531] : HP_MALLOC: Do not abort on oom (cherry picked from commit 92ccfc3b32d28f6cc3af982515820fbc337d9073) 2017-04-10 Razvan Crainea * [ca6804f2e] : trans: always indicate that WS is a TCP based connection This sorts out the issue where only WSS is used, but its clients are advertising transport=ws in URI's param, according to RFC 7118. (cherry picked from commit cc9a767fa5458b1bc1abbab557c7a0451e2cef35) 2017-04-07 ionutrazvanionita * [0e1351d53] : [net tracing filtering] clarify connection filtering tools (cherry picked from commit d858411ad26b6c95e54e0633df0ec1db47e919d1) 2017-04-06 ionutrazvanionita * [39d77788a] : [siptrace] set context for all failure route requests The siptrace context pointer was handled via the processing context. In failure route the context was not set thus not knowing if the tracing was activated or not. Because of this internally generated requests were not traced. Now each time a request is sent the context is set from tm callback parameter. (cherry picked from commit 086b3caf8b87e4916bbfca134c2d119d3ee78e5c) 2017-04-06 Bogdan-Andrei Iancu * [de086eb2d] : Fixed looping through subscriptions. Fix determining the next suscription when removing an exprired subscription which is actually the only one in list. Closes #1093 (cherry picked from commit cf2bbda10cc9c97c42fd30e251d6baafdfd1f8cd) 2017-04-05 ionutrazvanionita * [764c6417e] : tracing by default off; fix report condition (cherry picked from commit 8c1993f765f1f1b48c307126a07d0fd21b78e423) 2017-04-05 Razvan Crainea * [a49a76209] : Supress errors when gracefully timing out Thanks Chris Maciejewski for reporting and providing testing environment (cherry picked from commit 87e42b38fc8def1f3202b8036c4aa560ea69bee9) 2017-04-05 Bogdan-Andrei Iancu * [5339b9b23] : Fix couple of debug logs. (cherry picked from commit 5475cd5b8a8edf82569411c464aee2d601d9e6ac) 2017-04-05 Bogdan-Andrei Iancu * [23cdab75c] : Fixed mixing of return code. Do not re-use the "ret" return code variable when comes to testing the running of the script route (per rule) - it may stay stay to 0 and stop the whole script execution. (cherry picked from commit 981209748cd07b876a29e0fb0e5b991ac39a99a7) 2017-04-05 Bogdan-Andrei Iancu * [68bcf2857] : Fixed upating SIP msg changes into transaction in failure route. Do auto transaction update only in request route, otherwise we may end up storing local changes (per-branch). (cherry picked from commit ab477d07994e393b4174eb471e4eb44627666d49) 2017-04-05 Liviu Chircu * [8ff5cf741] : opensipsctl: Supress random "path not found" errors In case a binary is not found (e.g. gdb), opensipsctl will properly report this by default when its related command is called. (cherry picked from commit 5717839d265bd97d040634bb371ed1e7fecf33c5) 2017-04-04 Razvan Crainea * [a8691b485] : net:tcp: make sure commands are sent through correct unix socket Also prevent trying to delete fd's from hash when they are not registered for reading/writing (cherry picked from commit 7bab7e35e7ff02f1844acfb523db8e6a7e6275cc) 2017-04-03 rvlad-patrascu * [ec96b9310] : clusterer: don't shutdown at startup or MI reload if DB is empty (cherry picked from commit a028550c53adf207eca61674e3a2099aab5d9ae8) 2017-04-03 ionutrazvanionita * [77db32066] : [proto_hep] fix memleak if script is passed (cherry picked from commit b8842cee29fa22f659fbb2e91b56c9a128d8fce4) 2017-04-03 ionutrazvanionita * [d67ab1cd2] : [sipcapture] free allocated structures from sip_msg if no script (cherry picked from commit da840cc7e0ff5f27372fcce0022987ef80560f46) 2017-04-03 Liviu Chircu * [6b5ae24c3] : mid_registrar: Fix a NULL pointer dereferencing bug Properly parse message headers before working on them Fixes #1088 (cherry picked from commit ed5b3900878bdc165a72a8a69ccfd70217f7c87c) 2017-03-31 ionutrazvanionita * [7e57f58a6] : [acc extra] allow null extra and leg variable values (cherry picked from commit 16cf1b5469a7627ca099d897a16bb9d12f4fbea6) 2017-03-30 Razvan Crainea * [2f688b5fa] : Revert "net:tcp: remove unnecessary tcpmain_sock" This reverts commit de72072061ea5ab6fd5ac29d20d722e4dff49598. 2017-03-30 Razvan Crainea * [3a987d3b1] : snmpstats: fix int to unsigned int warnings (cherry picked from commit 5e61f3b910d78d2e9087801214545965febb4d6a) 2017-03-30 Bogdan-Andrei Iancu * [d38a9b1db] : Fix async() statement - run it as sync if not in request route (cherry picked from commit fb1240ce53baa67e8bd0945210feb8d24e1251a3) 2017-03-30 Bogdan-Andrei Iancu * [001135ade] : Switched Async to ON by default (as per docs) (cherry picked from commit bd1bc7860207a8eb6a2d861501066a2dcc80a0cf) 2017-03-30 Liviu Chircu * [d18932a4f] : mid_registrar: Fix incompatible Contact URI parameter values This patch adds RFC 3261-compatible "word" encode/decode functions for Contact URI parameter values, Call-IDs, etc. Reported by Kirill Galinurov (cherry picked from commit faa96c2c80e6c58c038ddac01f4822623ef15381) 2017-03-30 Liviu Chircu * [25db051fd] : base64decode(): Improve robustness * prevent invalid memory access with well-crafted input * remove redundant logical AND (cherry picked from commit ec59cb95fec32899123d658545825dc06a3424c3) 2017-03-30 Liviu Chircu * [92758d8ac] : core "net:" statistics: Fix an integer signedness bug Due to runaway usage of bitwise shifting, the byte matching code would fail to work for interfaces having low order bytes with greater values than 128 (e.g. udp:31.32.33.147:5060). Consequently, all "net:" statistics for them would show up as zeroes. Thanks to Bogdan and Răzvan for discovering and troubleshooting (cherry picked from commit 009691c6c7672927f68cfb8a0340166167a04107) 2017-03-30 Razvan Crainea * [de7207206] : net:tcp: remove unnecessary tcpmain_sock The tcpmain_sock has been completely repurposed and can no longer be used to send data back to TCP main - only unix_tcp_sock may be used. (cherry picked from commit cf8229a178c885b81b12040b66a48d651ef90031) 2017-03-30 Bogdan-Andrei Iancu * [3a0a8e1f1] : Avoid chown on PID and PGID files in debug mode In debug mode, these files are not created in debug mode (as daemonize() is not triggered), so any chown() will simply fail on it. (cherry picked from commit 15a0ea716e5274f09ef01fa8cdce8029b7e14a30) 2017-03-29 ionutrazvanionita * [59baf853a] : Remove obsolete parameter from loadbalancer menuconfig script (cherry picked from commit 959099898a6b1194efe0c643b7afac6f6723ba18) 2017-03-28 Razvan Crainea * [13df77d64] : sql_cacher: prevent free for uninitialized variables (cherry picked from commit 1b2549d53b429321bec01a3cdc2174b9837b2124) 2017-03-28 Razvan Crainea * [7fcf1e0b2] : sql_cacher: prevent deadloc in case of error (cherry picked from commit e1e7471f7c41a27e27548980708a6f4490ff8a53) 2017-03-28 Razvan Crainea * [045d5c5bd] : sql_cacher: fix memleak when key is not found (cherry picked from commit 1257adf351c04ee8924d56b0699079ca429a5fed) 2017-03-27 Razvan Crainea * [c49d9d3bc] : fix transformations for input larger than 1024 bytes (cherry picked from commit 8e9eb3efb2734714d5303e92cf03fccaee3b88e9) 2017-03-27 Vlad Paiu * [c6824a303] : Complete prev commit (cherry picked from commit 7750cc0e60a9a274d40ae656540f51ec74a28486) 2017-03-27 Vlad Paiu * [df820283b] : Also DUPlicate the reload time, or else all partitions will share the last reload time (cherry picked from commit 24fd070fb0569c9ef34b80edcf928a59e331bb38) 2017-03-27 rvlad-patrascu * [5ece15b58] : sip_i: fix some value checks in isup parameter write functions (cherry picked from commit de2365df30749a6be001d36a851f319c728e8717) 2017-03-27 rvlad-patrascu * [d4e653dff] : sip_i: use predefined indexes for some accesses to the isup params array (cherry picked from commit 426feb5a849b15afbdfd0982f4542ca7492ad6dc) 2017-03-24 ionutrazvanionita * [be8c1d99f] : [tls tracing] improve error reporting (cherry picked from commit 5e3a803577e68fad36acc6944ed04b1bbcc59ec1) 2017-03-24 Razvan Crainea * [7aae337dc] : dialog: update cseq under lock Close #1008 (cherry picked from commit 596fb1f3d4b227185556a992dbd9945fed206f5e) 2017-03-23 Razvan Crainea * [3e3487c57] : tls: fix typo in documentation (cherry picked from commit 2522b484f678b7e8dc62aff1ae3fb54d4fdc02b8) 2017-03-23 Razvan Crainea * [650fe58b3] : do not use shm_free after mem_lock is deleted Fixes Coverity CID #150514 (cherry picked from commit cd61edd111e5b47eb490d734ba23708963504cd6) 2017-03-23 Razvan Crainea * [eec1d97e4] : proper check for pv_parse_spec Fixes Coverity CID #163949, #163948 (cherry picked from commit 36b445d0facdca13f0e4a03dda1ae9ce4838bd50) 2017-03-23 Razvan Crainea * [60808d88c] : rabbitmq: fix srv connection check Fixes Coverity CID #163995 (cherry picked from commit 34502c4daeb6a6bed8fadafc4030004b1c097a67) 2017-03-23 Razvan Crainea * [8d64f8409] : hep: return error in case header does not exist Fixes Coverity CID #165029 (cherry picked from commit b3751ffda920104736255777a7ca4f2ec932ca5c) 2017-03-23 Razvan Crainea * [297df1e8c] : bin_interface: fix possible NULL dereference Fixes Coverity CID #165030 (cherry picked from commit aa3ed455a3638853407393375e323fc87746c51f) 2017-03-23 Razvan Crainea * [c1c490988] : statistics: fix possible crash Fixes Coverity CID #165034 (cherry picked from commit 3bfb86cc93346675207da0b5c8c8325754932718) 2017-03-23 Razvan Crainea * [902138a34] : clusterer: prevent NULL dereference Fixes Coverity CID #165038 (cherry picked from commit 2ac78877942f247c583b424f548b5244a1d5a427) 2017-03-23 Razvan Crainea * [b155eb694] : cgrates: fix possible null pointer dereferencing Fixes Coverity CID #165033 (cherry picked from commit fd7fd6e26f32c508add3e5103d2ee76806c7e5f8) 2017-03-23 Liviu Chircu * [3f6667357] : rest_client: Fix header list management with async requests The list of additional headers must not be freed too early, as libcurl may still make use of it during each async resume callback. Credits for reporting and helping with troubleshooting and testing go to Agalya Ramachandran. Fixes #1072 (cherry picked from commit 29363ca88cf58f0a5690c9f42ba992ff52a06c81) 2017-03-23 Bogdan-Andrei Iancu * [90c6d3edd] : Do not trigger reporting at TCP shutdown (cherry picked from commit ed5822759cb6bd6863d539ac2f9e0ec7d8026ec0) 2017-03-22 Ovidiu Sas * [1834d20c4] : db_mysql: fix warning: passing argument 3 of ‘mysql_options’ from incompatible pointer type (cherry picked from commit 394980129c79d465a71d0c50e0544e28dd004552) 2017-03-22 Ovidiu Sas * [7ab853f28] : sql_cacher: fix compiler warning may be used uninitialized in this function (cherry picked from commit dd70215a3224025a8926f462d12f735e873bb557) 2017-03-22 Ovidiu Sas * [6bb48d0a9] : registrar: fix compiler warning may be used uninitialized in this function (cherry picked from commit 2050b594cdd1a89a71429211fd225387c035fd80) 2017-03-22 Ovidiu Sas * [fc85d852e] : drouting: fix compiler warning may be used uninitialized in this function (cherry picked from commit 37a3510966c9c640eff855d40b0c77dee78cd906) 2017-03-22 Ovidiu Sas * [78c05b115] : dialog: fix compiler warning may be used uninitialized in this function (cherry picked from commit 0ccbe7765b4544d9d1e5402dd9ce94e35bac1a29) 2017-03-22 Liviu Chircu * [bfd3411b2] : sql_cacher: Fix pkg memory leaks (cherry picked from commit e72fc5f354dd4416a375916352c6014a9f883b6d) 2017-03-22 Răzvan Crainea * [9e4a8976a] : consider global advertised address when choosing a listener When searching for 2nd RR (the inbound one) also look into the globally declared advertised address (cherry picked from commit 9491782ab150be5d61b592e16d64121ecaab2420) 2017-03-22 Bogdan-Andrei Iancu * [a884e8cfe] : Fix computing clabel on DB reload. This bug may lead into duplicated CID for contact records (cherry picked from commit 7922417f9e34746ee766f0165c01034740d4131b) 2017-03-22 Razvan Crainea * [e4c7c1708] : topology_hiding: document callid not changed without dialog (cherry picked from commit 4c25fc7cb4fd3fbb62f5005678bf9edd2eafe547) 2017-03-21 ionutrazvanionita * [bbd17f773] : [proto_tls] fix events not being traced in case of tls error (cherry picked from commit d4f6e05f8c1b203222910631a8395cf4c83d6656) 2017-03-21 ionutrazvanionita * [ff97fef03] : [proto_ws] use trace function from trans_trace.h (cherry picked from commit 41acbf1501cd7a5276ab813341ff2fc450a145e2) 2017-03-21 ionutrazvanionita * [f3bbcb395] : [proto_wss] fix tls tracing without ws and possible memleak There were 2 cases when tls could have been traced without ws, but the hep message was not sent: 1) when the certificate was not accepted by the connecting client causing an EOF after the TLS handshake; on this scenario the tls message was built but not traced, therefore a memory leak; 2) when there was an error at the TLS level; the tracing was done only after the ws handshake took place therefore any tls error would have caused the message not to be traced; (cherry picked from commit ab8d7258fcdf34aa02ba65bf57cbbee23355b7a1) 2017-03-21 Bogdan-Andrei Iancu * [4af0aaa83] : removed dead code Reported by Liviu Chircu (cherry picked from commit aec22a3f12f93e12ff2dadf49e3d0acf7fac6779) 2017-03-21 Bogdan-Andrei Iancu * [1f3223f80] : Fix str comparison in IP matching Closes #1077 (cherry picked from commit ec8842e673bcd1c64be586a4d6f2323f4b778aa1) 2017-03-21 rvlad-patrascu * [e2e4380c9] : xml: fix libxml buffers memory leak in PV get function (cherry picked from commit 2af6d958ffb2c20a52f6b828a658667406912a9c) 2017-03-21 ionutrazvanionita * [db277d844] : [tls_mgm] fix tls error tracing logical condition (cherry picked from commit 401cbfbe3f54d72f59acc6d9698254e55174c176) 2017-03-21 ionutrazvanionita * [c04098d89] : [proto_wss] allocate trace on; fix route name (cherry picked from commit 854378ee99785bcacfb5b73b159e4ade001484d9) 2017-03-21 rvlad-patrascu * [57486bafd] : load_balancer: fix bug when building packet for status replication (cherry picked from commit 8c47d77143d5ff3f7cec6d4609fe68b414968ad8) 2017-03-21 rvlad-patrascu * [85ed33e7a] : drouting: fix bug when raising event for received replicated status (cherry picked from commit 975198f5a3d347df58a3162a8e149be51366fb49) 2017-03-21 Bogdan-Andrei Iancu * [01d4d6adc] : Added "xml" module to the exclude list (cherry picked from commit 30630102a06b327b23c7bc9f56c56609670ded45) 2017-03-21 ionutrazvanionita * [176eee655] : [siptrace] fix connection id for udp protocol (cherry picked from commit 9d5aa772139d3e4e79e62e799f29ebded4eeeda7) 2017-03-20 ionutrazvanionita * [39501505e] : fix bad port byte order (cherry picked from commit 62e897a03fb63ae5e374d750136249bbc87696da) 2017-03-20 ionutrazvanionita * [7a00c247f] : [tls_mgm] fix bad trace function placement (cherry picked from commit c430622c258065a2a2959e6039a01721f182ae6f) 2017-03-20 Razvan Crainea * [2c1989f0d] : cgrates: add persistency for sessions (cherry picked from commit c9fafb796f30883e687c3a0d3032565517cde771) 2017-03-17 Razvan Crainea * [52e081e8b] : nathelper: fix transport for WSS 2017-03-16 Razvan Crainea * [778e7534a] : Update ChangeLog for 2.3 =========================== Release 2.3.0-beta ========================= 2017-03-16 Liviu Chircu * [481ecaddf] : Fix compile warning with SHM_EXTRA_STATS and !STATISTICS 2017-03-16 Razvan Crainea * [48b980938] : upgrade from dev to beta 2017-03-16 Razvan Crainea * [741f9c15b] : debian: add copyright for wss module 2017-03-16 Razvan Crainea * [d03c80ff4] : xml: add debian packaging also fix some copyright issues 2017-03-16 Razvan Crainea * [519862c84] : Update Credits file 2017-03-16 Nick Altmann * [f095d4e10] : RPM spec: add xml module 2017-03-16 Razvan Crainea * [f102eb584] : comply mysql module to the new TLS interface also add documentation about possible restrictions 2017-03-16 rvlad-patrascu * [5b809b182] : xml: docs: fix example 2017-03-16 ionutrazvanionita * [2c7b81c69] : [proto_wss] document trace_on, trace_filter_route modparams and wss_trace mi function 2017-03-16 ionutrazvanionita * [2e4acb991] : [proto_wss] improve control over traced wss connections * new trace_on modparam to control whether or not tracing should be activated; * new trace_filter_route modparam to define a route in which tracing for certain connections can be dropped; * new wss_trace mi function to control global wss tracing ( on and off switch ); 2017-03-16 ionutrazvanionita * [4a8a29ff6] : [proto_ws] document trace_on, trace_filter_route modparams and ws_trace mi function 2017-03-16 ionutrazvanionita * [0f12e55de] : [proto_ws] improve control over traced ws connections * new trace_on modparam to control whether or not tracing should be activated; * new trace_filter_route modparam to define a route in which tracing for certain connections can be dropped; * new ws_trace mi function to control global ws tracing ( on and off switch ); 2017-03-16 ionutrazvanionita * [2950c4c11] : [proto_tls] document trace_on, trace_filter_route modparams and tls_trace mi function 2017-03-16 ionutrazvanionita * [312be1d6f] : [proto_tls] improve control over traced tls connections * new trace_on modparam to control whether or not tracing should be activated; * new trace_filter_route modparam to define a route in which tracing for certain connections can be dropped; * new tls_trace mi function to control global tls tracing ( on and off switch ); 2017-03-16 ionutrazvanionita * [48bdc1a54] : [trace_api] add 2 more variables to common transport structre * added the global variable trace_is_on which will globally control whether or not tracing is activated via modparam and mi; * added the filter route id which will be used to call a route in which users can filter which connections shall be traced; 2017-03-16 rvlad-patrascu * [2e97db2aa] : Merge branch 'xml' 2017-03-16 rvlad-patrascu * [296e75899] : xml: improve docs 2017-03-16 Liviu Chircu * [544fb24ec] : statistics: Update docs 2017-03-16 Razvan Crainea * [e51a5f067] : reactor: prevent thundering herd problems when this prevents massive context switches when multiple workers are idle waiting in epoll(). this topic has been largely discussed in issue #983 2017-03-16 Razvan Crainea * [b22b99223] : cgrates: add documentation for sessions 2017-03-16 Razvan Crainea * [416d944b0] : cgrates: add support for multiple parallel sessions This provides the mechanism to start multiple sessions in CGRateS for different legs of the call. 2017-03-16 ionutrazvanionita * [d44e98ce3] : [proto_tcp] update readme with latest tracing changes * add information about trace_on and trace_filter route module parameters; * add information about new mi function tcp_trace; 2017-03-16 ionutrazvanionita * [8ac223b3c] : [proto_tcp] define global trace param static 2017-03-16 ionutrazvanionita * [e7d9bb7e2] : [proto_hep] fix correlate documentation examples 2017-03-16 Bogdan-Andrei Iancu * [d557abcab] : Docs updated 2017-03-16 Bogdan-Andrei Iancu * [ac1c4ff9a] : Fix git merging errors 2017-03-16 Bogdan-Andrei Iancu * [4d4ec4f18] : Regenerate DB schema (TLS_MGM changes) 2017-03-16 Bogdan-Andrei Iancu * [7b983e0dc] : Some fixes and cleanup in the new TLS code 2017-03-16 Cerghit Ionel * [5009fc2e7] : tls_mgm: load actual files from db not paths to files the certificate, private_key, ca_list and dh_params columns from database now need to contain the actual files to be used by tls, path to files are no longer supported for this columns domains can be set either by database or by script but not both at the same time to avoid errors default domains can be now loaded from database (their type needs to be different from client and server type) 2017-03-16 ionutrazvanionita * [d95481890] : [proto_hep] updated readme with new correlate function 2017-03-16 ionutrazvanionita * [05da01474] : [proto_hep] add function to correlate two ids at will 2017-03-16 Liviu Chircu * [b917c70ba] : statistics: Add support for stat groups and script iteration over them 2017-03-16 Liviu Chircu * [e90ac3e93] : core statistics: Extend API to allow multiple, dynamic stat groups 2017-03-16 Liviu Chircu * [674de6898] : rest_client: Fix misleading function comment & typos 2017-03-16 ionutrazvanionita * [e167fb27d] : [siptrace] fix crash in case of null global context 2017-03-16 ionutrazvanionita * [fbdd275dc] : [proto_ws(s)] fix tracing status instead of reply message 2017-03-16 ionutrazvanionita * [714b16834] : add tracing mi command for proto_tcp and route for filtering traced packets * added a new mi command in proto_tcp called trace_tcp through which can enable/disable tracing for this protocol; * added new module parameter "trace_on" which can enable disable tracing from the module; * added new module parameter "trace_filter_route" which defines a route to enable/disable tracing for every connection; 2017-03-16 rvlad-patrascu * [1c2ebc3b8] : clusterer: fix clang compile 2017-03-16 ionutrazvanionita * [8cedf29b2] : fix forward declaration bug 2017-03-16 Bogdan-Andrei Iancu * [f36189716] : Added "clusterer" for mysql migration 2017-03-16 Bogdan-Andrei Iancu * [1539d8bd9] : Enhance the prototype of the"report" callback. We need to expose the connection flags too. 2017-03-15 Bogdan-Andrei Iancu * [95e2191da] : DBschema regenerated 2017-03-15 Bogdan-Andrei Iancu * [90df40033] : Correct NULL constraints for "presentity" table Columns 'body', 'extra_hdrs' and 'sender' can be NULL and by default are NULL Closes #1017 Closes #1004 2017-03-15 Bogdan-Andrei Iancu * [01d351b45] : Fix syntax in defining the TLS domain in module params Replace "tls_dom:value" with "[tls_dom]value", to avoid any conflicts between the separator and the actual value. Closes #1006 2017-03-15 Liviu Chircu * [7c93b6208] : Merge pull request #955 from rvlad-patrascu/clusterer_rework_final Clusterer rework final 2017-03-15 rvlad-patrascu * [8998a21cd] : bin_interface: fix unsigned expresion comparison with 0 2017-03-15 rvlad-patrascu * [828079644] : load_balancer: use reworked clusterer and bin interfaces for replication 2017-03-15 ionutrazvanionita * [a514837d7] : [siptrace] fix canceled transactions not traced 2017-03-15 rvlad-patrascu * [269c5103d] : drouting: use reworked clusterer and bin interfaces for replication 2017-03-15 ionutrazvanionita * [2e63a73cf] : [siptrace] correlate sip messages with transport layer messages 2017-03-15 Bogdan-Andrei Iancu * [2195d0f82] : Add a holder to remember the ID of the last outgoing TCP conn used. Needed for tracing purposes. 2017-03-15 rvlad-patrascu * [68c1d4d6a] : Merge branch 'master' of https://github.com/OpenSIPS/opensips into clusterer_rework_final Conflicts: modules/clusterer/api.h modules/clusterer/clusterer.c modules/clusterer/clusterer.h 2017-03-15 Bogdan-Andrei Iancu * [7ad0b3c67] : New function tcp_get_correlation_id() 2017-03-15 rvlad-patrascu * [53eded6d8] : clusterer: minor clarifications in docs 2017-03-15 ionutrazvanionita * [2919f9633] : [proto_ws(s)] trace web socket connect failures 2017-03-15 ionutrazvanionita * [3be4f294e] : [tcp tracing] use 64bit conn id as correlation; remove error tracing * the new 64bit connection id will be used as correlation id for tracing; * error tracing from proto_tcp has been removed since we have no connection created and can't correlate those error with anything; 2017-03-15 ionutrazvanionita * [d0e3f63d8] : [proto_wss] net trace api implementation * used the net api to implement tracing; * used global api and transport id; 2017-03-15 ionutrazvanionita * [8b86cbfae] : [tls] net trace api implementation * used the net api to implement tracing; * used global api and transport id; 2017-03-15 ionutrazvanionita * [1bb0e9dd8] : [proto_ws] net trace api implementation * used the net api to implement tracing; * used global api and transport id; 2017-03-15 ionutrazvanionita * [054febfb3] : tcp trace functions implementation * impelemented generic trace functions for all proto modules; * defined a global api for all network protocols; * defined a global transport id for all transport protocols; * used the api in proto_tcp; 2017-03-15 ionutrazvanionita * [16433ce27] : [tcp] add new 64 bit connection id; generate the old one randomly * there is a new 64 bit connection id consisting of 4 bytes the old connection id, 3 bytes the start time of the opensips and 1 byte randomly generated; * the old connection id is now randomly generated at start, being then incremented for each connection; 2017-03-15 rvlad-patrascu * [b5af71ed3] : clusterer: fix license and copyright year 2017-03-15 rvlad-patrascu * [8447b4a52] : xml: add docs 2017-03-15 rvlad-patrascu * [7bc40c750] : xml: implement get and set functions for $xml variable 2017-03-15 Bogdan-Andrei Iancu * [7281a4f43] : Updated docs to add $T_id variable 2017-03-15 Bogdan-Andrei Iancu * [8439fc449] : Remove bogus "proc_no" from tcp_processes. Thie field never gets populated due how the internal forking works, so let's drop it. For the reporting IPC, better push the request the the process before+1 the TCP MAIN (the last TCP worker) 2017-03-15 Bogdan-Andrei Iancu * [ad6b06047] : Fix marking the TCP main. 2017-03-14 Bogdan-Andrei Iancu * [ffccad316] : Merge branch 'JeremyMartinez51-master' 2017-03-14 Bogdan-Andrei Iancu * [7849cebe6] : Fix status replication issues. * replicate only status related flags * trigger raise event upon incoming replication 2017-03-14 Bogdan-Andrei Iancu * [4d3de3367] : Added dependency to clusterer module 2017-03-14 Bogdan-Andrei Iancu * [1fbc87206] : Fix and enhance the status replication in DRouting * replicate the DR partition too * raise GW status event upon incoming replication * replicate only status related flags * the E_DROUTING_STATUS event reports also the partition * replicate the carrier status too 2017-03-14 Bogdan-Andrei Iancu * [64787d14e] : Merge branch 'master' of https://github.com/JeremyMartinez51/opensips into JeremyMartinez51-master 2017-03-14 Bogdan-Andrei Iancu * [86437f4cb] : Add "report" callback to proto_tcp, to HEP log the TCP close events 2017-03-14 Bogdan-Andrei Iancu * [cad6ea3ce] : Added reporting support for TCP layer. Currently we report only CLOSE events on TCP connections. Protocols have one more callback, for reporting callback 2017-03-14 Bogdan-Andrei Iancu * [a911e3b38] : Added missing proto to trace_message_atonce() function 2017-03-14 ionutrazvanionita * [c73d8deba] : add transport trace functions definitions 2017-03-14 Razvan Crainea * [fba1941f3] : add detailed documentation for call recording Credits go to Eric Tamme for documenting and testing. Closes #942 2017-03-14 Bogdan-Andrei Iancu * [493656792] : Added data definition for transport tracing Work in progress 2017-03-14 Razvan Crainea * [4bcc7acaa] : rtpengine: add support for sock_pvar and body_pvar Using this feature you can return in script the rtpengine socket used for a specific call. Using the body_pvar, you can take the SDP body from rtpengine and apply any changes to it. Afterwards, you need to "manually" drop the old body and add the new one. 2017-03-14 Razvan Crainea * [22fdecdf1] : rtpengine: loose restrictions on commands passed to rtpengine If a command is not recognized by OpenSIPS, simply pass it to the rtpengine to handle it. 2017-03-13 Bogdan-Andrei Iancu * [9822027e4] : Print the Contact ID when dumping via MI 2017-03-13 Bogdan-Andrei Iancu * [a59440944] : Fix deadlock between INT and TERM signal handling This is valid only for debug_mode, in combination with the memory dumping. 2017-03-13 Razvan Crainea * [4e9d3663a] : rtpproxy: add modifiers for RTP TTL 2017-03-13 Nick Altmann * [b150d886f] : RPM spec: fix doc paths 2017-03-10 Nick Altmann * [fb3efcdc9] : RPM spec: enable cachedb_mongodb for rhel >= 7 and fedora >= 22 2017-03-10 Liviu Chircu * [010e9622a] : cachedb_mongodb: Add support for pre-1.5.0 libmongoc 2017-03-10 Răzvan Crainea * [8e9d1cc9f] : Merge pull request #1069 from sippy/umutex_lock Implement new locking method based around FreeBSD futex-like _umtx_op(2) 2017-03-10 Răzvan Crainea * [9a2305c9b] : Merge pull request #1068 from sippy/master_freebsd_mkfix3 Fix several FreeBSD-related issues 2017-03-10 Răzvan Crainea * [074bd8c47] : Merge pull request #1067 from sippy/module_info_typo Fix what seems to be a typo in the commit e2a6df0c16c42 2017-03-10 Razvan Crainea * [db49bb5bb] : drouting: fix gw whitelist pkg mem leak Thanks go to John Nash for reporting this 2017-03-10 Nick Altmann * [01213d10e] : RPM spec: add new event_routing module and dependencies for cachedb_mongodb module 2017-03-10 Bogdan-Andrei Iancu * [706397c58] : Some spell checking done over README 2017-03-09 Bogdan-Andrei Iancu * [42e26df17] : Uploading the Event (based) Routing module 2017-03-09 ionutrazvanionita * [abdda3192] : [proto_tcp] add conn closed tracing function 2017-03-09 ionutrazvanionita * [22be90421] : [proto_tcp] minor tracing fixes 2017-03-09 ionutrazvanionita * [98a2013a5] : [proto_wss] regenerate readme concerning tracing 2017-03-09 ionutrazvanionita * [f215d35bd] : [proto_ws] regenerate readme concerning tracing 2017-03-09 ionutrazvanionita * [8e2377f85] : [proto_tls] regenerate readme concerning tracing 2017-03-09 ionutrazvanionita * [ae8468bb2] : [proto_tcp] regenerate readme concerning tracing 2017-03-09 ionutrazvanionita * [a0ff2b4a4] : [siptrace] update trace_id docs 2017-03-09 ionutrazvanionita * [1856bde6b] : enable tracing for secure ws connections 2017-03-09 ionutrazvanionita * [8ba4e9948] : enable tracing for tls connections 2017-03-09 ionutrazvanionita * [fdd8fa19f] : enable tracing for websocket connections 2017-03-09 ionutrazvanionita * [c4a499e13] : enable tracing for tcp connections 2017-03-09 ionutrazvanionita * [56eeaa6de] : [trace_api] define shared structure definition for each traced protocol 2017-03-09 Maksym Sobolyev * [3a4906ff9] : USE_UMUTEX_MUTEX -> USE_UMUTEX. 2017-03-09 Maksym Sobolyev * [5873399d0] : Merge branch 'master' of github.com:OpenSIPS/opensips into umutex_lock 2017-03-09 Bogdan-Andrei Iancu * [1eb4ec0f7] : Added support for dynamic branch manipulation New functions were added to allow remote injecting of new branches into an ongoing transaction: * t_inject_branches(source, flags) - injects new branches; * t_wait_for_new_branches() - instruct transaction to wait more for possible new injections. 2017-03-09 Liviu Chircu * [c6c4133b4] : Merge branch 'feature/mongo-c-driver-1.6.0' 2017-03-09 Liviu Chircu * [ff3321f51] : cachedb_mongodb: Clean up code, update license headers 2017-03-09 Liviu Chircu * [98de514b9] : cachedb_mongodb: Some bug fixes - enable multi-updates in the SQL->NoSQL translator - fix a mempcy bug during row reallocation 2017-03-09 Liviu Chircu * [c1d182dec] : cachedb_mongodb: Fix some SQL translation bugs; Add debug logs 2017-03-09 Liviu Chircu * [b503b65da] : cachedb_mongodb: Adapt SQL->NoSQL "C/U/D" functions to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [024e9803c] : cachedb_mongodb: Adapt SQL->NoSQL "query" function for libmongoc v1.6.0 2017-03-09 Liviu Chircu * [b5655b134] : DB core: Remove redundant assignments 2017-03-09 Liviu Chircu * [53fdbd4b1] : cachedb_mongodb: Clean up code 2017-03-09 Liviu Chircu * [6fc9c426f] : cachedb_mongodb: Avoid doing no-op commands 2017-03-09 Liviu Chircu * [3cd5ddbc3] : cachedb_mongodb: Rewrite "update" command to use bulk operations 2017-03-09 Liviu Chircu * [1b9730819] : cachedb_mongodb: Skip bad subdocuments in multi-doc commands Rather than dropping the command completely, just skip the bad documents and run the good ones. 2017-03-09 Liviu Chircu * [a2bcc716d] : cachedb_mongodb: Add "delete" command support for MongoDB 3.0 and below 2017-03-09 Liviu Chircu * [009045844] : cachedb_mongodb: Add "insert" command support for MongoDB 3.0 and below 2017-03-09 Liviu Chircu * [543376868] : cachedb_mongodb: Add "find" raw query support for MongoDB 3.0 and below 2017-03-09 Liviu Chircu * [716c8feef] : cachedb_mongodb: Add "update" raw query support for MongoDB 2.4 2017-03-09 Liviu Chircu * [988448446] : cachedb_mongodb: Add full raw query support for MongoDB 3.2+ 2017-03-09 Liviu Chircu * [7ad893a9e] : core: Export pkg/shm strdup functions 2017-03-09 Liviu Chircu * [7f89db976] : cachedb_mongodb: Improve error logging 2017-03-09 Liviu Chircu * [599ae3597] : cachedb_mongodb: Initial, stripped-down raw query adaptation (JSON->BSON) 2017-03-09 Liviu Chircu * [bf3e5d056] : cachedb_mongodb: Adapt counter get function to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [94554978f] : cachedb_mongodb: Return new counters instead of old ones after add/sub 2017-03-09 Liviu Chircu * [e3eea47bf] : cachedb_mongodb: Adapt counter add/sub functions to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [52f6e44eb] : cachedb_mongodb: Code refactoring 2017-03-09 Liviu Chircu * [419f4172e] : cachedb_mongodb: Adapt key removing function to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [2d18466a5] : CacheDB core: Improve flags for cache_fetch() results 2017-03-09 Liviu Chircu * [4f499f4a0] : QM_MALLOC: Supress free(0) warnings 2017-03-09 Liviu Chircu * [ea4b755aa] : cachedb_mongodb: Adapt key storing function to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [9531a5cb5] : cachedb_mongodb: Adapt key fetching function to libmongoc v1.6.0 2017-03-09 Liviu Chircu * [8aa8fd6c8] : cachedb_mongodb: Add connection cleanup at shutdown 2017-03-09 Liviu Chircu * [4e8ab44e4] : cachedb_mongodb: Adapt connect function to v1.6.0 2017-03-09 Liviu Chircu * [9cba6055d] : cachedb_mongodb: Initial adaptation to v1.6.0 (stripped-down) 2017-03-09 Liviu Chircu * [f4dd4027e] : cachedb_mongodb: Improve reconnect handling Avoid exiting the retry loop with a NULL cursor after several failed reconnects 2017-03-08 Nick Altmann * [caf1ba5c7] : RPM spec: disable aaa_radius for fedora > 23 because radiusclient-ng-devel is not available, optimization 2017-03-08 Nick Altmann * [bd3c643ca] : RPM spec: fix errors 2017-03-08 Nick Altmann * [4d9172463] : RPM spec: support build lua module on fedora change with/without ifs modify ifs to one style fix description 2017-03-08 Maksym Sobolyev * [726457a31] : o Fix LIBDIR; o fix ISSMP detection. 2017-03-08 Maksym Sobolyev * [4fe523741] : Implement new locking method based around FreeBSD futex-like _umtx_op(2) locking primitives, which allows for process-shared kernel-assisted mutexes. 2017-03-08 Maksym Sobolyev * [a6c1c4eeb] : Fix what seems to be a typo in the commit e2a6df0c16c42: get_lock -> gen_lock_t This unbreaks build with the USE_PTHREAD_MUTEX, which is when this symbol is not defined. 2017-03-08 Maksym Sobolyev * [9986bbb12] : o Make -DUSE_PTHREAD_MUTEX compile on FreeBSD; o Warn when USE_PTHREAD_MUTEX is used on FreeBSD. 2017-03-08 Razvan Crainea * [6f6ea1c97] : rabbitmq: fix travis warnings 2017-03-08 Razvan Crainea * [86e218c32] : rabbitmq: more debug 2017-03-08 Razvan Crainea * [302a36542] : rabbitmq: debugging for travis 2017-03-08 ionutrazvanionita * [6d7b94442] : [rest_client] fix compilation issues for older libcurl versions 2017-03-08 Razvan Crainea * [4f835cc14] : rabbitmq: force error flags only for gfcc versions > 4.5 2017-03-08 Bogdan-Andrei Iancu * [207790fd3] : Fix yet-another-c&p error :( 2017-03-08 Razvan Crainea * [be6897f69] : memcached: fix again the typedef for return 2017-03-08 Razvan Crainea * [6b4782824] : memcached: fix previous commit 2017-03-08 Razvan Crainea * [0940c8f9e] : lua: fix for memcached versions older than 0.37 2017-03-08 Razvan Crainea * [cd6e8f061] : lua: use compile flags form pkg-config 2017-03-08 Razvan Crainea * [c15cd7d3c] : lua: add compatible code with older versions 2017-03-08 Bogdan-Andrei Iancu * [4e8542e48] : Fix copy paste error on event attribute 2017-03-08 Razvan Crainea * [b001557ef] : lib/cJSON: fix pragma definitions for older gcc compilers 2017-03-08 Razvan Crainea * [f00c8978c] : presence: add EXPOSED event section 2017-03-07 Bogdan-Andrei Iancu * [a957b6955] : Fixed attr name for contact-related events. "contact" -> "uri" as per docs 2017-03-07 Bogdan-Andrei Iancu * [03a5e9970] : More attributes for the contact-related events. The E_UL_CONTACT_INSERT, E_UL_CONTACT_UPDATE and E_UL_CONTACT_DELETE have now more attributes (full set to describe the contact): * path string * q value * socket description * branch flags * expires * uri as former "address" 2017-03-07 ionutrazvanionita * [edd6f7785] : [siptrace] fix adding correlation id for each sip packet 2017-03-07 Razvan Crainea * [2a55bccf0] : use the global advertised address&port for received interface 2017-03-07 Nick Altmann * [db1b3e433] : RPM spec: remove old init script 2017-03-07 Nick Altmann * [2a4a64fa2] : RPM spec: exclude build cachedb_redis for el6 because hiredis_devel package was removed from epel 2017-03-07 Nick Altmann * [c351c5880] : RPM spec: add build dependency for lua module 2017-03-07 Nick Altmann * [91c60428d] : RPM spec: compatible with debian startup options 2017-03-07 Nick Altmann * [681874301] : RPM spec: rename SuSE directory 2017-03-07 Nick Altmann * [a90e22d71] : RPM spec: remove obsolete .spec, moved from it support to optionally build cachedb_cassandra, cachedb_couchbase, cachedb_mongodb, osp, sngtc 2017-03-06 Nick Altmann * [bdc553d9a] : RPM spec: prepare for opensips 2.3 2017-03-06 Razvan Crainea * [3b0f31ba0] : tm: update fd only if it was provided 2017-03-03 Razvan Crainea * [44d0dcec2] : ws: fix client key generation 2017-03-02 rvlad-patrascu * [396584e07] : clusterer: use correct primitives for RW lock acquiring/releasing when switching from read to write access 2017-03-02 rvlad-patrascu * [02138ede7] : rw_locking: add new primitives for lock acquiring/releasing required when switching from read to write access Using the lock_start_read/lock_stop_read primitives would cause a deadlock if two or more readers would switch to writing 2017-03-02 Bogdan-Andrei Iancu * [a75a8947d] : Enhance the ASYNC API. ASYNC engine allows resume via non-FD events (outside I/O reactor scope) Combine all the async context (async, FD-based, launch) in a single structure (that can be derived) The proto for the module ASYNC functions changed in order to expose the async context ; all the further params where merged into the context structure. 2017-03-02 Liviu Chircu * [19656995a] : rest_client: Improve some whitespace trimming logic (Eliminates any likelihood of a crash) 2017-03-02 Liviu Chircu * [854713857] : rest_client: Fix a PKG memory leak The blocking GET / POST / PUT functions would leak PKG memory whenever the "Content-Type" function parameter was omitted. Thanks for reporting and troubleshooting to Jim DeVito 2017-03-02 Liviu Chircu * [2557b5960] : freeswitch: Fix a subtle locking bug 2017-03-01 rvlad-patrascu * [881a3829a] : clusterer: update db schema 2017-03-01 Bogdan-Andrei Iancu * [44dbac067] : Fix the used socket for sending IPC jobs. Reported by Razvan Crainea 2017-03-01 rvlad-patrascu * [1324db2e0] : clusterer: update docs 2017-03-01 ionutrazvanionita * [7b0bc8255] : [db_virtual] fix or flag propagation from db_virtual to other db backends Nested connections under db_virtual were not receiving the flags existing in the mother connection ( db_virtual connection ). Because of this modules using OR operator for example ( like usrloc and dialog ) were forced to used the default operator, AND thus creating other queries than the ones desired. Thanks to Chris Maciejewski for reporting 2017-02-28 Liviu Chircu * [df6a9a9bc] : rest_client: Add retry behaviour for curl_multi_perform() This patch adds proper handling for the CURLM_CALL_MULTI_PERFORM error code, 2017-02-28 Razvan Crainea * [a83d1e667] : proto_ws(s): fix HTTP reply accept conditions 2017-02-27 Bogdan-Andrei Iancu * [fed5f0c09] : A first basic version of an IPC support. The IPC support allows to any process to pass a job to another process. 2017-02-27 ionutrazvanionita * [9f38e1f3d] : Move cJSON library from proto_hep to core and more * moved cJSON code from proto_hep module to core; * libmath dependency is now optional; implemented floor and fabs functions internally to get rid of this dependency; * used pkg_malloc and pkg_free internal functions instead of free and malloc; * using '-DHAVE_LIBMATH' and linkging libmath '-lm' will result in compiling cJSON code with libmath; 2017-02-27 ionutrazvanionita * [d93c5236a] : [http] fix bad structure field referencing 2017-02-27 ionutrazvanionita * [e2010b539] : [httpd] avoid compilation error on older libmicrohttpd versions 2017-02-27 ionutrazvanionita * [0052453d8] : [mi_json] avoid tracing request twice in case of null mi command returned 2017-02-27 Bogdan-Andrei Iancu * [3b33461c4] : Missing MI reply on setting the GW status. Reported by Jeff Wilkie on mailing list 2017-02-24 Andrey Vorobiev * [1363a6204] : Set 'CURLOPT_FAILONERROR' option to '0' in rest_client module This is done in order to archive following goals: - suppress error log messages like 'curl_easy_perform: ...' when HTTP server returns response with status code larger or equal to 400. - make 'rest_xxx' functions to have the same behaviour with different Curl distributions. Now for different Curls these functions may return different exit codes for the same HTTP response. There is an option in Curl named 'CURLOPT_FAILONERROR'. If it's set to '1' then if returned HTTP code is equal to or larger than 400 the HTTP request is considered as failed and 'curl_easy_perform' returns non 'CURLE_OK' code. In vanilla (upstream) Curl this option is set to '0' (do not fail) but some patched Curl versions set this option to '1' (at least this is true for Debian Wheezy). As result we have a different behaviour for different Curl derivatives. So it seems to be better to enforce setting this option to '0' in order to have the same behaviour for different Curls. (cherry picked from commit 7bb059fa9cbfe6222d7eb7ebad4a2d51c4a25a8b) Conflicts: modules/rest_client/rest_methods.c 2017-02-24 ionutrazvanionita * [fb116fd5e] : Update license in multiple files 2017-02-23 rvlad-patrascu * [a7a263f54] : xml: parse the $xml variable subname The subname of the $xml variable describes a path in a xml tree that allows access to a node value, attribute or entire subtree of that node. 2017-02-23 ionutrazvanionita * [331f7a321] : [http] correctly fetch client socket info 2017-02-23 ionutrazvanionita * [a3b37ea60] : [httpd] dynamically determine incoming interface address for tracing 2017-02-22 ionutrazvanionita * [cf1416b0e] : [mi_xmlrpc_ng] fix tracing without having server details 2017-02-22 ionutrazvanionita * [17059813f] : [mi tracing] set write buffers to 0 before writing into them 2017-02-22 Razvan Crainea * [3b99412c9] : usrloc: do not ignore contacts that don't match a listener 2017-02-22 Razvan Crainea * [1b030ed1b] : presence: fix readme 2017-02-22 Razvan Crainea * [da93a179c] : presence: add E_PRESENCE_EXPOSED event and pres_expose mi cmd Using these two, one can expose in OpenSIPS script the presentities of a specific event. 2017-02-22 Razvan Crainea * [67e204ddb] : evi: make sure we release parameters in case of error 2017-02-22 Razvan Crainea * [abe2837b1] : tm: fix useless uninitialized warning 2017-02-21 ionutrazvanionita * [4c40ae740] : [mi_json] fix request tracing timing Mi_json requests were traced after executing the command, moment at which mi_tree was populated with the reply, the request being lost. This commit fixes this behaviour. 2017-02-21 ionutrazvanionita * [6c45ff017] : [usrloc] fix warning caused by uninitialised variable usage 2017-02-21 ionutrazvanionita * [649dde4ac] : [usrloc] fix bad condition when checking socket read from db 2017-02-21 ionutrazvanionita * [24092c108] : [rest_client] fix inverted source/destination socket when tracing 2017-02-21 ionutrazvanionita * [271d13160] : [sipcapture] return timestamp chunk in unix timestamp form 2017-02-21 ionutrazvanionita * [8fc3e170b] : [sipcapture] fix bad chunk id parsing on fixup 2017-02-21 ionutrazvanionita * [a2307e9c0] : [mi tracing] add separator between mi command arguments 2017-02-21 ionutrazvanionita * [59f622cd0] : [httpd] store loopback address in little endian form 2017-02-21 ionutrazvanionita * [a54f5ab14] : [proto_hep] update docs regarding homer5 compatibility params 2017-02-20 Razvan Crainea * [f2d31fab0] : freeswitch: fix misleading indentation 2017-02-20 Liviu Chircu * [5fcd7db02] : permissions: Improve MI tree structure for "dump" commands This structure simplifies MI output parsing, especially with backends such as JSON Note: backwards incompatible Thanks to @l7s for the tree structure suggestions Fixes issue #1018 2017-02-20 Liviu Chircu * [1d2739b49] : permissions: Fix another MI formatting issue ('\n' in string) 2017-02-20 Razvan Crainea * [43ef62441] : freeswitch: ignore identation warnings 2017-02-20 Razvan Crainea * [bcb6de5f9] : sip_i: fix uninitalized warnings 2017-02-20 Razvan Crainea * [ef49d82a9] : rabbitmq: properly set flags 2017-02-20 Razvan Crainea * [931f70876] : async: run report_route when ctx does not exist 2017-02-20 Razvan Crainea * [1121701f0] : rest: mention how to pass large body in queries 2017-02-20 Liviu Chircu * [e71991c6a] : permissions: Avoid explicit MI output formatting (TAB usage) Some data formats (e.g. JSON) do not allow strings containing un-escaped TAB characters. 2017-02-20 ionutrazvanionita * [0e8baf4a6] : [siptrace] use bitwise and instead of logical end 2017-02-17 ionutrazvanionita * [c9d48a29e] : [siptrace] add callid as correlation id to sip message 2017-02-17 ionutrazvanionita * [728eb45dc] : [proto_hep][cJSON] null terminate strndup copied string 2017-02-17 ionutrazvanionita * [86d1eaa29] : [rest_client] fix trace data length 2017-02-17 ionutrazvanionita * [7b9457899] : [proto_hep] exported str based function from cJSON * cJSON did not export any str based function (char * + len); in order to solve this a new function for str's was added in cJSON which accepts values in char* + len form, not neccesarily null terminated; * used the newly added function in proto_hep module; 2017-02-17 ionutrazvanionita * [182b809b1] : [rest_client] better performance for rest tracing * don't try to resolve url to get traced ip address; get it dirrectly from libcurl; this way we save time and have more accurate information about local ip and port; 2017-02-17 ionutrazvanionita * [ab4f39a4a] : [proto_hep] internally set local address if dest/src is null 2017-02-17 ionutrazvanionita * [bdd127da6] : [trace_api] modify guid generation algorithm; change gid to guid * global unique id is now generated based on internally stored pid, opensips start time, ujiffies and one random value; * also changed generate_gid function name to generate_guid; 2017-02-17 ionutrazvanionita * [a5cc747de] : [xlog] callid as both primary correlation and extra correlation 2017-02-17 ionutrazvanionita * [e59a43db7] : [sipcapture] fix crash if hep3 message has no payload 2017-02-17 ionutrazvanionita * [41199667d] : [hep] allow having messages without payload 2017-02-17 ionutrazvanionita * [82b215fa1] : change trace_api function names for better understanding 2017-02-17 ionutrazvanionita * [26413cb63] : added Homer 5 compatibility; extra data params as str function args * opensips now offers compatibility with HOMER5; there is a module parameter in proto_hep which allows falling back to HOMER5 logic along with a delimiter parameter which shall be put between multiple payloads in a message; * add_trace_payload and add_trace_correlation functions were recieving char* as parameter; this was because json library functions which does not have opensips str based functions; but since having a char* as a parameter needed a lot of workarounds since the software is mostly str based, we decided that all the memory allocation logic in order to be able to have null terminated strings should be inside add_trace_payload and add_trace_correlation functions; 2017-02-17 ionutrazvanionita * [a823cb61c] : [rest_client] change correlation logic Rest client now has 2 correlation id: * the main correlation id in the correlation header which stores a rest correlation link the request with the reply; * an additional sip correlation in the external correlation header storing the sip callid; 2017-02-17 ionutrazvanionita * [693757781] : [xlog] change correlation logic * each xlog packet will have it's own correlation id and and extra sip correlation id, which will be added to a new header; 2017-02-17 ionutrazvanionita * [26cf14648] : [proto_hep] fix extra correlation logic 2017-02-17 ionutrazvanionita * [d1845ca3d] : [mi] use global id generator func for correlation 2017-02-17 ionutrazvanionita * [23144403a] : [trace_api][proto_hep] Add unique id generator function Trace api exports a function which should generate an unique id in space/context ( process ) and time. Proto_hep implements this function based on process id, current time in seconds and miliseconds and some random value. 2017-02-17 ionutrazvanionita * [50197c741] : [proto_hep] fix json funcs file inclusions 2017-02-17 ionutrazvanionita * [aa17f82ec] : [rest_client] add rest trace message payload as JSON 2017-02-17 ionutrazvanionita * [d4bb33c57] : [mi] add mi trace payload as JSON 2017-02-17 ionutrazvanionita * [ad793eabe] : [xlog] add trace message payload as JSON 2017-02-17 ionutrazvanionita * [9d5d45525] : [siptrace] add data to message callback and sip payload as JSON * sip_context_trace function now exports a function which will give access to the trace_message structure and users will be able to add/remove headers as they wish; * sip message is now saved as JSON in the HEP message; 2017-02-17 ionutrazvanionita * [b02e59557] : [proto_hep] implement new trace api functions formatting to JSON Users can now add multiple payloads and correlations using the new functions from trace_api, which in proto_hep will be added as JSON objects. 2017-02-17 ionutrazvanionita * [158cc0645] : [trace_api] export functions for adding HOMER6 compliant data * export function to add multiple payloads, leaving the impelemnting protocol to decide how to format this data; * export function to add multiple correlations, except from the protocol's correlation id; * sip_context_trace function now leaves the possibility to have a function in which the user can modify the message; 2017-02-17 ionutrazvanionita * [36c698d3a] : [proto_hep] include cJSON library in proto_hep 2017-02-17 ionutrazvanionita * [c549e6ec0] : [rest_client] trace rest requests and replies 2017-02-16 ionutrazvanionita * [584799b94] : [exec] exec_func: force having only one variable in output/err param 2017-02-16 ionutrazvanionita * [191592838] : [siptrace] allow only one variable or text for trace id function param 2017-02-16 Jeremy Martinez * [3a1713606] : Added copyright and license to dr_replication and lb_replication files 2017-02-15 Razvan Crainea * [daafbc82d] : mod_fix: optimize formats when only a pvar is used This currently breaks this modules which are mistakenly using gparam: exec, siptrace 2017-02-15 rvlad-patrascu * [2970362b7] : xml: module stub 2017-02-15 Razvan Crainea * [3a4ada477] : Merge branch 'feature/rtpproxy-all-stats' 2017-02-15 Razvan Crainea * [ff32ac069] : rtpproxy: get statistics in multiple commands from RTPRoxy This is a limitation of the protocol that only allows you to get a certain number of statistics at once. Currently this is 5, but may increase. 2017-02-15 Liviu Chircu * [cc6438831] : dispatcher/load_balancer docs: Improve FreeSWITCH examples 2017-02-15 Jeremy Martinez * [bc5540162] : Added enable/disable replication to drouting and load_balancer 2017-02-14 Razvan Crainea * [74d3ea746] : rtpproxy: fix capability lenght 2017-02-14 Razvan Crainea * [d41a248a1] : rtpproxy: fix notify mechanism for newer versions Sorted this out by verifying the version of rtpproxy. Closes #1043 2017-02-14 Razvan Crainea * [210be5987] : rtpproxy: rework capabilities 2017-02-14 Bogdan-Andrei Iancu * [7096809d3] : Fix loosing destination status during reload. Preserve the status (enabled or not) during a data reload from DB. (cherry picked from commit c2df8a8feaa96bc278f60a82ce6e845a620599a9) 2017-02-14 Liviu Chircu * [eae2985ab] : Merge branch 'feature/FS-load-balancer' Conflicts: reactor_defs.h 2017-02-14 Liviu Chircu * [60626294b] : opensipsdbctl: Fix migration columns for the MySQL "dispatcher" table 2017-02-14 Liviu Chircu * [2fa3486bf] : freeswitch driver: Add documentation 2017-02-14 Liviu Chircu * [76ccb9d41] : freeswitch: Enhance URL definition with "[user]:password" part 2017-02-14 Razvan Crainea * [076c78cbf] : load_balancer: rename internal used AVPs This prevents using them from script by mistake 2017-02-14 Razvan Crainea * [d3ec5a7cc] : fix md5sum binary 2017-02-14 Maksym Sobolyev * [5b90e77b9] : Make sure to call MD5 utility properly on FreeBSD ("md5" vs "md5sum" in linuxes). 2017-02-14 Răzvan Crainea * [c6525acd7] : Merge pull request #1053 from sippy/master_writev_fix Add where writev(2) is used. 2017-02-14 Razvan Crainea * [f3e670f92] : rtpproxy: RTPProxy restrictions for rtpproxy_all_stats 2017-02-14 Maksym Sobolyev * [1837ef23c] : Add where writev(2) is used. 2017-02-13 Liviu Chircu * [6c71f4253] : load_balancer: Add some useful startup warnings FreeSWITCH-enabled destinations should only have one resource, since it directly correlates with the data derived from its stats. 2017-02-13 Liviu Chircu * [efe3a5668] : dispatcher: Update doc 2017-02-13 Liviu Chircu * [f9604a76e] : dispatcher: Refactor "comm_sock" column Since it had identical meaning to the "weight" column, it is better to merge them together into a string column, while retaining backwards-compatibility with dispatcher table version 7, internally. 2017-02-13 Bogdan-Andrei Iancu * [c042880e4] : Regenerate README 2017-02-13 Bogdan-Andrei Iancu * [38e237d0f] : Fix docs : pattern_col is not regexp but file wildcard pattern Reported by @arovetto Closes #1041 2017-02-13 Bogdan-Andrei Iancu * [3f346cb74] : Added $T_id variable to expose the ID of the current transaction 2017-02-13 Razvan Crainea * [200bda2ad] : rtpproxy: add rtpproxy_all_stats() command docs 2017-02-13 Razvan Crainea * [386072d77] : rtpproxy: add rtpproxy_all_stats() command returns all the statistics for a session 2017-02-13 Razvan Crainea * [5bdc20d76] : rtpproxy: fix rtpproxy_stats() doc 2017-02-13 Bogdan Andrei IANCU * [feb8e73e2] : Merge pull request #1051 from sippy/master_excprint Improve exception debugging in the python module 2017-02-13 Bogdan Andrei IANCU * [f40707ecc] : Merge pull request #1050 from sippy/master_clean Fix a crash in the python module. 2017-02-12 Razvan Crainea * [16b8b2935] : rtpproxy: fix last two parameters for rtpproxy_stats 2017-02-11 Maksym Sobolyev * [4524567ae] : Improve exception debugging by printing function argument (when available) along with the function name. 2017-02-11 Maksym Sobolyev * [38bf2666c] : Only pkg_free(act->elem[2].u.data) if it's value has been altered by the "fixup" function. This fixes crash in the following piece of python code: msg.call_function('www_authorize', get_realm(), \ 'accounts') [...] [...] (gdb) print act->elem[2] $1 = {type = 11, u = {number = 34369153652, string = 0x8008faa74 "accounts", data = 0x8008faa74, s = {s = 0x8008faa74 "accounts", len = 0}, item = 0x8008faa74}} (gdb) print fexport->fixup $4 = (fixup_function) 0x8037b8870 (gdb) print arg2 $9 = 0x8008faa74 "accounts" 2017-02-10 Liviu Chircu * [549bcb6b1] : dispatcher/load_balancer: Update doc 2017-02-10 Liviu Chircu * [f42bb8eb5] : dispatcher: Add "max_freeswitch_weight" modparam 2017-02-10 Liviu Chircu * [29bd1beb1] : dispatcher: Scale FS weights on a 0 - 100 interval 2017-02-10 Liviu Chircu * [23b57309c] : dispatcher: Refactor modparam 2017-02-10 Liviu Chircu * [1c7dca5ea] : load_balancer: Update doc 2017-02-10 Liviu Chircu * [cd55c057c] : load_balancer: Refactor modparams 2017-02-10 rvlad-patrascu * [3b6b6a796] : clusterer: move inline function defenitions to header file 2017-02-10 Razvan Crainea * [ddb17566c] : rtpproxy: enhance recording function This feature allows you to specify RTPProxy to dump both RTP streams in a single file. Works only starting with rtpproxy 2.0 2017-02-10 Razvan Crainea * [4e0950167] : rtpproxy: remove deprecated files 2017-02-10 Razvan Crainea * [73d5fa5bb] : rtpproxy: add rtpproxy_stats() command This command can be used to fetch statistics information from RTPProxy. Closes #750 2017-02-10 Razvan Crainea * [af75908d8] : rtpproxy: verify node for rtpproxy notification 2017-02-09 rvlad-patrascu * [28e8c5bd2] : sip_i: improve docs 2017-02-09 Liviu Chircu * [a18ee7ca0] : load_balancer: Improve weight recalculation logic 2017-02-09 Bogdan-Andrei Iancu * [ef3a39fac] : Added 'launch' statement. 'launch' starts a job in async mode and continue the script immediatly, without waiting for the job to be terminated. A "report" route may be triggered (outside the context of the msg launching the job) when the job is terminated to be able to access the return code and the possible returned data. 2017-02-09 Liviu Chircu * [27370bf9e] : load_balancer: Zero resource buffer during parsing 2017-02-09 Liviu Chircu * [f91b2701d] : freeswitch: Fix unsafe list iteration 2017-02-09 Liviu Chircu * [87506ce31] : freeswitch: Provide "is_fs_url" statically 2017-02-09 Razvan Crainea * [3ae29d1d1] : python: try python2 autodetection 2017-02-09 Razvan Crainea * [33fe33955] : tcp: don't add conn in TCP main reactor after async write When getting back a TCP connection from a TCP worker after it wrote some async chunks, we should not add the connection in the reactor for read. The reason is that the connection might already be polled by a different process. If the poll triggers for read in the main reactor, the connection will be assigned to a new process - and we end up having a connection for read in two different processes reactor - this breaks connections list and results in double frees and invalid memory access. Many thanks to Federico Edorna for all the help given to track down this issue! 2017-02-09 Razvan Crainea * [f2f805157] : tcp: add primitives to check cons local lists 2017-02-08 Razvan Crainea * [d71eb8745] : rabbitmq: fix doc module's name 2017-02-08 Liviu Chircu * [3522bc7fe] : load_balancer: Add runtime max profile recalculation for FreeSWITCH boxes 2017-02-08 Liviu Chircu * [0d716d9b2] : freeswitch: Add a FS URL parsing function 2017-02-08 Razvan Crainea * [69acf0e63] : rabbitmq: fix documentation sections 2017-02-08 Razvan Crainea * [a28c4d60e] : rabbitmq: add README file 2017-02-08 Razvan Crainea * [76ed96da5] : rabbitmq: add documentation 2017-02-08 Razvan Crainea * [de0286754] : rabbitmq: fix vhost URI parsing 2017-02-08 Razvan Crainea * [5fe3669c8] : packaging: add rabbitmq packages 2017-02-08 Razvan Crainea * [87b0d4e0c] : rabbitmq: add publish command Also allow one to add extra headers in the AMQP properties 2017-02-08 Razvan Crainea * [6bc8b67f3] : rabbitmq: remove commented else 2017-02-08 Razvan Crainea * [be34f9988] : rabbitmq: make clang even hapier - remove unknown warning 2017-02-08 Razvan Crainea * [c9c57fdd9] : rabbitmq: make clang happy 2017-02-08 Razvan Crainea * [53e8174b7] : rabbitmq: make travis happy for older versions 2017-02-08 Razvan Crainea * [de028f34e] : rabbitmq: add module to exclude_modules 2017-02-08 Razvan Crainea * [0df5b136f] : rabbitmq: add compatibility code for older versions Although this is highly inefficient, it is the most elegant way to cope with the latest code. 2017-02-08 Razvan Crainea * [2da9dfebe] : rabbitmq: add send command 2017-02-08 Razvan Crainea * [eca522eb2] : rabbitmq: add parameters to server_id 2017-02-08 Razvan Crainea * [dd8cecbc0] : rabbitmq: connect to RabbitMQ server 2017-02-08 Razvan Crainea * [1814e340d] : rabbitmq: add initial files Includes connection management 2017-02-08 Razvan Crainea * [854137350] : routes: add all routes macro 2017-02-08 Bogdan-Andrei Iancu * [af667d527] : Avoid TH handling for locally generated BYEs. Fixes #1029 2017-02-08 Razvan Crainea * [e7f0396d0] : drouting: allow do_routing to set an empty user Before this fix, if the strip was larger than the username, do_routing function would return negative. This commit fixes this and strips the username entirely. Closes #1044 2017-02-08 ionutrazvanionita * [9a0279ecf] : [siptrace] improve log information when trace_id not defined 2017-02-07 rvlad-patrascu * [3b90d13dd] : sip_i: fix adding optional param to parsed struct when initializing default IAM 2017-02-07 rvlad-patrascu * [9dc2e9209] : sip_i: allow add_isup_part script function in branch route 2017-02-07 rvlad-patrascu * [771e14fd7] : sip_i: use correct flag for new body part when retrieving ISUP part 2017-02-07 Razvan Crainea * [4e91d1c3e] : rtpproxy: add clarifications about timeout notification 2017-02-07 Razvan Crainea * [32cf5ecc3] : cfg: do not use event_pkg_threshold if PKG_MALLOC is not used Reported and debugged by Ovidiu Sas 2017-02-07 Liviu Chircu * [77ba9d958] : freeswitch: Avoid "missing initializer" gcc error 2017-02-07 Liviu Chircu * [8f0ea9663] : dispatcher: Improve startup behavior (most common case) 2017-02-07 Liviu Chircu * [89d73b3b9] : dispatcher: Add runtime weight recalculation for FreeSWITCH boxes 2017-02-07 Liviu Chircu * [56b488ca8] : freeswitch: Fix some connection closing corner cases 2017-02-07 ionutrazvanionita * [4d73e65b4] : [siptrace] update trace_id usage docs 2017-02-07 ionutrazvanionita * [4a2ff3958] : [proto_hep] add hep id in docs 2017-02-07 Liviu Chircu * [5f1b8abd3] : reactor: Improve behaviour when polling on 0 fds 2017-02-07 Liviu Chircu * [fd2fb4b7b] : dispatcher: Add FS socket column and import at startup 2017-02-07 Liviu Chircu * [ae8f7d569] : freeswitch: Add an API loading function 2017-02-07 Liviu Chircu * [c0a2a68de] : freeswitch: Fix a socket matching bug 2017-02-07 Liviu Chircu * [1d1e8059f] : dispatcher: Update DB schema Add generic "comm_socket" field - to be used for FreeSWITCH ESL sockets 2017-02-07 Liviu Chircu * [4cc230efd] : freeswitch: Add rw locking for stat data 2017-02-07 Liviu Chircu * [8662ba31e] : freeswitch: Fix a ref count bug 2017-02-07 Liviu Chircu * [f043357c4] : freeswitch: Add event socket ref counting and connection cleanup 2017-02-07 Liviu Chircu * [a508d9a0a] : freeswitch: Add heartbeat event parsing & pushing to subscribers 2017-02-07 Liviu Chircu * [4dff90f25] : Add reusable, libc-compatible pkg/shm allocation functions 2017-02-07 Liviu Chircu * [549ddcb80] : lib/timerfd.h: remove unnecessary warning 2017-02-07 Liviu Chircu * [e95fc0f5d] : freeswitch: Add dedicated process for FS conn handling * reactor-based waiting on multiple FS boxes * periodic TCP reconnect to any box, if needed 2017-02-07 Liviu Chircu * [d98b059fa] : Move "sys/timerfd.h" conditional import code under lib/ 2017-02-07 Liviu Chircu * [83a164f1a] : freeswitch: Add box referencing from multiple modules 2017-02-07 Liviu Chircu * [54827211e] : resolve.c: Add generic "ip[:port]" parsing/resolving 2017-02-07 Liviu Chircu * [9da8a2532] : freeswitch: API draft 2017-02-07 Liviu Chircu * [8fe24ec19] : freeswitch: Integrate FreeSWITCH ESL code 2017-02-07 Liviu Chircu * [524db38c9] : freeswitch ESL connector: First draft 2017-02-06 Bogdan-Andrei Iancu * [2bcf89168] : Fixed cloning of NEW body parts. 2017-02-06 ionutrazvanionita * [5efa8b283] : [siptrace] enable types of trace logic only if any trace proto loaded 2017-02-06 ionutrazvanionita * [7595d76f1] : [proto_hep] avoid to start module without listeners 2017-02-06 ionutrazvanionita * [55b21c673] : [mi_xmlrpc_ng] trace bad commands 2017-02-06 ionutrazvanionita * [0dbf2977b] : [mi_http] trace bad commands 2017-02-06 ionutrazvanionita * [3f33c4dde] : [mi_fifo] trace bad commands 2017-02-06 Liviu Chircu * [a0c145561] : mid_registrar: Fix compile warnings Closes #1031 2017-02-05 Bogdan-Andrei Iancu * [b30af734c] : Fix the traced src IP for replies. For the outgoing replies, do not use the src IP from the SIP msg (which points to the actual sender of the reply), but the OpenSIPS listening interface used for sending the reply out. Reported by Jeff Pyle 2017-02-05 Bogdan-Andrei Iancu * [cabf15995] : Remove temporary debug log (used fo troubleshooting) 2017-02-05 Bogdan-Andrei Iancu * [1e1307f91] : Add queue_pos_param module param to report the queue position. The name of an SIP URI parameter to be used to report the position in the waiting queue when sending the call to media server for onwait/queue playback. The position 0 means it is the next call to be delivered to an agent. 2017-02-05 Bogdan-Andrei Iancu * [1e21f91c4] : Fixed entity index in the b2b callbacks. After some rework of the B2B API, the entities are counted starting from 0, while before they were form 1 - this was affecting the call center logic by mixing the caller versus callee parties of the call. Reported by Jonathan Hunter - many thanks also for testing !! 2017-02-05 Bogdan-Andrei Iancu * [8816636a4] : Arm in-dilaog pinger _after_ ACK. By doing this we avoid any possible conflict (in terms of overlapping) with a delayed ACK. Reported by Schneur Rosenberg Fixes #1034 2017-02-04 Bogdan-Andrei Iancu * [1fcb7e55d] : Push DialogID into username when doing TH The new "D" flag of the topology_hiding() function forces the insertion of the dialog ID (DID) into the Contact Username, rather than Contact URI parameters (as before). This work was sponsored by Stella Telecom (https://www.stella-telecom.fr/), thank you for supporting OpenSIPS project ! Closes #1014. 2017-02-04 Bogdan Andrei IANCU * [fb0d97de8] : Merge pull request #1040 from c-leroy/master drouting: Fix out-of-bound initialization 2017-02-04 Bogdan-Andrei Iancu * [dd41b34cb] : Added teardown MI command as alias to dlg_end_dlg from dialog module. 2017-02-04 Bogdan-Andrei Iancu * [9a4f435bc] : dlg_end_dlg MI command my identify the dlg by Call-ID The MI function may now identify the dialog either via Dialog ID (as before), either via the SIP Call-ID. 2017-02-04 Răzvan Crainea * [0cd545138] : Merge pull request #1038 from OpenSIPS/xml-err [mi_xmlrpc_ng] make reported errors more specific 2017-02-03 Bogdan-Andrei Iancu * [7ed549d7b] : Fix the sip body cloning. 2017-02-03 Le Roy Christophe * [b11ce9723] : drouting: Fix out-of-bound initialization Upon load/reload of drouting tables, if parse_destination_list() needs to increase destinations array size, it asks for a new array twice the size of the previous one. It memset() the newly allocated capacity, skipping memory that is to be filled with already learnt destinations, but using the array size instead of the remaining capacity. This patch fixes the size for this memset(). Closes OpenSIPS/opensips#1039 2017-02-03 ionutrazvanionita * [42e09047a] : [mi_xmlrpc_ng] make reported errors more specific 2017-02-03 rvlad-patrascu * [2d20d810f] : sip_i: fix no. aliases in a Cause indicators subfield 2017-02-03 rvlad-patrascu * [c205cf9ee] : sip_i: make isup parameter and message array search functions inline 2017-02-02 ionutrazvanionita * [454d441fb] : [acc] include milisecond duration avp 2017-02-02 Razvan Crainea * [81542f264] : sip_i: remove inconsistent inline indicator This breaks clang compile: https://travis-ci.org/OpenSIPS/opensips/jobs/197577495 2017-02-02 ionutrazvanionita * [24a89a24a] : [acc] fix aaa legs iterator 2017-02-01 rvlad-patrascu * [ffe2f994a] : Merge branch 'SIP-I' 2017-02-01 rvlad-patrascu * [e344544bc] : sip_i: update docs 2017-02-01 rvlad-patrascu * [734c719fe] : sip_i: fix bad isup part check 2017-02-01 rvlad-patrascu * [e5edf3b0b] : sip_i: add parsed part cloning function 2017-02-01 rvlad-patrascu * [55c27136e] : sip_: allow string aliases for values of the whole ISUP parameter It is assumed that the ISUP parameter is interpreted as a single field and only one byte in length. Currently supported only for Calling Party's Category and Transmission medium requirement ISUP parameters. 2017-02-01 rvlad-patrascu * [0ea90e268] : sip_i: refactor most ISUP parameter parse/write functions 2017-02-01 rvlad-patrascu * [9232947bc] : sip_i: support Event information ISUP parameter 2017-02-01 rvlad-patrascu * [6356888cf] : sip_i: allow predefined values given as string aliases for the supported ISUP parameter subfields 2017-02-01 rvlad-patrascu * [47da20af7] : sip_i: fix some bogus prints 2017-02-01 rvlad-patrascu * [769fb1143] : sip_i: properly return error when parsing unsupported ISUP parameter subfield 2017-02-01 rvlad-patrascu * [b8988ce03] : sip_i: Also permit abbreviations for ISUP message type name as parameter for add_isup_part script function For example instead of "Initial address", the function parameter could be given as "IAM". 2017-02-01 rvlad-patrascu * [fdf0dff73] : sip_i: set certain parameters fields to default values for some ISUP message types in add_isup_part script function This is possible for the following ISUP messages: IAM, ACM, CPG, ANM, CON, REL. 2017-02-01 rvlad-patrascu * [48afffea6] : sip_i: Fix Cause indicators write function Always set Extension indicator bits as Recommendation and Diagnostic(s) subfields are not supported 2017-02-01 rvlad-patrascu * [22252b02b] : sip_i: fix bogus message type for add_isup_part with no params. 2017-02-01 rvlad-patrascu * [ed4acbff8] : sip_i: add docs 2017-02-01 rvlad-patrascu * [7dd180e75] : sip_i: add module parameters: separator for $isup_param subname, string for isup mime 2017-02-01 rvlad-patrascu * [1ba8394a2] : sip_i: export a script function that adds an isup part to the SIP message body The newly added part contains a blank isup message(i.e. all mandatory parameters zeroed and no optional ones).If the type of the isup message is not explicitly provided, it is deduced from the SIP message(e.g. INVITE -> IAM etc.). 2017-02-01 rvlad-patrascu * [a7132231d] : sip_i: fix bad length calculation when writing the called party number 2017-02-01 rvlad-patrascu * [8d7de2c16] : sip_i: add ability to modify isup parameters(change value, add/remove optional parameters) 2017-02-01 rvlad-patrascu * [9ffd1c6d8] : Introduce new module, sip_i, that allows processing of ISUP encapsulated in SIP. Only the parsing of the ISUP message and its parameters is currently implemented. 2017-02-01 ionutrazvanionita * [abac54e76] : [registrar] avoid compiler unitiliazied curi str warning 2017-02-01 ionutrazvanionita * [152a04d8c] : [mi_datagram] fix warning len unitialized 2017-02-01 Razvan Crainea * [3968984a2] : Makefile: fix modules name fetching 2017-01-31 ionutrazvanionita * [743200120] : [mi tracing] trace all commands by default if no filter list defined 2017-01-31 Razvan Crainea * [aae62b57f] : net: move looping function in process's file This prevents TCP workers to use Main's reactor handler 2017-01-30 Bogdan-Andrei Iancu * [bbe26dccf] : Added new module parameter ds_ping_maxfwd. This paramter allows you to set a custom value for inserted Max-Forward header in the SIP ping requests generated by dispatcher module. If not used, it will let TM to add a default value. This work was sponsored by Stella Telecom (https://www.stella-telecom.fr/), thank you for supporting OpenSIPS project ! Part of #1011. 2017-01-30 Bogdan-Andrei Iancu * [c9b220e50] : Added mechanism to enforce a MAX-FWD hdr in t_uac The dlg_t structure allows you to enforce your own MF value for the newly generated request. If no MF is enforced, the standard 70 values (as so far) is used. This change is 100% backward compatible. This work was sponsored by Stella Telecom (https://www.stella-telecom.fr/), thank you for supporting OpenSIPS project ! Part of #1011. 2017-01-30 Ovidiu Sas * [7a60714ee] : xlog: fix warning: ‘level_s.len’ may be used uninitialized in this function [-Wmaybe-uninitialized] 2017-01-30 ionutrazvanionita * [1ccbc9936] : [mi_http] updated docs concerning tracing 2017-01-30 ionutrazvanionita * [aecb7e6f7] : [mi_xmlrpc_ng] updated docs concerning tracing 2017-01-30 ionutrazvanionita * [ca3699fb5] : [mi_json] updated docs concerning tracing 2017-01-30 ionutrazvanionita * [baf24cdc6] : [mi_fifo] updated docs concerning tracing 2017-01-30 ionutrazvanionita * [a25f5070b] : [mi_datagram] updated docs concerning tracing 2017-01-28 Razvan Crainea * [391a55e4a] : cgrates: add compile time hint 2017-01-27 Bogdan-Andrei Iancu * [e48fef13a] : Added get_dialog_vals() to docs 2017-01-27 Bogdan-Andrei Iancu * [0b75fe857] : Added new script function get_dialog_vals() The function will return all the values (parallel arrays of names and values) of a dialog found by callid string. 2017-01-27 Bogdan-Andrei Iancu * [e02589f1a] : Fixed strcasecmp into strncmp 2017-01-27 Bogdan-Andrei Iancu * [ae5ae6426] : Added new dialog search function get_dlg_by_callid() 2017-01-27 Bogdan-Andrei Iancu * [37af41762] : Added cgrates module in exclude list (depends on json). 2017-01-27 ionutrazvanionita * [f93849b48] : [mi_datagram] added blacklists and whitelists for traced mi commands 2017-01-27 ionutrazvanionita * [ab68a6787] : [mi_json] added blacklists and whitelists for traced mi commands 2017-01-27 ionutrazvanionita * [14e83ce0f] : [mi_fifo] added blacklists and whitelists for traced mi commands 2017-01-27 ionutrazvanionita * [d2f009986] : [mi_xmlrpc_ng] added blacklists and whitelists for traced mi commands 2017-01-27 ionutrazvanionita * [6b05b36c2] : [mi_http] added blacklists and whitelists for traced mi commands 2017-01-27 ionutrazvanionita * [f0bf45231] : blacklists for traced commands implementation * each module will have to register to this api to receive an id; * a function for parsing blacklists is provided; they have to be in the following form 'w: cmd1; cmd2' or 'b: cmd1; cmd2;'; one module can't have both a blacklists and a whitelist; * after registering each module will ask the api where or not a command is traced, using the id received during registration and a 'struct mi_cmd'; 2017-01-27 ionutrazvanionita * [1bbaa6867] : [mi_xmlrpc_ng] trace mi_xmlrpc messages 2017-01-27 ionutrazvanionita * [c1fab3dc2] : [mi_json] trace mi_json messages 2017-01-27 ionutrazvanionita * [d2f45d168] : [mi_http] trace mi_http messages 2017-01-27 ionutrazvanionita * [ad146872e] : [mi_fifo] trace mi_fifo messages 2017-01-27 ionutrazvanionita * [abb398f40] : [mi_datagram] trace mi_datagram messages 2017-01-27 ionutrazvanionita * [97a6b5863] : Add generic tracing interface for mi messages 2017-01-27 ionutrazvanionita * [6f51a407e] : [httpd] expose server and client socket info 2017-01-27 Razvan Crainea * [932683c33] : mem_stats: recompute after each module 2017-01-27 Razvan Crainea * [c989a9ba1] : Makefile: don't generate mod_stats.c all the time 2017-01-26 rvlad-patrascu * [748929b81] : cachedb_local: fix bad pointer in destroy function 2017-01-26 Razvan Crainea * [2656eba5f] : cgrates: replace buggy json_object_object_foreach In older json-c versions < 0.10, json_object_object_foreach function is buggy, preventing the module from compiling on older systems 2017-01-26 ionutrazvanionita * [47b2bf53d] : [siptrace] fix empty value received from mi interface 2017-01-26 Razvan Crainea * [7fa763fb4] : cgrates: replace json bool with int 2017-01-26 Razvan Crainea * [296ce287c] : cgrates: replace 2 out of 3 not-portable json_object_object_foreach 2017-01-26 Razvan Crainea * [aac8a56cd] : Makefile: flush mem_stats* content 2017-01-26 Razvan Crainea * [853f4c6e9] : travis: add NICER=0 to spot issues easier 2017-01-26 Razvan Crainea * [cf2bdf28f] : cgrates: compile with json 0.9.1 2017-01-26 Razvan Crainea * [1c94f07e3] : cgrates: fix error on older gnu standards 2017-01-26 Razvan Crainea * [b719e4590] : Makefile: remove Makefile.conf dependency on mem_stats 2017-01-26 Razvan Crainea * [0b80ace8f] : Makefile: regenerate mem_stats* when revision changes 2017-01-26 Razvan Crainea * [12d24b643] : perl: suppress remove output if NICER is not set 2017-01-25 Razvan Crainea * [e25b24eb0] : cgrates: fix documentation examples 2017-01-25 Razvan Crainea * [0f69f1991] : cgrates: add accurate timestamps for session start and end 2017-01-25 Razvan Crainea * [cf2226562] : cgrates: improve docs CGRateS description 2017-01-25 Razvan Crainea * [277cbae70] : cgrates: chage default port to 2014 2017-01-25 Razvan Crainea * [492ffc1f2] : doc: specify CDRs location 2017-01-25 Razvan Crainea * [cebc7f78b] : cgrates: handle commands from cgrates 2017-01-25 Razvan Crainea * [3891b52aa] : cgrates: suppress error when no dialog 2017-01-25 Razvan Crainea * [f969113f8] : cgrates: properly reconnect when disabled 2017-01-25 Razvan Crainea * [40019a0c0] : cgrates: adjust ref-counters for failed scenarios 2017-01-25 Razvan Crainea * [48482d39a] : cgrates: save & restore ctx using dialog callbacks 2017-01-25 Razvan Crainea * [80aff975c] : cgrates: add failover mechanism 2017-01-25 Razvan Crainea * [11e1086de] : cgrates: add spec for redhat/fedora 2017-01-25 Razvan Crainea * [75e5f5353] : cgrates: add debian package 2017-01-25 Razvan Crainea * [16b8d12e3] : cgrates: update copyright 2017-01-25 Razvan Crainea * [ecaa10482] : cgrates: add custom command 2017-01-25 Razvan Crainea * [339d7a3f3] : cgrates: add async cgrates_auth() readme 2017-01-25 Razvan Crainea * [9a1d9cc4d] : cgrates: add cgrates_auth() async command 2017-01-25 Razvan Crainea * [3791ce1e2] : tm: call ctx destroy functions when transaction is deleted 2017-01-25 Razvan Crainea * [456caab5b] : cgrates: remove useless code 2017-01-25 Razvan Crainea * [258263c00] : cgrates: align return codes with documentation 2017-01-25 Razvan Crainea * [53c2c75dc] : cgrates: add documentation for the module 2017-01-25 Razvan Crainea * [bb51c86d9] : cgrates: add cdr and missed flags to cgrates_acc() 2017-01-25 Razvan Crainea * [c4544be2e] : cgrates: add ref counters for acc ctx 2017-01-25 Razvan Crainea * [b4badab10] : cgrates: fix accounting 2017-01-25 Razvan Crainea * [18080510c] : cgrates: move context in shm - fixes auth WIP: acc is still broken 2017-01-25 Razvan Crainea * [9fc71ace8] : cgrates: free shared context after no longer needed 2017-01-25 Razvan Crainea * [f79db1522] : cgrates: initial version Only a basic call is accouted for now 2017-01-25 Razvan Crainea * [3aeb9482c] : tm: new ASYNC_DONE_NO_IO async return flag When this flag is used, do not do any operations on the file descriptor, since the owner had already done what was needed 2017-01-25 Razvan Crainea * [9d94a8a4f] : initialize the reactor before child_init this allows modules to register file descriptors that listen for read/write events 2017-01-25 Cerghit Ionel * [061c74646] : mem_stats: proper use the is_free field from memory fragments fix issue https://github.com/OpenSIPS/opensips/issues/1028 the is_free field is now included and updated when SHM_EXTRA_STATS is defined fix compiling warning of initialized variable 'origin' in shm_mem.h 2017-01-25 Liviu Chircu * [9f0474c93] : dialog docs: Fix get_profile_size() examples 2017-01-25 Liviu Chircu * [79d02f379] : Merge pull request #1026 from rrb3942/curl_reuse rest_client: Enable curl handle and connection reuse for synchronous requests 2017-01-24 Ryan Bullock * [6aab49853] : Update missed references to handle with sync_handle 2017-01-24 Bogdan-Andrei Iancu * [1e30e76fd] : Remove some extra logging 2017-01-24 Bogdan-Andrei Iancu * [87a3a412a] : Fix finding the script functions in assigments. Do an aggressive search by digging through all possible ACTIONS or EXPRessions to see if a function is used in the script. Fix for #1022 2017-01-23 ionutrazvanionita * [db0678817] : [cachedb_local] multiple fixes * leave the must-have first 3 parameteres in lcache_con structure definition as they are in cachedb api implementation; * avoid not freeing last url in mod init; 2017-01-23 Razvan Crainea * [26a5453fb] : net/tcp: increase info for error reports 2017-01-23 Razvan Crainea * [cb2bfb384] : tcp_conn: show the state as signed int 2017-01-21 Ryan Bullock * [2d1e530bc] : Enable curl handle and connection reuse for synchronous requests 2017-01-20 ionutrazvanionita * [24c685c17] : remove unnecessary constraint from location table * location table had a constraint on username, domain, contact and callid but since the contact id was added, this constraint is not necessary anymore; 2017-01-20 Razvan Crainea * [d24e6ffb5] : By default, enable SHM_EXTRA_STATS for trunk These statistics are useful in development and testing so it makes sense to have them enabled by default 2017-01-20 Razvan Crainea * [532446423] : Allow specifying DEFS from cli Although this reverts 0ad3b2404, there is no other way to specify custom parameters from cli. Also, this might got fixed when the Makefile.conf file was introduced 2017-01-19 Liviu Chircu * [cebb3dbb4] : db_mysql doc: Clarify optional tls_mgm startup dependency 2017-01-19 Liviu Chircu * [57ebf746d] : db_mysql: Fix recently introduced dependency on libssl-dev / openssl-dev 2017-01-19 Bogdan-Andrei Iancu * [d509aa636] : Extend $rb to have a mime as name. Now you can also use: * $rb(application/sdp) - get the first SDP body part * $(rb(application/isup)[-1]) - get the last ISUP body part 2017-01-19 Razvan Crainea * [21e10714b] : shmem: remove _group from shmem stats 2017-01-19 Razvan Crainea * [6eecc5b5a] : mem: fix cast warning when getting the fragment from ptr 2017-01-19 Razvan Crainea * [dd4118729] : mem/mem_stats: auto generate files 2017-01-19 Razvan Crainea * [8b90e46db] : version: add extra shm stats in version output 2017-01-18 ionutrazvanionita * [5b66a8a62] : [usrloc] allow regenerating broken contact_id; fix minor issues * there is a new module parameter which allows regenerating the contact_id from the database, if this is broken; this shall help in migrating from older versions; * fixed minor issues that might have caused at some point having duplicate contacts in the database because of bad record and domain structure reconstruction based on contact_id; 2017-01-18 Bogdan-Andrei Iancu * [ac4efa5b1] : "Description" columns is not "not-NULL" anymore 2017-01-18 Bogdan-Andrei Iancu * [4f99230ce] : Convert several columns to default NULL dr_group.domain, dr_rules.timerec, all attr-like and description columns 2017-01-18 Bogdan-Andrei Iancu * [7e76abf37] : Docs updated 2017-01-18 Bogdan-Andrei Iancu * [6cd54e50f] : do_routing() accepts any variable for routing group 2017-01-18 Razvan Crainea * [b2aec994a] : mem_stats.h: properly end define 2017-01-18 Razvan Crainea * [1b787de16] : Merge branch 'ionel-cerghit-shm-groups-update' 2017-01-18 Razvan Crainea * [5eb58d630] : Add files generated by SHM_EXTRA_STATS in gitignore 2017-01-18 Razvan Crainea * [6a9bf79f7] : guard module_info.* with SHM_EXTRA_STATS These files are only used when extra statistics are used 2017-01-18 Razvan Crainea * [a148da05e] : Merge branch 'shm-groups-update' of https://github.com/ionel-cerghit/opensips into ionel-cerghit-shm-groups-update 2017-01-18 Razvan Crainea * [202193bf8] : tm: add usage scope in documentation Informs users about the scope where the transaction functions should be used. Should prevent misuse cases, such as #1019 and so. Thanks go to Ryan Bullock for reporting and documenting this. 2017-01-17 Cerghit Ionel * [e2a6df0c1] : shm_module_stats: add maximum group usage a new statistic was added for every module group declared which shows the maximum real memory used by that module fix a bug that generated underflows in the statistics, when the 'core' group is declared all the fragments from the memory are marked with its new index, before the fragments allocated before the declaration were mismanaged when freed or rellocated 2017-01-17 ionutrazvanionita * [75573b41c] : [aaa_radius] don't start if dictionary attr/value not found 2017-01-17 ionutrazvanionita * [211ce1d4e] : [acc] clarify need for extra radius dictionary 2017-01-16 Cerghit Ionel * [779475573] : statistics: bug fix proper handle freeing of the modules shared memory statistics, change the STAT_ONLY_REGISTER flag to STAT_NO_ALLOC, as it now also blocks the stats collector from freeing the generated statistics individually, the freeing is done when the shared memory is destroyed at opensips shutdown 2017-01-13 Ovidiu Sas * [98cd04642] : db_text: downgrade an init INFO probe to DBG 2017-01-13 ionutrazvanionita * [a573036a4] : [registrar] divide confusing parameter for remvoe function Target parameter for this function had two purposes. Now it's signifigance was divided between two parameters, contact and ip. If both parameters are used, a logical AND is applied for a contact, that is the contact is removed only if both parameters are matched. 2017-01-13 ionutrazvanionita * [31d752d8e] : [siptrace] fix parser; remove need for special character and the end of last token 2017-01-13 Răzvan Crainea * [bbd95b5b2] : Merge pull request #1016 from ionel-cerghit/shm-groups-update Shm groups update 2017-01-12 ionutrazvanionita * [755bec913] : [siptrace] fetch siptrace context only if context position registered 2017-01-12 Liviu Chircu * [a56854b9f] : permissions: Adapt "address_dump" output to be JSON-compatible Fixes issue #1018 2017-01-12 Bogdan-Andrei Iancu * [6c6f64855] : Fix cloning of parsed struct in body parts. If there is no cloning function, be sure the set "parsed" to NULL in the newly cloned body part. 2017-01-11 Bogdan-Andrei Iancu * [88606c36f] : Restore and free the shm body parts into failure route. 2017-01-11 Bogdan-Andrei Iancu * [c9f3bb31a] : Undo any body changes after a branch route. Implement per-branch changes over the body structure by cloning and restoring before&after each branch route execution. 2017-01-11 Bogdan-Andrei Iancu * [d9e3ab680] : Added support for cloning (shm and pkg) for the sip body structure. This is needed to properly implement per-branch changes of the msg bodies and for failure route body restore. This commit adds functions for the cloning the sip_msg_body and body_part structures (into shm or pkg, in the same or different sip_msg structure). It also provides support to allow body part parsers (SDP, ISUP, etc) to do their own cloning stuff. 2017-01-11 ionutrazvanionita * [7eb5de771] : [aaa_radius] fix radcli Makefile version 2017-01-11 Bogdan-Andrei Iancu * [61f88039f] : README regenerated 2017-01-11 Bogdan-Andrei Iancu * [ccc2cd757] : Fix typo in docs, thanks to digitaldude on IRC. 2017-01-11 Bogdan-Andrei Iancu * [e6203fa2a] : Drop obsolete e2e_cancel and e2e_cancel_branch functions. We do not more end-2-end cancelling only hop-by-hop 2017-01-11 Cerghit Ionel * [9766d69ea] : module_shm_stats: change initialization values when the first group is created if the 'core' or the default group is defined the values are initialized with the ones stored int the shm_block structures fix compile warning in *_malloc.c (pointers inot casted) 2017-01-11 ionutrazvanionita * [1674b00ed] : [aaa_radius] fix library names; remove comment 2017-01-11 ionutrazvanionita * [33f5e8123] : fixed radius Makefile; added cross compilation capabilities Thanks to @razvancrainea for help 2017-01-10 Cerghit Ionel * [cb8d111dd] : shm-extra-stats: bug fix -when memory was allocated from a module and freed from another module (or the core) the module shared memory statistics didnt properly reflect that and a underflow was generated -added a index in every memory fragment that indicates the module where it was allocated so the free will decrease the statistic of the same module 2017-01-06 ionutrazvanionita * [219569192] : [ldap] fix failover mechanism 2017-01-06 ionutrazvanionita * [7e329dfb1] : [cachedb_local] updated docs for 147808f 2017-01-06 ionutrazvanionita * [fe17d151f] : [cachedb_local] added collection support 2017-01-05 Bogdan-Andrei Iancu * [3ab478263] : Fix fallback after another fallback. Avoid decrementing the prefix len if already 0. (cherry picked from commit 54438e474dd33eb28e2e62f6106d6a532d6a0ec9) 2017-01-05 Bogdan-Andrei Iancu * [f4feeef0e] : Additional Fix for fallback on default rules. (cherry picked from commit 59d10efe466c079fe853b14b3e6601f8f673c698) 2017-01-05 Bogdan-Andrei Iancu * [d41828ffc] : Fix crash on fallback from a prefix-less rule. If a prefix-less (empty prefix) rule matched, do not attempt to do fallback by reducing the len of the prefix. (cherry picked from commit 6e7495a011a127b8d6451e0ee99fce1efd4eabf0) 2017-01-04 rvlad-patrascu * [df12a17f3] : sql_cacher: downgrade some logs from WARNING to DEBUG 2016-12-23 Cerghit Ionel * [522836d6b] : clusterer: fix mod_params * check the length of the string module parameters at module initialization * the database column parameters names now reflect the version 2 of the clusterer table 2016-12-23 Bogdan-Andrei Iancu * [8442dd115] : Relax the dialog state machine - allow PRACK after dialog is established There are some weird UDP scenarios where the PRACK may land on the server after the ACK. Rejecting the PRACK at dialog level leads to infinit looping (if used with TH). Better be more flexible and ignore PRACKs after ACK. 2016-12-23 Cerghit Ionel * [843994192] : ratelimit: adapt code to bin_interface change 2016-12-23 Cerghit Ionel * [805153400] : modules/dialog: adapt code to bin_interface change fix bin_skip_str, when using memcpy from a short variable to a int destination the destination needs to be previously set to 0 2016-12-23 Cerghit Ionel * [1ade562b5] : usrloc: adapt code to bin interface change 2016-12-21 ionutrazvanionita * [cd37c03e4] : [trace_api] fix possible confusion between symbols 2016-12-21 ionutrazvanionita * [a11d0d5f9] : [siptrace] correctly display error info in case of trace proto failure 2016-12-21 ionutrazvanionita * [245b5b4c4] : [trace_api] avoid throwing errors if trace module not loaded 2016-12-20 Cerghit Ionel * [1f3a3b03e] : bin_interface.c: bug fixes 2016-12-19 ionutrazvanionita * [d3af674e4] : [proto_hep] fix bad chunk identifier macro 2016-12-19 ionutrazvanionita * [8a315198c] : improve xlog tracing with additional information * log text shall be preceded by a tag indicating the log level (example: 'DEBUG: ' tag for L_DBG, 'ERROR: ' for L_ERR); 2016-12-19 ionutrazvanionita * [9faba4c4d] : define global trace api for loading it only once 2016-12-19 ionutrazvanionita * [f27344a86] : [trace api]acquire custom data identifiers using the api 2016-12-19 ionutrazvanionita * [0e823d28c] : [siptrace] trace sip messages only if requested 2016-12-19 ionutrazvanionita * [e0a740b12] : fix bad trace enabled condition 2016-12-19 ionutrazvanionita * [ada2e0588] : remove siptrace api; export its functions using trace_api.h Siptrace api was completely removed. All its functions definitions were moved to trace_api.h so no dependency to sitprace module anymore if one wants to implement the api. 2016-12-19 ionutrazvanionita * [14e1b978f] : merge siptrace proto id with trace protocol message id 2016-12-19 ionutrazvanionita * [46276fc82] : provide trace message id through a function Previously, each message id was provied either by including hep protocol header containing these values or by manually defining the id in the same file it was used. Since these ids needs to be unique, now the only way they should be fetched should be using the trace api. 2016-12-19 ionutrazvanionita * [9762e91ef] : remove core siptrace module dependecy 2016-12-19 ionutrazvanionita * [06b1e75b5] : Implement tracing api for xlog messages Xlog messages can now be traced using siptrace module. Sip_trace script function will provide the desired functionality. The scope used for sip_trace function(message/transaction/dialog) will be the same the scope for the traced xlog messages. 2016-12-19 ionutrazvanionita * [744908813] : Define loopback address in host byte order in trace api core 2016-12-19 Bogdan-Andrei Iancu * [83170767d] : Fix missing FROM body on URI restore. As transaction may be created before the call of the uac_repalce_xxx(), the FROM header may not have a body when cloned in TM. The restore_uris_reply() should be ready to deal with a transactional request without FROM body parsed. 2016-12-19 Liviu Chircu * [2b0366abd] : rest_client: Remove leftover debugging code 2016-12-19 Liviu Chircu * [5706d5f31] : rest_client: Update docs 2016-12-19 Liviu Chircu * [ed8984c54] : rest_client: Fix issues with libcurl parallel transfers We cannot use the "parallel transfers" feature of libcurl's multi interface because that would consume read events from some its file descriptors that had previously been added to the OpenSIPS reactor. This would sometimes lead to dangling descriptors in the reactor, as well as some OpenSIPS async routes which are not triggered. To work around this, we can still achieve the desired effect with a pool of multi handles each doing a single transfer, rather than using 1 multi handle doing multiple transfers. Thanks for reporting and troubleshooting to @arovetto and Agalya Ramachandran Fixes issue #997 2016-12-17 Răzvan Crainea * [1bf882ac9] : Add locking support for armv6 and armv7 architectures Close #1000 2016-12-16 Razvan Crainea * [a471509dd] : Merge branch 'ionel-cerghit-module-memory-rework' 2016-12-16 Razvan Crainea * [fe5d97638] : memgroups: decrease INFO to DEBUG 2016-12-16 Razvan Crainea * [130d34474] : Merge branch 'module-memory-rework' of https://github.com/ionel-cerghit/opensips into ionel-cerghit-module-memory-rework 2016-12-16 Liviu Chircu * [c2c496481] : Merge branch 'mid-registrar' 2016-12-16 Liviu Chircu * [9ace8d311] : mid_registrar: Update doc 2016-12-16 Liviu Chircu * [e35ab76a4] : mid_registrar: rename "routing_mode" to "insertion_mode" 2016-12-15 Bogdan-Andrei Iancu * [3187c516e] : Fix the fixup function for is_contact_registered() The fixup function is translating the "contact" and "callid" parameters to pvar type, but the is_contact_registered() function was handling them as gp_param type. The fix is to handle the parameters as pvar type in is_contact_registered(). Reported by Nick Altmann 2016-12-15 Bogdan-Andrei Iancu * [c7939cbc0] : Fix handling of NULL proto in sip_resolvehost() "proto" is not not mandatory (it may be NULL) as parameter, but there were cases where the code was assuming a not NULL proto variable. Reported by Nick Altmann (cherry picked from commit 29a048ac2cfd010cb26efad5e07ffb4d747882a4) 2016-12-15 Bogdan-Andrei Iancu * [fdde9fea4] : Revert "resolve: fix possible crash when proto is not specified" This reverts commit f1d8209e826de159a95a2869d97d5dd4c446fa08. 2016-12-14 Cerghit Ionel * [f9de7b776] : clusterer: adapt code to bin_interface changes 2016-12-14 Cerghit Ionel * [a921f3f73] : bin_interface: rework functions interface all functions now have a parameter that indicates the binary packet on which the changes are applied removed the static global buffers reallocation on the packet is automatically performed when required 2016-12-13 ionutrazvanionita * [efd774542] : [siptrace] fix bad doc example 2016-12-12 Bogdan-Andrei Iancu * [56c596851] : Add some extra tests to prevent any overflows Related to #c5c1f4 2016-12-12 Bogdan-Andrei Iancu * [2eb576d8f] : Fix bug in removing dialogs from profiles. If we fail to remove a dialog from a profile, do not return, but continue with removing the dialog from the remaining profiles. 2016-12-09 Liviu Chircu * [bf59a6082] : rest_client: Disable CURLOPT_FAILONERROR Immediately closing HTTP connections on negative replies is not desirable, as system logic may be built around such replies. Reported on IRC by holysip 2016-12-09 Bogdan-Andrei Iancu * [c5c1f40ea] : Fix recalculating Active nodes and weight sums after reload When inheriting the state from in-mem old data set, the state of a node may change, so we need to recalculate the number of active nodes and the running sums (for weights) in the set. Fixes #972, but we need @hydrosine confirmation on this. 2016-12-09 Cerghit Ionel * [e9c3b44bf] : module_info.c: change group reallocating policy 2016-12-09 rvlad-patrascu * [bda0243c2] : event_flatstore: fix copyright 2016-12-09 rvlad-patrascu * [79ebb9072] : event_virtual: fix copyright 2016-12-09 ionutrazvanionita * [2ee7851e6] : [acc] register tm accounting callbacks if transaction is null Thanks to @razvancrainea for reporting 2016-12-09 Razvan Crainea * [cf271d0ec] : clusterer: fix copyright 2016-12-09 Razvan Crainea * [03f57ed3f] : Makefile.rules: fix generate-mem-stats escaping (cherry picked from commit 506c15d417bdfb941348dce9aaa7d3fe1a3acd31) 2016-12-08 ionutrazvanionita * [642e8879c] : [sqlite] set data type even if data is null Thanks to Aqs Younas for reporting 2016-12-07 Razvan Crainea * [ed2746a1f] : uac: properly store replaced URI if not used in branch route Restores the proper URI for UPSTREAM sequential requests Reported by Antonis Psaras Close #1001 2016-12-06 Liviu Chircu * [e5d23c7ac] : tls_mgm: Improve startup error reporting 2016-12-06 Razvan Crainea * [92fde1be1] : tm: replace ERROR to DBG when bavp list is not found 2016-12-06 Liviu Chircu * [900f6c996] : rest_client: Fix memory allocation race condition libcurl actually creates a thread to do each blocking request, so the memory allocation functions we provide it with must be thread safe. Thanks to Agalya Ramachandran for helping troubleshoot this bug 2016-12-06 Razvan Crainea * [7e5142a22] : dns_cache: remove bogus library path The module does not use any library, so it does not have to tune the library path and libraries used. 2016-12-05 Liviu Chircu * [297284f0a] : db_mysql: Add TLS-enabled MySQL connections 2016-12-05 Razvan Crainea * [fa75f532a] : arm: disable inline-all-stringops 2016-12-05 Liviu Chircu * [70d303edb] : mid_registrar: Avoid redundant del lumps 2016-12-05 Liviu Chircu * [8d5c0f7e9] : mid_registrar: Fix issues with multiple Contact hfs For both working modes 1 and 2 2016-12-05 Liviu Chircu * [f08d07d27] : registrars: Refactor contact iteration code - move common code under "lib/reg" - add extra pair of functions to allow nested iterations 2016-12-05 Razvan Crainea * [6151c7af5] : avpops: remove avp_printf() from docs 2016-12-05 Razvan Crainea * [68d424069] : timer: pass flags when registering a new job 2016-12-05 Liviu Chircu * [b8582bc69] : mid_registrar: Doc improvements 2016-12-05 Liviu Chircu * [6d8728a80] : mid_registrar: Properly handle star "*" Contact hf values 2016-12-05 Liviu Chircu * [a4245722b] : usrloc: Fix an AoR delete callback bug 2016-12-05 Liviu Chircu * [4b53a3b45] : Move re-usable registrar code under "lib/reg/" 2016-12-05 Liviu Chircu * [42bbbf3d1] : mid_registrar: Fix mem leak 2016-12-05 Liviu Chircu * [33a4a8b9e] : mid_registrar: Proper "To" URI for auto-generated de-registrations The fix involves extending the tm API to support a custom "To" URI parameter 2016-12-05 Liviu Chircu * [c2c3c25cf] : mid_registrar: Improve docs 2016-12-05 Liviu Chircu * [4aa9aa83b] : mid_registrar: Change default value of "contact_match_param" Replaced with "rid" ("rinstance" was a badly chosen value, as it's a quite common occurence with lots of UAs) 2016-12-05 Liviu Chircu * [f408bfd0e] : mid_registrar: Code cleanup 2016-12-05 Liviu Chircu * [de9154c53] : mid_registrar: Fix possible de-registration crash 2016-12-05 Liviu Chircu * [3d0588538] : mid_registrar: Import and adapt "registrar" modparams and flags 2016-12-05 Liviu Chircu * [82f2b34b2] : mid_registrar: Rename "outbound_expires" to "outgoing_expires" 2016-12-05 Liviu Chircu * [f2339030f] : mid_registrar: Add documentation v0.1 2016-12-05 Liviu Chircu * [d3de32f09] : mid_registrar: Properly match/delete contacts in mode = 1 Just paying over some technical debt. The mid-registrar insert/delete operations _must only_ be done on 200 OK replies, after carefully inspecting the new timeouts / deleted contacts sent by the main reg. 2016-12-05 Liviu Chircu * [c45bfa71e] : mid_registrar: Properly mangle Contact hfs in mode = 2 In AoR throttling mode, we only present a fake Contact with the AoR as the username part to the main registrar. All other Contact headers must be cleaned up when building the outgoing request. Also refactor some functions names to better reflect this behavior 2016-12-05 Liviu Chircu * [313ca8bd7] : mid_registrar: Fix a De-REGISTRATION bug A quick De-REGISTER (deleting the AoR), followed by a REGISTER would not get forwarded through to main registrar in "mode = 2" 2016-12-05 Liviu Chircu * [b5f82dd45] : mid_registrar: AoR throttling part 3 - lookups AoR lookup properly working in mode 2 now 2016-12-05 Liviu Chircu * [e8f98c70b] : mid_registrar: AoR throttling part 2 - record expiration The module is now properly generating De-REGISTER requests should the last-standing contact behind an Address-of-Record expire. 2016-12-05 Liviu Chircu * [ffbf48697] : contact parser API: Add a useful warning comment 2016-12-05 Liviu Chircu * [4d9fc5e60] : mid_registrar: AoR throttling part 1 - registrations Module is now capable of handling registrations, appropriately mangling contacts, and absorbing / forwarding subsequent registrations on behalf of the same AoR, depending on expiration times. 2016-12-05 Liviu Chircu * [c9d5a37e8] : Simplify contact debugging 2016-12-05 Liviu Chircu * [f2e25c695] : mid_registrar: Initial version of AoR throttling mode Also fix some bugs with autogenerated de-registrations in "contact throttling" mode. 2016-12-05 Liviu Chircu * [dec259519] : usrloc: Fix unnecessary free operations 2016-12-05 Liviu Chircu * [d0069731e] : Enhance usrloc API with AoR callbacks 2016-12-05 Liviu Chircu * [fa964a84f] : mid_registrar: Adapt code to the new usrloc callbacks 2016-12-05 Liviu Chircu * [b0241c131] : usrloc: Extend the contact callback API This patch allows subscribing modules to transparently attach data to each contact structure. The attached data can be accessed and manipulated during the contact INSERT / UPDATE / DELETE callback processing 2016-12-05 Liviu Chircu * [958c0585f] : pua_bla: Fix log line ending 2016-12-05 Liviu Chircu * [23065480e] : mid_registrar: Improve code modularity (part 2) 2016-12-05 Liviu Chircu * [5a67a18b6] : mid_registrar: Improve code modularity (part 1) 2016-12-05 Liviu Chircu * [129d17cd4] : core library: Add URI printing function Allows URI fields / parameters to be easily altered/disabled 2016-12-05 Liviu Chircu * [8cb3286df] : mid_registrar: Add lookup support for "route by Contact" mode 2016-12-05 Liviu Chircu * [5bdb458c1] : mid_registrar: Add match by contact hf param logic 2016-12-05 Liviu Chircu * [b8a73a156] : mid_registrar: Improve startup logging 2016-12-05 Liviu Chircu * [ed0e2c0da] : mid_registrar: Fix a couple of de-registration bugs 2016-12-05 Liviu Chircu * [0da4fcf05] : mid_registrar: Add contact routing logic Current status: * Route by Path: functional, tested * Route by contact (rewrite ip:port): broken, needs more work 2016-12-05 Liviu Chircu * [82b47c0cb] : mid_registrar: Forward Register requests if not in queue De-Registrations may lead to a state where contacts are present on the mid-registrar, but no timer is ticking for the outgoing registration. Should we run into this issue, simply forward the registration and re-initialize the timer. 2016-12-05 Liviu Chircu * [95a39a0bc] : path: Code refactoring Make "Path" append code reusable by moving it into lib/path.c 2016-12-05 Liviu Chircu * [6cb240cca] : tm API: Add Call-ID parameter when building requests 2016-12-05 Liviu Chircu * [5f5d14654] : mid_registrar: Fix 200 OK replies for absorbed registrations Properly include a 'Contact' header field, listing all bindings 2016-12-05 Liviu Chircu * [aa94f8ba8] : mid_registrar: Working version of contact throttling REGISTER requests are now properly absorbed by the mid-registrar, which will internally generate a 200 OK reply when the mid_registrar_save() script function is called. 2016-12-05 Liviu Chircu * [da1a96441] : usrloc: Add "expires_out" value to contact struct Alpha phase. Has no restart persistency. 2016-12-05 Liviu Chircu * [ca8b61fe6] : usrloc: Add expires value to contact struct 2016-12-05 Liviu Chircu * [5117e368f] : mid_registrar: Fix a series of bugs * mode = 0 working * mode = 1 almost working, needs some tweaks 2016-12-05 Liviu Chircu * [21fff6ba5] : mid_registrar: initial version (PoC phase) * basic modparam outline * basic script exports * un-sorted dump of code * tm/usrloc/signaling hooks * + registered callbacks * basic timer routine outline 2016-12-05 Liviu Chircu * [8ec91e535] : usrloc API: Add a loading function 2016-12-03 Razvan Crainea * [968c1bac2] : Makefile:deb: overwrite common with specific arch 2016-12-03 Razvan Crainea * [34f5e1cf1] : Makefile.defs: Detect all arm architectures 2016-12-01 Razvan Crainea * [7d334b809] : fix spelling typos 2016-11-30 Razvan Crainea * [eebd28a13] : identity: cover all paths 2016-11-30 Razvan Crainea * [5c633503b] : identity: complete port to openssl 1.1.0 Reported by Petr Pisar in issue #996 2016-11-30 Razvan Crainea * [fb16576e7] : identity: add support for openssl 1.1.0 Reported by Petr Pisar in issue #996 2016-11-29 Razvan Crainea * [7151610fc] : postgers: add dependency for tls_mgm module Thanks go to Pete Baines for reporting this Close #990 2016-11-29 ionutrazvanionita * [658a6053a] : [aaa_radius] update docs for choosing the desired radius library 2016-11-29 ionutrazvanionita * [ada6a5bf1] : fix opensips not starting if module compiled from its folder OpenSIPS was not starting if a module was compiled from its folder because the compilation flags were different from the flags in core. This was caused by the flag indicating used radius library which was only present in core. To fix this issue, radius library autodetection was moved into aaa_radius Makefile. 2016-11-29 Razvan Crainea * [646f6022a] : Add support for openssl 1.1.0 Reported by Petr Pisar in issue #996 2016-11-29 ionutrazvanionita * [efb96dd09] : [sipcapture] remove unnecessary file 2016-11-28 rvlad-patrascu * [5fbe9b3bb] : bin_interface: copy buffer instead of changing pointer when setting the send buffer 2016-11-24 Razvan Crainea * [c1b0c8059] : statistics: only raise warning when setting stat with smth != 0 2016-11-21 Razvan Crainea * [ae786930d] : sst: add timer extension to Require for replies RFC 4028 states that if the UAS does not support Session Timers, a proxy can add the Session-Expires header initially negociated in the reply, but must also add the "timer" extension in the Require header. Thanks go to Eric Tamme (lirakis) for reporting this Close #992 2016-11-16 Ovidiu Sas * [fb85c5a32] : opensipsdbctl: fix typo 2016-11-16 Bogdan-Andrei Iancu * [3643748e8] : Fix broken condition inserted by c901d82241f5582299fbcd985c84be902a7f5f04 2016-11-15 Bogdan-Andrei Iancu * [ef3f5f6d5] : Fixed bogus trim right of the body. This will discard the CRLF from the the end of the last SDP line, resulting in an bogus SDP when new lines are added to it. Closes #980. 2016-11-15 ionutrazvanionita * [9501eaceb] : Merge branch sipcapture-reloaded from commit 'cb7d74b' Conflicts: modules/proto_hep/hep.c modules/sipcapture/sipcapture.c 2016-11-15 Razvan Crainea * [84b6705ab] : carrierroute: prevent use after free Fixes Coverity CID 152067 and 152068 2016-11-15 Razvan Crainea * [615a945d0] : jabber: fix NULL dereferencing Fixes Coverity CID 40646 2016-11-15 Razvan Crainea * [f3d0f23a2] : db_virtual: fix NULL dereferencing Fixes Coverity CID 40645 2016-11-15 Razvan Crainea * [fa67d9362] : imc: prevent NULL dereferencing Fixes Coverity CID 40641 2016-11-15 Razvan Crainea * [67e922787] : snmpstats: make sure we do not dereference NULL pointer Fixes Coverity CID 40639 2016-11-15 Razvan Crainea * [191e2b4d6] : b2b_entities: prevent from dereferencing NULL pointer Fixes Coverity CID 40637, 40638 2016-11-15 Razvan Crainea * [5ff51e859] : b2b_sca: make sure the message exists before parsing it Closes Coverity CID 40636 2016-11-15 Razvan Crainea * [f43fd03aa] : b2b_logic: avoid NULL dereference Fixes Coverity CID 40632 2016-11-15 Razvan Crainea * [d62a38b65] : check if IP was specified for IPv6 str2ip6 Fixes Coverity CID 40629 2016-11-15 Razvan Crainea * [f6c9de15e] : sipmsgops: fix null dereference Fixes Coverity CID 40620, 40621 2016-11-15 Razvan Crainea * [00a32a72d] : fork: print errno when failing 2016-11-15 Razvan Crainea * [5d9c36ac9] : remove dead code Fixes Coverity CID 40611, 40615, 40616 2016-11-15 Razvan Crainea * [9f0c30681] : b2b_sca: initialize watchers no Fixes Coverity CID 40902 2016-11-15 Razvan Crainea * [e07f14812] : carrierroute: release resources in case of error Fixes Coverity CID 40806 and 40807 2016-11-15 Razvan Crainea * [e36e84a2a] : db_berkeley: fix uninitialized pointer Fixes Coverity CID 40910 2016-11-15 Razvan Crainea * [39f4c41aa] : jabber: fix uninitilized variable and res leak Fixes Coverity CID 40903 and 40795 2016-11-15 Razvan Crainea * [6eb24dcd4] : mangler: free resource in case of error Fixes Coverity CID 40819 2016-11-15 Razvan Crainea * [2fae51385] : mi_fifo: close reply fifo in case of error Fixes Coverity CID 40805 2016-11-15 Razvan Crainea * [ca8b73a09] : presence: fix uninitialized variable found Fixes Coverity CID 40906 2016-11-15 Razvan Crainea * [4bbf05721] : presence_xml: initialize pointer before usage Fixes Coverity CID 40911 2016-11-15 Razvan Crainea * [35bec53de] : rtpproxy: release connect fd in case of error Fixes Coverity CID 40821 2016-11-15 Razvan Crainea * [93fff4401] : seas: release FILE after printing Fixes Coverity CID 40820 2016-11-15 Razvan Crainea * [2756536d9] : path: jump to proper label in case of error detected by Coverity 2016-11-15 Razvan Crainea * [146d14cf3] : sipcapture: initialize structures before usage Fixes Coverity CID 40901 2016-11-15 Razvan Crainea * [9bb5ce370] : seas: close socket after handling it Fixes Coverity CID 40803 2016-11-15 Razvan Crainea * [76be723d3] : snmpstats: free space in case of error Fixes Coverity CID 40799, 40800, 40801, 40804, 40811, 40814, 40817, 40818 2016-11-15 Razvan Crainea * [5021cb02c] : snmpstats: close fd in case of error Fixes Coverity CID 40813 2016-11-15 Razvan Crainea * [908c70888] : statistics: remove uninitilized value test Fixes Coverity CID 40909 2016-11-15 Razvan Crainea * [9fd7059f4] : xode_from.c: close handler in case of error Fixes Coverity CID 40812 2016-11-14 Bogdan-Andrei Iancu * [ac0549215] : Fix t_add_cancel_reason() example - missing CRLF 2016-11-14 Bogdan-Andrei Iancu * [60f4e185d] : Add new t_add_cancel_reason() function This function allows the insertion of a custom Reason header into a CANCEL request. Many thanks to Bernard Buitenhuis for sponsoring this development. 2016-11-14 Bogdan-Andrei Iancu * [f52950050] : Fix rebuilding body from 0/1 to multi parts. The original parts may not have the CLRF between the end of the part and the enxt boundry (as original body is single part). 2016-11-11 Razvan Crainea * [ee093cbea] : fix logically dead code Fixes Coverity CID 40589, 40584, 40582, 40590, 40593, 40594, 40596, 40597, 40598, 40599, 40600, 40602, 40604, 40606, 40607, 40608, 40609, 40610, 40611, 40614, 40615, 40616, 40617, 40618 2016-11-11 Razvan Crainea * [343a53225] : tm: allow deleting branch avps Also fixes coverity CID 40585 2016-11-11 Razvan Crainea * [275f320cd] : enum: fix country prefix len detection Fixes Coverity CID 40580 2016-11-11 Razvan Crainea * [85d7d3a1f] : dialog: fix message re-generate condition after local route Fixes Coverity CID 40553 and 40605 2016-11-11 Razvan Crainea * [2bc6ecd14] : dialog: check cseq format validity Fixes Coverity CID 40531 2016-11-11 Razvan Crainea * [bc5b713ce] : presence_callinfo: pproperly fix hash_size Fixes Coverity CID 40495 2016-11-11 Razvan Crainea * [2f7155723] : ratelimit: properly fix hash size in case it is not power of 2 Fixes Coverity CID 40494 2016-11-11 Razvan Crainea * [7bc6bd67f] : json: properly check pv_parse_spec() return Fixes Coverity 40485 2016-11-11 Razvan Crainea * [4cbbcf7f4] : b2b: provide a way to customize headers in requests 2016-11-11 Răzvan Crainea * [474d82e24] : Merge pull request #979 from staltrans/2.2-fix change dependencies mysql-client on virtual-mysql-client 2016-11-11 Razvan Crainea * [21b434546] : pi_http: remove double-checking Fixes Coverity CID 40554 and 50455 2016-11-11 Razvan Crainea * [adc226cbf] : fix unchecked return value Fixes Coverity CID 40508, 40509, 40510, 40511, 40512, 40513, 40514, 40515, 40516, 40519, 40520, 40522, 40523, 40524, 40526, 40527, 40528, 40529, 40530, 40531, 40532, 40533, 40534, 40535, 40537, 40538, 40542, 40545 2016-11-11 Razvan Crainea * [25dd3ca72] : carrierroute: prevent ch truncate from fgetc() Fixes Coverity CID 40507 2016-11-11 Razvan Crainea * [c33c8d5ea] : msilo: replace strncpy with memcpy This prevents a coverity warning about null terminated strings Fixes Coverity CID 40507 2016-11-11 Razvan Crainea * [fd74b8859] : fix undefined shifting with more than 31 - should never reach there Fixes Coverity CCID 40494 and 40495 2016-11-11 Razvan Crainea * [756204b98] : b2b_entities: properly check parse_methods() return Fixes Coverity CID 40493 2016-11-11 Razvan Crainea * [49e069cf2] : rls: properly check parse_from_uri() return code Fixes Coverity CID 40490 2016-11-11 Razvan Crainea * [50551ff8d] : b2b: properly check return codes Fixes Coverity CID 40486, 40487 and 40488 2016-11-11 Razvan Crainea * [035aaa2c1] : json.c: properly check the pv_parse_spec() return Fixes Coverity CID 40485 2016-11-11 Razvan Crainea * [736279b25] : b2b_logic: properly check functions' return code Fixes Coverity CID 40483 40484 2016-11-11 Răzvan Crainea * [8ebf84a76] : Merge pull request #988 from pbaines/master Fix typo in startup error message 2016-11-10 Peter Baines * [6df1d52e8] : Fix typo in startup error message 2016-11-09 Bogdan-Andrei Iancu * [5739b15c4] : Fix missing lock release - related to 36b4908. 2016-11-09 ionutrazvanionita * [cef7517ad] : [nathelper] fix via branch building depending on flags 2016-11-09 Bogdan-Andrei Iancu * [36b490858] : Fix handling extra B2B events in callbacks. We need to filter out some new B2B events which are not relevant for the CC scenario. Fix for #984. Reported by John Steel ( @J0hnSteel ). 2016-11-09 Razvan Crainea * [c901d8224] : fix impossible_and condition for method parsing Fixes Coverity CID 40556 2016-11-09 Razvan Crainea * [f1d8209e8] : resolve: fix possible crash when proto is not specified Fixes Coverity CID 40642 2016-11-09 Bogdan-Andrei Iancu * [f81e9bf5f] : Fixed bogus test on pointers. This may lead to invalid len to be returned. 2016-11-08 Razvan Crainea * [c221eb3db] : net: do not warn about listener not used and not found 2016-11-08 ionutrazvanionita * [c89bc1cee] : [proto_hep] check if hep context was allocated before freeing This closes #986 2016-11-07 Bogdan-Andrei Iancu * [1d5d8e11d] : Fixed bogus passing of socket pointer as printed value in a a buffer. (cherry picked from commit 85c3bc5ed74481b1ad736ae6b860082c99fbba9a) (cherry picked from commit eafe60897e510697a5599c113923dca4cc78fed1) 2016-11-07 Bogdan-Andrei Iancu * [04f488025] : Fix bogus printing of socket pointer. Do not print the '\0', as it will break the logs formating. (cherry picked from commit 5acb935e06152b167469e7a31e917e7974f1c7e5) (cherry picked from commit 91de722ec2a3f54a157bd7fafb482e3a99699fbe) 2016-11-04 Liviu Chircu * [2efc77d0d] : fraud_detection: Fix possible startup crash Race condition between drouting startup and check_fraud() Credits to Jim DeVito for helping with troubleshooting 2016-11-03 Razvan Crainea * [f4ac7aa14] : udp: print IP:port when there is a sendto error This can ease debugging in case of errors 2016-11-03 Liviu Chircu * [00be97f15] : dialog: Fix incorrect replicated dialog ids Also improve code readability with regards to dialog id handling Issue reported by Dawid Mielnik 2016-11-02 ionutrazvanionita * [1a42b8fa8] : [acc] fix bad negative index calculation for acc_leg variable 2016-11-02 ionutrazvanionita * [81498e4ce] : [compression] fix bad header section length calculation for mc_compact 2016-11-01 ionutrazvanionita * [098ddfb12] : [dr] remove unnecessary print 2016-10-31 boris_t * [c155e7065] : change dependencies mysql-client on virtual-mysql-client see https://wiki.debian.org/Teams/MySQL/virtual-mysql-server 2016-10-29 Bogdan-Andrei Iancu * [8e8d0c974] : Refactored for multi-part support. has_body() -> has_body_part([mime]) filter_body() + strip_body() -> remove_body_part([mime,[revert]]) added add_body_part(body,mime) to append a new body part 2016-10-29 Bogdan-Andrei Iancu * [799411195] : Fixed body reassamble - some part separators were missing 2016-10-29 Bogdan-Andrei Iancu * [60cb8514f] : Fixed populated mime_s for single part 2016-10-28 Bogdan-Andrei Iancu * [4057a5fd6] : Fixes related to adding new body part. 2016-10-28 Bogdan-Andrei Iancu * [15b12f59c] : When iterating through the parts for doing changes, avoid the new or deleted parts. 2016-10-27 Razvan Crainea * [cba64bc05] : rtpproxy: doc warn about asym processing in bridging mode 2016-10-27 Bogdan-Andrei Iancu * [b6c4d3e9e] : Improve the docs on the body_part structure fields. 2016-10-27 Bogdan-Andrei Iancu * [11713fef6] : Fixed proper usage of dump_f prototype. The function returns only true/false, not the len of the buffer. 2016-10-27 Razvan Crainea * [2e7187060] : msg: fix confusing check of unsigned < 0 2016-10-27 Razvan Crainea * [efedc90ce] : dialog: add \n to log Reported by Hamid on the lists 2016-10-26 Bogdan-Andrei Iancu * [8a3f3144f] : Fix calculating len for multi-2-multi with dump function 2016-10-26 Bogdan-Andrei Iancu * [4ec793600] : Added content-aware body (multi-part) changing. The new code allows parsing and modification of the body via the "body parts" list - parts can be modified (with function or lumps), can be deleted and new ones can be added. Any type of modification (and any of them) is allowed. The body is completely rebuild based on the resulting list of body parts. Also the new code supports transparent transitions from no body to body, single part body to multi-part body or the other way around - with automatic update of the Content-Type and Content-Len headers, of course. 2016-10-24 Razvan Crainea * [9c5af6e37] : sms: properly pass the structures sizes 2016-10-24 Razvan Crainea * [be564153d] : httpd: fix previous space added 2016-10-24 Razvan Crainea * [018972797] : httpd: properly return if no result Fixes coverity CID 150760 2016-10-24 Razvan Crainea * [f34633a20] : sms: fill in the size of the structure Fixes Coverity CID 150759, 150758, 150757, 150756 2016-10-24 Razvan Crainea * [4b5f53b5a] : httpd: fix typo in cb init 2016-10-24 Razvan Crainea * [00c3189e7] : db_berkeley: fix journal overwriting Fixes Coverity CID 40773 2016-10-24 Razvan Crainea * [a442c36f0] : imc: removing confusing (and useless) boundary check Fixes Coverity CID 40780 2016-10-24 Razvan Crainea * [7d241ff40] : seas: prevent from reading off buffer Closes Coverity CID 40788 2016-10-24 Razvan Crainea * [4518f36f5] : jabber: make sure a buffer is not accessed with negative index Fixes Coverity CID 40741 2016-10-24 Razvan Crainea * [9e2f8d6d9] : jabber: make sure the string is null terminated Fixes Coverity CID 40505 and 40502 2016-10-24 Razvan Crainea * [8e9091153] : rls: fix possible buffer overrun Fixes Coverity CID 40772 2016-10-24 Razvan Crainea * [ee6b4808f] : db_berkeley: fix possible buffer overrun Fixes Coverity CID 40774 2016-10-24 Razvan Crainea * [dc0249ee5] : sms: prevent buffer overrun Fixes Coverity CID 40783 and 40784 and 40875 2016-10-24 Razvan Crainea * [a9d227c09] : db_berkeley: avoid buffer overrun Fixed Coverity CID 40786 and 40785 2016-10-24 Razvan Crainea * [4c42280c1] : presence_xml: prevent buffer overrun Fixes Coverity CID 40787 and 40833 2016-10-24 Razvan Crainea * [b0602d32f] : sdlookup: prevent buffer overrun when strip is used Closes Coverity CID 40790 and 40851 2016-10-24 Razvan Crainea * [13631c252] : seas: initialize bind structure Fixes Coverity CID 40916 2016-10-24 Razvan Crainea * [b10cc3600] : dns_cache: init value str Fixes Coverity CID 40917 2016-10-24 Razvan Crainea * [752e69fbb] : cc: make sure no NULL is deref Fixes coverity CID 40918, 40919, 40659 and 40660 2016-10-24 Razvan Crainea * [f2bcdb363] : dr: fix error printing Fixes Coverity CID 40920 2016-10-24 Razvan Crainea * [ea765d77b] : httpd: make sure cb exists to prevent a crash Fixes Coverity CID 40663 and 40922 2016-10-24 Razvan Crainea * [bfdeb3488] : mangler: don't use a 0-len uri Fixes Coverity 40926 2016-10-24 Razvan Crainea * [1e458e640] : snmpstats: ignore signals during sigpipe Closes Coverity CID 40929 2016-10-24 Razvan Crainea * [fb4fac76f] : pua_xmpp: cannot publish without an uri Closes Coverity CID 40931 2016-10-24 Razvan Crainea * [87e6d1866] : hep: fix buffer overflow when using IPv6 Fixes Coverity CID 58399 2016-10-24 Razvan Crainea * [927fc92b3] : release FILE in case of error Fixes coverity CID 58403 2016-10-24 Razvan Crainea * [ce1bbca89] : dr: prevent using uninit value at error logging Fixes Coverity 58426 2016-10-24 Razvan Crainea * [cdd9d0af9] : th: prevent invalid memory access Fixes Coverity 58429 and 58396 and 58397 2016-10-24 Razvan Crainea * [f16e2a342] : perl: initialize action before do_action() Fixes Coverity CID 150536 2016-10-24 Razvan Crainea * [bba27d149] : rtpproxy: check length of he Fixes Coverity CID 150661 2016-10-24 Razvan Crainea * [21ec5478f] : dialog: remove dead code fixes coverity CID 150480 2016-10-24 Razvan Crainea * [6df23cfe7] : tm: exit if ctx cannot be created Fixes coverity CID 150481 2016-10-24 Razvan Crainea * [fe13bc319] : siptrace: cover all possible paths for tracing flags Fixes coverity CID 150482 2016-10-24 Razvan Crainea * [76fc02e72] : socket_info: force parenthesis for proto check Detected by Coverity CID 150483 Not sure why coverity assumes that list can never be NULL? 2016-10-24 Razvan Crainea * [d7ff184c8] : sqlite: properly check the given result Fixes coverity CID 150484 2016-10-24 Razvan Crainea * [e7e650c52] : sipcapture: properly handle null hep message Fixes coverity CID 150485 2016-10-24 Razvan Crainea * [fc6111cd6] : sipcapture: remove unnecessary check for unsigned < 0 Fixes coverity CID 150487 2016-10-24 Razvan Crainea * [beea93fe6] : presence: pass db_func through pointer, rather than value This prevents from passing big structures on the stack Fixes coverity CID 150488 2016-10-24 Razvan Crainea * [d4a2d8ab4] : drouting: prevent out-of-bound read fixes Coverity CID 150490 2016-10-24 Razvan Crainea * [76fb8a2c3] : event_xmlrpc: fix possible bug in accessing NULL struct Fixes coverity CID 150491 2016-10-24 Razvan Crainea * [7e9744a58] : mi_datagram: prevent socket overflow Fixes coverity CID 150493 2016-10-24 Razvan Crainea * [07361e611] : rtpproxy: prevent string overflow Fixes coverity CID 150494 2016-10-24 Razvan Crainea * [e6c4a9a0d] : coverity: add model 2016-10-24 Razvan Crainea * [19061d41b] : seas: fix length checking size Fixes coverity CID 40855 2016-10-24 Razvan Crainea * [a32c03f3f] : sdp: inherit stream's family from session Fixes coverity CID 150496 2016-10-24 Razvan Crainea * [330c80a4f] : uac: always initialize all parameters Fixes coverity CID 150497 2016-10-24 Razvan Crainea * [d061712af] : sipcapture: use only known INET family Fixes coverity CID 150498 2016-10-24 Razvan Crainea * [2aabf84f5] : cpl_c: convert unsigned to signed check Force cast unsigned to signed to do a proper check for negative values Closes coverity CID 150550-150562 2016-10-24 ionutrazvanionita * [8a25380b0] : [sipcapture] fix bad struct field used for storing domain 2016-10-21 Bogdan-Andrei Iancu * [ae34313cd] : Fixed missing \n in log message. Reported by @hamid-elaosta Closes #974 2016-10-21 Razvan Crainea * [13435ccc2] : fix parse_sdp usage Fixes coverity CID 150502 and CID 150503 2016-10-21 Razvan Crainea * [47c048603] : drouting: remove unnecessary debugging 2016-10-21 Razvan Crainea * [9390dfa10] : drouting: remove unused next field in gw struct Fixes coverity CID 150501 2016-10-21 Razvan Crainea * [9fecc8f58] : rest: add aditional indirection to make coverity happy Fixes coverity CID 150505 and CID 150504 2016-10-21 Razvan Crainea * [8071f8b61] : acc: remove deadcode from cdr insert Fixes coverity tag 150506 2016-10-21 Razvan Crainea * [8df467aa8] : cpl: fix tag check Fixes coverity tag 150512 and 40644 2016-10-21 Razvan Crainea * [9889ef7e3] : acc: exit if bad parameters are set for a variable Fixes coverity tag 150513 2016-10-21 Razvan Crainea * [0c88ac7dd] : make sure mem_lock exists before calling shm_free Fixes coverity tag 150514 2016-10-21 Razvan Crainea * [265563139] : properly check if the tag's length is defined Fixes coverity tag 150515 2016-10-21 Razvan Crainea * [5ed26ad62] : check if shm_mem is initialized Fixes coverity tag 150516 2016-10-21 Razvan Crainea * [23c91a9dd] : perl: fix msg check Fixes coverity tag 150517 2016-10-21 Razvan Crainea * [8e594644c] : fix transformations possible memory corruption Fixes coverity tag 150518 2016-10-21 Razvan Crainea * [bc3012d7c] : b2b_logic: check if msg exists before parsing Fixes coverity tag 150519 2016-10-21 Razvan Crainea * [97279dbd9] : sipcapture: fix bad allocation in pvar Fixes coverity tag 150520 2016-10-21 Razvan Crainea * [7b675de6b] : drouting: fix typo in pointer allocation Fixes coverity tag 150521 2016-10-21 Razvan Crainea * [6017c7dff] : snmpstats: fix typo in pointer allocation Fixes coverity tag 150522 2016-10-21 Razvan Crainea * [8bc93d3b2] : domain: fix typo in pointer allocation Fixes coverity tag 150523 2016-10-21 Razvan Crainea * [3dba8bd8c] : cpl: fix negative string length check Spoted by coverity 150524) 2016-10-21 Razvan Crainea * [28a10bf20] : cpl: annotate coverity tainted_data (150528) 2016-10-21 Razvan Crainea * [b16f422b5] : cpl: annotate coverity tainted_data (150530) 2016-10-21 Razvan Crainea * [71db7493d] : seas: remove unused code with errors reported by coverity 2016-10-21 Razvan Crainea * [abfecfc76] : regex: fix tained values reported by coverity 2016-10-21 Razvan Crainea * [c22ddb116] : Initialize all fields in the action structure 2016-10-20 Liviu Chircu * [d67a009c4] : Merge pull request #970 from AgalyaR/master Documentation updated for REST_PUT 2016-10-20 AgalyaR * [d0e0a3000] : Documentation updated for REST_PUT 2016-10-20 AgalyaR * [3affec295] : Doucmenation updated for REST_PUT 2016-10-20 Razvan Crainea * [7de293358] : delete unused file 2016-10-19 Liviu Chircu * [c4807008b] : Merge branch 'AgalyaR-master' Resolves #968 Pull Request 2016-10-19 Liviu Chircu * [762cd798b] : rest_client: Fix coding style 2016-10-19 Razvan Crainea * [edad7265c] : userblacklist: sync between reload and read This commit fixes possible crash due to concurrency between the data read while checking the blacklist and reload. Reported by Michele Pinassi Close #884 2016-10-19 AgalyaR * [7aa19226b] : Added code for REST_PUT API call 2016-10-19 Liviu Chircu * [d25633505] : fraud_detection: Fix docs for "show_fraud_stats" 2016-10-19 Liviu Chircu * [703ce9098] : fraud_detection: Fix "concurrent_calls" statistic Ensure the "concurrent_calls" stat is properly decremented for un-established dialogs as well (due to negative INVITE replies). Thanks to @Freenex for the bug report Closes #949 2016-10-19 Liviu Chircu * [4a0d22d95] : fraud_detection: Fix shm memory leak 2016-10-19 Razvan Crainea * [7cdd3ee99] : dns_cache: fix examples Credits go to Pete Kelly for reporting it. 2016-10-19 ionutrazvanionita * [d34e1fe59] : Fix broken ldap async engine Previous ldap async engine implementation was broken. Now the module stores a pool of connections for each session which will be used for executing async queries and one separate connection that will be used for synchronous queries, in case the maximum number of open connections allowed(max_async_connections module parameter) is reached. The sync connection will also be used for synchronous queries from other functions. The connection pool is stored per process, so each worker process will have its own pool and synchronous connection. For large numbers of asynchronous ldap calls per second, having a higher value for max_async_connections will result in better performance. 2016-10-19 Razvan Crainea * [a380ccbed] : carrierroute: adapt LM_GEN call to constant format 2016-10-19 Razvan Crainea * [702115534] : append '\n' to all logs 2016-10-19 Razvan Crainea * [3593690d5] : Do not load a protocol module if there is no listener 2016-10-18 Bogdan-Andrei Iancu * [c63e14d56] : Rework parse_sip_body() prototype. We need to be able to distinct between no body found and error during parsing the body. 2016-10-18 ionutrazvanionita * [3b2d34254] : [sst] fix using unallocated memory bus * sst was freeing shm memory after freeing it in dialog callbacs; * sst was using memory without checking if it was allocated; 2016-10-18 Bogdan-Andrei Iancu * [c63120481] : Fix linking the multi part list. Also added the dump function (used by a part to completely regenerate that part) and per-part and body specific flags (just support, none defined yet). 2016-10-17 Bogdan-Andrei Iancu * [7e2d6e460] : Use get_body() to properly extract the SIP body 2016-10-17 Bogdan-Andrei Iancu * [99f69a6e2] : Fix freeing the "parsed" of the first body part. 2016-10-15 Bogdan-Andrei Iancu * [5dfd87b22] : Major rework of body and sdp parsing Unified and consistent way of parsing and accessing the body parts (single or multi part body). Transparent way of parsing and freeing the parts content (like SDP). Removed redundant code for parsing multi-part bodies from the SDP parser. Tested is needed. 2016-10-13 Bogdan-Andrei Iancu * [fb0d90ec7] : Fix CANCELLing of transactions not forwarded. Due async operations, a transaction may be created and it may exist for a long time before any branch is created for it (via a t_relay). The current fix takes care and does proper handling on incoming CANCELs matching the transaction while it has no branch (no t_relay() on it). Old behavior - the INVITE transaction was never getting a final reply New brhavior - the INVITE transaction gets an internally generated 487. 2016-10-13 Bogdan-Andrei Iancu * [466fbf045] : Added the "append" index for AVP ops. $(avp(name)[append]) = "4" allows you the append (add at the end) new AVP values. By default, the new values are inserted at the beginning. This is a temporary solution until the completion of the var rework. 2016-10-12 Bogdan-Andrei Iancu * [be02a0a9b] : Drop hash:label identification for dialog. From now on, only the dialog ID (unique number) is displaied and accepted as dialog identifier. Affected are dlg_list(_ctx) and dlg_end_dlg MI commands 2016-10-12 Bogdan-Andrei Iancu * [aea8ece81] : Fix consistency and use dialog_id. Dialog_id is printed by dlg_list (along the h_label and h_id) as a simpler alternative to identify the dialog. Also, the dlg_end_dlg accepts both h_label and h_id or a dialog_id. This is needed as the DB exposes only the dialog_id, and the dialogs from DB cannot be correlated anymore with the MI commands. See #963 Closes #963. (cherry picked from commit 944fdc1e02c0d4da00272f0c80ea2f9c0406b188) 2016-10-12 Liviu Chircu * [2352d57e3] : Fix a possible segmentation fault on startup Do not generate a corefile on "listen = udp:eth0:bad_port" errors 2016-10-12 Liviu Chircu * [c7da1af16] : Fix "use_children" to work with interface names 2016-10-12 Bogdan-Andrei Iancu * [188408863] : Remove the deprecated function is_other_contact() Replaced by is_ip_registered() ! 2016-10-12 Bogdan-Andrei Iancu * [e3cbc54eb] : Remove obsolete function "registered()". It is replaced by "is_registered()". 2016-10-12 Bogdan-Andrei Iancu * [1ea57af6c] : Fix regression on is_registered() returning the contact ATTRibutes. The function, upon success, must also return the attributes of the first found contact for the searched AOR. Reported by Rik Broers ( @hydrosine ). Closes #960 (cherry picked from commit 34bbe689f8aaedb241d47a58bdd5e693227b5118) 2016-10-11 Liviu Chircu * [add97f872] : Improve parsing for "hep_udp" and "hep_tcp" literals 2016-10-07 Bogdan-Andrei Iancu * [dd518ccdc] : Downgrade logs from NOTICE to DBG - part 2 2016-10-07 Bogdan-Andrei Iancu * [63e39b389] : Extanded str2sint to support + sign for values 2016-10-07 Bogdan-Andrei Iancu * [23841c753] : Allow stats to be upadated via variables. The update_stat() function accepts variables for passing the update value. 2016-10-06 Bogdan-Andrei Iancu * [ab01c7376] : More detailed return code for LB functions. In case of LB failure, the ret code may be: -1 generic internal error -2 no capacity left -3 no available destinations -4 bad resources Closes #662 2016-10-06 Bogdan-Andrei Iancu * [02b25dd8b] : Aligned the LM_GEN() output to stderr. To be consistent with the syslog printing, LM_GEN() includes now the time and process when prinitng to stderr. 2016-10-06 Bogdan-Andrei Iancu * [5069a54b2] : Extended $xlog_level for xlog() and xdbg() 2016-10-06 Bogdan-Andrei Iancu * [402ed25bf] : Some tunnings related to the $xlog_level Return a NULL value if outside an xlog() statement. Avoid strlen() on static strings. 2016-10-06 Cerghit Ionel * [a7f26e6b3] : xlog.c: add $xlog_level pseudovariable using the $xlog_level pseudovariable in the xlog function will insert in the message generated the log level, example: xlog("$xlog_level some text\n") will generate the line ERROR: some text 2016-10-06 Daniel Fussia * [28076b729] : Changed from VAL_STR to VAL_STRING in case DB_STRING (cherry picked from commit 8570c3489b14256bca3a86809b188d862ba0892d) 2016-10-05 Bogdan Andrei IANCU * [bcf3118ec] : Merge pull request #962 from tavyc/exec-flush exec: Flush the pipe after writing the message 2016-10-05 Octavian Cerna * [4a1ca32e6] : exec: Ensure the whole message is written to the pipe by flushing the stdio stream. 2016-10-05 ionutrazvanionita * [90ac8b643] : [sipcapture] memset contact uri structure to 0 2016-10-05 Razvan Crainea * [ac5dea52b] : add container in separate header to be used by other modules 2016-10-05 Razvan Crainea * [21a57abf5] : rename list_entry for tm to avoid name overlapping 2016-10-04 rvlad-patrascu * [f8c11e175] : Use signed type for computing timer drift 2016-10-04 Razvan Crainea * [b150a657f] : Convert warnings to errors when runing travis This allows us to catch warnings as soon as possible 2016-10-04 Liviu Chircu * [c9d06eb8e] : Add a series of doubly-linked list utility functions 2016-09-29 Bogdan-Andrei Iancu * [72003775d] : Fix computing the pinging partition in timer job. Avoid using static variables in timer jobs as they may be run in different processes, leading to unexpected results. Many thanks to Andrew ( @kertor on GITHUB) for spotting and reporting this. Fixes #959 (cherry picked from commit 82fd3ae683b7fc108d47760f73cbdd80f2dd70af) (cherry picked from commit c8ee7d514ce817a57682b63a687c5ecad6261d59) 2016-09-29 Bogdan-Andrei Iancu * [62063255e] : Fix documentation for calculate_ha1 parameter Reported by Aqs Younas on the mailing list. (cherry picked from commit f10e57f0f7abf9bf899f6649603774898b562013) 2016-09-28 ionutrazvanionita * [63b2a52c2] : [proto_hep] fix bug introduced in 7190a2d Commit 7190a2d was freeing the extra chunks twice when the message was processed as SIP. Now the original hep context free function is not registered as a context free function, but called manually each time all the hep processing is done. This way we avoid the memory leaks that appeared when the message was not a SIP message, and the chunks were not freed. 2016-09-28 ionutrazvanionita * [7190a2d89] : [proto_hep] fix extra chunks memory leak Extra chunks (the ones that are not defined in the internal hep structure) were not freed, causing a memory leak for each hep packet that had such chunks. 2016-09-28 ionutrazvanionita * [7d2ab2bce] : [proto_hep] don't drop packets with port 0 This packets might be different than sip, internally generated that might not necessarily be related to a connection. 2016-09-28 ionutrazvanionita * [89f5ec299] : [proto_hep] convert to host byte order before allocating custom chunk 2016-09-27 ionutrazvanionita * [b6dce41d8] : [acc][bugfix] check if script variable is null 2016-09-26 Bogdan-Andrei Iancu * [d536c3d41] : Extra logging to troubleshooting presence event handling 2016-09-23 ionutrazvanionita * [35b855f85] : [acc] fixed missed calls callback registration If the missed calls callback was not registered the first time do_accounting was called then it wouldn't have been registered thereafter. A new internal flag was defined to know wheteher or not the callback has been registered before the current do_accounting call. 2016-09-23 rvlad-patrascu * [ca6a52c0c] : clusterer: fix bug when receiving full topology update that lead to integers in the buffer being skipped 2016-09-23 rvlad-patrascu * [633074619] : clusterer: prevent the sending of multiple join confirmation messages from different processes 2016-09-23 rvlad-patrascu * [29a6adc41] : clusterer: use new rw_locking switching functions instead of releasing and reacquiring the same lock for different type of access(read/write) 2016-09-20 rvlad-patrascu * [6c50d63a0] : rw_locking: add primitives to switch to writing access and back to reading when lock was initially acquired for reading 2016-09-20 Liviu Chircu * [3ba7be669] : rest_client: Fix bogus condition 2016-09-20 Liviu Chircu * [efe5dd76e] : rest_client: Update documentation 2016-09-20 Liviu Chircu * [f5abfb3de] : rest_client: Add "connect_poll_interval" module parameter Allows complete control over how quickly we want to detect libcurl's completed TCP handshakes, so the transfers can be started. A lower "connect_poll_interval" will speed up the HTTP transfer, but will also increase CPU usage. 2016-09-20 rvlad-patrascu * [b377106f9] : clusterer: fix wrong call for send_all api function A pointer to a function from the core, with similar name, was stored in the clusterer binds structure instead of the corect send_all function from this module. To fix this, the function was renamed, along with some others to avoid any possble future confflicts. 2016-09-20 rvlad-patrascu * [761e0af29] : clusterer: improve locking mechanism Replaced the lock that protected any access to the shm structures with a RW lock that protects the cluster list and corresponding node lists for insertions/deletions. Also, locks were added to the cluster info and node info structures that protect accesses to structure fields that may be changed when the RW lock is acquired for reading. In consequence potentially blocking operations, like message sending, can now be done without holding any lock(except the RW lock acquired for reading, which is safer because most of the time it won't block). 2016-09-19 Bogdan-Andrei Iancu * [e70b3d2e2] : Remove testing warning message. 2016-09-19 Bogdan-Andrei Iancu * [91e87f18d] : Fix async resume in the timer dedicated timer. The timer dedicated timer may end up running script routes (like failure route), so it may trigger some async operations. So, the dedicated timer process must be async enabled. 2016-09-19 Bogdan-Andrei Iancu * [542a9c988] : Fix starting TCP processes. Do not start TCP main if tcp is disabled - this was introduced with the previous commit, when we split the starting of TCP workers and TCP main (see c2e2a0f141d11a972705f1555d0e2a23ec3f01ed). 2016-09-19 Bogdan-Andrei Iancu * [bf9acc3a1] : Fix building the FROM header in XMPP2SIP. Reported by Igor Pavlov. 2016-09-19 Bogdan-Andrei Iancu * [c2e2a0f14] : Fix the TCP forking sequence. Keep the TCP-main the last forked process, to be sure it inherits all the communication sockets from all other OpenSIPS processes. Credits go to Razvan for reporting. Alternative fix for 9fd451fd684ed3c9133bcc0e896de8d28ad45208 2016-09-19 Razvan Crainea * [554814c06] : Revert "start the extra timer process before TCP" This reverts commit 9fd451fd684ed3c9133bcc0e896de8d28ad45208. 2016-09-19 Razvan Crainea * [26f6c1bac] : usrloc: fix race between update for different registers In case there are two REGISTER messages with incremental CSEQ are replicated in a different order, skip the processing, since this has already been resolved by the master instance. Thanks to Deniz Beskök for reporing this Closes #956 2016-09-16 ionutrazvanionita * [cb7d74bb0] : [proto_hep] fix bad pointer source for generic chunks 2016-09-16 ionutrazvanionita * [d617d5d5e] : [proto_hep] fix bugs * correctly calculate hepv1/2 space to be allocated. Ip addresses weren't take into account; * initialise to null chunk to be freed in free hep message function; 2016-09-16 ionutrazvanionita * [e5baa3c33] : [siptrace] allow other modules to trace messages A new api in siptrace module has been defined which allows tracing messages using any implemented trace protocol(currently only hep) in sip context(per message/transaction/dialog). This way tracing messages other than sip(log messages, rest, http) will be much easier to implement. Along with the new api, sip_trace function has been extended to accept another extra parameter which will specify the types of messages to be traced(by default only sip messages shall be traced). Modules that will implement the api have to register to siptrace module using an identifier which will be used by sip_trace function in order to identify the types of tracing that are enabled. Also initial trace api has been modified. After sending, the traced message won't be freed, leaving this posibility to the user. 2016-09-16 ionutrazvanionita * [7660b8b4a] : Define generic tracing api and proto_hep implementation A new api has been defined in OpenSIPS core which provides functions for doing complex message tracing. Currently, the only module implementing this api is proto_hep which provides functions for HEP protocol. The new api provides functions for creating a tracing message, adding data to the message, sending the message and fetching destination structure info. The old api that was defined in proto_hep is still there but provides only the functionality used by sipcapture module, the callback registration function for received hep messages and the context position getter function which gives you the index where the hep context is being held. The rest of the functions are now being implemented by the generic api in core. What is more, siptrace module uses the core tracing api to send it's messages, having now more flexibility than ever. 2016-09-16 ionutrazvanionita * [f47a31181] : [siptrace] use the hep id defined in proto hep Use the hep ids defined in proto_hep module instead of defining new ones in siptrace module. 2016-09-16 ionutrazvanionita * [cda1a0316] : [proto_hep] introduce hep_id parameter(currently unused) The hep_id is used to define destinations for your hep packets. It shall be used by other modules in order for them not to implement the parsing logic. 2016-09-16 Razvan Crainea * [9fd451fd6] : start the extra timer process before TCP We need to do this because the extra process needs to init the communication socket before the TCP main inits Also, most likely this process will execute the startup route, since its the first process. 2016-09-14 Bogdan-Andrei Iancu * [c40f2b057] : Fix potential starvation for the timer tasks. Even if the timer tasks have priority in the asyns reactor (for being handled), if all the worker processes are already busy in handling some SIP tasks which takes too long, may lead into a starvation of the timer tasks. For the moment we address this by creating a extra worker processes (similar to the SIP workers) which is dedicated to executing the timer tasks. Still, based on their availability and load, the SIP workers are able to consume timer tasks. In the next steps, this issue will be better addressed by implementing the concepts of "preferred jobs" and "capacity reservation" for the processes in the pool. Credits for helping with the investigation and testing go to Ramachandran, Agalya 2016-09-14 Razvan Crainea * [60b4143d1] : regex transformations: allow '{}' characters if they are escaped 2016-09-13 Di-Shi Sun * [1f661e4b3] : Updated to support SUBSCRIBE/NOTIFY CNAM and OSP Toolkit 4.12.0. 1. Added SUBSCRIBE/NOTIFY CNAM support. 2. Formatted sample configuration file. 3. Updated for OSP Toolkit 4.12.0 2016-09-09 rvlad-patrascu * [20c60586c] : bin_interface: rename function for removing integers from send buffer 2016-09-08 Liviu Chircu * [66c337cc8] : rest_client: Improve polling logic during TCP connect The wait time suggested by curl_multi_timeout() is actually a maximum value, rather than a minimal one (as currently implemented). By only waiting a fraction of this time before retrying curl_multi_perform(), we can resume operation a lot faster, and also prevent some unnecessary timeouts. Reported by @arovetto Fixes #929 2016-09-07 ionutrazvanionita * [4537a21ed] : [db_virtual] check if backend exports async function 2016-09-05 rvlad-patrascu * [f68ff9346] : clusterer: fix missing allocation of temporary buffer in clusterer_send_msg() function 2016-09-05 rvlad-patrascu * [6ae7b9118] : clusterer: fix restoring buffer when routing BIN messages by adding missing cluster id 2016-09-05 rvlad-patrascu * [ecec1a18b] : clusterer: introduce the possibility for unprovisioned nodes to join an existing cluster This can be done as long as the joining node has the DB info about the rest of the nodes in the cluster. The most common use case for this functionality would be adding new nodes to a cluster without the need of reloading from DB on every node. 2016-08-30 Razvan Crainea * [03b4a7eae] : packaging/debian: move all current files in a common directory 2016-08-30 Razvan Crainea * [84d38d617] : packaging/debian: use newer version for libmicrohttpd 2016-08-30 Razvan Crainea * [621bf99a4] : httpd: use newer API of libmicrohttpd For new versions of libmicrohttpd, use MHD_create_response_from_buffer instead of deprecated MHD_create_response_from_data 2016-08-30 Razvan Crainea * [c2d0b38d5] : fix expresion - expression typo 2016-08-30 Razvan Crainea * [6d7cf3565] : debian packaging: remove non-existent dependency replace dependency of db4.6-util to db-util (>= 4.6.19) for new Debian versions reported by Julián Moreno Patiño 2016-08-29 Razvan Crainea * [36b4e59c2] : acc: fix compile unitialized warning acc_logic: initialize the variable, even though cannot be used acc: make sure extra_len is initialized even if no ctx is used 2016-08-29 Răzvan Crainea * [65d86fd0c] : Merge pull request #944 from Deni90/master Added support to fast_lock for mips and mips64el 2016-08-25 Liviu Chircu * [daf63bb22] : fraud_detection: Fix bad script retcode for check_fraud() Thanks to Freenex on IRC for fixing and testing 2016-08-22 Vlad Paiu * [2adc1140b] : Reworked ReINVITE and OPTIONS pinging Previous mechanism was going every X seconds through ALL dialogs that needed pinging and would send ReINVITEs / OPTIONs out. In case there were many established dialogs towards a specific destination / network, this would lead to flood protection mechanisms getting triggered and calls getting bogusly ended. Reworked the pinging mechanism so that it works more similar to the SIP session timers. Each call will get pinged on fixed intervals based after the 200OK is received, based on the configured options_ping_interval or reinvite_ping_interval parameters. 2016-08-21 rvlad-patrascu * [e2118a41a] : clusterer: fix logging debug message when replying to ping 2016-08-19 rvlad-patrascu * [0458f462b] : clusterer: replace rw_lock_t with gen_lock_t As almost all of the accesses of the structures protected by the main lock involve write operations, there is no point in using a readers-writers lock. 2016-08-19 Bogdan-Andrei Iancu * [326a1c636] : Fix is_contact_registered() to accept less params. The last 3 params are optional, so we can invoke the function without them. (cherry picked from commit d30f39a64e6dcbb7a743b394efb9fcbce4e44d63) 2016-08-19 Bogdan-Andrei Iancu * [042ca602c] : Fix using is_registered() function with first param only. Reported by neo_land1 on the #opensips IRC channel. (cherry picked from commit 65d981b571ac15e32687d9cc2ffe53cbe7db0576) 2016-08-19 Razvan Crainea * [39e40f93f] : ws(s): make sure we cleanup the request in the con Reported by Tito Cumpen 2016-08-19 rvlad-patrascu * [772f95619] : clusterer: avoid deadlock if an api function is called from within the callback In order to do this, release the internal lock from the clusterer module before actually calling the registered callbacks. Also use an integer to hold flags in the node info structure instead of having separate variables for certain boolean information (like db updated, node enabled etc). 2016-08-17 ionutrazvanionita * [9a21b8991] : [acc] fix missed call flag check macro 2016-08-17 Bogdan-Andrei Iancu * [4f523858c] : Do not delete any internal AVP if "C" flag is used. When calling do_routing() with "C" flag (only check the prefix, without actually doing any routing), do not remove any AVP (in the beginning) as we do not add any (after prefix matching) -> no adding, so no deleting. This allows you to safely call do_routing("C") while looping throuhg the GWs of another do_routing(). (cherry picked from commit 8fcc77cb87ba76e831466fb0a3da90eb556671d8) 2016-08-17 Razvan Crainea * [f9177afe6] : tls_mgm: show openssl version 2016-08-16 Razvan Crainea * [935581896] : tls_mgm: add extra debugging in case mem function fail 2016-08-16 Razvan Crainea * [a1242bd35] : tls_mgm fix typo in logs 2016-08-12 rvlad-patrascu * [99e909309] : clusterer: improve the callback for signaling node events * add event to signal a node becoming reachable * trigger callback for all nodes that become unreachable not only for the node adevertised in the topology updates 2016-08-09 Liviu Chircu * [058991d78] : drouting: Fix docs Thanks to Richard Robson for reporting 2016-08-09 Daniel Knezevic * [e61884fdc] : Added support to fast_lock for mips and mips64el Added support to detect mips32 architecture (as mips BE had been migrated to MIP32R2 ISA) in Makefile.defs and enables fast_lock (hardware locking support) The detection is achieved by adding a check for predefined compiler macros for mips32 architecture (_MIPS_ISA_MIPS32, _MIPS_ARCH_MIPS32R2, _MIPS_ARCH_MIPS32). For mips and mips64el arch specific definitions are added to enable fast_lock. Mips and mips64el use the same assembler routines for the fast architecture dependant locking primitives as mips2 implementation. 2016-08-05 Bogdan-Andrei Iancu * [88c60047b] : Fix bug in evaluating the port spec in lb_count_call (cherry picked from commit e7319c1c8eb5632da28a5c1971b6fa9f7495df89) 2016-08-02 rvlad-patrascu * [0b5f1d6f6] : dialog and usrloc: do not broadcast replication data all the time As an active pinging mechanism was introduced at clusterer module level, there is no more need to simulate this with replication data.This effectively undoes commit 7f7f871 2016-08-02 rvlad-patrascu * [e1fc73f98] : clusterer: complete module rework The clusterer module was completely reworked, starting with code refactoring and coding style improvements, in order to introduce better node availability detection and inter-cluster, failover message routing mechanisms. As there were no explicit probes at the clusterer module level, an active pinging mechanism was introduced which establishes the state of the connections of the current node with other nodes in the cluster. As such, when a node is unresponsive, it is not automatically considered down but only the direct 'link' with that node will be marked as failed. The current node will have to take into consideration the perspective of the other nodes in the cluster in respect to the state of the presumably failed node. This leads to the need of having an awareness of the entire topology in the cluster and when every other node has no link with a specific node, that node is reported as down. A link-state resembling protocol was implemented in order to learn the cluster topology and compute a routing 'table' used for sending bin messages between nodes. The clusterer module API was improved and its usage in the dialog, usrloc and ratelimit modules was adapted. 2016-08-02 Bogdan Andrei IANCU * [a0736d986] : Merge pull request #937 from was4444/1.11 fix: pthread_mutex should be process-shared (cherry picked from commit 97cd5c481bfd9dca4fff941cc86a497d35474704) 2016-08-02 Bogdan-Andrei Iancu * [b5185336b] : Removes docs for old MI function "profile_bin_status" was removed when dialog module was migrated to clusterer Credits to Sebastien Couture (@sysreq0) for reporting Closes #939. 2016-07-31 rvlad-patrascu * [819c4a39a] : Improve bin interface * add functions for: * altering the send buffer(for integers) * getting/setting receive/send buffer * popping value(integer) from end of received buffer * allocate receive buffer and save message at bin interface level 2016-07-29 Liviu Chircu * [b81f419f2] : tm: Fix loader error 2016-07-28 Bogdan-Andrei Iancu * [cf2fd9e4b] : Fix handling async in sync mode upon failure 2016-07-28 Bogdan-Andrei Iancu * [7428b694b] : Better naming for the async script related functions 2016-07-28 Bogdan-Andrei Iancu * [2577b06d9] : Added support for internal async I/Os Module care register FDs to the reactor in order to be triggered when data is available (and run a handler). 2016-07-26 ionutrazvanionita * [027fe92f2] : [acc] fix bad condition when fetching context from dialog 2016-07-25 ionutrazvanionita * [2e36f29d6] : [acc] updated docs for previous commit 2016-07-25 ionutrazvanionita * [5ee21cd11] : [acc] introducing new extra/leg engine; module redesign Redesigning accounting module extra values engine raised new problems which in the end were solved by redesigning the whole accounting module. First of all an accounting module context was created which is available for the whole dialog lifetime. Having this mechanism all values that were stored in avps or dialog values are now being held in this context. Using the new dialog callback that is triggered at shutdown, extra and leg values are not abusing anymore of dialog values. We store them there only when OpenSIPS closes by any means. This made the code look a lot cleaner and the program faster by not creating a dialog value for all INVITEs and restoring it for each BYE. Accounting module extra values new engine are the main purpose of this commit. There are only two variables now, called $acc_extra and $acc_leg. They are visible during the whole lifetime of a dialog and provide a much cleaner and easier way to use this powerful engine. New parameters have been defined, extra_fields and leg_fields through which one can define tags and log values. The tags are used to reference $acc_extra and $acc_leg variables, whereas the leg_fields will be the value that you will see in the logs. As concerning the acc_leg variable, new legs can be created using acc_new_leg() function. The value of the current leg can be retrieved using $acc_current_leg. It's the script writer the one who has to decide when is the moment to jump to a new leg. Also from this commit diameter support from acc module has been removed. Diameter didn't have any support and it wasn't compatible with a diameter server. 2016-07-25 Bogdan-Andrei Iancu * [b7f194e26] : Extended the callback in dialog module. 1) avoid deadlock if from a dialog callback run under the lock (like DLG_SAVED) you use dialog functions (via API) to add dlg vals or set profiles. 2) renamed DLG_SAVED into DLG_DB_SAVED 3) added new DLGCB_DB_WRITE_VP callback that is triggered (while dialog is locked) just before flushing the vals/profiles into DB - this will allow other modules to quickly insert / update dlg vals just before the DB flush (to take advantage of the dlg persistency, while handling dynamic values). <- this is required by some ongoing work in ACC module. 2016-07-22 Bogdan-Andrei Iancu * [0b60681f0] : Remove unnecessary test. "res" cannot be null at that point 2016-07-22 Bogdan-Andrei Iancu * [bfe55b96e] : Merge branch 'Ozzyboshi-master' 2016-07-21 Ozzyboshi * [657399431] : Fixed memory leak on modules/drouting/drouting.c This leak occures in function get_group_id() when do_routing is called without parameters in opensips.cfg. In this case the dr_default_grp variable is not equal -1 and 'return dr_default_grp' is executed without freeing the res variable previously allocated for query execution. 2016-07-18 Razvan Crainea * [0eecff942] : permissions: allow any supported protocol Before this commit, the protocol check was hardcoded in the module. This commit allows to add in the permissions table any transport protocol supported. Thanks go to Kirill Galinurov for reporting this! 2016-07-15 Liviu Chircu * [d8bf10da3] : rest_client: Fix incorrect trim operation 2016-07-12 Razvan Crainea * [c1d56d557] : add debian packaging for proto_wss, proto_tls and tls_mgm Reported by Rik Broers Close #931 (cherry picked from commit b40035ef7f3bb758278812a84682f2a4d77f515b) 2016-07-12 Bogdan-Andrei Iancu * [eb850a22f] : Fix advertised port and address per branch. Before the advertised_port/address are preserved only in the UAS part of the transaction - that means it is only one value and it is from the setting done in Request Route; whatever later setting done in Failure Route or Branch Route are not preserved at transaction level (even if they are used on the spot, for sending out the INVITE). So, when we have to build a local request (ACK or CANCEL), we do not remember which specific address/port were advertised for that particular UAC (branch). Fixes #917. 2016-07-12 Bogdan-Andrei Iancu * [7fa9cee50] : Fix populating blacklists. When creating the blacklists, use the port and protocol of the destination too, otherwise the rules may conflict or be too wide to be used (like 2 destinations with same IP but different ports). 2016-07-11 Bogdan-Andrei Iancu * [97f309c34] : Fix populating blacklists. When creating the blacklists, use the port and protocol of the destination too, otherwise the rules may conflict or be too wide to be used (like 2 destinations with same IP but different ports). 2016-07-11 Bogdan-Andrei Iancu * [0495faa7d] : Fix populating blacklists. When creating the blacklists, use the port and protocol of the destination too, otherwise the rules may conflict or be too wide to be used (like 2 destinations with same IP but different ports). 2016-07-11 Bogdan-Andrei Iancu * [482e64346] : Fix building Via Branch in stateless mode Instead of copying the branch value from a previous statefull Via header (which may lead to overflow as OpenSIPS has a maximum value for the built branch), we generate a new branch value based on the previous Via branch - in this way, we have full controll over the length of the resulting Branch and we also inherit the uniqueness of the branch value (from the prev Via hdr). Reported by Gupta, Rahul and Elliott, Ray 2016-07-11 Bogdan-Andrei Iancu * [1e9a9fd97] : Fix compiling warn on missing return 2016-07-11 ionutrazvanionita * [22554fa90] : [acc][bugfix] check if database loaded before using its handler 2016-07-08 Razvan Crainea * [70db2cfcd] : dialog: advance to next cell in case of error 2016-07-07 Bogdan-Andrei Iancu * [409481818] : Fix error message when a route is not defined. Print the name of the route too - the ID is irrelevant for the script writter. 2016-07-05 Bogdan Andrei IANCU * [d6a6dbc1f] : Merge pull request #922 from rvlad-patrascu/USE_SHM_MEM_flag_fix Fix error and warnings for compile flag USE_SHM_MEM 2016-07-05 rvlad-patrascu * [368621957] : Fix error and warnings for compile flag USE_SHM_MEM Fixes #905 2016-07-05 Bogdan-Andrei Iancu * [a69c32877] : Fixed compiling on arm6 with fastlocks Partial revert of 058e16 as we need some extra asm code for fast locking on arm6. See #923 Closes #912 2016-07-05 Bogdan-Andrei Iancu * [7596eb99f] : Fix socket selection for outbound UDP. Do not use the bind_address of the process when comes to send an UDP package (bind_address may be different from process to process, so the selection may give different results, depending on the processes sending the UDP). If you have a sip_msg, try using received interface of the msg (if matches), otherwise use the first UDP interface. 2016-07-04 ionutrazvanionita * [e20e6a7f2] : [db_sqlite] remove unnecessary file introduced in commit 5936274 2016-07-04 ionutrazvanionita * [5936274b7] : [db_sqlite] fix memory management bugs * core free function was used to free starting with commit 980f15ec which was not freeing the memory correctly(result rows were allocated all at once, but in the current version they were freed once at a time); * check if memory is allocated to prevent core dumps; 2016-07-04 ionutrazvanionita * [9e80c619d] : fix core database engine bug introduced with commit 980f15ec 2016-07-04 Liviu Chircu * [02cb9f048] : acc: Fix incorrect Request-URI handling If the config script does not include any Request-URI altering logic (e.g. no lookup() or $ru manipulation), the acc module would incorrectly fill in a "msg->new_uri" field which should NOT be freed into the SIP request structure, leading to the memory pool being corrupted upon transaction release. Credits to Guillaume Lacroix for reporting 2016-07-04 Razvan Crainea * [36d597757] : permissions: fix get_source_group() return In case a group is not found, return -1 instead of true 2016-06-30 ionutrazvanionita * [0b4cbaa41] : [sqlite] fix warning 2016-06-30 Ionut Ionita * [980f15ecf] : Merge pull request #919 from Danfx/2.2 Fix memory leak: after sqlite prepare was deleted stmt compiled, free… (cherry picked from commit 308ff0d93f50338c4c4a7e9b82d5d8d6810d6c87) Conflicts: modules/db_sqlite/row.c 2016-06-29 Liviu Chircu * [bc3404302] : module statistics: Properly update the "real_used" memory stat 2016-06-29 Liviu Chircu * [e16abb4b2] : usrloc: Fix an operator precedence bug Introduced in commit 03398fbf. Oops! 2016-06-27 ionutrazvanionita * [92434efe2] : [siptrace][bugfix] fix bad macro in siptrace(trace local ip logic) This commit closes #916 Thanks to @Tinet-AaronAn for reporting the issue 2016-06-25 Liviu Chircu * [376579fa5] : Fix compiler warning Using gcc 4.8.4, we would get: net/trans.c:43:2: warning: missing initializer for field ‘name’ of ‘struct proto_info’ [-Wmissing-field-initializers] { }, /* PROTO_NONE */ ^ 2016-06-24 Liviu Chircu * [03398fbf5] : Refactor commit 58a944cd 2016-06-24 Bogdan-Andrei Iancu * [86f776457] : Fix dialplan module when using db_text backend. The db_text makes no difference between NULL or "empty string" values in DB -> both are internally translated as NULL . The dialplan module, in a very abusive way, forces "not null" (in DB schema and in the code for data validation) even for columns that are optional (like subst_exp, repl_exp, timerec and attrs). Besides being bogus (if a column is not to be used, you have to set it to empty string rather than let it NULL), it makes impossible the usage of db_text with dialplan. This fix allows (DB and code) the mentioned DB columns to be also NULL. The change is backward compatible, it should not break any existing usage of the dialplan module. (cherry picked from commit 8f548976389ee3968bf06f649b54d88db694f949) 2016-06-24 Bogdan-Andrei Iancu * [6cc850e34] : Fix script varibles for providing port and proto (as part of SIP URI). If the SIP URI does not have an explicit port or proto, determine the default port/proto in a SIP wise manner (rather than returning 5060 / UDP) (Ex: sip:example.com;transport=tls has default port 5061 and not 5060 ; or sips:example.com has default proto TLS and not UDP). Affected variables are $dp, $rp, $op and $dP, $rP, $oP 2016-06-24 Razvan Crainea * [00d052c18] : Allow proto modules to populate its name 2016-06-23 Bogdan-Andrei Iancu * [1569a738c] : Fix wrong number of columns when preloading via a DB backend without Fetch support. 2016-06-23 Razvan Crainea * [0ae5ba280] : proto: always populate default values for protocols name and port This allows you to print the protocol you received, and its associated port 2016-06-23 Razvan Crainea * [030efef84] : init: use the specified CFGFILE in debian init In case the CFGFILE changes in the init script, opensips will still start with the compiled file instead of the one configured 2016-06-17 ionutrazvanionita * [a46beceb9] : [sqlite][bugfix] free column names when freeing the result 2016-06-17 Bogdan-Andrei Iancu * [4057340e0] : Fix proper testing of context content If a STR is register to the context, a valid STR * will be always returned , so we need to test the content, not the pointer. (cherry picked from commit 968a8a807c102a6d53f2bc831cde74c79ee754a9) 2016-06-17 Cerghit Ionel * [db310d8b8] : module_info.c: change obsolete flag 2016-06-17 Razvan Crainea * [5cfd916ca] : rtpproxy: no need to update the len for IPv6 2016-06-17 davesidwell * [e267e9eb8] : Update rtpproxy.c When moving stored parameters from Branch AVP to Dialog variable, make sure that the integer value "setid" is handled correctly so that it remains valid for the remainder of the dialog. 2016-06-17 davesidwell * [4e73871ad] : Update rtpproxy.c When building I/O vector for command to rtpproxy in "force_rtp_proxy_body", after an IPv6 address is detected and the "6" option is added, increase the length component in the I/O vector so it is passed correctly. 2016-06-17 Răzvan Crainea * [89eb71f0f] : Merge pull request #685 from ionel-cerghit/dispacher-weighted dispatcher: round robin uses weights to select destination 2016-06-16 Liviu Chircu * [58a944cdd] : usrloc User-Agent filtering: Fix memory corruption The "ua_re_check" macro added by commit e5cb9805bc is broken in several ways: * unsafe read operation on shared memory * unsafe write operation on shared memory * incorrectly handled error case, without restoring the backup byte This patch corrects the above issues by extending the user_agent buffer. 2016-06-16 Cerghit Ionel * [20ebdb059] : mem/module_info: adapt code to shared memory initialisation change the statistics vector is exteded as more memory groups are declared if SHM_SHOW_DEFAULT_GROUP is defined allocations done util grups are defined are added to the default group 2016-06-16 Cerghit Ionel * [4aa72c606] : dispatcher: updated documentation for round-robin change 2016-06-16 Cerghit Ionel * [5df7849da] : dispatcher: round robin uses weights to select destination 2016-06-16 Răzvan Crainea * [f2c2eb32f] : Merge pull request #767 from ionel-cerghit/revision_bin proto_bin: add check for packet marker, use proto_tcp_read function 2016-06-16 Andrey Vorobiev * [8da3c0d1f] : Add support for SIP URIs without user part in 'avpops' module. This module provides a set of avp_db_xxx functions which take pseudo var and flag as first argument. Flag can be one of username, domain, uri or uuid. Previosly avp_db_xxx functions used to return an error if flag has been set to username, domain or uri and specifed pseudo var did not contain username and host after parsing as SIP URI. This behaviour seems to be strange because if flag is being set to domain/username and sip URI contains domain/username we can still load/store/delete this variable. (cherry picked from commit 459f2e90ed277a0371a3325b27038213c5083e8c) 2016-06-16 Bogdan-Andrei Iancu * [f150fb756] : Fixed failure to enable NAT pinging. Commit 8f0c677 introduces a bug in testing is usrloc domains are available, and if not, to disable the NAT pinging in nathelper. The test is wrong as it is done in mod_init, while registrar module registerd the usrloc domain via fixup function, after the mod_init section. Reported by Nick Altmann 2016-06-16 Bogdan-Andrei Iancu * [1505ad27d] : Fix memory corruption on $stat() vars The $stat() var specs are kept in pkg, while the name (if stat not found) is kept in memeory. This means all the copies (form all procs) of the specs will point to a single shm block. It is not safet to free this block as you have no idea how many copies of the spec (from other processes) still refer the name. Closes #902 (cherry picked from commit 4baead765179f6bfbc098b3e59791d7bbc4a8d42) 2016-06-15 ionutrazvanionita * [ef9f0ff07] : [acc][bugfix] enable acc flags refcount only after dlg callbacks called 2016-06-14 Bogdan-Andrei Iancu * [735958d87] : Fix docs on missing module dependency. If replicate_contacts_to parameter is turned on, usrloc depends on the clusterer module. Credits go to Sammy on mailing list. 2016-06-09 Bogdan-Andrei Iancu * [058e16f2a] : Fixed forcing FAST LOCKS for arm6. Use FAST locking support for arm6 too. For Linux, use POSIX as default locking support. 2016-06-09 Bogdan-Andrei Iancu * [02f10ad96] : Fixed migration of Call Center tables Reported by John Quick. (cherry picked from commit d09011499022440f02d88b5a3ee77c2949787ba9) 2016-06-09 Bogdan-Andrei Iancu * [765b03386] : Fixed typo in comment. 2016-06-08 Bogdan-Andrei Iancu * [4c54bcd8b] : Fix evaluating the SIP port from a SIP URI. Use the new function get_uri_port() to evaluate the port and proto, in a SIP wise manner, form a SIP URI. If port/proto are not explicitly set in the URI, consider the default port for the used transpor proto. If protocol misses, we assume the default protos according to the URI schema. NOTE: it is completly bogus (and dangerous) to assue 5061 if SIPS schema is used as: 1) SIPS can use used with WSS, which actually has 443 port 2) TLS can pe required via transport param in a SIP schema URI too 2016-06-08 Bogdan-Andrei Iancu * [39e0debef] : Consider WSS also a SIPS protocol Reported by Varghese Paul ( @varghesepaul ) Closing #899. 2016-06-07 ionutrazvanionita * [d57c2fd7b] : [mi_xmlrpc_ng] fix fault incompatibilities with xmlrpc standard 2016-06-07 Vlad Paiu * [6abef18e2] : Removed compilation warning implicit declaration of function â"sched_yield" [-Wimplicit-function-declaration] (cherry picked from commit 8ef8d79701357b7412555519e166481e699e9833) 2016-06-03 Bogdan-Andrei Iancu * [399ebd1a1] : Removed wrong "NOT NULL" constraint over the contact DB fields The code actually handles the case of NULL callee / caller contacts, so DB must allow NULL values. 2016-06-03 Bogdan-Andrei Iancu * [5819b0fa7] : Removed unused "error" jump label 2016-06-03 Bogdan-Andrei Iancu * [0ca6cf035] : Fix error handling in DB writes. If inserting/updating a dlg record in DB fails, do not exit with error, but continue with the rest of the dialogs. Credits for finding and reporting this go to Rik Broers @ Motto 2016-06-03 Bogdan-Andrei Iancu * [ef1095209] : Proper handle the case of no usrloc domain registered. Prevent get_next_udomain() crashing if there are no usrloc domains registered (reported by Qasim Akhan on users mailing list. Do not enable the pinging support in nathelper if usrloc has no registered domains. (cherry picked from commit 8f0c677be7dfd3fe6b17932173f14e049ae466a5) 2016-06-01 Liviu Chircu * [4081fa349] : load_balancer: Fix a possible crash Could have led to a segfault when OpenSIPS would run oom Reported by Qasim Khan 2016-06-01 Bogdan-Andrei Iancu * [ca21c6d28] : Fix documentation on former b2bl_key_avp module param 2016-05-30 Bogdan-Andrei Iancu * [3593a5f5b] : Fixed interface matching in loose_route() If port is missing in Route URI, do not assume default 5060, but consider the schema and protocol (they may require a different default port). Ex: sip:10.0.0.5;transport=tls was previously handled as sip:10.0.0.5:5060;transport=tls, which is wrong as the default TLS port is 5061 Reported on mailing list by Ravitez Dondeti. 2016-05-30 Bogdan-Andrei Iancu * [f7de64060] : If POSIX sems are used, be sure to link against pthread lib 2016-05-30 Bogdan-Andrei Iancu * [57c163b1b] : Fixed proper cleanup on failure of tcpconn_new() The chances for going for error cases are very low, still let's do it in the proper way 2016-05-27 ionutrazvanionita * [7834aa5d8] : [acc] fix double free issue for multiple dlg callbacks The last byte in acc flag mask now holds a ref counter in the last byte. The counter is increased each time a dialog callback is invoked, and decreased for each free function corresponding to a callback. When the ref counter reaches 0, flags can be freed. The atomicity of the ref counter is based on the fact that dialog callbacks and their free functions are called sequentially, one after the other. ACC_DIALOG_CONTEXT and ACC_CDR_REGISTERED flags where moved in the 7th byte of the flags. 2016-05-27 Vlad Paiu * [66937a283] : Link the dialog cell into internally generated requests from the dialog module Fixes #839 2016-05-27 Razvan Crainea * [e3a57ac95] : add license to rw_locking.h header 2016-05-27 Bogdan-Andrei Iancu * [60d01efe8] : Fixed missing MI reply on pua_publish. Properly send an MI reply for the async pua_publish with Expires 0. Many thanks to Damien Sandrs for invetigating and reporting. Closing #657 2016-05-26 Liviu Chircu * [97ace293d] : Improve error reporting for unknown script vars Fixes #574 2016-05-26 Razvan Crainea * [5bae37316] : clusterer: proper translation to bigint for dbtext This creates the proper type for bigint in the clusterer table for dbtext Thanks go to Trevor Francis from 46Labs for reporting this Close #699 2016-05-26 Razvan Crainea * [0f08b26e4] : dbtext: convert DBG to ERR for better debugging 2016-05-26 Liviu Chircu * [46894f819] : dialplan: Improve documentation Added paragraphs regarding rule types along with explanations on they way priorities and rule tie-breaking work. 2016-05-26 Liviu Chircu * [cbdd79ab3] : dialplan: Fix a rule tie-breaking bug When an input string would match both a "string" rule and a "regex" rule, the priority based tie-breaking was incorrect (now favouring the bigger priority instead - opposite to default module behavior). Thanks to @paolodepa for suggesting this fix Fixes issue #696 2016-05-26 Razvan Crainea * [d6a44c0e7] : acc: properly detect parsing errors 2016-05-26 Razvan Crainea * [fa0bcd201] : Update makefile to support gcc 6.1 Fix gcc 6.1 warnings 2016-05-25 Liviu Chircu * [d983d2875] : acc: Remove deprecated modparam dependency 2016-05-25 Bogdan-Andrei Iancu * [563816229] : Added some comment 2016-05-25 Bogdan-Andrei Iancu * [53b3f402a] : Fix warning in SYSTEM V locking functions 2016-05-25 Razvan Crainea * [4a226ced3] : call_center: obey lock_set interface 2016-05-25 Bogdan-Andrei Iancu * [4bcdf4e6a] : Fix bogus set locking functions. It is used for SYSTEM V locking only, looks like a copy'n'paste error. 2016-05-25 Bogdan-Andrei Iancu * [5e40aaf9c] : Proper support for USE_POSIX_SEM option in Makefile 2016-05-25 Bogdan-Andrei Iancu * [83f394579] : Fix bogus destroy of a RW lock. 2016-05-25 Bogdan-Andrei Iancu * [39592dc9f] : Obey USE_SYSV_SEM and USE_PTHREAD_MUTEX. If USE_SYSV_SEM or USE_PTHREAD_MUTEX are defined via Makefile.conf, do you force autodetection (based on arch type) of the locking support. 2016-05-25 Bogdan-Andrei Iancu * [1503ca6f2] : Fixed typo 2016-05-25 Liviu Chircu * [99f039e37] : mi_xmlrpc_ng: Remove an incorrect free operation Completes commit d047e109 2016-05-25 Liviu Chircu * [555fb8a3c] : mi_xmlrpc_ng: Fix NULL pointer dereference Any MI tree with a topmost Array structure would have caused a crash 2016-05-25 Liviu Chircu * [d047e1096] : mi_xmlrpc_ng: Fix a shared memory leak 2016-05-25 Liviu Chircu * [5ae083bfb] : MI node creation: Add some useful function comments 2016-05-24 Liviu Chircu * [ea699f011] : TCP alias lookup: Add matching by transport Further improving commit 13970bb. 2016-05-24 Liviu Chircu * [13970bb65] : TCP connection lookup: Add matching by transport The fact that all currently supported TCP-oriented protocols have different standard ports is not an excuse for not including the transport into the match condition (i.e. dest IP address + dest port + dest transport). This may very well prevent issues with messages being sent out over the wrong TCP connection in a number of scenarios where we employ TCP connection reusage over both plain TCP and TLS with a Proxy that specifies the same port in the topmost Via header when it establishes each of the two connections. 2016-05-24 Liviu Chircu * [715339fdd] : Revert "Accept TCP aliases by default" This reverts commit d62bc967b0d6784d2baced88b895da57f3f4ab9a. Firstly, TCP connection reusage (RFC 5923) should only be employed between TLS endpoints - only TLS allows the endpoints to authenticate each other during connection setup, preventing unauthorized connection hijacking. Secondly, aside from any security considerations, RFC 5923 must not be employed fanatically (Proxy-Proxy, Edge-UA, UA-Proxy) on any TCP connection (especially disregarding the ";alias" Via parameter!), but rather only between adjacent SIP entities who can both initiate a connection towards each other, and also support the RFC. In the real world, we're basically only talking about the Proxy-Proxy usage case, as any SIP UA scenario will most likely involve some form of NAT and a Proxy that cannot open connections backwards, towards the UA. In these cases, TCP connection reusage is _completely_ out of the question, as a single UA might end up receiving all calls of all users behind their public IP. Thanks to Jonas Borjesson for reporting the problem in the first place. 2016-05-23 ionutrazvanionita * [66def87b4] : [mmgeoip] allow chosing memory caching type Before GEOIP_MMAP_CACHE was used causing a segmentation fault when database file was changed. Now users can choose between reading the database directly from file, cahing it into memory with the possibility to change the database file at runtime. 2016-05-23 Bogdan-Andrei Iancu * [b023c93a8] : Fix potential 100 Trying duplicates. Added the "auto_100trying" module parameter to allow the script writter to take control (from script level) over when the 100 Trying reply is to be sent back. By default, the reply is automatically generated when the INVITE transaction is created. Fixes #833 2016-05-23 Bogdan-Andrei Iancu * [e575180ac] : Added extra log message on openssl 1.0.1e-fips bug. If CRYPTO_set_mem_functions() fails, make a note on the openssl 1.0.1e-fips bug, so users may have a hint on the actual issue. See more #834. Closes #834. (cherry picked from commit c5bb0d0403f93a0d7d2b415172e15caa19edaea0) 2016-05-20 Razvan Crainea * [24ecb5477] : provide a way to specifi opensipsctlrc Add a new variable that can specify what opensipsctlrc file to use for the opensipsctl and opensipsdbctl tools 2016-05-20 Liviu Chircu * [177c60a0e] : Fix invalid memory access with async MySQL queries Due to the way the libmysqlclient query result strings were managed, they would be freed by the library before OpenSIPS would copy them into the output AVPs. This patch fixes the issue by adding a new DB API function which handles the cleanup of async query results. Reported by Ovidiu Sas Addresses issue #873 2016-05-20 Razvan Crainea * [1b5802d2e] : th: fix dlg flag check 2016-05-20 Razvan Crainea * [4c84bd84a] : re-register topo hiding callbacks after restart Thanks to Pete Kelly for reporting this 2016-05-20 Liviu Chircu * [fd0ddaa85] : clusterer: Fix bad doc example Reported by "alias_neo" on IRC 2016-05-20 Liviu Chircu * [a420752f4] : Fix a string concatenation operator bug This patch fixes an issue with string concatenation where any NULL operand would cause all operands to its left to be ignored when computing the result of the expression. Reported by Ovidiu Sas Closes #870 2016-05-20 Vlad Paiu * [bfaf02242] : Process sequential messages received in CONFIRMED_NA state Due to UDP race conditions, sequential messages may be received before the ACK confirming the initial INVITE ( eg. Re-INVITE sent immediately as the call is established in order to force a specific codec ) - also push these requests through the whole dialog processing in order to avoid any future issues ( eg. CSEQ updating which, if left unprocessed, will lead to generating out of order sequentials by OpenSIPS ) 2016-05-20 ionutrazvanionita * [6ce77bf75] : [Makefile] make json path editable 2016-05-19 Liviu Chircu * [9bccee1d8] : event_route: Fix compilation warning 2016-05-19 Bogdan-Andrei Iancu * [047b1b3e3] : Fix bogus timer ref counter during expire update. Many thanks to Trevor Francis for reporting and helping with troubleshooting and testing. 2016-05-19 ionutrazvanionita * [634bdfc66] : [dispatcher] multiple fixes * use pkg memory instead of shm for fixup variables * fix int list building - avoid building a circular list 2016-05-19 Bogdan-Andrei Iancu * [6184b96c9] : Fixed preserving 3xx Contacts in TH without dialog Reported by Pete Kelly. Closes #656. 2016-05-18 ionutrazvanionita * [450d88c19] : [mi_xmlrpc] return code rework for errors Mi_xmlrpc_ng now returns only 200 OK as HTTP code. We have two labels for inspecting mi level faults, "code" for the error code and "message" for the error message. Check http://www.tutorialspoint.com/xml-rpc/xml_rpc_fault.htm for more details. 2016-05-18 ionutrazvanionita * [d64180a9b] : [mi_json] minor fixes in mi_json 2016-05-18 Liviu Chircu * [38f525d14] : usrloc: Fix some uninitialized memory issues Reported by Minh Phan Closes #878 2016-05-18 ionutrazvanionita * [edbce3fd1] : [mi_json] return jsonrpc compliat error message 2016-05-18 Razvan Crainea * [54a306ae6] : nathelper: ping WSS clients when using natping_tcp See ticket #875 2016-05-18 Bogdan-Andrei Iancu * [a79c49b4c] : Fixed bogus memory operations. Fixed bogus free (of uninit pointer) if parse_contact() fails Fixed shm leak on errors after print_rr_body Fixed shm leak on success if record_route is present. Reported by John Nash. (cherry picked from commit 4b0fca533cd7be4a45c1381c78f2b37aaba6152b) 2016-05-18 ionutrazvanionita * [1c811ceb9] : [sipcapture] fix possible data type loss 2016-05-18 ionutrazvanionita * [d54dc2d02] : [sipcapture] fix bad time calculation 2016-05-18 ionutrazvanionita * [b5a51a964] : [mi_json] remove double inverted commas for internal error messages 2016-05-18 ionutrazvanionita * [644ea2938] : [mi_json] return code rework for errors Mi_json now returns only 200 OK as HTTP code. We have two records for inspecting mi level errors, "code" for the error code and "reason" for the error message. 2016-05-11 ionutrazvanionita * [feb9a8e82] : [dispatcher] fix double allocation issue 2016-05-10 Liviu Chircu * [e7f0c605d] : event_flatstore: Fix a memory management bug 2016-05-09 Liviu Chircu * [837ba8bee] : event_flatstore: Remove unncessary startup warning 2016-05-09 ionutrazvanionita * [a86d2c4ed] : [nathelper] fix bad logic regarding the timer list 2016-05-09 ionutrazvanionita * [3a8be7bdc] : [sipcapture] fix sip_capture table schema 2016-05-09 ionutrazvanionita * [8c6d9bacb] : [siptrace][bugfix] bad structre used when printing HEP trace_id via mi 2016-05-09 Liviu Chircu * [e8d9a71a4] : proto_sctp: Fix startup bug caused by a typo 2016-05-08 Liviu Chircu * [3fd96863c] : event_virtual doc: Fix grammar/typos 2016-05-08 Liviu Chircu * [3cedcc4af] : event_flatstore doc: Fix some typos 2016-05-06 ionutrazvanionita * [e00078704] : [aaa_radius] implement missing function from radcli Functions like rc_get_ipaddr are removed from radcli since they are only compatible with IPv4. Since aaa_radius implementation is based on this function it had to be rewritten in our module. 2016-05-06 ionutrazvanionita * [3a5d2170b] : radcli support and radius library autodection from makefile * aaa_radius module can be compiled with radcli library * Makefile will autodetect the radius library to compile with; the order is radcli-->freeradius-->radiusclient-ng if more radius libraries are installed * new Makefile rule "print_radius_lib" * if custom library is to be used compile with RADIUSCLIENT=RADCLI/FREERADIUS/RADIUSCLIENT 2016-05-06 ionutrazvanionita * [5e261d7e9] : [siptrace] fix hash calculus for extended hep trace_id 2016-05-06 ionutrazvanionita * [bcbded565] : [sipcapture] allow any hep version for hep_net variable 2016-05-06 ionutrazvanionita * [3c15d2d89] : [sipcapture] fix new hep proto names string 2016-05-06 ionutrazvanionita * [b07a8b8b8] : [sipcapture][bugfix] fix bad string hex value parsing 2016-05-05 Liviu Chircu * [148f40ba9] : pv_printf() - Some code refactoring Code is more reusable, and will lead to smaller number of LoC, less duplication and fewer inconsistencies. 2016-05-05 ionutrazvanionita * [2878741af] : [siptrace][bugfix] fix trace_id parsing 2016-05-05 ionutrazvanionita * [b8a82b159] : [sipcapture][bugfix] invalid static vector size calculation 2016-05-05 ionutrazvanionita * [1a111618f] : [sipcapture][bugfix] invalid memory access 2016-05-04 Liviu Chircu * [219f515c3] : Merge pull request #874 from renicok/patch-1 Updated opensipsctl.base to also search /sbin 2016-05-04 ionutrazvanionita * [4caa2ac37] : [sipcapture] fix bad conditions 2016-05-04 ionutrazvanionita * [54415a4c2] : [sipcapture] be able to set proto_type in report capture function 2016-05-04 Razvan Crainea * [0eebf1058] : ratelimit: initialize the length of the algorithm 2016-05-04 Razvan Crainea * [616b2ba18] : Makefile.conf: add deps for tls_mgm and proto_wss This prevents 'make menuconf' from deleting these modules from the generated configuration file 2016-05-03 Răzvan Crainea * [90b3f1155] : debian: add missing dependency Ovewrite lintian warning (cherry picked from commit 83a23be0509b016e007fc28bb101009372d14d5a) 2016-05-03 Razvan Crainea * [7f7f8711c] : dialog and usrloc: broadcast replication data all time This prevents clusterer module from marking a node as not reachable when there is no traffic at all. Fixes #849 2016-05-03 renicok * [ca87f55ad] : Updated opensipsctl.base to also search /sbin The md5 utility is located at /sbin/md5 on FreeBSD 8.3. An additional common location was added to allow the script to accommodate this. 2016-05-03 Razvan Crainea * [647ea214f] : regex: fix spell-check in package 2016-05-03 ionutrazvanionita * [e895c68c6] : [acc][bugfix] fix memory leak * fix leak caused by missed calls - receiving a negative reply caused flags not being freed 2016-05-03 Razvan Crainea * [d388e804a] : proto_bin: remove debug INFO message 2016-05-03 Ionut Ionita * [30f651d51] : Merge pull request #872 from ionutrazvanionita/hep_multiple_proto [hep] multiple versions/protocols can be used in the same time 2016-05-03 ionutrazvanionita * [5a2231f86] : [sipcapture] updated docs for HEPVERSION 2016-05-03 ionutrazvanionita * [136fcb65e] : [sipcapture] new HEPVERSION script variable 2016-04-29 Razvan Crainea * [34dde7fe8] : Allow PREFIX overwrite 2016-04-29 Razvan Crainea * [7e623c6fc] : do not overwrite permissions of config file when re-installing 2016-04-29 ionutrazvanionita * [853b0bbb7] : [proto_hep] correctly name function 2016-04-29 ionutrazvanionita * [f9c6cdd2a] : [hep] updated docs for previos commit 2016-04-29 ionutrazvanionita * [45a3aef8e] : [hep] multiple versions/protocols can be used in the same time Since commit 0873c14d1b81887823242a955217dcc854eb97c9 multiple network protocols can be used from one module. Proto_hep was changed to be able to use both tcp and udp in the same time. Moreover, there is no hep_version needed since we can receive HEPv1,v2 and v3 on any UDP interface. Since HEPv1 and v2 are not compatible with TCP, only HEPv3 will be support. For HEPv3, Sipcapture module can now relay packets from TCP to UDP or the reverse way. Siptrace module was also improved. Trace id's can now be defined with hep version and transport protocol, in order to be able to do multiple types of tracing with different HEP protocols and/or network transports. 2016-04-29 ionutrazvanionita * [a2522eb77] : [drouting] bug fix and memory leak fix * free gateways list for each carrier at reload * use map_find instead of map_get to search an element in the tree 2016-04-29 Razvan Crainea * [dc9e068d1] : mathops: fill in entire structure 2016-04-29 Razvan Crainea * [0873c14d1] : allow a module to register multiple protocols 2016-04-28 ionutrazvanionita * [556f39421] : [siptrace][bugfix] use the correct sockaddr structure for storing 2016-04-28 ionutrazvanionita * [3dda4131b] : [proto_hep][bugfix] use the correct port when unpacking 2016-04-28 ionutrazvanionita * [ab2292945] : Revert "[hep][bugfix] correctly store ports/addresses" This reverts commit 7b1359adfcd55f12fd3739c04e30e1c12b91a71b. 2016-04-28 ionutrazvanionita * [7b1359adf] : [hep][bugfix] correctly store ports/addresses 2016-04-28 Bogdan-Andrei Iancu * [e7c14bc0c] : Enable debug_mode settings only if debug_mode gets set to enable. 2016-04-27 Bogdan-Andrei Iancu * [42a0dd522] : Avoid space in MI node name (cherry picked from commit 5c8869b483f0071f2338be2b75355ea05cebf3cf) 2016-04-27 Bogdan-Andrei Iancu * [fa4e7f0fa] : Fixed wrong MI tree in clusterer_list (related to previous commit) 2016-04-27 Bogdan-Andrei Iancu * [31943a4e2] : Fixed arrays in clusterer_list MI command 2016-04-27 Liviu Chircu * [f1719acf0] : memory hash summary: Fix a rare memory leak Proper cleanup upon running into a "no more system memory" state while performing the fragment summary of the entire memory hash. 2016-04-27 Liviu Chircu * [7d3ebbb1c] : memory hash summary: Fix a fragment counting bug When debugging memory, a very small number of memory fragments would be counted twice, leading to a slightly incorrect overall report (almost unnoticeable) 2016-04-26 ionutrazvanionita * [bdcee39eb] : [tls_mgm] properly handle SSL_ERROR_SYSCALL on SSL_shutdown 2016-04-26 ionutrazvanionita * [3c6b6930d] : [siptrace][bugfix] avoid double free on cancelled transaction 2016-04-25 ionutrazvanionita * [f75687847] : [sipcapture] fix incompatibilities with HOMERv5 db schema 2016-04-25 ionutrazvanionita * [cc7a2ea11] : [sipcapture] remove time-consuming unnecessary chunk of code 2016-04-25 ionutrazvanionita * [eec5045d4] : [proto_hep][bugfix] fix bad sip payload size calculation 2016-04-25 ionutrazvanionita * [41bcd2559] : [acc][bugfix] correctly store do_accounting() flags Flags are now moved from processing context into transaction context when the transaction is created, this way having visibility for the whole transaction. 2016-04-25 root * [d10ad5d18] : Merge branch 'master' of https://github.com/OpenSIPS/opensips 2016-04-25 Bogdan-Andrei Iancu * [7811e2d6b] : Fixed MI nodes in 'sip_trace' command. Formatting chars must not be included in the MI tree 2016-04-24 Bogdan-Andrei Iancu * [ffdbb970b] : Fixed default FIFO file name 2016-04-24 Bogdan-Andrei Iancu * [4b9f03e02] : exclude proto_wss, use QM_MALLOC (cherry picked from commit b7ac4fce9fbfc758df2eac8b8e9beeb2a7fb5d89) 2016-04-24 Bogdan-Andrei Iancu * [e6944bb06] : tls_list() may be called even without DB support Avoid locking if DB support was not enabled. 2016-04-22 ionutrazvanionita * [f5ad753d5] : [proto_hep][bugfix] check memory allocation 2016-04-21 ionutrazvanionita * [943d9015f] : [siptrace][bugfix] sequential requests - set context for sl callbacks 2016-04-21 ionutrazvanionita * [53263b2a6] : [context][bugfix] each context has its own destroy functions vector Credits to Razvan Crainea 2016-04-21 ionutrazvanionita * [59e5a4165] : [tm]fix context functions header 2016-04-20 Liviu Chircu * [6c105015c] : MI library: Add comments regarding a known issue Currently, MI arrays cannot contain objects with non-identical "name" attributes. This patch also quickfixes this issue in mi_list_all_profiles() by dropping the array idea altogether, in favour of a top-most object. 2016-04-20 Bogdan-Andrei Iancu * [3832717f2] : Fixed bogus pkg_free on pointer in data segment Reported by @dzhou121 Closes #854 (cherry picked from commit b9aa87360eecf1e77baea661b855eec4f5798f2f) 2016-04-20 Bogdan-Andrei Iancu * [7f8656e02] : Fix typo in do_accounting() naming is cfg templates 2016-04-18 ionutrazvanionita * [5d725a42d] : [sipcapture][HOMERv5 incompatibility fix] updated docs for report_capture and new table name format 2016-04-18 ionutrazvanionita * [c5700cce4] : [sipcapture][HOMERv5 incompatibility fix]generic capturing function Added new function called report_capture which allows capturing hep packets in a generic format. It will be very effective for the third version of the hep protocol for capturing packets other than SIP. Also added a new table called rtcp_capture for storing everything capture with report capture. 2016-04-18 ionutrazvanionita * [074463f17] : [sipcapture][HOMERv5 incompatibility fix] HOMERv5 table rotation aware logic * HOMVERv5 allows rotating tables by having a prefix which is the fixed table name and a suffix which is a string containig timestamps * sip_capture now accepts table name as a parameter to sip_capture() function * both global table name and sip_capture table_name can have a prefix(string) and a suffix(strftime format string); * fixed bugs in async query building 2016-04-15 Liviu Chircu * [fd330577d] : dialog: Remove a chunk of dead code 2016-04-14 ionutrazvanionita * [92d204165] : [acc][bugfix] register tm free function only once 2016-04-14 ionutrazvanionita * [6852bd427] : [acc] fix double free issue Since callbacks were registered only at first, and aftewards only flags were changed there was no way to know if tm is to free the shmed flags from acc or dialog. For this a new flag was introduced to indicate whether the flags shall be removed either by dialog or tm. 2016-04-12 Liviu Chircu * [142e7e012] : Suppress "no free TCP receiver" logging noise This was added long before async TCP support, and it is now only useful to developers. 2016-04-11 Ovidiu Sas * [73f8117f2] : pi_http: return "200 OK" instead of "0 Unknown" 2016-04-07 Liviu Chircu * [0546c94f2] : Merge pull request #852 from khoegh/master cachedb_redis: Prevent crash when re-connect keeps failing 2016-04-07 Liviu Chircu * [eb5c3d4ba] : Allow negative values for "memdump" and "memlog" They should behave just as "log_level" does. 2016-04-07 Liviu Chircu * [731719a2b] : Fix a PKG leak in the SIP message processing stack Commit 7464a86ec introduced a processing context leak during the handling of basically any SIP request in all protocol stacks except for HEP. Reported by Trevor Francis 2016-04-07 Kristian Høgh * [b501df74a] : cachedb_redis: Prevent crash when re-connect keeps failing 2016-04-05 rvlad-patrascu * [8ffd592e3] : Fix missing GPL headers for mem files 2016-04-05 Bogdan-Andrei Iancu * [983ad955e] : Fix typo in README example 2016-04-05 ionutrazvanionita * [2013276a1] : [drouting] docs updated for partition id variable 2016-04-05 ionutrazvanionita * [cf0945c16] : [drouting] check if partition pvar is writable 2016-04-05 ionutrazvanionita * [7551c6689] : [drouting] pvar for matched partition if wildcard operator used 2016-04-05 Bogdan-Andrei Iancu * [8b07314bb] : Fixed checking return code for pre raw callbacks If the TH pre raw callbacks fails, it may return a NULL buffer, leading to a later crash when we want to parse the SIP message. (cherry picked from commit 4be2662df00f9e024ed47ed508ae192aa834b589) 2016-04-04 ionutrazvanionita * [b5a608798] : [siptrace][traceID]fix mysql uri parsing 2016-04-04 Răzvan Crainea * [14cfca9ec] : Merge pull request #848 from jarrodb/repl_prof_add [dialog] repl_prof_add never increments the return buffer size 2016-04-02 Jarrod Baumann * [52028bdd2] : [dialog] repl_prof_add never increments the return buffer size for threshold comparison 2016-04-01 ionutrazvanionita * [3ab8237c4] : [db_sqlite] add explanation about implementation 2016-04-01 Ionut Ionita * [757f8aeda] : Merge pull request #844 from jarrodb/clusterer_sqlite [db_sqlite] use DB_STRING type when the column value type is DB_STRING 2016-04-01 Bogdan-Andrei Iancu * [29182c9ba] : Fix missing logs if debug_mode after log_stderror 2016-03-31 Jarrod Baumann * [a2c799451] : [db_sqlite] use DB_STRING type when the column value type is DB_STRING 2016-03-31 Liviu Chircu * [d9326522a] : Various doc improvements 2016-03-31 Liviu Chircu * [32d0e1a4f] : Improve the AUTHORS file 2016-03-31 Razvan Crainea * [0970750b1] : Makefile: increase version to 2.3.0-dev 2016-03-31 Razvan Crainea * [a91fce6f5] : For beta release, enable malloc debugging 2016-03-31 Razvan Crainea * [092fb3639] : Makefile: always put the minor in name Even if it is redundant 2016-03-31 Razvan Crainea * [cf676f278] : Update CREDITS and AUTHORS 2016-03-31 Răzvan Crainea * [5a8dc76e2] : Merge pull request #831 from james-criscuolo/master presence module: move strlen check to avoid pkg_malloc(0) 2016-03-31 Bogdan-Andrei Iancu * [6018192ca] : Fix extended Call-ID in B2B The old CallID format did not ensure unicity across time, so we include now time info into the callid. Closes #783 . 2016-03-31 Bogdan-Andrei Iancu * [645908588] : README files regenerated 2016-03-31 Bogdan-Andrei Iancu * [0500b6eeb] : Fix bogus log (cherry picked from commit 87c93b8c91815107eacb7069653689d6e0f38d19) 2016-03-31 Bogdan-Andrei Iancu * [d1e974367] : Revert commit d6cbbff Do not automatically set db_url to the db_default_url as we have no idea if the default partition is gone be used. By forcing it we create some extra unwanted dependencies (like setting the version for the defaul table, even if not used). Even if we break the backward compatibility, makes more sens to explicitly set the db_url if you use the default partition 2016-03-31 Bogdan-Andrei Iancu * [086305ecc] : Revert commit 1e1ea14 Do not automatically set db_url to the db_default_url as we have no idea if the default partition is gone be used. By forcing it we create some extra unwanted dependencies (like setting the version for the defaul table, even if not used). Even if we break the backward compatibility, makes more sens to explicitly set the db_url if you use the default partition 2016-03-31 Bogdan-Andrei Iancu * [107a04ce7] : Fixed ilegal chars in XML 2016-03-31 Bogdan-Andrei Iancu * [eca4434b2] : Migrate cfg scripts to new acc interface.