===================== 2010-12-02 Version 3.1.1 Released ===================== ===================== Changes Since Version 3.1.0 =========================== commit 44a154b4c5db9f0f49461ea3bf8ae8768dfcf440 Author: Daniel-Constantin Mierla Date: Thu Dec 2 22:16:59 2010 +0100 Makefile: version set to 3.1.1 commit 1e204f4bbcc84271f509838182539476577fc77a Author: Daniel-Constantin Mierla Date: Tue Nov 30 23:16:19 2010 +0100 drouting: do not call init child for PROC_INIT - avoid opening a database connection before forking - reported by several people in context of Postgress async lib calls (cherry picked from commit 907936449b2543966a5b3b2fe821d406c2293799) commit a72e59d23d4b104af6d7f30d1dc02a5fe175f3af Author: Marius Zbihlei Date: Fri Nov 26 10:59:12 2010 +0200 modules/topoh : If a message contains a bad CSEQ, skip processing it. This would likely cause a segmentation fault when receiving messages with bad CSEQs. (cherry picked from commit 29990057d8b17cf0ded395438465c6cb2c38207f) commit e7bc980b2d42a5f2a26111978e6c3bc21198d2ef Author: Daniel-Constantin Mierla Date: Fri Nov 26 13:07:08 2010 +0100 avpops: use proper avp list for avp_print() - reported by Alex Hermann - FS#104 (cherry picked from commit d8803270678b730a7f7352c90f475188fca50c2c) commit a81e06ed46ad688d42f2079673aef8b191cf1e1a Author: Daniel-Constantin Mierla Date: Fri Nov 26 10:00:42 2010 +0100 topoh: enhaced description of mask_ip parameter (cherry picked from commit 4fe783a09d6af1a2c16659f961b9097a021805d8) commit c9576754926602aa09f5e464a5278c41b608779c Author: Daniel-Constantin Mierla Date: Fri Nov 26 09:54:04 2010 +0100 topoh: more verbose err reporting during init - check also if mask ip != local ip - should prevent the crashes when mask ip == local ip (cherry picked from commit 11ea0c4de66e40bfa1ba03a351f7ec6bc5f0fbfc) commit 6d0fa20ec53c361600c84d5322c54a402256fb75 Author: Daniel-Constantin Mierla Date: Thu Nov 25 22:25:01 2010 +0100 permissions(k): changed params from PVAR to SPVE type - type of fixup params for allow_trusted() updated from PVAR to SPVE - PVAR can be non-zero terminated string - SPVE accepts also static string or combination of PVs - adapted patch submitted by Alex Hermann for crash related to static protocol value, FS#102 (cherry picked from commit 18e67ca2d125f87b85c00eb74b057b9c010a8a26) commit f5ef15fee0c3bf09adf2506effa0895f72af9034 Author: Juha Heinanen Date: Fri Nov 26 10:37:30 2010 +0200 modules_k/nathelper: add_contact_alias adds <>s around contact URI Make sure that Contact URI is surrounded by <> when adding ;alias parameter. Otherwise, ;alias parameter may be interpreted as header parameter, because the syntax seems to be ambiguous. commit 86c16fd9bc30a6b1346c04b2e1bbd3983122dddb Author: Daniel-Constantin Mierla Date: Wed Nov 24 22:24:25 2010 +0100 db_flatstore: exported DB API v1 bind function - bind function for DB API v1 was no longer exported upon merging with implementation of DB API V2 - reported by Javier Gallart (cherry picked from commit 3e44fcbe47774d2b157e82228e6266df2a08d627) commit e9709a3c6b2c99e9cc3fd528704aea24e0534a55 Author: Jan Janak Date: Wed Nov 17 18:26:32 2010 -0500 db_mysql: Fixes crash in libmysqlclient after connection reset. Sometimes SIP-Router would crash in libmysqlclient after a connection to the server has been reset. This is caused by mysql_stmt_prepare which will reset the connection data structure if a connection has been reset. Subsequent calls to other mysql functions (mysql_stmt_execute) crash unless the connection has been re-connected. This is documented as mysql bug #33384. A workaround is to reset and reconnect the connection explicitly immediately after mysql_stmt_prepare has failed with CR_SERVER_GONE_ERROR. This change implements exactly that. First of all, this patch fixes a minor bug in updating the variable that keeps track of number of connection resets for each database connection and pre-pared statement. The variable needs to be incremented each time a connection is closed. Previously it was incremented only if a connection was successfully reconnected. If the reconnect attempt failed than the variable was not incremented. The function that uploads commands to the server relies on the variable to detect connection resets and may not have worked properly under some circumstances (if a connection fails to reconnect). Function upload_cmd has been modified to close the connection explicitly if mysql_stmt_prepare fails with CR_SERVER_GONE_ERROR. This ensures that subsequent calls to mysql_stmt_exec are forced to reconnect and re-upload commands to the server. This is needed to prevent the library from crashing. exec_cmd_safe now checks if a connection has been disconnected and if so it tries to reconnect it before executing a prepared statement. This is used to recover from failing mysql_stmt_prepare. (cherry picked from commit 0e564bcd3616f9dc981bb768003545674c79c2a7) commit 58b0bafff9354282750035ec239f16750178f200 Author: Daniel-Constantin Mierla Date: Fri Nov 12 12:52:27 2010 +0100 dispatcher(k): more verbose logs for MI ds_reload - if the command is disabled, print error message to syslog with some hints (cherry picked from commit 72c052a94ce3a5fd2baefc74861d797c1a404a1a) commit 7340a8d0d02e22c2541b6e1d0dc82fb194a90c87 Author: Daniel-Constantin Mierla Date: Fri Nov 12 12:26:26 2010 +0100 dispatcher(k): note about disabling MI ds_reload - the MI command ds_reload is disabled for call load based dispatching (algorithm 10) (cherry picked from commit e1371192357f889c35003ea28d0eb2351e27f84d) commit 8ce822e9cb0860491266344dfeb6865e68f8ecd0 Author: Daniel-Constantin Mierla Date: Fri Nov 12 12:22:20 2010 +0100 sanity: note about different behavior based on autodrop (cherry picked from commit 4a0b559062b70c1c089c1ea9908eaae60679ad04) commit 0ff1a6dc15d2ccc7fc5ad99a65a496aebda8283b Author: Daniel-Constantin Mierla Date: Fri Oct 29 21:41:17 2010 +0200 dialog: added missing parameter in example (cherry picked from commit 1705424e70650ae0d173227221b04d1160c3e2c4) commit 96def8782f8869cb0dce1c14daa66aee09eb468a Author: Daniel-Constantin Mierla Date: Fri Oct 29 20:51:16 2010 +0200 dialog(k): set null value parameter for get_dlg_profile() with 2 params - because of using same internal function for cfg get_dlg_profile(...), when only 2 params were provided, the third was unpredicted and not null most probably, potentially resulting in a crash - reported by Eugene Oden (cherry picked from commit 028e3cc1a34f1e682d604a7c0e3fb1a7da03a211) commit 2838bfd4df264bfd3030238c6b524c1d3f13c3f2 Author: Daniel-Constantin Mierla Date: Fri Oct 29 18:51:14 2010 +0200 dispatcher: docs updated - routing block types for functions (cherry picked from commit 54723bfd00fdc6302802533fee8c2f0ae45c7091) commit 505445c01f30b91901de7af7841e21c87e9e10ab Author: Daniel-Constantin Mierla Date: Fri Oct 29 17:09:39 2010 +0200 sanity: docs updated with autodrop parameter (cherry picked from commit 8a50fa608edad91782848711c51476af01dd0392) commit 30f7a6d7d7fdd24c0c069e60c9162bfa57849a47 Author: Daniel-Constantin Mierla Date: Fri Oct 29 16:50:42 2010 +0200 sanity: parameter to control dropping of broken messages - new modparam autodrop to be able to return to config even when the message is broken - default value is 1 - drop (return 0) - for backward compatibility - set it to 0 to get return -1 to config - take care in config to exit execution. This mode is good for logging purposes - autodrop=0 helps to get similar functionality for error_route in 1.5.x, where such cases could be recorded to xlog - reported by Sergey Okhapkin (cherry picked from commit 39a8108c62a2beafba18417613b9660a8abef86a) commit a4b121c5d654c8c4656506d20d9dc660dff50724 Author: Daniel-Constantin Mierla Date: Fri Oct 29 11:52:59 2010 +0200 dialog(k): reset the pointer value after free - otherwise may result in double free, reported by Alex Balashov (cherry picked from commit 4e196f47767dc8da8da560f57afc92add541b672) commit f2ab4d53b7d22ff15e7f4d2d5d88bbcf005f5194 Author: Jon Bonilla Date: Fri Nov 12 13:13:38 2010 +0100 pkg/debian: add libgeoip version requirements reported by Klaus Darilion (cherry picked from commit e1e6ddb22dc8487517a61653ea7d21d3086122cc) commit 849a667f74a1c2dd543c52e7be9b4e8a05a0bcfe Author: Timo Reimann Date: Tue Nov 2 19:06:12 2010 +0100 modules_k/dialog: Enhance unref_dlg_from_cb() robustness. - Check parameter for NULL pointer. - Call unreference_dlg(), thus being more wrapper-ish. - Fix indention. (cherry picked from commit 75fc49f74d13774f1ecc0cdd8f0adfe168915b4f) commit 759083ad159e3a9d5b52501b2f1f99a6976f9aeb Author: Marius Zbihlei Date: Tue Nov 2 11:45:15 2010 +0200 trie API Fixed dtrie_insert OOM handling, where assert() was wrongfully used Now the function behaves as expected, freeing previous allocated resources, logging the OOM condition , and returning -1 (cherry picked from commit 49837c37aea72c1e4f0cc3290382c0adbf72e3f8) commit 793fde82f641f543f6d5131a3a4d3c71fe1a2d61 Author: Marius Zbihlei Date: Thu Oct 28 13:37:00 2010 +0300 modules/carrierroute Improved documentation of carrierroute reply_code field The documentation didn't make it clear that regex are _not_ supported. Thanks go to Iñaki Baz Castillo for reporting. (cherry picked from commit cfc11b8892742697c9184e942ba2113f419428dd) commit 14a2f7d1560a3462df850084f25a758ca704a473 Author: Daniel-Constantin Mierla Date: Tue Oct 26 21:15:11 2010 +0200 db_text(k): fixed db_url driver name - it has to be 'text' instead of 'dbtext' - db_text should work as well, according to db driver names and module names - reported by Jeremya (cherry picked from commit e82be561d2e7f98cb2cbd7e574873134f70b2f8a) commit d920515a0d65256aafcf47c5ad88deda816fccff Author: Daniel-Constantin Mierla Date: Tue Oct 26 10:25:03 2010 +0200 sanity: update docs related to return code - sanity_check() returns false if a test fails - reported by Sergey Okhapkin (cherry picked from commit 8a2334dd758a1e9d43d1fac544f6e962960b4dcc) commit 0e691792a3c27150de7686aa04ddb9fea9129756 Author: Daniel-Constantin Mierla Date: Sun Oct 24 23:03:59 2010 +0200 auth_db(k): note about empty realm parameter - empty realm is no longer allowed, use $td of $fd if you have multi-domain (cherry picked from commit bacb5704a05dafb345221095ff194a9181394b98) commit 800253af1821bd2fd0e997f74d66105bb4d2aea4 Author: Daniel-Constantin Mierla Date: Sun Oct 24 23:03:45 2010 +0200 auth: fixe typo in docs commit ba80998055c95ae5f6dc730ecc4233981b432003 Author: Daniel-Constantin Mierla Date: Sun Oct 24 20:48:56 2010 +0200 htable: updated example with www auth - some more details about hash tables (cherry picked from commit 8431de384b9fb6122203ed7388a26990cd4b025c) commit b7e7a8fb2551422e2b853036e2a4bee2d8d82c32 Author: Daniel-Constantin Mierla Date: Sun Oct 24 20:33:01 2010 +0200 auth_db(k): updated return codes meaning - authentication functions use now auth module that was inherited from ser for better nonce protection and performances, therefore the return codes have different meanings (cherry picked from commit 6760745b4187c7b5af2752a82754aa0e511a38c9) commit 292bab78715749066db5693b22b490fcbcfa4e4a Author: Andrei Pelinescu-Onciul Date: Wed Oct 20 18:38:11 2010 +0200 tm: fix possible uninit. use of cancel_reason In some cases an uninitialized cancel_reason structure was used (e.g. fake_reply() and relay_reply() failing). Reported-by: Alex Balashov abalashov evaristesys com (cherry picked from commit 7faa58b0264cb77c991a21bd3b7e3d660596ad85) commit 7c4c6136a230aa71b8856b2df03bbdb43249e97a Author: Daniel-Constantin Mierla Date: Wed Oct 20 12:54:40 2010 +0200 tm: fixed typo in docs - some ingeter parameters related to control of reason header for local cancel were provided as string values instead of integer - reported by Mikko Lehto (cherry picked from commit 97d4e101219dbb035f2a734a2a1ddea119782f55) commit a10d3c62d4eb5e18e54564ed6ae354dc0ce9dfd0 Author: Miklos Tirpak Date: Wed Oct 20 15:32:18 2010 +0200 cfg framework: segfault during exit is fixed Verify that *cfg_global is not NULL when destroying the configuration. t_set_fr("@cfg_get.local.invite_timeout", "@cfg_get.local.gw_timeout"); caused a segfault during startup when the variable was not defined. Reported by Juha Heinanen (cherry picked from commit d85ff11cf0db4aad859f6dcfd18dfb2011e3d78a) commit 0ff81c3f6e768c84d30ec179e57432fd20e5589d Author: Henning Westerholt Date: Mon Oct 18 17:53:06 2010 +0200 avpops: doc fixes - remove obselete TM reference, rephrase text a bit - reported from Andrew Pogrebennyk, andrew dot pogrebennyk at portaone dot com (cherry picked from commit 741521e4dfc236934eb5f28454e49ab574f0a494) commit 840ca4db6726a1498901b75763bf5ef565fd8fb3 Author: Daniel-Constantin Mierla Date: Fri Oct 15 11:19:18 2010 +0200 core: apply all subst pre-processor directives - previously first applied subst stopped the processes - reported by Alex Balashov (cherry picked from commit a423e3141332f40fec07da1efe9f5e227fff0061) commit 3cf51efaab04a9c008e50c58d9abc8eaf41ee0ed Author: Andrei Pelinescu-Onciul Date: Fri Oct 15 10:09:03 2010 +0200 auth: fix pool no. when both nc and otn are enabled When both nonce_count and one_time_nonce are enabled in the same time, the pool number was corrupted leading to crashes. Reported-by: Alex Balashov abalashov evaristesys com (cherry picked from commit 7aea949e1d1101b87d4327a86f026e119cd0ae8b) commit bf8b8d579608bfa1b702d2a6fa044b968da6dfdd Author: Daniel-Constantin Mierla Date: Wed Oct 13 13:04:14 2010 +0200 siptrace: don't attempt to get reply reason for ack - for sl filtered ack, execution of sl callback attempted to set the len of reply reason, which does not exist in this case - reported by MÉSZÁROS Mihály (cherry picked from commit f7630be368c10bb1901acd6968211ee4ec41c922) commit 93c042d6e4dbb0b32fd59461b0d59fd761c1a6f7 Author: Andrei Pelinescu-Onciul Date: Wed Oct 13 08:13:51 2010 +0200 auth: restore deleted nid_pool_no parameter In commit c53bc97968e4ac2ddf5b8a23af44942e8d50e7b3 the nid_pool_no parameter was removed by mistake. Reported-by: Alex Balashov abalashov evaristesys com (cherry picked from commit 62d7bf1af574e1bea650a96ec6a2b2a5fc67d883) commit f9915e21508accbe2d2e24af518089e746ea33a0 Author: Andrei Pelinescu-Onciul Date: Wed Oct 13 08:06:10 2010 +0200 debian: fix radius build depends (cherry picked from commit 8864b0586d34c82f015efdc5e3d0b05adc87c338) commit cb9965009f51dda3c0ecb6ae810a4b6ee94980a6 Author: Andrei Pelinescu-Onciul Date: Tue Oct 12 19:31:07 2010 +0200 registrar(s): doc - fix reply_reason_attr name The docs used reply_code_reason_attr instead of reply_reason_attr. (cherry picked from commit 50eb81b1287292238aa4b194cfcdba2afa8b4f89) commit c34fea16c38a2338e27a49c33dc595948128d4d9 Author: Andrei Pelinescu-Onciul Date: Wed Oct 6 19:06:42 2010 +0200 registrar(s): support for disabled code, reason and contact AVPs reply_code_attr, reply_reason_attr and contact_attr modparams can now be set to "" to disable setting the corresponding AVPs when a save*_noreply() is used (speed-up if not needed). (cherry picked from commit fb021d55b09bfbb5503d5879a902f968f1bcabfd) commit 9747285971a598365ea941ee553a0a7a15259751 Author: Andrei Pelinescu-Onciul Date: Wed Oct 6 18:53:14 2010 +0200 registrar(s): support for disabled aor_attr and server_id_attr If aor_attr or server_id_attr are empty ("") don't try to use them. (cherry picked from commit 5f94dececcbf709f92b9a4b022731d4ee17e7e42) commit 21a3752bf31a8e6cc488d26e43a48dae11b90575 Author: Jon Bonilla Date: Mon Oct 11 18:56:52 2010 +0200 pkg debian generic geoip modules added to the debian generic folder commit 55178d48a2fdfb3f468a4a9afa00a11ca47beba7 Author: Jon Bonilla Date: Mon Oct 11 18:54:09 2010 +0200 pkg debian change path of different debian folders under pkg/kamailio to a generic pkg/kamailio/deb lenny and lucid are no longer symlinks commit b349f8591c305fb64afebbb89cfdd64e06d89f8d Author: Daniel-Constantin Mierla Date: Mon Oct 11 17:06:36 2010 +0200 siptrace: print error message if trace flag is invalid (cherry picked from commit 69092c2f26a34c398c020a1b47eba64cfb5423b8) commit 97decac9266dcd1d839bafb2680a14a1c95ea560 Author: Daniel-Constantin Mierla Date: Mon Oct 11 17:05:19 2010 +0200 sl: init register_cb in SL API - used by siptrace, discovered while investigating issue reported by MÉSZÁROS Mihály (cherry picked from commit dd135dbf86d899e96fa8ecad5a6f66ca3b2ca5da) commit 64793df48f817d2a05c3a4647d5645109997ab32 Author: Jon Bonilla Date: Sun Oct 10 01:41:58 2010 +0200 More git hate commit 47405259234989b0c7ce53091ba4cdad280586c5 Author: Jon Bonilla Date: Sun Oct 10 01:40:22 2010 +0200 I hate git commit e4c14ed4ba933dd8c675a157adf21cd7e84b565c Author: Jon Bonilla Date: Sun Oct 10 01:38:09 2010 +0200 pkg debian * Use libreadline-dev generic instead of libreadline5-dev as dependency (cherry picked from commit b532368d655fb7b08c44120c85eb09ff545bab44) Conflicts: pkg/kamailio/debian-squeeze/control pkg/kamailio/debian/control commit c7974ebd1d2f9a55d3b742964ab6940236204e33 Author: Juha Heinanen Date: Thu Oct 7 17:59:27 2010 +0300 modules/auth: fixed sending of [www|proxy]_challenge reply - By default, [www|proxy]_challenge functions now send reply statefully if transaction exists and statelessly otherwise. - Added force_stateless_reply module param that can be used to change the default behavior. - Credits to Andrei Pelinescu-Onciul. commit 405fb620d1bba43c159012772175f533a40a3a77 Author: Juha Heinanen Date: Thu Oct 7 15:57:27 2010 +0300 modules/auth: fixed comment in nonce_count example commit 4b58008b5b40d766b16f7f912201b261400398b6 Merge: 9781988 6b2ea25 Author: Andrei Pelinescu-Onciul Date: Thu Oct 7 10:09:51 2010 +0200 Merge remote branch 'origin/master' into 3.1 * origin/master: auth: fix unparsed from header usage modules_k/rtpproxy/examples: update examples to use rtpproxy_offer/rtpproxy_answer functions registrar(s): doc - updated parameters commit 6b2ea25f673382a8dc13eb32658e0bff9c3e793b Author: Andrei Pelinescu-Onciul Date: Thu Oct 7 10:06:20 2010 +0200 auth: fix unparsed from header usage The from parsing check did not parse also the from body. commit ede9baa37e6a6abed0c777bf6fe1cc28bc2ec55d Author: Ovidiu Sas Date: Wed Oct 6 19:24:43 2010 -0400 modules_k/rtpproxy/examples: update examples to use rtpproxy_offer/rtpproxy_answer functions commit 9781988041b0da8cd2ee25147c2a2ace8a42fb1b Author: Jon Bonilla Date: Thu Oct 7 00:26:23 2010 +0200 * kamailio packaging changes for 3.1 branch * changelog version update with proper date * debian-etch support dropped * kamailio-xmlrpc transitional package created (to proper handling of upgrades) * new module package creation and dependency tracking commit 11262f234f7a9065fee9338492aea5138e937926 Author: Andrei Pelinescu-Onciul Date: Wed Oct 6 18:29:06 2010 +0200 registrar(s): doc - updated parameters Added documentation for save_nat_flag, load_nat_flag, trust_received_flag, received_to_uri, reply_code_attr, reply_code_reason, contact_attr, aor_attr and server_id_attr. README regenerated. ===================== 2010-10-06 Version 3.1.0 Released ===================== ===================== Changes Since Version 3.0.0 =========================== commit 738646b73246062196939b0105230d744ff326e7 Author: Daniel-Constantin Mierla Date: Wed Oct 6 15:28:18 2010 +0200 kamctl: exit 1 in case of lcr commands - reported by Inaki Baz Castillo commit 863a97fa4a6dae71e2ef5e461070a0b57cd0fa72 Author: Andrei Pelinescu-Onciul Date: Wed Oct 6 14:18:00 2010 +0200 version set to 3.1.0 commit b3e6b61740995a93f6e1346916dd3736724f36b3 Merge: 252fcd9 7fdb47f Author: Andrei Pelinescu-Onciul Date: Wed Oct 6 14:17:02 2010 +0200 Merge remote branch 'origin/master' into 3.1 * origin/master: xmlops: regenerate README after doc change Added note on latent operations to xhttp docs in order to help educate users preemptively about a common pitfall that many implementors of web service interfaces inside Kamailio/sip-router are likely to make. One more fix to xhttp documentation. Some typo fixes and minor tweaks to xmlops docs. Fixed some typos in xhttp module docs. Some minor tweaks to documentation for textopsx. Added some clarifications and additional information to the 'geoip' docs. Added regenerated README for 'debugger' as well, because that seems to be the convention for doc changes. Is it? Some clarification and cleanup to 'debugger' module docs. Cleaned up some grammatical errors and added some clarification to blst module documentation. Fixed typo in 'xhttp' module documentation. Fixed a typo in 'matrix' module documentation. commit 252fcd963637e92727e58f6c1b84bf06200eee12 Author: Daniel-Constantin Mierla Date: Wed Oct 6 12:27:28 2010 +0200 kamctl: lcr commands disabled - only left enabled is the one related to weights - the commands were not using latest db schema - Juha suggested handling lcr via kamctl is too complex to scale, so commands are disabled until new code is contributed commit 7fdb47ff7f10e5dcd4855b83c58d4d9a60f5fb81 Author: Henning Westerholt Date: Wed Oct 6 11:30:44 2010 +0200 xmlops: regenerate README after doc change commit 6bd9d264202716617819efc3a551f04ac21f2040 Author: Alex Balashov Date: Wed Oct 6 05:19:11 2010 -0400 Added note on latent operations to xhttp docs in order to help educate users preemptively about a common pitfall that many implementors of web service interfaces inside Kamailio/sip-router are likely to make. commit fc07c55d2c7f549feeb0eb7cb4f98a1180614dda Author: Alex Balashov Date: Wed Oct 6 03:15:26 2010 -0400 One more fix to xhttp documentation. commit 45b3f656c69ad43e6f9cf072ce3805dfcfdd49b4 Author: Alex Balashov Date: Wed Oct 6 03:10:47 2010 -0400 Some typo fixes and minor tweaks to xmlops docs. commit b520501258d59192746b1771e6827da543963189 Author: Alex Balashov Date: Wed Oct 6 03:08:05 2010 -0400 Fixed some typos in xhttp module docs. commit b495e34e507517cfac8ed2c921642c38b0f0262a Author: Alex Balashov Date: Wed Oct 6 03:04:09 2010 -0400 Some minor tweaks to documentation for textopsx. commit 8c5375ff34b111807873cf6007886219d99d34ce Author: Alex Balashov Date: Wed Oct 6 02:51:23 2010 -0400 Added some clarifications and additional information to the 'geoip' docs. commit cdd414350ab425c916ddc934fd444dc6700b08df Author: Alex Balashov Date: Wed Oct 6 02:33:44 2010 -0400 Added regenerated README for 'debugger' as well, because that seems to be the convention for doc changes. Is it? commit 1e471eb0bfa60a40accddfeb01c7bb34259c1dd1 Author: Alex Balashov Date: Wed Oct 6 02:32:23 2010 -0400 Some clarification and cleanup to 'debugger' module docs. commit 242054fc4c3091e8d1495e246fd86a373928f1e7 Author: Alex Balashov Date: Wed Oct 6 02:22:08 2010 -0400 Cleaned up some grammatical errors and added some clarification to blst module documentation. commit fd2c02bb06d35dca81be2e5c40e4190c91c58603 Author: Alex Balashov Date: Tue Oct 5 20:28:28 2010 -0400 Fixed typo in 'xhttp' module documentation. commit bf24a689d909656e8a580022bb62fd79b6849cac Author: Alex Balashov Date: Tue Oct 5 20:27:10 2010 -0400 Fixed a typo in 'matrix' module documentation. commit 6e65634bb10568767700d999437ee5194765d6e8 Author: Daniel-Constantin Mierla Date: Tue Oct 5 23:38:20 2010 +0200 app_lua: fix finding lua libs - if pkg-config fails to find lua libs, use default values commit 0c5d4312e2859299caa93ac7ab4c9034d27dcd18 Author: Daniel-Constantin Mierla Date: Tue Oct 5 21:51:15 2010 +0200 ChangeLog: refurbished for version 3.1.0 - built from git log since Jan 11, 2010 - no longer includes changes for old releases since it is too big commit ad9561071ad616b3b280d6ee0330e627286e662f Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 20:09:20 2010 +0200 version set to 3.1.0-rc1 commit 257dc5775dcdbaa7d733fc39382ba8aea4b79835 Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 20:05:42 2010 +0200 nathelper(k): 64 bit warning fix - "%d" in format and long arg. commit b92ad85f26c48199cc321ace8738ec5387266217 Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 20:04:50 2010 +0200 rtpproxy(k): 64 bit warning fixes - "%d" in format and long arg. - int to pointer conversion commit 9240774c68b85ca15944b4a4e8c4ca7bfa80dae1 Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 20:03:22 2010 +0200 siputils(k): pointer to int conversion warning fix commit 74617fd73c9079b89d67c767fe70520f5bcc2e1f Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 19:23:17 2010 +0200 make: exclude seas if -DWITH_AS_SUPPORT was not set commit 5220222888e5af53aa68c9137232cda7b609bc6b Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 19:20:03 2010 +0200 registrar(s): marked obsoleted params - removed use_domain (not present since ser 0.9.0) - marked as removed & obsolete case_sensitive and desc_time_order - minor fixes - regenerated README commit 2b5eff469996a1db5ac194ec3510b92acb78014d Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 18:46:14 2010 +0200 registrar(s): fix compilation with old gccs Older gcc do no accept conditionals (#if) in macro arguments. commit 61c88f85d352a0e5357637290258212016442177 Author: Andrei Pelinescu-Onciul Date: Tue Oct 5 18:43:54 2010 +0200 core: no function name in logs for gcc 2.95 For old gccs check if __FUNCTION__ is defined before enabling logging of the function name. This fixes compilation with gcc 2.95. commit a05db353c74595c098eb133af483ae1f38d7bcdc Author: Ovidiu Sas Date: Tue Oct 5 05:36:08 2010 -0400 kamailio/rpm/kamailio.spec.CenOS: enable ldap modules commit a17ee0fcdd30025fe2df39de5b6fe292f4659ecb Author: Ovidiu Sas Date: Tue Oct 5 03:29:02 2010 -0400 pkg/kamailio/rpm/kamailio.spec.CenOS: enable app_lua commit 63e14405eafe836852ea6ac5298f5d462c32a91f Author: Ovidiu Sas Date: Tue Oct 5 03:25:59 2010 -0400 modules/carrierroute: update linking flags on CentOS systems commit 1787364d4f7a227533f5e11a4e2aaf6dcf40e310 Author: Ovidiu Sas Date: Tue Oct 5 03:25:05 2010 -0400 modules/app_lua: fix linking flags commit e43191620f43a58a63bc0eb90b136a9ca26e591f Author: Daniel-Constantin Mierla Date: Tue Oct 5 09:29:54 2010 +0200 app_python: include dset.h - get rid of compile warning for ruri_mark_new() - reported by Ovidiu Sas commit a807bf6b1ef61e40410d0d243f3f982b624fedf0 Author: Ovidiu Sas Date: Mon Oct 4 15:31:11 2010 -0400 pkg/kamailio/rpm/kamailio.spec.CenOS: enable purple and perl modules commit d5b8c86bfacdf495cdd46e6a306d7aee02d3dfb2 Author: Andrei Pelinescu-Onciul Date: Mon Oct 4 19:34:22 2010 +0200 registrar(s): by default trust contact received info - by default trust contact received info (to maintain compatibility with old configs). - the possible settings for the trust_received_flag modparam are: * -2 (default) - always trust contact received info (added when replicating REGISTERs) * -1 - disable (never trust received info) * >=0 - trust only the messages with the corresponding flag set (it can also be a flag name). commit a7d84df08c2ef8f420db4df8c4110b969cd8de9f Author: Andrei Pelinescu-Onciul Date: Mon Oct 4 18:39:50 2010 +0200 registrar(s): set send socket if uri includes received info - set send socket when the contact includes received info (replication for NATed contacts) - use contact received information only if the trust_received_flag is set for the message (the flag actually used can be set with the modparam with the same name). commit e135452ce5292d590de415058c538e2acc4be652 Author: Andrei Pelinescu-Onciul Date: Mon Oct 4 19:14:28 2010 +0200 usrloc(s): s/_res/_reset/ _res is a macro defined in /usr/include/resolv.h and hence it should never be used as variable name in the code (a single include of resolv.h would break things). commit f9a546d10542d202a4ab483ac68ff23b47d81207 Author: Ovidiu Sas Date: Mon Oct 4 11:22:50 2010 -0400 pkg/kamailio/rpm/kamailio.spec.CenOS: CentOS rpm spec file updated for 3.1 commit eb3962fa5b5269aef99de0d5dc5f73296937c4cc Author: Ovidiu Sas Date: Mon Oct 4 11:05:19 2010 -0400 modules_k/seas: fix compiler warning - initialize 'the_param' to NULL in function 'ac_reply' commit c0801ac4509a76b1d531e7fe8ad68a19f7c4e139 Author: Ovidiu Sas Date: Mon Oct 4 10:56:41 2010 -0400 modules_k/presence_conference: fix compiler warning - add newline at end of file commit 9306b90693babab7f49966d65314e114aefbbd66 Author: Ovidiu Sas Date: Mon Oct 4 17:41:45 2010 -0400 route.c: fix compiler warning - initialize he to NULL - use 'NULL' instead of '0' to initialize pointers commit be731a9e5163937f1cf90dccae26292b2fc99270 Author: Andrei Pelinescu-Onciul Date: Mon Oct 4 22:57:21 2010 +0200 doc: rpc_list regenerated - removed modules_s/ratelimit and modules_k/ratelimit and added modules/ratelimit - changed path for prefix_route (now under modules) - regenerated commit 82a63cc5f484cd2030dd0caa1a22fb387defb87b Author: Andrei Pelinescu-Onciul Date: Mon Oct 4 22:41:26 2010 +0200 doc: cfg_list regenerated - added dispatcher - regenerated the docs commit 353ab4c8e6229c70c4ac97a1f03e8a269df1b6b2 Author: Daniel-Constantin Mierla Date: Mon Oct 4 21:06:50 2010 +0200 pkg/kamailio/deb: some updates for v3.1.0 commit 6117ee02f78ae310c278366c08ef9de3bc408bc6 Author: Daniel-Constantin Mierla Date: Mon Oct 4 21:06:20 2010 +0200 Makefile: updated k groups of modules commit 3ae8f8c12db057ac7a93a431c14c7cce6ae27313 Author: Daniel-Constantin Mierla Date: Mon Oct 4 21:05:47 2010 +0200 Makefile.dirs: module_dirs can be set from command line commit a1b23f495e86edd25c5f9e7859a31147c49a7ad8 Author: Miklos Tirpak Date: Mon Oct 4 17:46:11 2010 +0200 fork_process doc: note about config update added commit fcd61b36e044a560432fc150170aba3a04b06b7c Author: Juha Heinanen Date: Mon Oct 4 18:04:02 2010 +0300 modules/lcr: added note about 'kamctl eval_weights' command commit d786ff957bb997826ec8c027bc15ef56db7e3df8 Author: Daniel-Constantin Mierla Date: Mon Oct 4 16:26:25 2010 +0200 jabber(s): module moved to obsolete/jabber_s commit 85ca752aea199050b912a246a2dd2aa92423e5e8 Author: Daniel-Constantin Mierla Date: Mon Oct 4 16:25:44 2010 +0200 jabber(k): module moved to obsolete/jabber_k commit c7dc7a88fcf1d2123002c64bcd7b5f20a84b8ad3 Author: Daniel-Constantin Mierla Date: Mon Oct 4 16:11:27 2010 +0200 prefix_route: added xml docbook file - forgotten to add them in previous commit to this module commit 0b5ccf31a6e3e6e1091a97e472539ba314428e04 Author: Daniel-Constantin Mierla Date: Mon Oct 4 16:08:16 2010 +0200 kamailio.cfg: added sample usage of xmlrpc module - enabled with #!define WITH_XMLRPC - based on ser.cfg version commit 5816239e3714fc9fcf894cb82de114435447ed92 Author: Daniel-Constantin Mierla Date: Mon Oct 4 15:33:42 2010 +0200 prefix_route: readme converted to docbook commit d5d574fc125f38ad295e15c6760b464b1f77349e Author: Daniel-Constantin Mierla Date: Mon Oct 4 15:05:01 2010 +0200 prefix_route: module moved from modules_s/ to modules/ commit bd2cbe49ec2ac47aa6dac673ecbde3149c46eb26 Author: Daniel-Constantin Mierla Date: Mon Oct 4 15:03:26 2010 +0200 blst: module moved fom modules_s/ to modules/ commit c6228c19dec179abe2e143a9f162631e5748cf7c Author: Daniel-Constantin Mierla Date: Mon Oct 4 14:08:05 2010 +0200 presence_conference: added docbook files - skeleton for module documentation commit 51ec1f966ed2932daefffb52fe0ae432cf2de3c7 Author: Daniel-Constantin Mierla Date: Mon Oct 4 13:41:10 2010 +0200 dispatcher(k): updated description and dependencies commit 5880cc7cd8fedd0b70d712bc3e02d816ff403784 Author: Daniel-Constantin Mierla Date: Mon Oct 4 12:44:46 2010 +0200 Makefile: added presence_conference module to exclude list - added it to presence group commit 8b10e08f9e981400621b4871bbf9b215961843c8 Author: Elias Baixas Date: Mon Oct 4 12:39:46 2010 +0200 seas: fixed header-encoding for longest headers -refactorings for newer sip-router TM apis -some headers longer than 255 bytes were wrongly encoded commit 9aba7590db1a56d2deff99b4c31da77353322cb3 Author: Daniel-Constantin Mierla Date: Mon Oct 4 12:40:41 2010 +0200 pipelimit: updated doc with missing parameters - changed prefix of parameters from rlp_ to plp_ commit 63f98febab463c98e729280cf84d3e8c73d6e0dd Author: Juha Heinanen Date: Mon Oct 4 11:38:37 2010 +0300 modules/lcr: added upgrade from 3.0 script to lcr/utils dir commit 70b39e55c21341229cad5810b590d291f3fb7381 Author: mariusbucur Date: Mon Oct 4 10:51:38 2010 +0300 added module presence_conference to master branch commit c676d5303fe928c21ec17ed2ecb6353eaf4f1b5a Author: Alex Balashov Date: Sun Oct 3 22:08:53 2010 -0400 Updated generated README with doc changes for is_known_dlg() as well. commit 8c0bdbd5f70d9a6f61b206ecc918404c880fdf24 Author: Alex Balashov - Diminuendo-2 Date: Sun Oct 3 20:52:35 2010 -0400 Improved documentation for is_known_dlg() function and added some clarifications, and also tested my commit rights. commit 308b61934998c15630a801f8cb98e32a4fe8a830 Author: Daniel-Constantin Mierla Date: Sun Oct 3 23:02:54 2010 +0200 tmx: fixed t_reply_callid() name in example commit 7370685a2eb6d27d6775c8cffa59f6f17cdb76b5 Author: Daniel-Constantin Mierla Date: Sun Oct 3 21:51:35 2010 +0200 db_postgres: null-terminate blob buffers - reapply part of patch done for FS#77: fix BLOBs with postgres - fix BLOBs with postgres, also add a null-termination as the other SQL databases in order to be able to work with the presence modules - change: do not increment the lenght of blob - initial fix by Henning Westerholt, commit 2e56720769913c55cacc83fe3a31f44f072e7590 commit 3f8928724428cf691041fe2fa9b429c547f5fcf2 Author: Daniel-Constantin Mierla Date: Sun Oct 3 21:08:59 2010 +0200 kamdbctl: fixed lcr tables name - reported by Klaus Feichtinger commit 0b8226f9fa7c33eb2716cd79ac4446c1713b6bb5 Author: root Date: Sat Oct 2 22:08:22 2010 +0100 dialog(k): fixed db mode realtime - main proc was reseting the db mode value, resulting in propagation to children if the context switching policy choosed first child init in main proc commit 2429ddf4afe45fc72a11c9cc53c8f8efbad36f1e Author: root Date: Sat Oct 2 20:56:11 2010 +0100 dialog: fix setting the name of route in dlg structure commit 647a786907178bfa3c709497678afe1589646943 Author: root Date: Sat Oct 2 20:09:09 2010 +0100 presence(k): fallback2db==1 mode updates - go through all the list of active subcriptions when sync'ing to db, even one db operation throws error - if fallback2db==1, don't attempt to insert the record back commit b837d50ffb96667dfb424f19d553c4277ea37a34 Author: root Date: Sat Oct 2 20:07:53 2010 +0100 msilo: don't print error for no contact in register - register requests without contact are valid, querying the list of contacts for user commit 25e7b54c89623608b4491c8f89ef50e72efc09fb Author: Juha Heinanen Date: Sat Oct 2 16:01:59 2010 +0300 modules_k/permissions: changed allow/deny file WARNs to INFOs commit 94d2d2e60272bbed96ab710ebbad416a752941ff Author: Elias Baixas Date: Fri Oct 1 21:49:36 2010 +0200 core: fixed small bug in main.c just a typo (default_core_cfg instead of default_core.cfg) commit 9379c50b8eafea6ca3a9f7105f5ee73912fdc161 Author: Daniel-Constantin Mierla Date: Fri Oct 1 21:39:25 2010 +0200 purple: register and start purple manager process commit 7b7542b8e2323e70b2b32b5b659d296219374850 Author: Daniel-Constantin Mierla Date: Fri Oct 1 21:27:59 2010 +0200 xmpp: register and start xmpp manager process - reported by Elias Baixas commit cc0a479e87f83794e6e43606f05d7703c63997ee Author: Daniel-Constantin Mierla Date: Fri Oct 1 18:23:56 2010 +0200 dialog(k): required table version is now 5 commit 50e3f0644b3b044f8d02e724cd1e742b88d91606 Author: Daniel-Constantin Mierla Date: Fri Oct 1 18:15:16 2010 +0200 dbschema: dialog table structure updated - toroute column was changed in string type and renamed to toroute_name commit 48c3a21a059a5307d64ff34bd5d34cf4c7677c3b Author: Daniel-Constantin Mierla Date: Fri Oct 1 18:13:43 2010 +0200 dialog: store name of time-out route - upon restart, if new routes where added or the order was changed, there was a chance that the index of the route was different - no store the string name of route and resolve it again at startup commit fceed40e838650a1da4c35a6a5aa3808fd324d2d Author: Daniel-Constantin Mierla Date: Fri Oct 1 17:07:48 2010 +0200 dispatcher(k): removed ds_append_branch param - this is not needed anymore since 3.1 has r-uri change auto-discovery commit e2fc8e8092d2e25a11f0fc12d26a5c2f4c4c0eb5 Author: Daniel-Constantin Mierla Date: Fri Oct 1 16:58:01 2010 +0200 kamailio.cfg: fixed type in nat sipping flag name - reported by Rouskol Andrey commit 427e4c0f5f8dd8665a5484e724154921a2b896b5 Author: Daniel-Constantin Mierla Date: Fri Oct 1 16:51:56 2010 +0200 mtree: option to ignore duplicates - when testing with lot of data generated randomnly (usage and performance profiling) there might be duplicates that can be ignored commit f448386d214b5bca734ea4ba1dc5388b23b3a5f9 Author: Daniel-Constantin Mierla Date: Fri Oct 1 15:36:50 2010 +0200 mtree: exposed internal usage data via mi - good for troubleshooting memory usage commit fa898c615d6a2ffb130563c52214ad06de2cd278 Author: Daniel-Constantin Mierla Date: Fri Oct 1 13:34:28 2010 +0200 mtree: set root tree pointer to null - avoid double free if there is error at startup commit 22cb194483a7b0d15b823cb8f851cd1fe9746a8c Author: Marius Zbihlei Date: Fri Oct 1 12:52:33 2010 +0300 modules/carrierroute: change doc to reflect latest changes in append branch commit c44529a8078f7c58d621e5116757da10084180f1 Author: Marius Zbihlei Date: Thu Sep 30 17:04:00 2010 +0300 modules:carrierroute Fix documentation when using cr_route/t_relay in failure routes Starting with 3.0 version, there is no need to call append_branch in failure routes before t_relay if the RURI is new(it is done automatically from t_relay). commit a2a98dbbfd14ae6e6e73b40aec55a19f2c718722 Author: Daniel-Constantin Mierla Date: Thu Sep 30 14:58:15 2010 +0200 xcap_server: removed WITH_XHTTPAUTH defined - user authentication is performed always in the sample config commit a9caef9ac75b946b4e9d0fd0ca81d0625353528c Author: Daniel-Constantin Mierla Date: Thu Sep 30 14:40:26 2010 +0200 xcap_server: enhaced sample config in readme - refresh watchers also for delete (reported by Inaki Baz Castillo) - check if authenticated user matches the user part in xuid, in this way an user is allowed to access and manage only its documents commit f785388e6541e59b5c35a3710bf8d3a41e88a6fe Author: Daniel-Constantin Mierla Date: Thu Sep 30 14:25:29 2010 +0200 xcap_server: reply 404 when document is not found commit be3c27905011c86069905d1fcbeddaa46f2d06aa Author: Andrei Pelinescu-Onciul Date: Sat Sep 11 18:19:44 2010 +0200 core: minor append_branch cleanup The 2 script versions for append_branch without parameters are now equivalent (append_branch and append_branch()). commit 4cd7a346ad6dd2542c318ad371416105b60654be Author: Andrei Pelinescu-Onciul Date: Sat Sep 11 08:24:23 2010 +0200 core: append_branch(): avoid identical branches If append_branch() is used from the script, try to avoid having 2 identical branches (one for the main ruri and one because of the append_branch()). In this case the ruri will be marked as consumed. Reported-by: Daniel-Constantin Mierla Reported-and-tested-by: Miklos Tirpak commit a7bbaf7cd83b5d044ff8c7fff7b19c7ff392da74 Author: Miklos Tirpak Date: Thu Sep 30 10:42:57 2010 +0200 tm: t_save_lumps() verifies the route type Even though the t_save_lumps() function is registered only for request route, in some corner case, the function might be called from failure_route. (For example a failure route executes a request route block which calls this function.) This scenario resulted in overwriting the already cloned lump list which is not allowed because of the lockless read, and also resulted in a memory leak. An extra check is also added to save_msg_lumps() to catch this bug. commit 1ccbd33558e7e09f36f39fd984ac99a7bfd3eba2 Author: Andrei Pelinescu-Onciul Date: Thu Sep 30 01:28:00 2010 +0200 mem: fix f_malloc big fragments search In some situation (depending on previous allocation and frees) trying to allocate a "big" fragment (>16k) would fail even if enough memory was available (the fragment search algorithm missed fallback to bigger buckets when using the free bitmap). commit 671bc7b32097bb690a95253e9585236e99b67310 Author: Daniel-Constantin Mierla Date: Thu Sep 30 00:17:35 2010 +0200 dispatcher(k): regenerated readme file commit 44c76b5636e49c60349e52bc7eecd1038d4c901a Author: Daniel-Constantin Mierla Date: Wed Sep 29 23:50:05 2010 +0200 snmpstats: include stats wrapper headers commit 80b1421caf597060e234ed389eb540b13879ce41 Author: Daniel-Constantin Mierla Date: Wed Sep 29 23:33:02 2010 +0200 core: event_t uses param_hooks_t - parse_params() requires a param_hooks_t field since it memsets it to 0, previously, the dialog specific hooks structure had a shorter size resulting in buffer overflow commit caa38207fe7ff51b1f983d3d43cd5c7d1e05fbc7 Author: Daniel-Constantin Mierla Date: Wed Sep 29 23:32:11 2010 +0200 presence(k): updated to use hooks attribute of dialog event header commit 2f8b5dd42cf4509649e751d38365cbd605991d9b Author: root Date: Wed Sep 29 10:16:27 2010 -0400 Makefile: kamailio build updates - adding acc_radius to the list of module_group_kradius - define module_group_klua - define module_group_kpython - define module_group_kgeoip commit 3cf12697b6edf404569f2f2a7e0e91f2984c296f Author: root Date: Wed Sep 29 10:13:52 2010 -0400 modules_s/acc_radius: fix compilation warning commit cd999eae2089ad2373bf320442151e68f88f9723 Author: root Date: Wed Sep 29 07:38:05 2010 -0400 parser/sdp: fix some compile warnings commit 3f367560725eaf00f3bc8d8f0d3d047db3c6997a Author: Carsten Bock Date: Wed Sep 29 18:12:22 2010 +0200 - be less verbose commit ec903da3a0b0a91dfc4b4236d84e7e145706c994 Author: Carsten Bock Date: Wed Sep 29 18:08:41 2010 +0200 - allow the configuration of valid response-codes to the pinger; they can be set through config framework. commit 65b64bca77b18f7ee964119e1b3b363d66189c3e Author: Andrei Pelinescu-Onciul Date: Wed Sep 29 17:35:25 2010 +0200 core: return & break are absorbed in expressions return & break inside an expression do not cause the current route block or while/switch statement to end. E.g.: $v = { return 1; } will not end the current route, will only set $v to 1. commit f6673e2930b6c4e28af60f8ed4c2ea233c944ab4 Author: Ovidiu Sas Date: Wed Sep 29 11:11:36 2010 -0400 utils/kamctl: new lcr function: eval_weights - evaluates the probability of a GW being selected based on given weigths commit 28a882873f8a69a189d790e33bcd2017c253a66a Author: Andrei Pelinescu-Onciul Date: Wed Sep 29 16:30:40 2010 +0200 core: fix end-script commands in expr. leaks When having commands that end the script immediately in assignments (e.g. $foo = { drop; }) or in expressions (e.g. if ($v + { drop; } > 0)), the script was terminated immediately via longjmp. However this might leave some un-freed variables. This fix introduces a safe version of run_actions() (run_actions_safe()) that will not use longjmp() to immediately end the whole script on drop, returning instead to its caller. commit c26801f44c260b3989f525bf2b26670d4cc7f651 Author: Andrei Pelinescu-Onciul Date: Wed Sep 29 16:27:46 2010 +0200 core: route(dynamic expression) memleak fix When using a dynamic expression as argument to route() (e.g. route($foo) or route($foo + "1")), the evaluated rvalue was not freed. commit 8bfbe85163e974cc917eb7043d728dd8ef4917d0 Author: Juha Heinanen Date: Wed Sep 29 13:59:54 2010 +0300 modules/lcr: removed #!/usr/bin/awk from lcr_weight_test.awk commit 2800504202dfb773baed7212949918848f0ea716 Author: Juha Heinanen Date: Wed Sep 29 13:56:05 2010 +0300 modules/lcr: added awk version of lcr_weight_test script commit 3013f28351cd99014e18767aff84ecf8692a8d75 Author: Juha Heinanen Date: Tue Sep 28 21:59:22 2010 +0300 modules/dialplan: allow larger dpid arg than short - dp_translate() was only able to accept short int constant dpid arg. now constant dpid arg can be int. credits to anca vamanu. commit c9586e183f5fbde854ec8f27c38f58a7853e971a Author: Andrei Pelinescu-Onciul Date: Tue Sep 28 18:09:17 2010 +0200 core: switch(string) break/return fix Commit 6ab93de3 (switch(string) memleak fix) broke break & return from switch case statements. Reported-by: Juha Heinanen jh tutpro com commit d010f59edf3fbb61b4f74b78eb6e0eb27230dbe3 Author: Andrei Pelinescu-Onciul Date: Tue Sep 28 14:02:39 2010 +0200 sip-router-oob.cfg: user src_ip instead of @src.ip Using the built-in src_ip is slightly faster then the @src.ip select and also more consistent with the other src_ip checks in the config. commit 945eb2096fed91def1290f34ab694b08ce878a4a Author: Daniel-Constantin Mierla Date: Tue Sep 28 10:04:32 2010 +0200 xcap_server: added oma auid in example commit 373d3ee17acab0304d339b9bc17f8c14eeb5d348 Author: Daniel-Constantin Mierla Date: Tue Sep 28 09:53:19 2010 +0200 presence(k): added pres_update_watchers(uri, event) - function needed to update status of watchers when xcap data changes (e.g., via xcap_server module) commit 86734ff0df67f0f82002cae4cde87e24fe91edeb Author: Juha Heinanen Date: Tue Sep 28 08:43:47 2010 +0300 modules/lcr: renamed utils script commit 2f95266d695532fd5ade1cd45b61c61055577d62 Author: Juha Heinanen Date: Tue Sep 28 08:28:49 2010 +0300 modules/lcr: README improvement and a new script - Added a paragraph on lcr weights. - Added a script that can be used to determine probabilities corresponding to a set of weights. commit 2bc4838464d79016bbb6d606ae39378871c1ed82 Author: Daniel-Constantin Mierla Date: Mon Sep 27 22:02:42 2010 +0200 xcap_server: support parsing oma pres-rules auid commit e8e372698904c6afae4952d0291b051b4116bbd8 Author: Daniel-Constantin Mierla Date: Mon Sep 27 21:51:16 2010 +0200 debugger: some fixes in documentation commit 22f545d80eda337c5834f08fa27f3065dcd2ed2a Author: Daniel-Constantin Mierla Date: Mon Sep 27 21:50:40 2010 +0200 version set to 3.1.0-pre1 commit 6ab93de37f2f1991d3406f52ac9502a7c795ef55 Author: Andrei Pelinescu-Onciul Date: Sun Sep 26 21:28:47 2010 +0200 core: switch(string) memleak fix When a switch(string) is used and one of the case blocks exits the script (by drop, exit or a module function that causes the script to end), the dynamic string rvals were not cleaned up. This happened because run_actions() uses longjmp() to quickly end the script (skipping this way over the cleanups done after the run_actions() call). Reported-by: Daniel-Constantin Mierla Reported-by: César Pinto Magán Cesar.Pinto a-e es commit d15341aa8480bcf77e43f7d48224364baca1fcf9 Author: Andrei Pelinescu-Onciul Date: Sun Sep 26 15:03:41 2010 +0200 Revert "Makefile: log func name for kamailio flavour" After commit c3e19d2, the function name is printed by default unless NO_LOG_FUNC_NAME is defined. This reverts commit f8584159fa88e92b36f8657d645f00d0ff851099. commit c3e19d24545e45e021000a53dc8b448cbe9442d3 Author: Andrei Pelinescu-Onciul Date: Sun Sep 26 15:02:20 2010 +0200 core: print function name by default in LOGs commit 4a272b17cd4e1837564f6aa7026569fac35af6b8 Author: Andrei Pelinescu-Onciul Date: Sun Sep 26 14:57:01 2010 +0200 iptrtpproxy: RTP/SAVP and RTP/AVPF support - added RTP/SAVP and RTP/AVPF to the supported media types. - changed media types order, most frequent first (RTP/AVP and RTP/SAVP) and least frequent last (UDP and UDPTL). commit c96d8658da505cddd402963d3469acdd69ac1b5e Author: Juha Heinanen Date: Sat Sep 25 09:32:35 2010 +0300 modules/lcr: minor fix and improvement - RPC command lcr.reload caused db tables to be loaded in some situations more than once. - If defunct column value of a gw is max UNIX timestamp value 4294967295 or greater, gw is considered currently unused and is not loaded into memory at all. commit 49bd77d18c6f2ba359a8e96a4af5695cdcc39860 Author: Daniel-Constantin Mierla Date: Fri Sep 24 13:01:55 2010 +0200 dialog(k): added is_known_dlg() cfg function - patch by Alex Balasov, closes SF#2270836 commit 94c8e2f47db786e3ed3fccbf103562ec76233a7d Author: Daniel-Constantin Mierla Date: Fri Sep 24 11:53:38 2010 +0200 rtpproxy: return -2 for force_rtp_proxy if rtpproxy was already used - patch by Alex Hermann, closed SF#3035804 commit 7de84b2d4e988114b9b0d71aa689f808acf4e46e Author: Daniel-Constantin Mierla Date: Fri Sep 24 11:09:29 2010 +0200 nathelper(k): added test for src_ip in rfc1918 - new flag for nat_uac_test() to detect if source ip is in a rfc1918 network - adapted from patch by Alex Hermann, SF#3035808 commit 20a8b62b515ac00bebf00177d0971be11dbedd08 Author: Andrei Pelinescu-Onciul Date: Wed Sep 22 12:45:53 2010 +0200 core: more verbose logs when get_send_socket fails All the get_send_socket() errors or warnings include now the forced socket and the destination (protocol:ip:port). commit 10117562935ffef52126cce5b290213e327442bb Author: Andrei Pelinescu-Onciul Date: Wed Sep 22 12:44:06 2010 +0200 core: function for getting the name of a protocol Added a new function to ip_addr.h, for converting the internal protocol number to an ascii name (proto2a(...)). commit ea4ff090f11938010b3b150ebf59099b02a9d6db Author: Daniel-Constantin Mierla Date: Thu Sep 23 20:30:36 2010 +0200 pike(k): more notes about remove_latency - clarification about the meaning of this parameter upon report by Miguel Baptista commit f77093de4f3111cbc7171e61443c7d1c0cee50d0 Author: Daniel-Constantin Mierla Date: Thu Sep 23 18:40:48 2010 +0200 kamailio.cfg: added flood detection - can be enabled via #!define WITH_ANTIFLOOD - uses pike to detect flood and htable to ban the IP for a while commit f89005faf1fa47745a4bdb9770d23476fbfe891d Author: Daniel-Constantin Mierla Date: Thu Sep 23 13:27:27 2010 +0200 kamctl: include .base lib before sercmd detection - merr() function is declared there commit d1d17a9c02ed4ff7d69024d4eb92369da66c3e20 Author: Marius Zbihlei Date: Wed Sep 22 18:35:37 2010 +0300 modules_k/regex Fixed a memory leak when using pcre regex The compiled regular expression when using pcre_match was not freed. (cherry picked from commit 61f4d7f12723c4a3d989d37a414433e5ed71abff) commit 6ea9c55354fc23e551be566b685797c1810e8c10 Author: Ovidiu Sas Date: Wed Sep 22 12:57:50 2010 -0400 modules_k/rtpproxy: Removing nathelper restriction for forcing RTP packets only for INVITE type SIP requests. - in dialog requests like UPDATE are valid SIP request that can update the SDP. commit 48c2ffc29fdb5b48805ef824105957df50a8b5a2 Author: Andrei Pelinescu-Onciul Date: Wed Sep 22 12:41:45 2010 +0200 sip-router*.cfg: enable warning by default sip_warning is enabled by default (very useful for debugging, I wouldn't a proxy without it). This is needed because the default value changed in 3.1 (from on to off). commit 70ffe3dd1aa0e15e715e34cd0f3fec4c5115caac Author: Andrei Pelinescu-Onciul Date: Wed Sep 22 12:33:12 2010 +0200 sercmd: increase internal buffers Increase sizes for maximum reply and maximum body (send) to 64k, maximum command arguments number to 256 and maximum line size to 16k. Reported-by: Daniel-Constantin Mierla Reported-by: Juha Heinanen jh tutpro com commit caef96ca04c29d5eec599af1405f256d13f91179 Author: Daniel-Constantin Mierla Date: Wed Sep 22 12:31:01 2010 +0200 debugger: updates examples for latest version commit 2537fccd689c872f995d7da5bc6d4b88d1e0ed55 Author: Daniel-Constantin Mierla Date: Wed Sep 22 11:53:00 2010 +0200 debugger: removed implemented to-do list commit c0c4a3a24001e40a89e3819f6407346fe1fdf0cd Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 17:34:40 2010 +0200 makefile: don't try to build docs for empty modules - don't try to build READMEs for modules directories without Makefiles - don't try to build manpages for modules that do not have the corresponding xml file - don't install docs for modules without Makefiles (remains of deleted modules) commit de33514c3a90688cbb9ad171984f7b752f82aa4e Author: Daniel-Constantin Mierla Date: Tue Sep 21 16:46:40 2010 +0200 presence(k): refresh watchers function exported to config commit f6c6d6e94e4b37e77a2776afb3ec5ae8f1d57c93 Author: Daniel-Constantin Mierla Date: Tue Sep 21 15:20:08 2010 +0200 xcap_server: added example of handling xcap-caps request commit 4d6de6c8aafae2004a17d74ac826db390f4b5c42 Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 14:48:19 2010 +0200 makefile: xcap_server added to the excluded list Not compiled by default because it depends on libxml2. commit 77bcb35eb4b4fc15aeeca8cab9577e34eeaf0168 Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 14:13:17 2010 +0200 iptrtpproxy: minor doc updates - minor fixes + note about setting iptdir in Makefile - README regenerated commit e3797ca3476ac75ad3688557c6fb3fd3440ce5aa Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 14:02:31 2010 +0200 iptrtpproxy: s/cfg_parse/sr_cfg_parse/ cfg_parse name changed into sr_cfg_parse (since commit 50ca02e5). commit bf7b4ffd6c9238488d08be491ef212881f13349c Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 14:01:07 2010 +0200 iptrtpproxy: makefile LIBS update Look for libipt_RTPPROXY first under /lib/xtables (default install dir) and if not found in $(iptdir)/extensions (compile dir). commit 755251d7591a7df1765236511e3b47ac37b4537d Author: Andrei Pelinescu-Onciul Date: Tue Sep 21 13:56:40 2010 +0200 makefile: xmlops added to the excluded list Not compiled by default because it depends on libxml2. commit 33f8efe0ee6af800cfb0e870be3e0c9626a5110f Author: root Date: Tue Sep 21 13:11:33 2010 +0100 core: tcp_read.c insensitive search for HTTP11 headers commit 03c5fe9d1ef6e9fc9db66bcee47723da63ed583f Author: root Date: Tue Sep 21 13:10:53 2010 +0100 xcap_client: defined xcap-caps auid type commit 406f43b42f8d5ef015d4fd7b1e17158430be7b2e Author: root Date: Tue Sep 21 13:09:42 2010 +0100 xcap_server: set content-type per auid in reply - accept also xcap-caps auid commit 2df94c0f9a1c1a797fef4508863a7bb985c8f10b Author: Daniel-Constantin Mierla Date: Mon Sep 20 17:43:38 2010 +0200 core: no 2nd via log message set to info level - replies to self requests have no 2nd via commit d54b0b8a4a3bdb1ff3170c723f8e5d83549f1016 Author: Daniel-Constantin Mierla Date: Mon Sep 20 17:01:14 2010 +0200 xcap_client: include mi header file commit f8584159fa88e92b36f8657d645f00d0ff851099 Author: Daniel-Constantin Mierla Date: Mon Sep 20 15:47:44 2010 +0200 Makefile: log func name for kamailio flavour - default behavior in 1.5.x commit cff8540d95c53ee3972205e838f4528f67f9357b Author: Daniel-Constantin Mierla Date: Mon Sep 20 11:04:46 2010 +0200 kamctl: more auto-discovery for sercmd - try locations like same dir with kamctl, or ../sercmd/ in case is run from sources - default names for sercmd commands are 'sercmd' and 'sercmd_mi' to match tool name as ser is another application, old names can still be used commit 4e469844287808ebb02e765eee64c46724ecbf43 Author: Daniel-Constantin Mierla Date: Sat Sep 18 22:16:33 2010 +0200 utils/misc: added vim syntax and auto-detect scripts commit 15623c21d6c6ae933a993789453e29d610445e2c Author: Daniel-Constantin Mierla Date: Sat Sep 18 21:48:07 2010 +0200 kamailio.cfg: added #!ifdef LOCAL_TEST_RUN condition - if defined, modules are searched in source tree (e.g., start kamailio with -A LOCAL_TEST_RUN) - useful for local testing of config, imported style from ser configs commit 6f815b42c918d4360430377d632b22b8f8687e6f Author: Daniel-Constantin Mierla Date: Sat Sep 18 21:23:56 2010 +0200 dialog(k): removed unused variable commit 63c724b42d4c4ff45eaa660508d6358f3e894d0a Author: Daniel-Constantin Mierla Date: Sat Sep 18 11:58:21 2010 +0200 db_postgres: reset row_buf for each row - DB1 interface was reusing local buffer to convert returned rows, resulting in misusage of values from previous rows for null values - reported by Jan Klepal commit f74b79d43065c422c6a4eba49d60c745a86a6c4f Author: Daniel-Constantin Mierla Date: Sat Sep 18 11:27:01 2010 +0200 acc(k): readme regenerated commit 390eefb442f0b3b41cf5a708270ecd98765b4a66 Author: Daniel-Constantin Mierla Date: Sat Sep 18 11:24:20 2010 +0200 usrloc(k): updated index of domain column - index is 14 - harmless case since domain value is tested against null as well commit eb6d6cbdd5ab82401dada03f90899fad7e354d5c Author: Klaus Darilion Date: Fri Sep 17 16:29:36 2010 +0200 enhance docs describe that the ACK tm callback is executed in INVITE context commit 8af71cf262688bd80294dbd8a725a0e2e447c196 Author: Andrei Pelinescu-Onciul Date: Sat Sep 11 19:11:23 2010 +0200 core: print function name in LOG messages Compile time define for printing the function name by default in log messages. Can be turned on by compiling with -DLOG_FUNC_NAME (e.g. make cfg extra_defs=-DLOG_FUNC_NAME) and turned off by recompiling with -DNO_LOG_FUNC_NAME. It's also turned off if the compiler does not support it (non C99 and no known workaround). The default it's off. commit 61b81832cb4eacc82b0c711c686f85c09e62be7c Author: Marius Zbihlei Date: Tue Sep 14 11:42:42 2010 +0300 Modules_k:usrloc Fixed syntax errors on documentation of modules. commit e017bd9c00a021c1f2fe0b69bb5382d69afd5e7d Author: Ovidiu Sas Date: Mon Sep 13 15:03:57 2010 -0400 modules_k/rtpproxy: fix crash related to SDP without ssession IP - when the IP address is provided only in the SDP stream description and not in the SDP session description, the rtpproxy module was crashing due to wrong check of the IP address length. - thanks to Daniel Constantin Mierla for reporting and investigating this. commit b2dd83b03c7c858b93b51112a7f134bef2a54c4f Author: Henning Westerholt Date: Mon Sep 13 19:12:36 2010 +0200 pdbt: fix URL for german carrier names, filtering is not yet working completely commit c02995c63b7fd908893ad2fc3c48c86dbf0b4002 Author: Henning Westerholt Date: Mon Sep 13 18:41:50 2010 +0200 pdbt: script for finish carrier IDs, from Mikko Lehto, mikko dot lehto at setera dot fi commit 1cf291af15d10160ca2bacedbb3d51817ed4286c Author: Henning Westerholt Date: Mon Sep 13 18:37:38 2010 +0200 pdbt: fix wrong help output and comment, reported from Mikko Lehto, mikko dot lehto at setera dot fi commit 6858a58fa404ca5004b7c1912e4e33837cfcbcc8 Author: Daniel-Constantin Mierla Date: Mon Sep 13 12:09:19 2010 +0200 core: add #!subst rule at the end of list - fixed loop in resolving many #!subst rules commit c580e97c1257db537bae9709d14fad8c3d8599f2 Author: Daniel-Constantin Mierla Date: Mon Sep 13 11:19:45 2010 +0200 presence_xml: added include file to get rid of warning commit 72ac3f486280d1ad15edfb3d39d8f1859aadb374 Author: Daniel-Constantin Mierla Date: Sun Sep 12 11:47:37 2010 +0200 xmlrpc: fixed c&p module name error - reported by Juha Heinannen commit e02225e4405bc422daa4971fcc0ff87fab713e01 Author: Daniel-Constantin Mierla Date: Fri Sep 10 21:38:31 2010 +0200 xmlrpc: fixed non-sip filter out - issue introduced in previous commit commit 3f48edc9726e2402756ec1e307698c482db471bf Author: Andrei Pelinescu-Onciul Date: Thu Sep 9 22:08:29 2010 +0200 tls: doc - CRL howto and expected default ca section - note about the expected default_ca section paths in openssl.cnf (dir = ./demoCA a.s.o), needed for the example/howto to work. - added a section about revoking a certificate commit 73c87ff7b655032b0b86a576367f07be89b054ca Author: Andrei Pelinescu-Onciul Date: Thu Sep 9 20:50:24 2010 +0200 tls: CRL support Support for certificate revocation lists. Patch by Couprie Geoffroy geoffroy.couprie atosorigin com (FS#88) ported to 3.1 (config framework, relative pathname support) and with more docs. Closes FS#88. commit c6ad00daa7095ffec4d8db972df3ea6dd4e03562 Author: Daniel-Constantin Mierla Date: Wed Sep 8 20:37:04 2010 +0200 acc_radius(k): fixed typo in docs' module name commit 9cdc3e70059f9bb23da75b74a44a0f0b15360749 Author: Daniel-Constantin Mierla Date: Wed Sep 8 19:46:26 2010 +0200 dispatcher(k): fixes to call load dispatching - this alg implementation was not completed before - exported some functions and parameters to cfg in order to cope with stateless proxy mode commit bef7e92f9e870863dcdc89cdb33e82a5b1c0ebac Author: Daniel-Constantin Mierla Date: Wed Sep 8 19:45:19 2010 +0200 dispatcher: updated documentation - added new parameters and functions - updated the docs about dispatcher list file commit b7d7d1b0821d6b8cc5379399deb15cd311a9f68d Author: Daniel-Constantin Mierla Date: Wed Sep 8 19:44:09 2010 +0200 kamctl: regenerate db creation scripts - lcr and dispatcher had new structure in xml commit 7b0b2502da3354f678e822042e0ff90c0738c19e Author: Daniel-Constantin Mierla Date: Wed Sep 8 19:42:53 2010 +0200 db schema: added missing column in dispatcher table - version set to 4 commit a4bdf3c9c951e052b2db1d3967999f662b7438a5 Author: Klaus Darilion Date: Wed Sep 8 14:57:48 2010 +0200 improve documentation of is_direction() function commit 35c2d3cd07905fb15faffd289004e1f78c8cc60c Author: Daniel-Constantin Mierla Date: Wed Sep 8 12:30:19 2010 +0200 dispatcher(k): updated docs for ds_ping_method - statement was obsoleted - reported by klaus.lists at inode.at commit 1a810f97265302a3e7c8033b1b8c5de7c6491fb4 Author: Daniel-Constantin Mierla Date: Wed Sep 8 11:31:31 2010 +0200 xmlrpc: allow chaining with xhttp module - the module was intercepting all HTTP module, without a nice way to dispach HTTP traffic between this module and xhttp - added new parameters that can select which HTTP requests to be handled by xmlrpc based on URL regexp matches - url_skip - if the regexp is matched, then xmlrpc will not handle the request - url_match - if the regexp is matched, then xmlrpc will handle the request - url_skip is checked first - default values are NULL, which means matching all HTTP requests (default behaviour so far) commit 666c83e9a9245fff666f5aa2111c05dbb4367357 Author: Daniel-Constantin Mierla Date: Wed Sep 8 11:28:27 2010 +0200 xhttp: allow chaining with xmlrpc module - new parameter url_skip to skip execution of xhttp event route if the HTTP URL matches the regexp - e.g., allow to execute all HTTP requests to /RPC2 via xmlrpc module with skip_url="^/RPC2" commit 911c221ea0dfcab489174599e42bc08f74323f5c Author: Daniel-Constantin Mierla Date: Wed Sep 8 10:28:58 2010 +0200 kamailio.cfg: removed unused uri_db module commit aa60ed0d344f4fde4484ae4073c179cbf4c2b71d Author: Daniel-Constantin Mierla Date: Wed Sep 8 10:16:02 2010 +0200 kamailio.cfg: cfg flags values set via defines commit 7560e490b643642e79ed8dd95c575c08906e0608 Author: Daniel-Constantin Mierla Date: Tue Sep 7 21:28:39 2010 +0200 dispatcher(k): updated docs with default value for ds_ping_interval - in source code is 0 - reported by Klaus Darilion commit 43c5c9ae5bf8d8d8ff4d6bc106f3c59019f4612a Author: Daniel-Constantin Mierla Date: Tue Sep 7 20:46:22 2010 +0200 utils/route_graph: support for event route commit f503d0a0b9bb10d9dc445219a7ce98f1d3dc918a Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 19:08:09 2010 +0200 tls.cfg: use local file paths Use local paths, relative to the source/compile directory (./modules/tls/*). This allows starting with -A LOCAL_TEST_RUN with one of the sip-router*.cfg without having to edit any path in tls.cfg. On install-cfg, the local path is changed to an absolute path to the installed certificates/keys/ca list (see 0efe88e). commit 99fab38dd345a28262221d1af220933697c1c53d Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 18:20:40 2010 +0200 sip-router*.cfg: defines, links, test run support - added links to docs, ser_ctl, serweb and sr-users mailing list address - feature defines compatible with kamailio.cfg: WITH_DEBUG, WITH_TLS, WITH_XMLRPC (can be enabled by uncommenting the corresponding #!define or by starting ser with -A WITH_XXXX) - XMLRPC_TLS_ONLY define: when enabled XMLRPC will be allowed only on TLS and only from clients with valid certificates. - XMLRPC_ALLOW_NET1, XMLRPC_ALLOW_NET2, XMLRPC_ALLOW_NET3 defines: when enabled they must contain a valid network address (e.g. 10.0.0.0/8). xmlrpc requests will be accepted only from localhost (always) and from clients with source addresses matching one of the XMLRPC_ALLOW_NET[1-3] defines. E.g.: ser -A WITH_XMLRPC -A XMLRPC_ALLOW_NET1=10.0.0.0/8 .... - LOCAL_TEST_RUN define: when enabled ser will assume it is not installed and that it is started from the source/compile directory (as opposed to an installed version). All the modules will be searched in modules*/modulename/modulename.so and all the other files referenced in the config will be relative to the working directory (and not the ser config file directory). - multicast replication listen address set to udp only (avoids warnings on startup) - load sl after tm (the new merged sl prints a warning if tm is not loaded first) - use ser instead of sip-router for the DB names/uris and ctl sockets - use a XMLRPC specific route - XMLRPC bug workaround for xmlrpclib (which waits for an EOF before interpreting the response). commit b690ab5236cbe209dd1d80ddcc15bc4c9053c42f Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 18:06:53 2010 +0200 tls: doc - notes about filename path - notes about how filename path are resolved in function of the first character. - regenerated README. commit 629cba2015ecf837a972070a55c5f02bdefed107 Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 17:43:26 2010 +0200 tls: relative file path support & license changes - support relative path for private_key, ca_list and certificate. If the filename starts with '.' or '..' the path will be considered to be relative to the working directory (otherwise if it does not start with '/' it will be relative to the main ser.cfg file directory). The relative path is supported both for modparam and for value loaded from the tls.cfg file. - BSDed and removed FSF (c) from tls_domain.[ch] (the only code remaining somewhat similar with the tls experimental module is 1 typedef). commit 0a4f422278f2807c955e0613af09f05d4c0d51c2 Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 17:10:44 2010 +0200 iptrtpproxy: cfg_parser api update Update cfg_parser_init() usage. commit 14d6f347f72515e88f790fe11906c86af35a20f9 Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 17:09:35 2010 +0200 ldap(s): cfg_parser api update Update cfg_parser_init() use. commit 139913192cb9e9616680a3a430a4039da9beb718 Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 17:03:53 2010 +0200 cfg_parser: allow relative paths for the cfg file Allow relative parhs in the cfg_parser framework (used by the tls module, ldap(s) and iptrtpproxy), by adding a new "basedir" parameter to cfg_parser_init(). If basedir == 0 and the filename does not start with '/', the filename path will be considered to be relative to the main ser config file (e.g. ser -f /etc/ser/ser.cfg => relative to /etc/ser/ ). This was the previous behaviour. If basedir == "" the filename path will be considered to be relative to the working directory (ser -w /tmp => relative to /tmp). For other basedir values, the filename path will be considered to be relative to basedir. commit e63610186803cfcc0ff14d8871df8ae70df83103 Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 16:57:33 2010 +0200 tls: fix wrong string variable length overwrite Some per-domain config string variables (cert_file, ca_file, pkey_file & cipher_list) had their length truncated to that of the corresponding variable in the parent domain. Mostly invisible since the string length was in general ignored (asciiz strings). commit b8c939b440682de3da29f91d71ae07d5ff0fd93f Author: Andrei Pelinescu-Onciul Date: Tue Sep 7 16:51:29 2010 +0200 tls: fix default file names startup bug When the default file names for private_key, ca_list and certificate were not changed, the tls module crashed on startup when attempting to free() the static default values (when attempting to replace them with absolute paths). Reported-by: Daniel-Constantin Mierla commit b7f00e7b0223840c8bd622607f5afee8dd762b59 Author: Daniel-Constantin Mierla Date: Tue Sep 7 00:31:15 2010 +0200 kamailio.cfg: listen on TLS available via define - use #!define WITH_TLS to start listening on tls commit 73619b560620a1dc6cb50bbbf0cdfbaa975f4ffe Author: Daniel-Constantin Mierla Date: Tue Sep 7 00:28:50 2010 +0200 Makefile: update path to cfg dir at install - in case some parameters use absolute path to cfg dir, they are updated with $cfg_target value commit 0eef0a5e396f1be6e902ad17fcdb8a9d5a7be643 Author: Daniel-Constantin Mierla Date: Mon Sep 6 23:09:23 2010 +0200 kamailio.cfg: multi-domain support handled via define - #!define WITH_MULTIDOMAIN can be used to enable multi-domain support commit 2d9a8454fe6f5874973fceb1751d2ec1fad2bb07 Author: Daniel-Constantin Mierla Date: Mon Sep 6 22:34:36 2010 +0200 kamailio.cfg: alias_db lookup enabled by define - replaced the alias_db related comments with defines - lookup in db-aliases can be enabled now by #!define WITH_ALIASDB commit 0efe88e297c66d5a18131ffef22843c4dc5d439d Author: Daniel-Constantin Mierla Date: Mon Sep 6 22:21:00 2010 +0200 tls.cfg: update paths during installation - path to certificates is absolute and set to cfg dir commit d2718daca62bfab4a76d50150df1c6987fca1e55 Author: Ovidiu Sas Date: Sat Sep 4 08:22:22 2010 -0400 ratelimit(s): moved to obsolete commit cc4dd7338ca6ad16b4c18261685cd32b0ac55d25 Author: Ovidiu Sas Date: Sat Sep 4 08:20:30 2010 -0400 ratelimit(k): promoted to generic commit b72876973d820dc5a400e8a40b80ef1a4be1d6ae Author: Andrei Pelinescu-Onciul Date: Thu Sep 2 18:22:06 2010 +0200 doc: cfg_list regenerated commit 814ab6039f2e9fcbf3b91c21f63b097a087b1ca7 Author: Andrei Pelinescu-Onciul Date: Thu Sep 2 18:21:05 2010 +0200 doc: rpc_list regenerated commit d258cf4eb430e9b6552d287744a2d9ecc824e045 Author: Andrei Pelinescu-Onciul Date: Thu Sep 2 18:07:40 2010 +0200 doc: rpc_list: updated list of files with rpc defs Removed modules_s/sl, added counters, malloc_test, sl (merged version), dialog and ratelimit(k) to the default list. commit 01e6e63831143e6cdb599945aa0da53f5e140d74 Author: Andrei Pelinescu-Onciul Date: Thu Sep 2 17:51:04 2010 +0200 doc: cfg_list: updated list of cfg defs files Removed ratelimit(k) (no longer contains runtime cfg vars) and added carrierroute, malloc_test and tls to the default list. commit 097ef991f18b922803f7cb266c00802b52f72cff Author: Henning Westerholt Date: Thu Sep 2 18:42:44 2010 +0200 also add pdb files to ignore list commit 6b2829bfd1041b6ac3bdee9c18acfb366bec8281 Author: Henning Westerholt Date: Thu Sep 2 18:40:20 2010 +0200 add generated man pages to git ignore list, reported from Ovidiu commit 2effff88007d5b543cc8b0779af126f65d18e6fa Author: Andrei Pelinescu-Onciul Date: Wed Sep 1 19:06:17 2010 +0200 doc: generated counter lists commit e7a7c4e0a876b5eb2ed6a36a9667f10840864adf Author: Andrei Pelinescu-Onciul Date: Wed Sep 1 19:03:47 2010 +0200 db_mysql: fixed driver error counter named Changed the name from "Mysql driver erros" to "driver_errors" (spaces in the name, while legal, would make life harder). commit bf9d269f1a903288b0361a538070191b52535f10 Author: Andrei Pelinescu-Onciul Date: Wed Sep 1 13:01:34 2010 +0200 doc: *_list: minor sed script fix Fix empty output for the sed script for parsing/filtering makefiles (in some cases the commands for the last line were not executed). commit 467d1f2f5a9af24bae6ac3c7057ace961c89684f Author: Andrei Pelinescu-Onciul Date: Wed Sep 1 11:36:50 2010 +0200 doc: counter_list Added a new directory (doc/counter_list) complete with Makefiles for auto-generating the lists with all the counters (stats) implemented in the code. Both .txt and docbook format are supported. E.g.: make -C doc/counter_list all # generates the docbook and .txt make -C doc/counter_list/docbook html # html from docbook commit b09a0eb16a3f3f6bdb458f2e118d3c5c2b9549cd Author: Andrei Pelinescu-Onciul Date: Wed Sep 1 10:34:19 2010 +0200 doc: script to generate counter/stats list from C code Added a perl script that generates counter documentation (name and description) from a C file (based on the counter definition array). It can output txt or docbook. commit a3e9121179c22a3cd7aa990982a772f5016d1792 Author: Daniel-Constantin Mierla Date: Wed Sep 1 15:00:13 2010 +0200 xcap_server: documentation updated commit 2ad5ba6fd8a5cde9038d90c969632ee3a1148ccd Author: Daniel-Constantin Mierla Date: Wed Sep 1 14:31:50 2010 +0200 core: make READ_HTTP11 on if NO_READ_HTTP11 is defined - the code is anyhow enabled only when tcp_accept_no_cl is on - suggested by Andrei commit 1ae80a64d1d488ed581a70085c61480ca3ae7c79 Author: Daniel-Constantin Mierla Date: Wed Sep 1 12:49:01 2010 +0200 xcap_server: components of xcap uri available in cfg - the user id is embedded in xcap uri and is needed to decide what is the sip uri associated with it - $xcapuri(name=>key) PV exported to config commit 38f1ee418f7249b713e5f4cdaa8f9fa5c19ad093 Author: Daniel-Constantin Mierla Date: Tue Aug 31 23:24:04 2010 +0200 core: use req.start for http11 tcp read - shifting back chunks is done with memmove - safer for overlapping buffers - credits to Andrei Pelinescu-Onciul commit 9e909bbef33c7d049ff94e9926c4d139caeb94c8 Author: Daniel-Constantin Mierla Date: Tue Aug 31 23:20:00 2010 +0200 xcap_server: parser for xcap uri - easier to get xcap uri attributes for doc and xpath selectors commit 142f0dbd8bf95c81cf6965f50a42588986585d8e Author: Daniel-Constantin Mierla Date: Tue Aug 31 23:17:52 2010 +0200 xcap_server: fixes to put and del ops - take in consideration xpath selectors commit 7e43797d47dc4ac9d5ed53f5166051d7b1e64ea3 Merge: 68ed88e 0d5bd0d Author: Carsten Bock Date: Tue Aug 31 16:47:14 2010 +0200 Merge remote branch 'origin/carstenbock/dialog2' * origin/carstenbock/dialog2: - Updated docs - Use only call-id to get the h_id; otherwise dlg_list_dlg and dlg_terminate_dlg would require the from-tag, which is marked as optional in the docs - added support to terminate a single dialog by providing call-id and from-tag commit 0d5bd0d3b33199ea5ff0baee7c84dae26933bc46 Author: Carsten Bock Date: Thu Aug 19 19:46:37 2010 +0200 - Updated docs commit 606f613a51accee524de02edc789d8d35bf8283d Author: Carsten Bock Date: Thu Aug 19 19:38:55 2010 +0200 - Use only call-id to get the h_id; otherwise dlg_list_dlg and dlg_terminate_dlg would require the from-tag, which is marked as optional in the docs - dlg_terminate_dlg does request the call-id to terminate a specific call (terminating all calls require a little more development) - match_downstream_dialog does only match by call-id (see first point) commit 68ed88ef4ef01789159a4e77302a9ddd8dca442d Merge: 9dbb14f 6ef6daa Author: Carsten Bock Date: Tue Aug 31 16:42:05 2010 +0200 Merge remote branch 'origin/carstenbock/rtpproxy2' * origin/carstenbock/rtpproxy2: - Updated the patch to the latest changes (see previous commit) Add a parameter for the type of the RTP-Timeout-Socket (defaults to 1 for Kamailio-XMLRPC) Added the changes to the RTP-Proxy as a patch, for easier review. - fixed identation The Timeout socket must be sent with Update after session confirmation. Tiny typo. - added support for the retrieval of RTP-Statistics through $rtpstat commit 6ef6daa7f6915ecbbcdee6e7588459bb1ecd6396 Author: Carsten Bock Date: Mon Aug 30 17:17:13 2010 +0200 - Updated the patch to the latest changes (see previous commit) - removed pre-built rtpproxy commit c5e22c43fc4eb52235a8e853824a2181739a876f Author: Carsten Bock Date: Mon Aug 30 16:48:49 2010 +0200 Add a parameter for the type of the RTP-Timeout-Socket (defaults to 1 for Kamailio-XMLRPC) commit bcdfd2ed4dcdc9fdee6264231f71c87a9608f494 Author: Carsten Bock Date: Tue Aug 24 11:08:34 2010 +0200 Added the changes to the RTP-Proxy as a patch, for easier review. commit 63bf1d6a04103eda18a5af7e06a20a7dcc06741c Author: Carsten Bock Date: Thu Aug 19 19:55:01 2010 +0200 - fixed identation - added modified RTP-Proxy (rtpproxy.tar.gz, based on latest git, needs some cleanup) (please note, that you have to have libcurl-dev and libxmlrpc-client (same as for Kamailio-mi_xmlrpc) installed) - some simple testing files (sample config, command line parameters for pjsua (used for testing) and rtpproxy) commit 02f4eddbd34ea09c365ac8bc4af563fc308dbe07 Author: Carsten Bock Date: Thu Aug 19 15:33:30 2010 +0200 The Timeout socket must be sent with Update after session confirmation. commit 71749d2cabff826780ebea672730943102655d0c Author: Carsten Bock Date: Wed Aug 18 22:57:37 2010 +0200 Tiny typo. commit 9dbb14fef6eb0dafff363eb3061e293de45bf7af Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 23:02:48 2010 +0200 doc: rpc_list: improve DEFS parsing When getting all the makefile variables from the Makefiles obey also the conditionals (ifdef, ifndef) and make sure all the makefiles rules are filtered out (to avoid miss-interpreting a shell variable assignment in a rule as a makefile variable). commit b6a87729cb1c2c22095bdd11031d7a199c979b72 Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 13:32:18 2010 +0200 doc: select_list: parse DEFS from the modules Makefiles Get all the variable definitions from each module Makefile and evaluate them to get proper DEFS and INCLUDES (using sed to extract the variable definitions, conditionals and filter-out rules from the Makefiles, some hack to preserve the LFs and $(eval) to evaluate the extracted stuff in the current context). The DEFS and INCLUDES will be passed to the documentation generating script (dump_selects.pl) as extra arguments for gcc. This way the proper defines and includes will be used for each module. Fixes select list generation failure for modules with non-standard include dirs. commit ab5e3984b5afe1d31ed67bbb4842184821215228 Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 13:32:18 2010 +0200 doc: cfg_list: parse DEFS from the modules Makefiles Get all the variable definitions from each module Makefile and evaluate them to get proper DEFS and INCLUDES (using sed to extract the variable definitions, conditionals and filter-out rules from the Makefiles, some hack to preserve the LFs and $(eval) to evaluate the extracted stuff in the current context). The DEFS and INCLUDES will be passed to the documentation generating script (dump_cfg_defs.pl) as extra arguments for gcc. This way the proper defines and includes will be used for each module. Fixes cfg var. list generation failure for modules with kamailio module interface or with non-standard include dirs. commit 5e67b01516fd1672e1ed5c25b270eccca4d885a1 Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 13:46:33 2010 +0200 doc: rpc_list: parse DEFS from the modules Makefiles Get all the variable definitions from each module Makefile and evaluate them to get proper DEFS and INCLUDES (using sed to extract the variable definitions from the Makefiles, some hack to preserve the LFs and $(eval) to evaluate them in the current context). The DEFS and INCLUDES will be passed to the documentation generating script (dump_rpcs.pl) as extra arguments for gcc. This way the proper defines and includes will be used for each module. Fixes rpc list generation failure for modules with kamailio module interface or with non-standard include dirs. commit e8b64a9db7487233e6ddea10ea7b504e0a4484f6 Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 13:28:17 2010 +0200 doc: dump_*.pl: support for gcc 4.5 - support for gcc 4.5 (gcc 4.5 will produce the translation unit dump file in the same directory as the output file, while older versions will always write it in the current directory). - be more verbose on gcc error (display the complete gcc command line) - cleanup temporary files even in the error case commit 89ed370b1a8049c81f55068a280c999442c40d1d Author: Andrei Pelinescu-Onciul Date: Mon Aug 30 23:19:01 2010 +0200 debian: added doc tools to build-depends Added docbook2x, xsltproc and lynx to the debian package Build-Depends. They are needed for building various parts of the documentation: docbook2x for manual pages for some ser modules, xsltproc for pdf and html and lynx for txt/README. Reported-by: Juha Heinanen jh tutpro com commit da381afeb44cbbb470c9bdc944a6169f8937e9aa Author: Daniel-Constantin Mierla Date: Mon Aug 30 19:15:52 2010 +0200 core: better condition for shifting back chunk payloads commit 9d8d30c691fbd779ccf68c5f0f12cef17792934d Author: Marius Zbihlei Date: Mon Aug 30 17:19:17 2010 +0300 modules/db_berkeley Added a compatibility layer between libdb versions smaller than 4.6 and libdb4.6 Cursor method close() is not present in versions smaller than 4.6 thus the module would not compile. Also c_* methods are marked as deprecated so the compatibility layer should be extended as well. commit c16594981087248996381e132e637504a0cac8ef Author: Daniel-Constantin Mierla Date: Mon Aug 30 10:40:33 2010 +0200 xhttp: don't set version to http/1.0 - allow http/1.1 in replies commit b4fbd9f5c164099142c4301660e78a3db63f267c Author: Daniel-Constantin Mierla Date: Mon Aug 30 10:35:46 2010 +0200 tcp: read http/1.1 chunked body - fix for xcap_server module that has to deal with PUT commands from xcap clients - code withing READ_HTTP11 defines (for now off by default) - conditioned by tcp_accept_no_cl=yes - able to handle cases of "Expect: 100-continue" and "Transfer-Encoding: chunked" commit 928c92dbaecf1157445155dd6278f8479da777b7 Author: Daniel-Constantin Mierla Date: Mon Aug 30 10:34:43 2010 +0200 xcap_server: etag column is of type str commit a82617e71dd4c5f5f928c16b054c605980a74ebe Author: Daniel-Constantin Mierla Date: Mon Aug 30 10:33:34 2010 +0200 pv(k): don't use CL for body PV - size of body is computed from size of sip message commit ba63bfee9c4406d4694e886cf2d0236e8a3cc893 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:52:24 2010 +0200 textops(k): declare variables at function start Fixes compilation with gcc < 3.0. commit 1a8ce8fdc91f1708057430bcbe07b5edb656591a Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:51:41 2010 +0200 registrar(k): declare variables at function start Fixes compilation with gcc < 3.0. commit 361ab5c90f2a8750bf58eb2921b8a40294dbfa80 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:50:59 2010 +0200 dialog(k): declare variables at function start Fixes compilation for gcc < 3.0. commit 84482678115bfaf3815c03f55376e553f77dafb8 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:49:58 2010 +0200 mediaproxy: declare variables at function start Fixes compilation with gcc < 3.0. commit 96262b5a05d8f130c6460a8bd97555bc53278f55 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:47:56 2010 +0200 mtree: declare variables at function start Fixes compilation for gcc < 3.0. commit b7ef15763937e08779fa24d9ad4681be56c2b622 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:46:19 2010 +0200 core: don't use conditionals in macro arguments Older gccs (< 3.3) do not like #ifdefs inside macro calls. commit d6dd5f5649bd5b41c7535bde7230251802e88641 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:44:59 2010 +0200 core: pointer aliasing warning fixes for fix_rval_expr commit e18010e954268a69ccbf72025eaf5f52865d88d3 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:42:54 2010 +0200 core: use const in some ip_addr functions Fixes various warnings (gcc-4.2) in other parts of the code. commit e8ef6f9a86e14e50634a8bae6db0b0e164cda917 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:40:45 2010 +0200 core: use const char*/str* for hash functions commit 31b1244704964cb123989bac4f03bcff43f5b1fc Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:39:33 2010 +0200 core: typo fix in dns_cache_clone_entry() commit ff78f8722f20c68f2614788c55300581819a04b0 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:33:45 2010 +0200 tm: warnings and avp param init. fixes - wrong pointer was passed to pv_get_avp_name(): int instead of unsigned short ( => not the whole int was set and problems on big endian archs). - unneeded pointer casts removed - variables declared at the function start (otherwise older compilers won't work) commit b3c6ac1339901e83fcec6f689c0f007f69a101b4 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:30:44 2010 +0200 nat_traversal(k): register stats only ifdef STATISTICS commit 53fb4b2bc0c8983a0df6d04dcaf790a8f438aa91 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:29:28 2010 +0200 sst(k): don't register statistics twice Include kstats_wraper.h and don't register statistics twice (both form mod_init() and via the module exports structure). commit 40944265f59fafe29dcc5040d8408ff1b935e817 Author: Andrei Pelinescu-Onciul Date: Thu Aug 26 21:22:50 2010 +0200 nathelper(k): add missing mi.h include commit 9d80a7e32f1db5e1f166175e55e7868ee75879e7 Author: Juha Heinanen Date: Thu Aug 26 19:54:49 2010 +0300 modules_k/nathelper: better add_contact_alias/handle_ruri_alias fix - In add_contact_alias/handle_ruri_alias functions, use ~ char both as port and transport protocol separator in commit ee37a2ce17c8b8c43c67cd5876fa985e3c1482e8 Author: Juha Heinanen Date: Wed Aug 25 22:30:00 2010 +0300 modules_k/nathelper: replaced offending contact alias character - Changed character ':' in contact alias paramater value to '~', because ':' is not allowed in value field of generic contact parameter. commit ef56e6bc119e982dc305bfa4b7508ca9226a1287 Author: Andrei Pelinescu-Onciul Date: Wed Aug 25 18:59:21 2010 +0200 lcr: fix load_gws() 2nd param load_gws() 2nd optional parameter was treated like a fparam instead of a pv_spec_t (the fixup_igp_pvar function converts the first parameter to a fparam and the second one to a pv_spec). commit 4be7b35e189173130bee449ecd4fd14656c1a5a3 Author: Daniel-Constantin Mierla Date: Wed Aug 25 15:10:14 2010 +0200 textopsx: changed fixup to use fixup_var_pve_str_12() - accept PVs inside str params commit 47f3c43ce442bed6d6b072fb9a563c2d085f36f2 Author: Daniel-Constantin Mierla Date: Wed Aug 25 15:09:26 2010 +0200 auth: changed fixup to use fixup_var_pve_str_12() - accept PVs inside str params commit b373df2ba5669224d402952f28208123829c3934 Author: Daniel-Constantin Mierla Date: Wed Aug 25 13:33:20 2010 +0200 sl: changed fixup to use fixup_var_pve_str_12() - accept PV inside reason phrase param commit 54f04ae93503f1d24763b6b6cb0ceec3045b26d9 Author: Marius Zbihlei Date: Wed Aug 25 14:08:35 2010 +0300 Modules_k:pv No warning message for branch(count) if no branches Patch by Carsten Gross (carsten.gross at 1und1 dot de) commit a5583e0ccff1eda9c38041df9d15a8b21e3ebb0c Author: Andrei Pelinescu-Onciul Date: Tue Aug 24 21:14:50 2010 +0200 core: counters can be used before forking Counters can now be incremented (not only registered) before counters_prefork_init(). This enables using them also from mod_init() or the fixup functions (not recommended but needed for "indirect" calls). Fixes crashes when modules call a counter using function from mod_init() or a fixup. E.g.: xlog(s) does a dns lookup from mod_init. If the lookup fails the dns code will try to increment the new dns.failed_dns_request counter. Reported-by: Michal Matyska michal.matyska iptel org commit a5b499a42d9b0613cc3e99619e744cbe894db3c1 Author: Andrei Pelinescu-Onciul Date: Tue Aug 24 12:27:08 2010 +0200 core: don't try to fixup to PVE in fixup_var_str* Moved PVE (PV based format string) fixing attempts from fixup_var_str* into new fixup functions: fixup_var_pve_str*. If the argument is a constant string, fixup_var_pve_str*() will try first "fixing" it to a PVAR, then (if it fails) to an AVP, SELECT, PVE and finally normal string. If the PVE fixup returned a "static" PVE, the result will be discarded and a normal string fparam will be created (a little bit faster at runtime). The only difference between fixup_var_str*() and fixup_var_pve_str*() is that fixup_var_str*() will not attempt fixing to PVE (does not support PV style format strings). commit 931bd29d504f01eeab738ee5dad72fe7be858adb Author: Andrei Pelinescu-Onciul Date: Tue Aug 24 11:43:36 2010 +0200 core: fix mod_register & dlflags dlflags changes in mod_register() functions were discarded resulting in modules failing to load. commit 83e91df1441b671b358efa0f1919e8ecb122cebf Author: Andrei Pelinescu-Onciul Date: Thu Aug 19 20:03:54 2010 +0200 core: daemon status/pipe fixes & interface changes - moved most of the daemon status stuff to daemonize.[ch]. - nicer interface (e.g. daemon_status_send(code)) - send/read only 1 byte which will be used as exit code - send an error status on error (fixes "Main process exited before writing to pipe" error message) - disabled the timeout. Not needed (now a status is sent always and even an unlikely process crash before sending it is detected via the read() failure) and very hard to find a good value (some setups start very slow). - close the pipe "send" fd in processes not needing it - attempt to send back status only if dont_daemonize is not set (not only if dont_fork==0, it is possible to have forking enabled, but daemonize disabled: ser -DD) - BSDed daemonize.[ch] and pt.[ch] commit df1c754e9563bc20f0c5e740ab1102f9f27c435b Author: Carsten Bock Date: Wed Aug 18 22:35:01 2010 +0200 - added support to terminate a single dialog by providing call-id and from-tag - can also be used to terminate all dialogs on proxy (e.g. before shutdown) Missing: Provide optional headers for the BYE-Message. commit ac84acd54496dec044b2c27ddf80139432f9ae28 Author: Carsten Bock Date: Wed Aug 18 21:27:30 2010 +0200 - added support for the retrieval of RTP-Statistics through $rtpstat - added support for sending a timeout socket towards the RTP-Proxy (for timeout notifications) commit 4380fb9b63d58462f67ea972467556064b7cf0bd Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 20:06:25 2010 +0200 modules*: add k stats. includes where needed Add k statistics includes (../../lib/kcore/kstats_wrapper.h) for modules using k statistics and missing them (needed after no longer automatically including k stats via sr_module.h) commit 742ce3ae28a4d1294ce0b7f63f0bc0968bff8ea3 Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 20:01:31 2010 +0200 kstats: cleanup - move type defs. to separate file - moved kamailio statistics type defs to kstats_types.h (from lib/kcore/kstats_wrapper.h). This removes core dependency on lib/kcore include files (the statistics types are needed for the kamailio module interface defs). - removed statistics.h (it is obsolete, counters.h should be used instead and if somebody really needs it, it should include lib/kcore/kstats_wrapper.h or lib/kcore/statistics.h). commit 65f879ee58a6881eb95ff6fde062498e786115c3 Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 19:58:44 2010 +0200 modules_k/*: add missing lib/kmi/mi.h include commit 627a1969b49446360f227fe23c56b80683145e5f Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 19:54:09 2010 +0200 mi: cleanup - move type defs. to separate file Moved MI types defs to mi/mi_types.h (from lib/kmi/mi.h). This removes core dependency on lib/mi include files (mi types are needed for kamailio module interface defs). commit 96e1bc629bc7ed78dd64b221bc54b266cd45e3ca Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 18:39:43 2010 +0200 tm: don't reply if the reply dest. is not yet set - relay_reply() doesn't attempt to send the reply if the reply destination is not yet fully set. This can happen for example if reply_to_via is set, Via contains a host name (and not an ip) and before having a chance to resolve the name a reply must be sent (reply for a message that hasn't been sent yet: very unlikely, but possible). - use a membar_write() in init_rb(), before setting the reply send socket (the reply send socket is also used as a flag for a fully initialized reply destination and the membar_write() makes sure that everything else was written before the send socket and no re-ordering will take place). commit 66cda7bc5f642ce892124cfb35f1e5effd78e9d6 Author: Andrei Pelinescu-Onciul Date: Wed Aug 18 18:36:14 2010 +0200 tcp: fix double increment for the established stats The counter/stats for established TCP connections were incremented twice in the case of accept()-ed connections: once immediately after the accept() and another time after the first packet received or sent on the connection. Now they are incremented only after the first successful send or receive. commit bb5d5155daefe654f1998f61c3a92c07830d9204 Author: Daniel-Constantin Mierla Date: Wed Aug 18 17:21:14 2010 +0200 pua: updated devel API documentation - updated documentation to reflect latest source code - patch by Nikita Kozlov commit 78beed37b8975e11851553c41c17578481772dad Author: Miklos Tirpak Date: Wed Aug 18 15:32:36 2010 +0200 dns cache: fix manually inserted SRV record order The manually inserted SRV records thought the RPC interface were not ordered by their priority and weight which resulted in wrong SRV look-ups, i.e. not the highest priority record was chosen first. commit cd71125fcdb434d50f6e7b5d208d260ebc49fca6 Author: Henning Westerholt Date: Wed Aug 18 13:45:37 2010 +0200 pdbt: fix two bugs in debian packaging commit ecd3a8bab1e402435aea213c2ae7df2f55a59202 Author: Daniel-Constantin Mierla Date: Wed Aug 18 11:01:46 2010 +0200 kamailio.cfg: db_url parameters are set via defined DBURL ID - one value to be updated in order to change DB connectivity URL, i.e., #!define DBURL "mysql://openser:openserrw@localhost/openser" modparam("xyz", "db_url", DBURL) commit 408983f8a1403e844d679300f0c1ee2ece3cbd6c Author: Daniel-Constantin Mierla Date: Wed Aug 18 10:48:16 2010 +0200 kamailio.cfg: updated users list email address - fixed small typo commit 4efa4b211b19d7676af0b3f30ee8e49503a34b5e Author: Daniel-Constantin Mierla Date: Tue Aug 17 20:35:22 2010 +0200 rtpproxy(k): renamed files to reflect module name commit 5004a60ad8a9cd47a2c6a7fc6eae82c1b371f92a Author: Ovidiu Sas Date: Tue Aug 17 13:10:33 2010 -0400 modules_k:rtpproxy - remove trailing whitespaces from documentation commit 03d5fa3629f2dc566ea6376558061c419bccc6fa Author: Ovidiu Sas Date: Tue Aug 17 13:06:25 2010 -0400 modules_k:rtpproxy - documentation update commit 1e72cd4c4bd82496e98e492656a333b1a9385ae2 Author: Daniel-Constantin Mierla Date: Tue Aug 17 17:26:36 2010 +0200 kamailio.cfg: load rtpproxy module - update for nathelper module split - rtpproxy module needed when WITH_NAT is defined commit 359aacd999b2c7444bbce762ce99df2ec0fdfd91 Author: Ovidiu Sas Date: Tue Aug 17 11:18:30 2010 -0400 modules_k:rtpproxy - silence a noisy probe commit b8f11766d74605da3ebe689b6be21fc0d8a11ca2 Author: Ovidiu Sas Date: Tue Aug 17 10:22:58 2010 -0400 modules_k:nathelper: updated documentation commit f8ae37321fde6cb18b334f0abfee830b52fae70c Author: Ovidiu Sas Date: Tue Aug 17 10:16:03 2010 -0400 modules_k:nathelper - restore nortpproxy_str parameter commit b4c42f7bf36ce7a51fa51c316d1231d621b28362 Author: Marius Zbihlei Date: Tue Aug 17 11:24:43 2010 +0300 core:sr_module If offsetof is not found in stddef.h define it as a macro This is very unlikely; the macro uses the null pointer dereference commit b23832622f9211a04b1718741fd46eabb41937d5 Author: Marius Zbihlei Date: Tue Aug 17 11:12:38 2010 +0300 core: use offsetof() extension to finding the memory offset of a member of a structure This replaces some undefined behavior code in the form of null pointer dereferences Offsetof is present in stddef.h and it is fairly portable across platforms/compilers. commit aff441b32d2f87dfeee112432174e6692c4d6f42 Author: Daniel-Constantin Mierla Date: Mon Aug 16 18:35:45 2010 +0200 tmx: updated for last tm changes - cancel_uacs() takes new type of paraeters - reply function takes str* parameters commit b51171b5b8f1d173f5d3dca4ff92f7232f2a83ca Author: Daniel-Constantin Mierla Date: Mon Aug 16 18:32:48 2010 +0200 tm: update to make seas module work - worked from patch provided by Elias Baixas - new function to build uac cancel exported via API - several parameters for reply functions converted from char* to str* as lenght was available or needed anyhow - updated cancel_uacs() type definition commit f821c005ab3c8db522394b24d9b6213f8086e50d Author: Daniel-Constantin Mierla Date: Mon Aug 16 18:31:58 2010 +0200 makefile: for kamailio flavour define AS support - needed by seas module commit e37c4b117d85f1a5294ceac1d697a1f7eb288788 Author: Daniel-Constantin Mierla Date: Mon Aug 16 18:31:09 2010 +0200 sl: quick update to provie reason param as str* commit 20f4c97f53405b6d74d0e9aa966e6d8cd6fc00a4 Author: Daniel-Constantin Mierla Date: Mon Aug 16 18:28:03 2010 +0200 core: reason phrase param updated to be str* - build_res_buf_from_sip_req() takes reply reason phrase parameter as str* - many calls of this function have already the reason length commit 85f4d191a10be49a2c70a8f7c69cd261f1aadf01 Author: Ovidiu Sas Date: Mon Aug 16 09:15:50 2010 -0400 modules_k:rtpproxy - updated examples - load rtpproxy module for rtpproxy functions commit 5fedfc5276b63ddb9adf31ef10a8357c4a0248c6 Author: Ovidiu Sas Date: Mon Aug 16 09:11:04 2010 -0400 modules_k:nathelper - updated examples - load rtpproxy module for rtpproxy functions commit eba919ffd1d3f56b29d5d4b34ac043d8b690a6b8 Author: Andrei Pelinescu-Onciul Date: Mon Aug 16 14:13:17 2010 +0200 core: fix fixup_pvar_pvar bug Fix typo-bug introduced in d756b6bfb: fixup_pvar_pvar() called fixup_free_pvar_all() instead of fixup_pvar_all(). Reported-by: Juha Heinanen jh tutpro com commit 6e917dffacbd8002e69c53511cb55eda9ae7db8c Author: Ovidiu Sas Date: Mon Aug 16 00:17:35 2010 -0400 Makefile: enable rtpproxy commit 48e555e0a671833c0231db9abc0131def5132623 Author: Ovidiu Sas Date: Mon Aug 16 00:14:20 2010 -0400 modules_k/nathelper: remove rtpproxy functionality from nathelper commit 855549c58b3012a2344260e0d0094ffd30bb9651 Author: Ovidiu Sas Date: Mon Aug 16 00:09:42 2010 -0400 modules_k/rtpproxy: update files - remove nathelper functionality from rtpproxy code commit cef5d23c230d64bba2e0a6ea22897dd7bd0a42ca Author: Ovidiu Sas Date: Mon Aug 16 00:05:11 2010 -0400 modules_k/rtpproxy: new module - copy initial files from nathelper to rtpproxy commit c8345488650f8616d7fed674b83d2ecd6449516a Merge: b4f7c40 4f2a8e0 Author: Andrei Pelinescu-Onciul Date: Mon Aug 16 02:18:57 2010 +0200 Merge remote branch 'origin/andrei/tcp_tls_changes' Asynchronous TLS support and various TCP and io_wait fixes (especially on BSDs). * origin/andrei/tcp_tls_changes: (67 commits) tls: fix partial write on write-wants-read queue flush tls: more config vars displayed by the tls.options RPC tls: fix trailing space in new modparams tls: verbose debugging for SSL_ERROR_WANT_WRITE tls: add lib64 to LIBS path tls: doc - notes about enabling debugging tls: added debug log level modparam tls: modparams for ct write queue params tls: doc - new & async related config options tls: no tls_bio debugging by default tls: change read_ahead, buffers and freelist defaults tcp: verbose and safer close() tls: enable PARTIAL_WRITE by default tls: partial SSL_write support when reading (tls_read_f) tls: don't report SSL protocol errors as bugs tls: more consistent low memory checking io_wait: kqueue: use the entire array during too many errors fallback tcp: fix dispatching closed connections to tcp readers tcp: more complete error messages tls: support for partial encoding and reseting send_flags tcp: support for tls partial encoding tls: update & fix repeated send & delayed send tcp: change tls send callback interface tsend: s/char*/const char*/ in function params. tls: very verbose debug logging tls: fix tls_send out-of-mem on new connection tcp: force eof after read if write side hangup tcp: don't reset read_flags on RD_CONN_REPEAT_READ tls: deal with internal openssl buffering tls: fix initial state error handling tcp: more consistent IO_FD_CLOSING usage io_wait: kqueue: use a bigger array io_wait: kqueue: handle ENOENT and more robust error handling io_wait: fix kqueue io_wait_add & POLLIN io_wait: don't update FD watched status on error io_wait: fix kqueue and too many errors in changelist io_wait: fix: check for EV_ERROR for kqueue() tcp: fix fd passing bug tls: config option for sending close notify alerts tls: SSL_shutdown() only fully established connections tls: ssl_flush() fix and re-worked error reporting tls: tls.list rpc: fix timeout & ip display tls: fix queue accounting tls: rpc: tls.list and tls.options update tls: config options for the internal queues tls: fix wrong wbio usage tls: fix empty files treatment tls: added tls.options rpc tls: migrated to the runtime cfg framework db_flatstore: updated get_abs_pathname use core: get_abs_pathname() uses now pkg_malloc() core: str.h - s/NULL/0/ tls: doc - removed handshake_timeout and send_timeout tls: removed handshake_timeout and send_timeout tls: s/tls_cfg/tls_domains_cfg tls: added tls_info rpc tls: fix unregistered rpc commands tls: async support (major tls core rewrite) tls: tls_bio ctrl cmd support, fixes and debug tls: clear text write queue implementation tls: added a minimum overhead shm buffer queue tls: safer destroy_cfg tcp: new tls hooks interface and async tls changes tls: added custom memory based bio tcp: minor cleanups & spelling tcp: tcp_send() split in 3 smaller functions tcp: comments & new internal command commit 4f2a8e0cf2878fc53953b48761858bdf9a397857 Author: Andrei Pelinescu-Onciul Date: Mon Aug 16 01:12:41 2010 +0200 tls: fix partial write on write-wants-read queue flush When flushing the queue the SSL_write() should be retried until the queue is empty or there is an error (SSL_WANT_READ or SSL_WANT_WRITE), since it is possible to have partial writes smaller then the block size (SSL_write() will write at most 1 record when partial writes are enabled and with the ssl_max_send_fragment option it is possible to set/have record sizes smaller then typical writes). commit cb90d8866c35c54d3b7d624edca7883f42300966 Author: Andrei Pelinescu-Onciul Date: Mon Aug 16 01:04:18 2010 +0200 tls: more config vars displayed by the tls.options RPC Added send_close_notify and debug to the list of displayed config options. commit 0349cab6bdd01d762affcbd1c29e3bd683595ea3 Author: Andrei Pelinescu-Onciul Date: Mon Aug 16 01:02:19 2010 +0200 tls: fix trailing space in new modparams Fix typo (trailing space) in recently added modparams: con_ct_wq_max, ct_wq_max and ct_wq_blk_size. commit 9318b4cbc6e78dd0f28860b0d89e649f9aa17125 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 18:10:42 2010 +0200 tls: verbose debugging for SSL_ERROR_WANT_WRITE Debugging messages for partial write and SSL_ERROR_WANT_WRITE (enabled only if the tls module is compiled with -DTLS_WR_DEBUG and -DTLS_RD_DEBUG). commit bb876db3f752ef463b3131e209d4d5e5ad8aa4e0 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 18:07:38 2010 +0200 tls: add lib64 to LIBS path Add default openssl install path on 64 bit systems ($(LOCALBASE)/ssl/lib64). commit 4b6a0f3dcbfddf2bc333284a9af6c4445ec557c6 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 18:55:15 2010 +0200 tls: doc - notes about enabling debugging - notes about compiling with debugging enabled - document tls_debug modparam commit 6c4a531df862b46dadc62e679da091c07989ff46 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 18:51:38 2010 +0200 tls: added debug log level modparam The log level used for debug messages can now be configured via the new tls_debug modparam. It can be also changed at runtime (tls.debug). Note that for now debug messages will be logged only if tls is compiled with one of -DTLS_RD_DEBUG, -DTLS_WR_DEBUG or -DTLS_BIO_DEBUG. commit 1418a15341736002f336463be795742bd5ae09a9 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 18:03:43 2010 +0200 tls: modparams for ct write queue params Added missing modparams for: con_ct_wq_max, ct_wq_max and ct_wq_blk_size (until now they were configurable only at runtime). commit cdfce2aca8a24b838194769d2d4c6f130b481636 Author: Andrei Pelinescu-Onciul Date: Sun Aug 15 17:47:17 2010 +0200 tls: doc - new & async related config options - document send_close_notify con_ct_wq_max, ct_wq_max and ct_wq_blk_size. - document runtime support for tls_log, low_mem_threshold1, low_mem_threshold2, connection_timeout and config - note about compression being now disabled by default - changed defaults for ssl_release_buffers, ssl_freelist_max_len and ssl_read_ahead. commit b4f7c405a7c15a950ce50561a5a61fb36d59bc28 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 22:25:34 2010 +0200 core: fix unclosed comment commit c16a8388b124a3070c14ef4f3e5b8d73ec0f724c Merge: 2bf60e6 8165147 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 21:44:36 2010 +0200 Merge remote branch 'origin/andrei/cancel_reason' CANCEL Reason support, according to RFC 3326. The Reason headers are added both for CANCELs generated due to a received final reply and hop by hop CANCELs generated because of a received CANCEL. Both cases can be turned on/off individually. * origin/andrei/cancel_reason: tm: no reason modparams if compiled with no cancelr. support tm: option to compile without reason support tm: docs: reason header modparams and script function tm: improved Reason support for E2E CANCELs tm: fix Reason generation for on-the-fly branch CANCELs tm: CANCEL reason header on/off switches tm: Reason header copy for received CANCELs tm: Reason header generation for local CANCELs commit 8165147e32e08032cc20826c8dfad2757d8558d0 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 21:39:03 2010 +0200 tm: no reason modparams if compiled with no cancelr. support Don't register cancel_reason modparams and script functions if compiled with -DNO_CANCEL_REASON_SUPPORT. commit 2bf60e6b6639909db8a64f9b4419ab9159c9814b Author: Henning Westerholt Date: Fri Aug 13 18:07:48 2010 +0200 sms(k): delete after merge with the module from ser commit d64f5e1f8f291342080e395041b453c0c4ad18a0 Author: Henning Westerholt Date: Fri Aug 13 18:05:57 2010 +0200 sms(s): delete after copy to common directory commit 9bb32f81085336a0374d364e9f0a48f8bedeb1e2 Author: Henning Westerholt Date: Fri Aug 13 18:05:22 2010 +0200 sms: adapt user agent string commit 56ccad10bb60d1eb98111542449deb56a14ee5c5 Author: Henning Westerholt Date: Fri Aug 13 18:03:31 2010 +0200 sms(s): move to common modules directory commit 8f52d67376b8a4e31e90894723c3ffa126bb0b80 Author: Henning Westerholt Date: Fri Aug 13 17:58:42 2010 +0200 sms(s): merge changes from sms(k) (log file refactorings and one security fix) commit bf5d1d6f1df303019ccf44f3674c13463d11ec05 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 17:20:26 2010 +0200 tm: option to compile without reason support If compiled with -DNO_CANCEL_REASON_SUPPORT, the reason header support will not be enabled. commit b02aeb0fa769984dd40ca2221a8fc9aaf0088dc8 Author: Marius Zbihlei Date: Fri Aug 13 14:39:49 2010 +0300 modules/db_mysql: Improved handling of driver error counter commit 7ca3941c12b8a78d58642241c3dab9621ff0f2e1 Author: Marius Zbihlei Date: Thu Aug 12 18:11:16 2010 +0300 modules/db_mysql Added statistics (via counter framework) for mysql driver error These errors are caused by lost connectivity to the server. commit 963b5beb686c6b3a6250cee9ad0a068f0d40c340 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 12:30:26 2010 +0200 tm: docs: reason header modparams and script function - docs for: local_cancel_reason = 0|1 e2e_cancel_reason = 0|1 t_set_no_e2e_cancel_reason(0|1) - regenerated README commit c07c2b5e599a2b97fc21d04731f1f9d409859d43 Author: Andrei Pelinescu-Onciul Date: Fri Aug 13 11:45:39 2010 +0200 core: DragonFly kqueue support enabled - fixed kqueue support check for DragonFly (seems to be always supported since it was forked from FreeBSD 4.8). - in dragonfly case define both __OS_freebsd and __OS_dragonfly so that we can make some exceptions for dragonfly (e.g. no >= 4.1 version check at runtime before enabling kqueue). - assume SCTP in 2.6 is at least on par with SCTP in FreeBSD 7.1. commit 7ae55b615e4e35ce47d886b6a9ae6db9865fe1f6 Author: Marius Zbihlei Date: Fri Aug 13 11:35:51 2010 +0300 core:dns_cache When dns_cache is disabled, increment dns error counter on failure This affects dns_resolvehost() and resolvehost() when dns_cache is disabled commit 2f6491383eb4d9a93e61516a42cc3f2f123e9ede Author: Marius Zbihlei Date: Fri Aug 13 11:21:51 2010 +0300 test/unit: Cleaned up cfg for unit tests As modules migrate from modules_k/ to modules/ using relative path in loadmodule statement becomes difficult, so both modules/ and modules_k/ path are searched. commit 7007cde13f33a56aab14fc4db6d44dac567e7905 Author: Daniel-Constantin Mierla Date: Thu Aug 12 20:41:08 2010 +0200 presence(k): add option to keep subscriptions on timed out NOTIFY - patch by Alex Hermann, closes SF#3035794 commit 9216a2ffa4c6ffd4bdd387530cad359f75acf0d7 Author: Daniel-Constantin Mierla Date: Thu Aug 12 17:14:38 2010 +0200 presence(k): copy evs_subs_handl to presence event list - patch by Nikita Kozlov, closes FS#82 commit 97ad00f3fbe9bccd64788aab082b7db0275f6c48 Author: Henning Westerholt Date: Thu Aug 12 17:11:40 2010 +0200 test: fix path in one test after sl move commit f9afe8b64410f66b39513e6bfcedf3ffc71c16a8 Author: Daniel-Constantin Mierla Date: Thu Aug 12 16:00:35 2010 +0200 pv: allow From header attributes to be updated with assignment - same as for To header attributes - writable PVs: $fu, $fU, $fd and $fn commit 203bbc38cb7bca36878b561ea6e6f58d17f07c71 Author: Daniel-Constantin Mierla Date: Thu Aug 12 15:47:12 2010 +0200 pv: more To hdr attributes allowed in assignment - values of username, domain and display name of To header can be set via PV assignmet ($tU, $td, $tn) - use carefully, don't do many assignments to these variables for same message - it can results in strange output due to lumps system used behind. However, you can do msg_apply_changes() after one assignment commit aa2f0a04895a9b402faaef3925267e1992a7bc34 Author: Daniel-Constantin Mierla Date: Thu Aug 12 14:38:36 2010 +0200 pv: $tu can be used in assignments - update sip URI in To header $tu = "sip:test@sip-router.org"; - note that this should be avoided unless strictly necessary (can break compatibility with some old devices that match on To uri instead of To tag commit 506d54309c6c145f349ff1e44e3ae8410c7b642b Author: Marius Zbihlei Date: Thu Aug 12 12:14:59 2010 +0300 core:resolve.c Added counter increment on error case for another function present in the interface TThe get_record() is called when resolving new entries in dns_cache(if compiled). commit 4e0402173999fcb95257ebb000f3a8b951d1f68c Author: Marius Zbihlei Date: Wed Aug 11 17:54:27 2010 +0300 core:dns Added failed DNS requests statistics when dns cache is not used DNS statistics can be seen with: sercmd> cnt.get dns failed_dns_request Still TODO: failed statistics for DNS cache commit 88b1fb440e9a379bbcd64292a8bb1d8e29a8b427 Merge: d3796af 557ddc1 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 22:49:04 2010 +0200 Merge remote branch 'origin/andrei/raw_sock' Raw socket support for sending UDP IPv4 packets (major performance increase on multi-cpu machines running linux: 40-50% faster at least in stateless mode). * origin/andrei/raw_sock: NEWS: notes about the new udp4_raw mode raw sockets: added info rpc core: compile raw socket support by default on freebsd raw sockets: freebsd support cfg: delay cfg_shmize to just before forking core: always compile the raw sockets code on linux raw sockets: ttl can be set from the config file raw sockets: ttl can be set or auto-detected core: include raw socket support in version info raw sockets: use BSD ip & udp structure versions raw sockets: config file support raw sockets: udp send will use now raw sockets if enabled raw sockets: runtime config support raw sockets: build ip header & fragmentation support raw socket: compilation fixes raw sockets: get dst. ip from the ip header core: basic support for receiving udp sip packets on raw sockets core: basic raw socket support functions commit d3796af0614b59b58633243c7d5adb2eaba6276a Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 22:27:53 2010 +0200 app_lua: updated to the sr31 export records - use the new unified sr31_cmd_export_t (removed checks for v0 or v1 modules). - set the correct module function type in the created action (in function of the function export record number of parameters one of the MODULE[0-5]_T or MODULEX_T). commit 690a19f54924cf5fef642b3542b3d86e41170508 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 22:24:46 2010 +0200 debugger: update the module functions types Updated to the current module function types (MODULE*_T), after the rve_f_params merge. Removed MODULE_T and added MODULE0_T, MODULE1_T, MODULE2_T, MODULE1_RVE_T, MODULE2_RVE_T, MODULE3_RVE_T, MODULE4_RVE_T, MODULE5_RVE_T, MODULE6_RVE_T, MODULEX_RVE_T. commit 99cff51099aad0613ed7a7a19c3042045a52917a Merge: 91ce090 c06ba27 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 22:18:06 2010 +0200 Merge remote branch 'origin/andrei/rve_f_params' Automatic support for expressions or variables in lots of module functions. It applies to all the module functions declared without a fixup, with a fixup and the corresponding free_fixup function or with a compatible ser or kamailio style standard fixup (declared in sr_module.h or mod_fix.h). E.g.: f($a, "b = " + $b); t_set_fr($v + 2 + $x). t_set_fr($foo) (equivalent now with t_set_fr("$foo")). If the expression is constant, then there is no restriction, all the module functions can take it as parameter. E.g.: f("7 *" +" 6 = " + 7 * 6) # equivalent to f("7 * 6 = 42") * origin/andrei/rve_f_params: (21 commits) NEWS: notes about expressions in function parameters core: enable RVE fixup support when fixup_free is present core: automatically fill known fixup_free functions core: functions to get a fixup corresp. fixup_free function core: k style fixup_free fixes core: added generic fparam fixup_free functions core: pvapi: added pv_spec_free_contents() core: fix "unsigned" bug in sint2str*() core: fix auto-deref. for vars in fparam fixups perl(k): use sr31_cmd_export_t app_python: use sr31_cmd_export_t core: internal module interface changes print(s): fparam fixup example core: support for RVEs in fparam fixups core: rval - don't use static buffer for int conversions core: ut.* - BSD licence core: ut.h: added sint2strbuf() perl(k): update api calls: s/MODULE_T/MODULE2_T/ app_python: update api calls: s/MODULE_T/MODULE2_T print(s): more module function examples core: support for expressions/variables in function parameters Conflicts: NEWS action.c modules/app_python/python_msgobj.c modules_k/perl/openserxs.xs pkg/kamailio/debian-lenny pvapi.c route.c route_struct.h sr_module.c commit 91ce090529ac1a1c6285f387e57013cad5598def Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 19:49:09 2010 +0200 kamctl: fix make use and make install - use $(MAKE) instead of directly using make. - added targets for the install dirs (create bin_dir, cfg_dir and man_dirs if missing). This fixes make -C utils/kamctl install (allows installing only kamctl). commit 850a7b31de86056fc9223d809dfae54b0e490c5f Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 19:31:14 2010 +0200 presence_dialoginfo(k): fix bsd compilation On FreeBSD don't define _XOPEN_SOURCE (define it only on linux). It's not needed for strptime() and worse will cause some other defines to be missing, like INADDR_LOOPBACK ( if_XOPEN_SOURCE is defined, __BSD_VISIBLE will be undefined => lots of missing defines). Reported-by: Reported-by: Olle E. Johansson oej edvina net commit ecc9fcf9fe61cb355864bf8142e65b8dd9d8658b Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 18:56:57 2010 +0200 xmlrpc: fix includes and libs Reported-by: Olle E. Johansson oej edvina net commit e5978c182e4bd5d5c1d723d00e9f54ea958816c8 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 18:51:09 2010 +0200 sercmd: fix LIBS - don't link -lresolv if not needed - link with libresolv only on linux, solaris and darwin - on solaris link also witl -lxnet and -lnsl (bugs introduced in b0f00c3348b9) commit f6b240d51684040572c75555b1f767df0100d970 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 17:04:14 2010 +0200 NEWS: notes about Dragonfly BSD support commit 7d27010d3aa8ead2d9fec4155c5146d4329b7c35 Author: Vincent Stemen Date: Wed Aug 11 16:58:04 2010 +0200 makefile: Dragonfly BSD support This also simplifies the platform directory path settings so that the ifeq() statements are not nested 5 levels deep. Signed-off-by: Andrei Pelinescu-Onciul commit c39dd933973ba24b449c2b35756c593c093d5f4f Author: Vincent Stemen Date: Wed Aug 11 16:49:40 2010 +0200 sercmd: Patch to add Dragonfly BSD support (makefile) Signed-off-by: Andrei Pelinescu-Onciul commit 5d8552087be74332c1a7812ffb01d8298060cc62 Author: Vincent Stemen Date: Wed Aug 11 16:45:05 2010 +0200 db_text(k) makefile: fix make use This fixes a bug. It called make directly which breaks on platforms where it is being compiled under gmake. Signed-off-by: Andrei Pelinescu-Onciul commit bef528185d7b2e6bfa4ae5ec4bfd4808e1dcf28f Author: Vincent Stemen Date: Wed Aug 11 16:40:41 2010 +0200 makefile: fix $DESTDIR This fixes Makefile.defs to properly handle $DESTDIR as a base installation directory for packaging, etc (equivalent to BASEDIR). Signed-off-by: Andrei Pelinescu-Onciul commit c06ba275405db446df6a3fd1f19f66c7bcd263dc Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 16:16:54 2010 +0200 NEWS: notes about expressions in function parameters commit 557ddc199cb532427e16141d9099e4fb024adf73 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 16:03:55 2010 +0200 NEWS: notes about the new udp4_raw mode commit 27e652b7ed5ef3bccfb92d2653831a1afe37993e Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 16:02:10 2010 +0200 raw sockets: added info rpc Added core.udp4_raw_info RPC for getting information about the raw mode state. E.g.: sercmd> core.udp4_raw_info { udp4_raw: 1 udp4_raw_mtu: 1500 udp4_raw_ttl: 64 } commit 755fe65703f42ced4d3472cd60ffdd6c25ec0204 Merge: cfedffe ec3aca4 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 01:32:07 2010 +0200 Merge remote branch 'origin/andrei/counters' * origin/andrei/counters: counters: 2nd parameter of cnt.get rpc is now optional snmp(k): fix direct access to stat vars counters: doc update counters: extended declaration syntax sercmd: cnt.help command line completion support counters: cnt.help and api update sctp: switched to counter arrays + more stats tcp: switched to counter arrays + more stats core: k statistics counter api update core: counters arrays and counters descriptions doc: NEWS counters/stats update sctp: enable statistics tcp: enable tcp statistics kex(k): updated to the lastest statistics changes kcore stats: rewrote in terms of the counters api sercmd: added command line completion for counters counters: added docs counters: new modules for counters manipulations core: counters / statistics support sercmd: fix cfg. var name completion commit ec3aca49a087e796a6324345346c05bf00b879f6 Author: Andrei Pelinescu-Onciul Date: Wed Aug 11 01:27:46 2010 +0200 counters: 2nd parameter of cnt.get rpc is now optional If the counter name is missing cnt.get will display the whole group (equivalent to cnt.grp_get_all). E.g.: $ sercmd cnt.get tcp { con_reset: 0 con_timeout: 0 connect_failed: 0 connect_success: 0 current_opened_connections: 0 current_write_queue_size: 0 established: 0 local_reject: 0 passive_open: 0 send_timeout: 0 sendq_full: 0 } $ sercmd cnt.get tcp current_opened_connections 0 commit 49e34588e967ed92903eb0825a0b1a4b57b4afd6 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 17:50:47 2010 +0200 core: compile raw socket support by default on freebsd commit 2542c0f30f0ce7cd11c437f19afb53a3b3e9f2a8 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 17:43:25 2010 +0200 raw sockets: freebsd support Support freebsd and theoretically other BSDs (other BSDs not tested): - on most BSDs the offset and length of the ip header must be filled in host byte order (when using raw sockets with IPHDR_INC). - no need for user-space fragmentation for raw sockets - use IP_RECVDSTADDR and IPSENDSRCADDR instead of IP_PKTINFO (for raw sockets without IPHDR_INC) - fix ip header length (wrongly computed, on linux it worked because linux always ignores and overwrites it) commit fbf0d2e03c019e51281ce569b93843ab0577cc0f Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 11:20:26 2010 +0200 cfg: delay cfg_shmize to just before forking cfg_shmize() delayed to allow late changes in the default config (any changes in the default config after cfg_shmize() are ignored). commit 53cc96bd61778fec14ebabd6a6182313bb778aa9 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 11:16:38 2010 +0200 core: always compile the raw sockets code on linux Raw sockets support is compiled always on linux. Note that while the code is there, one still needs to explicitly enable them in ser.cfg or at runtime (e.g. setting udp4_raw = 1 at runtime will switch to using raw sockets for sending if possible). commit 2556cd84fa12b25e9545535db9c766bf9cd3f354 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 11:15:06 2010 +0200 raw sockets: ttl can be set from the config file The ttl used for raw sockets can be set from the config file, using udp4_raw_ttl. -1 can be used for auto-detection. commit 9eb54078fd76b53f27cb57a13ccae9e14e3b5237 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 11:09:19 2010 +0200 raw sockets: ttl can be set or auto-detected The IP TTL used when sending on raw sockets can be set using the core.udp4_raw_ttl config variable. By default it is auto-detected on startup (the same IP TTL as the one for the first udp4 socket is used). commit 83a82189aa73b2175939e496b707588a94d669d6 Author: Andrei Pelinescu-Onciul Date: Tue Aug 10 11:04:33 2010 +0200 core: include raw socket support in version info commit cfedffe13336bfdaba6e1dca1fed718858cdaea5 Author: Ovidiu Sas Date: Mon Aug 9 17:58:22 2010 -0400 core: sdp parser - cosmetic fixes (replacing 0 with NULL) commit 12a33bc8d08cabefb2a0205d4f3c1140b4355707 Author: Ovidiu Sas Date: Mon Aug 9 16:38:09 2010 -0400 core: sdp parser - added suport for fmtp attributes commit 5cac9a1836ff097fe5ff4bc0478cf1ff0e1a7cd3 Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 19:05:46 2010 +0200 snmp(k): fix direct access to stat vars The snmp modules used to access directly some stat vars values, instead of using get_stat_val() (because the kamailio stats are now a wrapper over sr counters, the stats var definition changed and it's not possible to access its value directly). commit 0c5cadddd86c31ce8021811ad4806c02200e21ce Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:41:25 2010 +0200 counters: doc update - document the new format used by the script_counter modparam and by the script functions. - document the new cnt.help rpc. commit 6f7bd906b64527667d5067795ff3401796708a1a Author: Henning Westerholt Date: Mon Aug 9 17:25:14 2010 +0200 siputils(k): fix bug introduced in the sl unification commit e43c19c98cc2c6c26cab2da66e85803e95ff521c Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:13:40 2010 +0200 counters: extended declaration syntax Counters declarations can now include a group and a description. E.g.: modparam("counters", "script_counter", "test.foo example counter) (declares counter foo in group test with the description "example counter") The format for the declarations is: [grp.]name[( |:)desc] '.' separates the group from the counter name and ' ' or ':' the name from the description. If the group is missing, the group defined by script_cnt_grp_name will be used (default "script"). If the description is missing, "custom script counter." will be used. Counter manipulating script functions can now include a group. The format for the script functions counter parameters is: [grp.]name. E.g.: cnt.inc("test.foo") commit 92e30a1e983e99c236ab64fdf2f90bed85ea58cd Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:12:08 2010 +0200 sercmd: cnt.help command line completion support Command line completion support for counter groups and names when using cnt.help. commit 4477123b4981879de826df54df8a0a7f22807b70 Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:09:03 2010 +0200 counters: cnt.help and api update - new RPC for displaying a counter description, e.g.: $ sercmd cnt.help tcp local_reject number of rejected incoming connections. - counter_register() update (takes an extra parameter: the counter description) commit 62ab77b9b7692f48067f36cf241d7feb0879de2f Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:04:41 2010 +0200 sctp: switched to counter arrays + more stats - use counters arrays - added counters descriptions - don't attempt to compile if sctp support or sctp stats support are disabled - more stats: current_opened_connections and current_tracked_connections. commit 17ac58e824e44a298e9211a33089b99841f66217 Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 17:01:11 2010 +0200 tcp: switched to counter arrays + more stats - use counters arrays - added counters description/doc - don't attempt to compile if tcp support or tcp stats support are disabled. - more stats: current_opened_connections and current_write_queue_size. commit 83fc52f0d894a0b0e5a7e895391bd9f0dfdb203a Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 16:59:57 2010 +0200 core: k statistics counter api update counter_register() takes now an extra parameter (description). commit a719d6ae7f9b2227ab483600d8979561b49b32ba Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 16:51:36 2010 +0200 core: counters arrays and counters descriptions - each counter must have a description / help string. - allow null handles in counter_register(). - counters arrays can be used to conveniently describe and register several counters in the same time. E.g.: counter_def_t my_counters_defs[] = { {&h1, "counter1", 0, 0, 0, "test counter1"}, {&h2, "counter2", 0, 0, 0, "test counter2"}, {0, "counter3", 0, get_cbk, 0, "counter with callback"}, {0, 0, 0, 0, 0, 0} }; counter_register_array("my_counters", my_counters_defs); commit 42ce02609d7e056c9d7362c756bc01827f4b42b2 Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 00:40:40 2010 +0200 doc: NEWS counters/stats update commit be186dac78d509f1a36133cbcde1204b613733f6 Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 00:35:04 2010 +0200 sctp: enable statistics sctp statistics implemented using the counters api. Enabled by default (unless compiles with -DNO_SCTP_STATS). E.g.: $ sercmd cnt.grp_get_all sctp { assoc_shutdown: 1 comm_lost: 0 connect_failed: 1 established: 1 local_reject: 0 remote_shutdown: 1 send_force_retry: 0 sendq_full: 0 } commit 1aca6a526b718c95eecdb86e17f7f0eeb7abf0bc Author: Andrei Pelinescu-Onciul Date: Mon Aug 9 00:16:54 2010 +0200 tcp: enable tcp statistics tcp statistics implemented using the counters api. Enabled by default (unless compiles with -DNO_TCP_STATS). E.g.: $ sercmd cnt.grp_get_all tcp { con_reset: 4 con_timeout: 0 connect_failed: 6 connect_success: 1 established: 12 local_reject: 0 passive_open: 11 send_timeout: 0 sendq_full: 0 } commit 7eb676b4bf8c04dc1a63a69d9b9545297de77072 Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 19:47:06 2010 +0200 kex(k): updated to the lastest statistics changes kex used some lower-level statistics access (some of the functions and data types that were deleted) and required some minor updates. commit efb487e2a47d7c714821d506b5efe8cf46d632a6 Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 19:36:48 2010 +0200 kcore stats: rewrote in terms of the counters api Most of the original kamailio statistics functions and data types are now wrappers over sr counters. The only important usage difference is that sr counters are uniquely identified by group and name (one can have counters with the same name if they are in different groups), while kamailio stats vars had unique names. This means that when using the kamailio get_stat(name) the first counter matching that name will be returned (in the future this kind of usage should be obsoleted). Removed functions (not needed): get_stats_collector() destroy_stats_collector() Removed data types: stats_collector module_stats New functions: stats_support() - partially replaces get_stats_collector(). get_stat_name() - returns the name of a stat_var. get_stat_module() - returns the module of a stat_var. commit 388ac89f2cdc2ed6a411238fb9b8b17531557b33 Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 19:33:32 2010 +0200 sercmd: added command line completion for counters Command line completion for counters groups and names, for all the counters RPCs defined in the counters module. commit 5c9d70108df0a318ec62c5dcf64f37b3d969a4ac Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 19:32:03 2010 +0200 counters: added docs commit 90ba454289fb76ba3ba2badd025e6cd41c581740 Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 19:25:07 2010 +0200 counters: new modules for counters manipulations New module for manipulating counters via the script, or RPCs. Script functions: cnt_inc(name) cnt_add(name, val) cnt_reset(name) Before using a counter in the script it must be declared using: modparam("counters", "script_counter", counter_name) RPCs: cnt.get grp name - get counter value cnt.reset grp name - reset counter cnt.grps_list - list all the counter groups cnt.var_list grp - list all the counters names in a group cnt.grp_get_all grp - list all the counters and their value, in a group commit 4208dc00cf245559ed3152beace6084c7c6c4571 Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 18:41:30 2010 +0200 core: counters / statistics support Efficient counters support (api). Incrementing or adding a value to a defined counter is extremely fast at the cost of slower reading (each process has its own set of counters => no cacheline ping-pong and no expensive atomic operations). All counters must be defined before forking (in a module this means from mod_init() or init_child(rank==PROC_INIT)). A counter is uniquely identified by its group and its name (and not only by its name like in kamailio stats). Example (error checking skipped): /* before forking, e.g. mod_init() */ counter_handle_t h; /* declare the counter my_grp.foo */ counter_register(&h, "my_grp", "foo", 0, 0, 0, 0); /* after forking */ counter_inc(h); /* getting a counter value, knowing its group and name*/ counter_lookup(&h, "my_grp", "foo"); val = counter_get(h); commit 261d8282e6dabf73a65904e7a8413ccec9faf2fd Author: Andrei Pelinescu-Onciul Date: Sun Aug 8 18:09:17 2010 +0200 sercmd: fix cfg. var name completion In some rare cases cfg. variable name completion did not work properly (e.g. reusing a command from history, editing it, changing the group and attempting command completion again). This was due to an assumption that the state would be re-initialized on new commands (which is mostly not true). commit 377e5afba8907b0ea84147459c881f6e5af11b0c Author: Ovidiu Sas Date: Thu Aug 5 18:40:53 2010 -0400 nathelper(k): Core SDP parser integrated into nathelper The nathelper (k version) is using the core SDP parser to extract the IP and port from the received message. commit d002aae942d64ebff7621140f2b148401595978b Author: Andrei Pelinescu-Onciul Date: Fri Aug 6 00:22:05 2010 +0200 core: enable RVE fixup support when fixup_free is present RVEs can now be used transparently in all module functions that have registered free_fixup function or that have standard fixup functions with known corresponding free_fixups. This means all the module functions that use ser-like fparam style fixups (sr_module.h) or kamailio style fixups (mod_fix.h). E.g.: texops(k): $del="From"; remove_hf_re("^"+$del); set_body($body, $content_type); commit d709a720cdbc578eb27184061708f730d2552b6f Author: Andrei Pelinescu-Onciul Date: Thu Aug 5 23:13:12 2010 +0200 core: automatically fill known fixup_free functions When a module is loaded, for each fixup with a missing fixup_free function fill the fixup_free function if known. This way if a module uses one of the known standard fixups, the core will fill the corresponding free fixup function even if it's missing in the original module or the module uses a ser style interface (that does not have a way to define free fixups). commit 0b52bcff633ea5482d6812d9f5a84faa7bbc2738 Author: Andrei Pelinescu-Onciul Date: Thu Aug 5 23:09:26 2010 +0200 core: functions to get a fixup corresp. fixup_free function Added functions that given a known fixup, returns its corresponding fixup_free function. The known fixups are the fparam style fixups and the kamailio style fixups (from mod_fix.h). commit d756b6bfbaceddb6f05d038e93f49c062e1baa90 Author: Andrei Pelinescu-Onciul Date: Thu Aug 5 22:55:18 2010 +0200 core: k style fixup_free fixes - always restore the original parameter pointer value in fixup_free function. - fixup_uint_*() re-written (don't use fparam and hence avoid a pkg_malloc()). - remove fixup_free_uint_*(): since the fixup_uint_*() functions replace the original string pointer directly with an integer, it's never possible to restore the original value => it's not possible to have a proper fixup_free_uint_*(). - fixup_regexp_null() and fixup_free_regexp_null() fixed & re-written. fixup_regexp_null() now uses a hack to save the original pointer so that fixup_free_regexp_null() can restore it (now fixup_free_regexp_null() works). - fixup_pvar_*() and fixup_free_pvar_*() fixed & re-written (similar with fixup_regexp_null()). - fixup_igp_pvar(), fixup_igp_pvar_pvar(), fixup_free_igp_pvar() and fixup_free_igp_pvar_pvar() fixed & re-written (similar with fixup_regexp_null()). - added missing fixup_free_* declarations. commit 6a40b4bdc0c9a481276cfdbfde3a70f833b85836 Author: Andrei Pelinescu-Onciul Date: Thu Aug 5 22:47:29 2010 +0200 core: added generic fparam fixup_free functions Added generic fparam fixup_free functions that can be used to clean up after a fparam fixup: void fparam_free_restore(void** param); int fixup_free_fparam_all(void** param, int param_no); int fixup_free_fparam_1(void** param, int param_no); int fixup_free_fparam_2(void** param, int param_no); They will free anything that was allocated by the fixup and restore the parameter pointer to the saved original value. commit b4f455f834e621c58c0750660b9e63ccbb01f695 Author: Andrei Pelinescu-Onciul Date: Thu Aug 5 22:38:24 2010 +0200 core: pvapi: added pv_spec_free_contents() Added pv_spec_free_contents() that behaves like pv_spec_free(), but frees only the contents of the pv_spec and not the pv_spec itself (good for cleaning up pv_specs that are part of other structures). commit 3ed75d129730ffe30fb3c1d5f8fa7870c9b5516a Author: Timo Reimann Date: Thu Aug 5 18:17:01 2010 +0200 modules_k/dialog: Remove trailing whitespace. commit d1693b2c64dfc44f0271bdd1c38315578ebe7135 Author: Timo Reimann Date: Thu Aug 5 17:48:30 2010 +0200 modules_k/dialog: Provide new fix to prevent "unable to find dialog" WARN messages caused by accessing a dialog in the "deleted" state (often happens with simultaneous BYE requests when both UAs hang up at the same time). This commit uses a different approach where a "deleted" flag is set in get_dlg() and lookup_dlg() which callers may evaluate. Callers who only care about existing dialogs can ignore the flag by passing a NULL argument. The commit "replaces" 9b7f25d7 and follows up 0723496c. commit 0723496c037d8e22210861d6a0e9041351097f63 Author: Timo Reimann Date: Thu Aug 5 17:23:34 2010 +0200 modules_k/dialog: Revert "Prevent 'unable to find dialog' WARN messages caused by accessing a dialog in the "deleted" state". The approach chosen was incomplete as it requires extending checks of return values for all calls to get_dlg() and lookup_dlg() against POINTER_CLOSED_MARKER. Otherwise, it may lead to server crashes when code mistakes POINTER_CLOSED_MARKER for an existing dialog. However, having to check against two return values requires a lot of logic changes. Therefore, a better approach will be taken in a follow-up commit. This reverts commit 9b7f25d7196e41cbcc77c1d6e316cb1a8664ed81. commit 3fe8eea70560205d8ffe6b82902ea717d0e33279 Merge: 5dacff0 2c034db Author: Marius Bucur Date: Thu Aug 5 10:50:11 2010 +0200 Merge branch 'master' of ssh://mariusbucur@git.sip-router.org/sip-router commit 5dacff0515a4ce347fd77d8049bab426d527a8ff Author: Marius Bucur Date: Thu Aug 5 10:48:23 2010 +0200 added missing database files for dbtext and berkley commit 2c034db7a3dc22886ad9b848d0c105a26f72e256 Author: Marius Zbihlei Date: Thu Aug 5 11:08:17 2010 +0300 modules/carrierroute Fixed resource leak in case of error 2 FILE* where leaked(fclose was not called) in file mode on the error paths. commit 1fb1997b632b33b4f9195bb3b68111ca6a87d84b Author: Marius Bucur Date: Wed Aug 4 18:35:31 2010 +0200 add new module "matrix" for array lookups commit 3ea6da788168d95a28ea5ec86fc137a3338df104 Author: Andrei Pelinescu-Onciul Date: Wed Aug 4 16:22:11 2010 +0200 core: fix "unsigned" bug in sint2str*() Due to a typo, the sint2str*() functions did not include the sign most of the times. commit 356571397bc86b1d85c588f1a3bfda6b136fbac7 Author: Andrei Pelinescu-Onciul Date: Wed Aug 4 15:51:46 2010 +0200 core: fix auto-deref. for vars in fparam fixups When an expression was fixed-up at runtime by the core and the module had fparam-type fixup, the fparam fixup re-evaluated the result, e.g.: $bar=test; $foo="$bar"; f($foo) => "test" instead of "$bar". Now all the RVE-enabled fparam fixups will avoid this case. commit b4d119dd49338527d0f27d60939269c06b6543ce Author: Andrei Pelinescu-Onciul Date: Wed Aug 4 15:50:30 2010 +0200 perl(k): use sr31_cmd_export_t Use the new cmd export interface when calling other modules functions. commit 5ffba901df81196ab4999a97fbe6008269545cb5 Author: Andrei Pelinescu-Onciul Date: Wed Aug 4 15:49:14 2010 +0200 app_python: use sr31_cmd_export_t Use the new command export interface when trying to call other modules functions. commit dee21fffc8c610a14dec348d286108dbd377b9a0 Author: Andrei Pelinescu-Onciul Date: Wed Aug 4 15:38:58 2010 +0200 core: internal module interface changes Use a new internal representation for the module interface, that combines the ser & kamailio module interfaces plus some extra internal stuff. This allows using extra flags (e.g. the new internal fixup_flags) and also simplifies all the functions dealing with the module interface or cmd_exports (since now there is a single internal interface there's no need to check its version and access it differently depending on it). The ser or kamailio module interfaces are converted to the new sr31 mod interface when the modules are loaded (register_module()). commit 2ae7c6779188e053aa6d1cbd891c428ccc2b63fa Author: Marius Zbihlei Date: Mon Aug 2 17:26:20 2010 +0300 modules/tm: Fixed memory leak related to several tm function exports Mk_proxy() call allocates a new proxy_t* structure. The free_proxy() call does not free this structure, it frees only the content. Another pkg_free is necessary in this case. commit 48f3159cdcc9ef06114a6d8f853687dc1338a8f0 Author: Daniel-Constantin Mierla Date: Fri Jul 30 23:29:43 2010 +0200 presence_dialoginfo(k): don't exeed array size in error case - error handling could get to the size of array as index, resulting in out of bounds operation - patch by Marius-Ovidiu Bucur commit b31c53abf1c3bafafb59d3fa6456135f1da6e6c9 Author: Daniel-Constantin Mierla Date: Fri Jul 30 23:26:35 2010 +0200 presence(k): set properly db updated flag - patch by Marius-Ovidiu Bucur commit f39cb1976978f0860d41a05ed181e45e14c88c58 Author: Daniel-Constantin Mierla Date: Fri Jul 30 20:25:52 2010 +0200 pua(k): use the outbound proxy on updates - patch by Alex Hermann, SF#3035780 commit 6cc5f8ec90db48483d644430bc2628356833fc1e Author: Daniel-Constantin Mierla Date: Fri Jul 30 20:15:13 2010 +0200 pv: fixed tobody.params transformation - len was wrong when having quoted parameters - patch by Alex Hermann, closes SF#3035382 commit 8593bc83c748835c6132eaa678064a2466316ae7 Author: Daniel-Constantin Mierla Date: Fri Jul 30 20:07:45 2010 +0200 core: fix parsing quoted paramers in To header - fix off-by-one bug for quoted parameter values in parse_to - patch by Alex Hermann, SF#3035382 commit 776d941bef2e97089493a896bf0b57607078c52d Author: Daniel-Constantin Mierla Date: Fri Jul 30 19:40:50 2010 +0200 registrar(k): reset local contact holder - when an UA fetches the bindings for a user and the user isn't registered, properly return an empty contact. - closes SF#3035778, patch by Alex Hermann commit e9438550e076de32fc0ebd51c296efba099d82c2 Author: Daniel-Constantin Mierla Date: Thu Jul 29 20:37:50 2010 +0200 xmlops: new module for xml operations - implements $xml(name=>spec) pseudo-variable (previously was in presence_xml) - new parameter buf_size to control the max size of internal buffer for xml document management commit 5d5f342267e6ca70f2af7722e6179fd19ec78945 Author: Daniel-Constantin Mierla Date: Thu Jul 29 20:23:19 2010 +0200 presence_xml: xml PV moved to xmlops module commit 61c4a93486fd3d215efb8d045c7415d752d3f057 Author: Timo Reimann Date: Thu Jul 29 19:09:51 2010 +0200 modules_k/sst: Setting AVPs from integer values requires the PV_TYPE_INT flag to be set. commit a4e0d01788f71e560b1a19a3007a5c29f9150e2c Author: Daniel-Constantin Mierla Date: Thu Jul 29 18:59:47 2010 +0200 textopsx: new module for text operations - it collects functions that have no kamailio or ser specific dependecies - moved here: msg_apply_changes() and change_reply_status() commit 578114778ae0b93c45f9e97dc55066496da77d43 Author: Daniel-Constantin Mierla Date: Thu Jul 29 18:54:53 2010 +0200 textops(s): change_reply_status() moved to textopsx commit 53c5e9c34fee88989f362fb6e3ab83bc67b1eea3 Author: Daniel-Constantin Mierla Date: Thu Jul 29 18:53:42 2010 +0200 textops(k): msg_apply_changes() moved to textops commit 1ede271e9b669b2f335858edb47dd260f0d28ad2 Author: Henning Westerholt Date: Thu Jul 29 18:42:27 2010 +0200 reg(k): only store path if indicated by the configuration commit d4031fa7e9ad917969c04f946f8dd986f8ba0e48 Author: Daniel-Constantin Mierla Date: Thu Jul 29 14:48:21 2010 +0200 acc_radius(k): new module for RADIUS accounting - the modules is built out of acc module radius part - acc module still has the RADIUS accounting inside, available with RAD_ACC define like so far - subject to be removed if everyone agrees - this module can be used together with acc avoiding to recompile acc module to enable RAD_ACC, making at least packaging easier - same cfg parameters and functions used for radius accounting in acc module are available in acc_radius commit 56fa1561014ef4f24daa6a3c591b0a0a272881c8 Author: Daniel-Constantin Mierla Date: Thu Jul 29 14:45:23 2010 +0200 acc(k): exported acc API - internal functions and structures were exported as API to be available for new acc engines out of acc module commit 95dec431421ce9f809f3a15f4c6407fff2d401a7 Author: Daniel-Constantin Mierla Date: Tue Jul 27 23:46:48 2010 +0200 core: new param -A to add cfg preprocesor directives - defines can be specified from command line with option -A - these defines are available from begining of parsing the config - examples: - '-A WITH_AUTH' is like having '#!define WITH_AUTH' at top of cfg - '-A LISTENIP=127.0.0.1' is like '#!define LISTENIP=127.0.0.1' commit b01dc20a7a45e3b80b00b03889762fdff8feda8b Author: Daniel-Constantin Mierla Date: Tue Jul 27 23:20:24 2010 +0200 core: added option '-a' to control auto aliases - enable auto aliases with '-a yes' or -'-a on' - disable auto aliases with '-a no' or -'-a off' - the option overwirtes config value of global parameter auto_aliases commit 0b665153a93ae7f1ff9d25b2ca1e30d9fbbe248b Author: Timo Reimann Date: Tue Jul 27 18:50:31 2010 +0200 modules_k/dialog: Add support for spiral detection. - Introduce module parameter "detect_spirals" which controls whether spiraling messages should be detected or not. - If that flag is set, dlg_onreq() will check incoming message's dialog identifier (except for not yet existing To tag) against its local set of dialogs. If a match is found, the generation of a new dialog will be suppressed. - New dialog callback DLGCB_SPIRALED may be registered to allow custom module actions on occurrence of a spiraling event. commit 42a27402b74d44eebd702bcd5b5afa598205b520 Author: Henning Westerholt Date: Tue Jul 27 18:51:07 2010 +0200 auth_db(k): proper initialization for the default column commit 9b7f25d7196e41cbcc77c1d6e316cb1a8664ed81 Author: Timo Reimann Date: Tue Jul 27 14:37:06 2010 +0200 modules_k/dialog: Prevent "unable to find dialog" WARN messages caused by accessing a dialog in the "deleted" state (often happens with simultaneous BYE requests when both UAs hang up at the same time). - Move POINTER_CLOSED_MARKER from dlg_cb.c into dlg_hash.h for common usage. - in lookup_dlg() and internal_get_dlg(), return POINTER_CLOSED_MARKER when dialog is found but in the DLG_STATE_DELETED state. - in dlg_onroute(), abort request processing if dialog is found to be in the "deleted" state. commit b0c6ef43a57f5fd209bf743af0eb32611449667a Author: Henning Westerholt Date: Tue Jul 27 14:53:57 2010 +0200 reg(k): extend notes about the case_sensitive parameter commit 191cc1d6437a252516d76c6249aa701a5b39b4e4 Author: Timo Reimann Date: Tue Jul 27 14:06:11 2010 +0200 modules_k/dialog: Move comment regarding dialog-destroying unreference operation to proper new location. commit 537dd99065f82f674fba8a5132b9cafb8735f6c9 Author: Henning Westerholt Date: Mon Jul 26 19:01:06 2010 +0200 Revert "db_postgres(old API) FS#77: fix BLOBs with postgres" This reverts commit 2e56720769913c55cacc83fe3a31f44f072e7590. commit 957e2eb50879dbddb1f9a53e04609cfc0c67a178 Author: Marius Zbihlei Date: Mon Jul 26 17:39:18 2010 +0300 modules_k/presence and modules_k/rls Fixed parse_to() usage In case of error parse_to returns a pointer to the last parsed character. This is not a strict error check, as several other modules provide a relaxed way of parsing To header (the uri is still parseable even if the TO headers are not). commit fb712638f633fac52fcd3e5e52ce03f4c5d279ec Author: Daniel-Constantin Mierla Date: Sun Jul 25 22:44:27 2010 +0200 auth_db(k): use fixup_var_str_12() for realm param commit 769c79cb322c0a24772facf3bc6d1bbd14fa69b4 Author: Daniel-Constantin Mierla Date: Sun Jul 25 22:26:14 2010 +0200 auth_db(k): use post_auth() via auth api commit b12e4cb9a16e1844dd061697d5d71ff10ea10216 Author: Daniel-Constantin Mierla Date: Sun Jul 25 22:14:12 2010 +0200 auth(k): module removed - use modules/auth insted of this one commit 90763a8517a9fde756f11efbdd505ee42939a396 Author: Daniel-Constantin Mierla Date: Sun Jul 25 22:10:00 2010 +0200 auth(k) and siputils: moved rpid operations - rpid operations moved to siputils module - it is not much relation between authentication and rpid - auth(k) is to be removed, functionality replaced by modules/auth commit 779bb373b879ddcdcff5a6602ce7a30b4a666e2e Author: Daniel-Constantin Mierla Date: Sun Jul 25 22:08:50 2010 +0200 osp(k): use siputils api for rpid operations - rpid operations were moved from auth(k) to siputils module commit 2583bf412683d3ea0149493b9deaa443aa3ef901 Author: Daniel-Constantin Mierla Date: Sun Jul 25 21:11:14 2010 +0200 kamailio.cfg: updates due to last auth changes commit 9627196608be532a2775c4d2b3819d946bef831b Author: Daniel-Constantin Mierla Date: Sun Jul 25 21:06:54 2010 +0200 auth: aaa_avps.h removed - the file was included only by modules_s/auth_db - its content was sync'ed to modules_s/auth_db/aaa_avps.h - this file was no longer needed commit 81b384a61b617cc6c0e30633432d08c3edc529ce Author: Daniel-Constantin Mierla Date: Sun Jul 25 21:05:11 2010 +0200 auth_db(s): updated local aaa_avps.h - local aaa_avps.h was not used, instead was modules/auth/aaa_avps.h - aaa_avps.h content is taken from modules/auth/aaa_avps.h and now local file is used commit fe69840cf5fb5a1a6cc69d1f683066bca6c9a672 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:54:24 2010 +0200 osp(s): removed unused auth/api.h commit 2b9ff1add50e448a32cfd25f92f64c745e47d920 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:53:55 2010 +0200 auth_radius(s): updated to use modules/auth commit a9ca27b48ed6e2ec4914ba062ae300eb051789b9 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:53:28 2010 +0200 auth_db(s): updated to use modules/auth commit c9ce805e34a9243363227982fbd8bcc971624b16 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:52:59 2010 +0200 auth_radius(k): updated to use modules/auth commit 034d5d4db31099d2cb294e2d4061062a9bc7ca63 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:52:30 2010 +0200 auth_diameter(k): updated to use modules/auth commit 51a5d53a401ab534f1ef91334b19b9f5dbbf66ec Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:52:07 2010 +0200 auth_db(k): updated to use modules/auth commit c39e6a56f4e16f095bfa7763321d32b67ca26684 Author: Daniel-Constantin Mierla Date: Sun Jul 25 20:26:38 2010 +0200 auth(s): module moved to modules/auth commit 70b087d8b879a3f20b050703e12ca3c1ccb918d9 Author: Daniel-Constantin Mierla Date: Sun Jul 25 15:58:14 2010 +0200 osp(s): update Makefile for libosptk commit e4ee1899665610dd7b732ea759286ebc248676d6 Author: Daniel-Constantin Mierla Date: Sun Jul 25 15:48:43 2010 +0200 auth_db(k): updated to use auth(s) module - aliased {www,proxy}_authorize to {www,proxy}_authenticate since they perform user authentication - use the API provided by modules_s/auth, improved functionality and security protection comparing with modules_k/auth commit 9d78c11b87c8647e506f5f0c24705119e5a50f24 Author: Daniel-Constantin Mierla Date: Sun Jul 25 15:44:38 2010 +0200 auth(s): documentation updated commit 9c2c336d7c4b42d144ed4b4296b3a83ffdd78a97 Author: Daniel-Constantin Mierla Date: Sun Jul 25 14:45:32 2010 +0200 auth(s): added enum for cfg return codes - useful to detect if user does not exists or password is wrong - pv_{www,proxy}_authenticate() functions updated to use them commit b3f0a3f0b2b59bbf569af5e066ddf9750f96e8ed Author: Daniel-Constantin Mierla Date: Sun Jul 25 12:47:25 2010 +0200 auth(s): new cfg functions - pv_www_authenticate(real, passwd, flags) - pv_proxy_authenticate(real, passwd, flags) - perform Digest authentication taking password from a parameter (can be cfg var) - username is taken from Auth header - realm and passwd must have values - $td (To URI domain) can be used for REGISTER - $fd (From URI domain) can be used for other SIP requests - flags - bitmask of - 1 - the content of password param is HA1/HA1b - 2 - build challenge header (no qop) and add it in an avp - 4 - build challenge header (qop=auth) and add it in an avp - 8 - build challenge header (qop=auth-int) and add it in an avp - when challenge header is built, append_to_reply() and sl reply functions can be used to send appropriate SIP reply to challenge for authentication - www_challenge(realm, flags) - proxy_challenge(realm, flags) - send Digest authentication challenge (401 or 407 replies) - realm must have value - $td (To URI domain) can be used for REGISTER - $fd (From URI domain) can be used for other SIP requests - flags - bitmask of - 1 - build challenge header (qop=auth) and add it in an avp - 2 - build challenge header (qop=auth-int) and add it in an avp - 4 - do not send '500 Internal Server Error' reply automatically in failure cases (error code is returned to config) commit 9a59a8d7ede331c82fa7644fc114c44faf679dcf Author: Daniel-Constantin Mierla Date: Sat Jul 24 18:59:59 2010 +0200 sl: README includes module parameters commit e687614b733c562b5dc955d58b867d7e7495b19d Author: Daniel-Constantin Mierla Date: Sat Jul 24 18:52:37 2010 +0200 siptrace: updated documentation commit f2ce69bf70641b1ac5a89d4dd46251edfb4c7c10 Author: Daniel-Constantin Mierla Date: Sat Jul 24 18:33:25 2010 +0200 siptrace: added new param to control SL ACKs tracing - trace_sl_acks can be used to disable tracing of SL ACKs - default is 1 (trace ACKs, backward compatible) - but there is no way to apply own filters - event_route[sl:filtered-ack] can be used as alternative, where cfg rules can be used to decide what ACK to trace commit 59793be25566bb7766c6f04327961312509d3e89 Author: Daniel-Constantin Mierla Date: Sat Jul 24 18:24:17 2010 +0200 sl: option to run event_route[sl:filtered-ack] - event route executed when a ACK is filtered by SL module - separate statistic var for SL module failures from err replies commit a578d763c34008aa5a81f1c78351745e72ebf9c8 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:43:43 2010 +0200 sl: updated module documentation - missing parameters and functions added to README commit 4883cf0c8d46a12f61de76fb4df7b955bada4e39 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:22:05 2010 +0200 sl(k): module was removed - from now on use modules/sl commit 541e06792d4b50a005d92b206b80bb253945e135 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:10:32 2010 +0200 unixsock(s): init var to avoid compiler warning commit 621eba8a3a845268cb7b4de0d724657af836b262 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:10:01 2010 +0200 speeddial(s): updated to use common sl module commit 7cccff46f7ad4ffeea0504dc09ff9746fa420c49 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:09:46 2010 +0200 registrar(s): updated to use common sl module commit 78452b1a4a0fda137d780a881f1a65c0a9804ada Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:09:29 2010 +0200 options(s): updated to use common sl module commit ad192a2e8c99821eb0c71b8f3bbb8ae5885b324b Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:09:04 2010 +0200 mangler(s): added missing include file commit 4bfe7ea8e841a62918eeabb87621ffae8f46cf30 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:08:34 2010 +0200 cpl-c(s): updated to use common sl module commit d12f94eb4aaac76a0d532587863e21522f93b267 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:08:12 2010 +0200 auth_db(s): removed unused sl api variable commit 39f66d80a1e4b3c436973a17b5113525c5f53590 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:07:28 2010 +0200 auth(s): updated to use common sl module commit dc0ba95d589caf485ffe2cb48a2597d694b49b44 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:07:08 2010 +0200 xcap_server(k): updated to use common sl module commit 12609bb0558155c0f1070d6bbecae91c29088854 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:06:49 2010 +0200 sst(k): updated to use common sl module commit ea4170cd485bd16e61c9a1e14307b39c8e6941f5 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:06:35 2010 +0200 siputils(k): updated to use common sl module commit 7a7ee280dd99230494aae8c3ded12c2f2202d086 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:06:10 2010 +0200 siptrace(k): updated to use common sl module commit b3a7238f4bc97ec35aa0e4527c0d3b81880b42ae Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:05:43 2010 +0200 rls(k): updated to use common sl module commit dc1fd95a71de69043541b7864ed8f7556746b15b Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:05:19 2010 +0200 presence_xml(k): updated to use common sl module commit 684477403377c6e3f5fd68b2ab4e5d9aca1819bb Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:05:03 2010 +0200 presence(k): updated to use common sl module commit 3f611962c72c722927ab33ec4e31efe8bcfe8e89 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:04:40 2010 +0200 perl(k): updated to use common sl module commit 1a9a0d9bdafb5f7fde613271a0105a1b0143c364 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:04:20 2010 +0200 registrar(k): updated to use common sl module commit 0b40436bb008c0a1c71d3601343dfb433c0f630e Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:03:46 2010 +0200 osp(k): fixed auth api struct name commit 2a3e0687ce2a0ded19b418768837bfc6131cd46d Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:03:26 2010 +0200 nat_traversal(k): updated to use common sl module commit ce22530d40e2dcf07ac1461fe1c66dbf7e3c2202 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:03:07 2010 +0200 cpl-c(k): updated to use common sl module commit a5b9f42d6997ac9b9c42e71e05c7878a78116dfb Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:02:41 2010 +0200 auth_diameter(k): updated to use common sl module commit ad65351e798b32868486f7dc344c15b93e16795d Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:01:34 2010 +0200 auth_db(k): removed internal sl reply - it was used in one case and config does not expect it commit bed051a4eb828800ae13a5b70453f3af2d507cb7 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:00:49 2010 +0200 auth: updated to use common sl module commit d30432bb05c2943e8373d05454b61fc693aaeac4 Author: Daniel-Constantin Mierla Date: Sat Jul 24 13:00:11 2010 +0200 xmlrpc: updated to use common sl module commit 15f2a5275ba6b490c0c580c37d537fb36403b97f Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:59:51 2010 +0200 xhtml: updated to use common sl module commit 33b427e38580da45d563e12e6de70012f33b6fac Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:59:16 2010 +0200 pipelimit: updated to use common sl module commit 604b3b5cccfbd3eaeef2bdd631cfc2bbb2f819e5 Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:58:52 2010 +0200 sanity: updated to use common sl module commit e04578dfca535d3bdb13d742194fc87997afa8ab Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:58:14 2010 +0200 app_lua: updated to use common sl module commit 26c9a27d91bd50d970ca22733a7450eab8ce5887 Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:56:40 2010 +0200 sl: some rework to sl_load_api() - link to kcore for kstats commit 53a5ac3bd03ad4fcd9fa15bf2f576de42dfdd5e3 Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:56:08 2010 +0200 sl(k): removed sl(s) specific api commit b716547bb67f72dfd90c2e48bb622399878c7063 Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:26:28 2010 +0200 core: try fixup to PV list in fixup_var_str_12 - allow strings with static text and PVs as parameter commit b664687b79ef6d7ef05c8cd9f27c8c038dcae865 Author: Daniel-Constantin Mierla Date: Sat Jul 24 12:24:43 2010 +0200 sl: use bitmask to detect existence of cb type - do not build cb parameter if there is no callback function for that type - use char* for reason parameter of cb event commit 40c3f85807c1c48d460076c386aa38dd234f7746 Author: Daniel-Constantin Mierla Date: Sat Jul 24 10:18:17 2010 +0200 sl(s): module moved to modules directory commit f169badde2aecb2cf661f4e8d0f94cc7453fe104 Author: Daniel-Constantin Mierla Date: Sat Jul 24 10:10:38 2010 +0200 sl(s): added more functions to SL API - new function send_reply() that replies stateful using TM if transaction is created - internal functions to get To-tag for stateful (if T exists) or stateless reply - internal function to be able to send reply with pre-set To-tag - wrapper function that takes reason phrashe parameter as str* - callback mechanism to handle sl reply ready and sl filtered ack events commit 52e256540d8d2e6aa17256887fb9ff17580af3f8 Author: Daniel-Constantin Mierla Date: Sat Jul 24 08:44:56 2010 +0200 sl(k): removed not needed var commit 40dd7a45b3ddc2ec47a6b51ff8829d650463175b Author: Daniel-Constantin Mierla Date: Fri Jul 23 21:33:30 2010 +0200 sl: stats exported to K-style api - S stats are available via K stats api - more detailed stats per reply codes commit 45a9c0cb0750835136a8c268a7d2961e0de6aa41 Author: Juha Heinanen Date: Fri Jul 23 15:18:11 2010 +0300 lib/srdb1/schema: updated LCR table references commit a01c593a9626e03961513bd9ff05b8b0b1008897 Author: Henning Westerholt Date: Fri Jul 23 14:07:04 2010 +0200 cpl-c(k): fix gcc warning by making the check more explicit commit 16ca5f004cf18b0a4d1d4e60398fcf32f84d5fbb Author: Henning Westerholt Date: Fri Jul 23 14:01:30 2010 +0200 purple(k): fix sprintf invocation, we need some printing destination here commit 3fe08c96578a49fb70af11dd869de9572057afcd Author: Henning Westerholt Date: Fri Jul 23 13:51:11 2010 +0200 dialog(k): also update README after doc change commit e7096bf24310b71623520a3b963ddc50c111827c Author: Marius Zbihlei Date: Fri Jul 23 11:32:25 2010 +0300 modules_k/pv : Fixed a bug in pv transformation (tobody transformation), that caused a segmentation fault. The bug was caused by a incorrect error handling of the parse_to() method (defined in parser/parse_to.c). The function returns a char* (pointer to the last character parsed), in case of error it updates an error status. On incorrect to params, a segmentation fault happened after some time.(Because of a double pkg_free). commit 87df4928998f87f480a7a6cbfb1e5d8d8a3de836 Author: Marius Zbihlei Date: Thu Jul 22 13:05:14 2010 +0300 modules/carrierroute: In case the reply tree in a fifo dump_routes command can't be executed, release the routing data. S commit 0d81d02e7f1f2f1bd326104e5fd7f9514f31ad2b Author: Daniel-Constantin Mierla Date: Wed Jul 21 21:26:53 2010 +0200 core: updated help msg for mem_summary cfg var commit a31cd01bbd64f1e5d98b0032f7ce6f9158fec720 Author: Daniel-Constantin Mierla Date: Wed Jul 21 21:21:38 2010 +0200 core: more control on mem usage printing - mem_summary value controls separately printing pkg and shm status - 0 - disabled - 1 - pkg status - 2 - shm status - 4 - pkg summary - 8 - shm summary - default is 3 - pkg/shm status - the value can be updated via rpc, making easier to troubleshoot separately shm or pkg commit 84597b7b05a886ec09a2fb33536612e1553d8dce Author: Daniel-Constantin Mierla Date: Wed Jul 21 20:58:51 2010 +0200 core: detailed help msg for -W option - poll type option requires an argument commit 03e20458bc83a8d918c2ea17c3f46a073ce7cdd8 Author: Timo Reimann Date: Wed Jul 21 16:19:06 2010 +0200 modules_k/dialog (doc update): Be specific on the fact that only confirmed dialogs can be terminated by means of "dlg_end_dlg". commit 023beb6191cb429024a5afbd97406c728dad6e66 Author: Elena-Ramona Modroiu Date: Tue Jul 20 19:06:35 2010 +0200 pdt(k): reset pdtree head if error in init - avoid second free attempt in mod destroy if the module does not initialize properly commit bdc85a8cdf3e4ec8ae543691ed77e6ab0e458240 Author: Daniel-Constantin Mierla Date: Fri Jul 16 19:10:54 2010 +0200 core: pkg size can be set via compile option - new makefile option PKG_MEM_SIZE that can be used to specify the size in MB for PKG memory, e.g., make PKG_MEM_SIZE=8 cfg - easier way to set the pkg size without messing with c code and defines in config.h - pkg size is printed by -V command line option commit d38a78bfa702927cb298d0c3c033f563c6183879 Author: Andrei Pelinescu-Onciul Date: Fri Jul 16 18:50:04 2010 +0200 tls: no tls_bio debugging by default Don't log BIO level debug messages, unless compiled with -DTLS_BIO_DEBUG. commit f3d351355852c7df6582bcd7939ee3855168a60a Author: Daniel-Constantin Mierla Date: Fri Jul 16 17:22:05 2010 +0200 dispatcher: doc updated to reflect PV parameter options - ds_select_dst() can take PVs as parameters commit 5a25609343f5697e6ebcf8f49e589b992a8af72e Author: Daniel-Constantin Mierla Date: Fri Jul 16 17:19:48 2010 +0200 tm: use warn to print message if load_tm is not found - in case of sl trying to import tm api for stateful reply, is not an error if tm is not found - modules importing tm api print error message if the function returns error code and they need the tm commit 6ecd49834d6f683188484f96d46874b48274dd8c Author: Andrei Pelinescu-Onciul Date: Fri Jul 16 15:52:13 2010 +0200 tls: change read_ahead, buffers and freelist defaults - disable ssl_read_ahead by default. It is not needed anymore since now we have our own memory-like BIO, which buffers the socket I/O. While in the normal direct socket access case it's an important speed-up, in our case it would consume more memory and introduce a minor slow-down (extra memcpy). - if the openssl version supports it (>= 1.0.0) default to ssl_release_buffers = 1 (which instructs openssl to free the buffers as soon as possible) and ssl_freelist_max = 0 (don't keep free buffers around). This should decrease openssl memory consumption with no other impact (since we buffer everything in our custom BIO anyway). commit ab88df95e9fb22ca539bf399d597a844a63da676 Author: Andrei Pelinescu-Onciul Date: Fri Jul 16 15:14:11 2010 +0200 tcp: verbose and safer close() - added tcp_safe_close(): a wrapper over close(). - repeat every close() on EINTR (not only the one called from tcp_main). In general according to posix the state of the file descriptor after an interrupted close() is undefined. However in the ser case it's always safe to retry the close (there are no other threads that might open new fds while the close() is retried). - ignore "expected" close() errors. On *BSDs (for example) close()-ing a socket will return the last error (e.g it can return ECONNRESET, EPIPE a.s.o.). Note that this is not true on linux. - on close failure be more verbose if there is enough information for a useful error message (the corresp. tcp connection structure is known and can still be used). commit 2b2f4954554edaa7797a3e29da056b80393ec5dd Author: Daniel-Constantin Mierla Date: Thu Jul 15 14:02:46 2010 +0200 core: added pv name free function - some PVs have dynamic name, therefore parsing them at runtime result in memory leak - the new attribute allow to free such kind of names - not the case so far with stable versions but this can happen when using such PVs with app_lua commit 2b680bde0605cbc1cb4840105fafc83a2a235ec5 Author: Daniel-Constantin Mierla Date: Thu Jul 15 13:48:21 2010 +0200 core: print line for include_file errors - easier to localize the error, reported by Raul Alexis Betancor Santana commit 420eb49f121793fe9094826e18bbf04ed1e65fce Author: Andrei Pelinescu-Onciul Date: Tue Jul 13 21:00:37 2010 +0200 makefile: fix repo_state commit 9683a7937dceb0a5e112c1b635c54fed87b7baa4 Author: Andrei Pelinescu-Onciul Date: Tue Jul 13 20:40:14 2010 +0200 kex: print the git hash instead of the svn hash commit 20fd4b8b75002c70ecfa826509fb5e5f2046b034 Author: Andrei Pelinescu-Onciul Date: Tue Jul 13 20:38:08 2010 +0200 core: more version related rpcs core.flags - prints the compile flags. core.info - verbose version info, including the version, git hash, compiler, compile date and compile flags. commit 1ef55a0915c675ada0cecf7c7b6e0bb0d72f4da7 Author: Andrei Pelinescu-Onciul Date: Tue Jul 13 19:59:26 2010 +0200 core: move version strings to a separate file - moved version strings to variables (instead of macros) and in a separate file (ver.c). This will require re-compiling only one small file and re-linking on version or repository changes (e.g. new commit or local uncommitted changes), instead of recompiling main.c and core_cmd.c. - more detailed info about the repository state is now available via repo_hash (hash of the top commit) and repo_state (dirty or ""). - the core.version rpc reports now directly the version number (complete with repository hash and state), without prefixing it with "Server:", e.g.: ser 3.0.99-dev1 (i386/linux) dd9681-dirty instead of Server: ser (3.0.99-dev1 (i386/freebsd)) d89437-dirty commit 3537c2d8c27617023cb9f9a569435483748fef1f Author: Timo Reimann Date: Mon Jun 28 10:50:05 2010 +0200 modules_k/dialog: Delay dialog deletion to absorb late in-dialog requests - When a dialog's state transitions to DLG_STATE_DELETED, register a tm callback for TMCB_DESTROY to absorb late in-dialog requests (no more "unable to find dialog for " log messages). - On callback, unreference and, in consequence, destroy the dialog. commit dd9681ce5f6602c888d847a283eaaf637318994d Author: Timo Reimann Date: Mon Jul 5 17:52:12 2010 +0200 Increase failed_dlgs when a non-2xx final response has been received only. commit d4c63b7f3e7be5a2a86c929d013f19d6c8cbb4eb Author: Timo Reimann Date: Tue Jul 13 14:46:54 2010 +0200 Fix minor typo commit 4a84c8c410ce45d9e5443eb52ac4c79e47ab5f3c Author: Timo Reimann Date: Tue Jul 13 13:21:40 2010 +0200 modules/dialog: Do not send BYE request for non-confirmed dialogs (not supported). commit d950e1dfaa6b13867bf469a76a0c33fa7eb54f4d Author: Andrei Pelinescu-Onciul Date: Fri Jul 9 20:20:51 2010 +0200 tls: enable PARTIAL_WRITE by default Set SSL_MODE_ENABLE_PARTIAL_WRITE and SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER on startup. commit 813284bad28a11c985cbd4ce370fdee98c815e88 Author: Andrei Pelinescu-Onciul Date: Fri Jul 9 20:03:45 2010 +0200 tls: partial SSL_write support when reading (tls_read_f) When writing-on-read (due to queued send data waiting for a renegotiation to complete), retry the write if it did not have enough buffer space to complete (after freeing the buffer space by tcp_send-ing its content). commit e536c71c072c3c74b1b89a58e996b347a583255a Author: Andrei Pelinescu-Onciul Date: Fri Jul 9 20:01:41 2010 +0200 tls: don't report SSL protocol errors as bugs Report SSL protocol level error at a L_ERR level and not as bugs. commit cada1734897f1d108fb80ea1ce306432397b0846 Author: Juha Heinanen Date: Fri Jul 9 12:54:01 2010 +0300 modules/dialplan: added check that database string value is not null - Added NULL check to GET_STR_VALUE macro. - Credits to Bogdan-Andrei Iancu. commit f2fa987281afd66f772646530e4e58f08ffb5954 Author: Andrei Pelinescu-Onciul Date: Thu Jul 8 17:38:09 2010 +0200 tls: more consistent low memory checking When checking for low memory, check for low_mem_threshold1 only when a new connection is opened and not also during the initial setup/key exchange. This would avoid closing partially opened ssl connections on low memory (at least unless low_mem_threshold2 is also exceeded). commit ce63e6365ef3c9e9fa4914a90e71aaf599b02275 Author: Andrei Pelinescu-Onciul Date: Thu Jul 8 17:28:46 2010 +0200 raw sockets: use BSD ip & udp structure versions Use the BSD versions for the ip header structure (struct ip instead of struct iphdr) and the udp header structure (struct udphdr). Since the BSD versions are used in most Unixes, this change would make the code more portable. commit a9cdfc2938ca73d6ba40f5896c6a8930c2e73f85 Author: Andrei Pelinescu-Onciul Date: Thu Jul 8 15:18:52 2010 +0200 io_wait: kqueue: use the entire array during too many errors fallback Minor fix/optimization: if there are too many errors in the changelist and the kevent() call has to be retried, use the entire array (don't rely on the current watched fd number which will be smaller then the array real size, since commit 996826). (only kqueue using systems are affected by this fix: *bsd and darwin) commit fb39052ff574c133c74f1f0a1c8d5f43b5bc93be Author: Daniel-Constantin Mierla Date: Thu Jul 8 12:34:40 2010 +0200 tmx: use TM api function to get tm table - fix missing symbol for mode=debug, reported by Santiago Gimeno commit 181f81b2458ee04241b36c65ac1d95f38003250d Author: Daniel-Constantin Mierla Date: Thu Jul 8 12:32:45 2010 +0200 tm: export function to get access to tm table - to fix missing symbol in tmx for mode=debug, reported by Santiago Gimeno commit 922df4f0e32bd953c662c796058c8bf93cfd62b6 Author: Marius Zbihlei Date: Wed Jul 7 13:37:18 2010 +0300 modules/carrierroute Improved pkg memory usage Remove a unnecessary pkg_malloc/pkg_free done for every cr_route() module export. This will decrease pkg memory fragmentation commit d89437a3d7bc25a9c098a04c6ee69fc3848ff0b5 Author: Andrei Pelinescu-Onciul Date: Wed Jul 7 11:59:30 2010 +0200 tcp: fix dispatching closed connections to tcp readers Under very heavy load it is possible that send2child() might try to send an already closed connection/fd to a tcp reader. This can happen only if the tcp connection is watched for read (POLLIN) by tcp_main (and not by a tcp reader), the connection becomes available for reading (either new data received, EOF or RST) and tcp_main chooses a specific tcp reader to send the connection to while in the same time the same tcp reader tries to send on the same connection, fails for some reason (no more space for buffering, EOF, RST a.s.o) and sends a close command back to tcp_main. Because send2child() executes first any pending commands from the choosen tcp_reader, this might lead to closing the fd before attempting to send it to the tcp_reader. Under normal circumstances the impact is only an extra syscall and some log messages, however it is possible (but highly unlikely) that after sending the close command the tcp_reader opens a new connection for sending and sends its fd back to tcp_main. This new fd might get the same number as the freshly closed fd and send2child might send the wrong (fd, tcp connection) pair. commit 5146c47626d0fb9942ae914fc64c11bef728f5f0 Author: Marius Zbihlei Date: Wed Jul 7 12:39:58 2010 +0300 Fixed a memory leak on shm memory, caused by the dtrie implementation. dtrie_destroy and dtrie_clear could leak 10 * sizeof(void*) for each node in the trie. Mainly affected carrierroute and userblacklist modules (cherry picked from commit 5c5cc3df5301e86ee78d79f52aa917e0f67f37e8) commit bf755a372f5d5928e275788104204d9c7927c142 Author: Andrei Pelinescu-Onciul Date: Tue Jul 6 23:34:17 2010 +0200 tcp: more complete error messages - more information in some error messages (very useful when debugging) - spelling fixes commit a08385f531dd0bf1044c8495e6e47c9aabfebd8a Author: Andrei Pelinescu-Onciul Date: Mon Jul 5 15:23:02 2010 +0200 tls: support for partial encoding and reseting send_flags Support for the extended version of the tls_encode() callback. On partial tls write and no more space in the internal static buffers for more records, return what records were encoded so far and ask to be called again after they are sent. When exiting after a partial write or after postponing the encode until more data has been read (WANT_READ), make sure that any request to close the connection after the first successful tcp level write will be postponed (reset SND_F_CON_CLOSE). commit e316312628e61cbded9b991d21385b4e8180b538 Author: Andrei Pelinescu-Onciul Date: Mon Jul 5 14:44:14 2010 +0200 tcp: support for tls partial encoding The tls_encode() callback supports now partial encoding. It can encode only part of the input buffer (e.g. tls partial write enabled and not enough space in the internal buffers for all the tls records) and ask to be called back later with the remaining un-encoded part. The send flags are also passed to it, so that it can modify them if needed (e.g. reset SND_F_CON_CLOSE on partial tls write or when reading some data is needed before continuing the tls write). commit 9a65f7d218a5740fb0196384e29e417efc755efb Author: Daniel-Constantin Mierla Date: Mon Jul 5 10:37:22 2010 +0200 debugger: work on nicer output - output of dbg command to print action name along with type, making it more user friendly and easy to understand commit 39ac6a5c0a7833ad0c29ae7711f37b92c5c81e95 Author: Daniel-Constantin Mierla Date: Mon Jul 5 10:36:58 2010 +0200 core: typos in comments commit 4ed0fcaf92979f6b8f88e4da6ad89c352f0594e1 Author: Ovidiu Sas Date: Sat Jul 3 00:38:22 2010 -0400 modules_k: dialog - update README with RPC functions commit 9ef1e02ac525368577efeabfd650c8c102827e75 Author: Ovidiu Sas Date: Fri Jul 2 22:38:55 2010 -0400 modules_k: ratelimit - README file updated to reflect rl_drop() removal commit 721354929365b57a1e0337dccde9d58ce8d03945 Author: Ovidiu Sas Date: Fri Jul 2 19:11:40 2010 -0400 modules_k: ratelimit - rl_check(): strict pipe boundary checking commit 9f652c9de2e95671aecae2cdce00fb6c15a265ea Author: Ovidiu Sas Date: Fri Jul 2 18:45:22 2010 -0400 modules_k: ratelimit - removing rl_drop functionality - rl_drop is now obsolete: same functionality can be achieved by invoking: append_to_reply("Retry-After: 5\r\n"); sl_send_reply("503","Limiting"); - sl dependency was also removed and therefore the module can be used in both s and k configurations. commit 60c69abf1faeede5ce224b861b8f0eca9a8a452a Author: Ovidiu Sas Date: Fri Jul 2 17:41:05 2010 -0400 modules_k: ratelimit - removing MI interface from README doc file commit c3a511688537893b31907b6d6d0c12603404d146 Author: Juha Heinanen Date: Fri Jul 2 19:42:18 2010 +0300 modules_k/auth_radius: fixed header name in README commit f1c35c13252d3160334e9b3f56094404f06009ba Author: Daniel-Constantin Mierla Date: Fri Jul 2 18:21:10 2010 +0200 tm: TMCB_RESPONSE_READY executes by its own - removed the define of it to TMCB_RESPONSE_OUT - now this callback is executed before writing reply to network commit 6f5bc8bed44491c63e65f0f85c2595887fa2a073 Author: Juha Heinanen Date: Fri Jul 2 16:53:33 2010 +0300 modules_k/auth_radius: module is now using api from modules_s/auth commit badbfafb4d5b49b9bf75e26fc47be402fb5c8aa3 Author: Juha Heinanen Date: Fri Jul 2 15:00:45 2010 +0300 modules_s/auth: cleaned up readme - Removed nonexistent stuff from README, but didn't add anything. Some module params are still undocumented. commit 9d8c55287ea9ac93440d762c511afe531c629552 Author: Daniel-Constantin Mierla Date: Thu Jul 1 21:03:36 2010 +0200 msilo(k): updated readme file - documented the new parameter add_contact - readme file regenerated commit 8ffb09ce908088af89e70a5acd87a318baf5a029 Author: Daniel-Constantin Mierla Date: Thu Jul 1 20:56:23 2010 +0200 msilo(k): parameter to control contact header - add_contact parameter controls whether contact header is added to msilo generated messages - default is off (no contact added, as per RFC3428), reported by Juha Heinanen commit bc34a82fbf5bd903cc50cb34c73afb7b685603a7 Author: Daniel-Constantin Mierla Date: Thu Jul 1 19:19:17 2010 +0200 pdb: avoid child re-init - for mi cmd when used over xmlrpc module commit 6c1e441f8c137503e3edd0a92d9bec5a7bd11379 Author: Daniel-Constantin Mierla Date: Thu Jul 1 19:13:46 2010 +0200 mtree: avoid re-init of db handler - applies for mi cmd usage with xmlrpc module commit 098deec785ab7c4e927104e83fc84b6c1b347719 Author: Daniel-Constantin Mierla Date: Thu Jul 1 19:08:04 2010 +0200 presence_xml: avoid re-init of db handler - safety check for usage of xmlrpc module for mi cmds commit 8a1d985743fe6ec544a215b8ddb6e54adbb024d9 Author: Daniel-Constantin Mierla Date: Thu Jul 1 19:07:18 2010 +0200 presence: avoid re-init of db handler - safety check for usage of xmlrpc for mi cmds commit 7537d27782b185a20d32b08f7bcb30557bb3b7ff Author: Daniel-Constantin Mierla Date: Thu Jul 1 19:00:51 2010 +0200 kex: check if uptime value was initialized commit 3f2ca85f4254746240177830e85a87b81d8cfd85 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:57:09 2010 +0200 userblacklist: avoid double child initialization - safety check for cases when xmlrpc module is used to run mi commands commit 8948fe654b83217979b2d2154934a973aefa9ae3 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:43:54 2010 +0200 usrloc(k): avoid re-initialization of db handler - can happen if mi commands are used over rpc interface via xmlrpc module commit c65fc04ff83c6304d5889f3426b3b96b5ac7ee69 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:35:27 2010 +0200 domain(k): safety check for db handler initialization - avoid double initialization of db handler when using xmlrpc module for mi commands commit 76266ca085d05be949ddc34df513de6810c5d65f Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:31:14 2010 +0200 drouting: check if db connection is initialized - applied for the case of mi reload command commit e723b2b24a87599d538b652ee60c862f769f8036 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:22:15 2010 +0200 htable: close db connection in case of mi cmd errors - in some error cases while processing mi reload command, db connection was left open commit 2e8d469de4253444d61cb186395d40c0fd492fe6 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:15:33 2010 +0200 pdt(k): safety check for db handler initialization - there can be two attepts to initialize if xmlrpc module is loaded commit b2b2a82d497ee37428abab933f4862255bc5c4a1 Author: Daniel-Constantin Mierla Date: Thu Jul 1 18:13:54 2010 +0200 mi_rpc: initialize mi cmds for sip workers - xmlrpc module re-uses sip workers to process xmlrpc request which can execute mi commands, therefore is need to initialize mi cmds as for a mi process - initialization is done only when xmlrpc module is loaded commit df2d92a1f0698e0d108ec080de5fc3673d332209 Author: Daniel-Constantin Mierla Date: Thu Jul 1 17:40:20 2010 +0200 permissions(k): safety check for db_handle - avoid double initialization of trusted ops db handler commit 8bf53ec54beab825794b8345cce7fdb41c783809 Author: Timo Reimann Date: Wed Jun 30 18:25:55 2010 +0200 Do not consider in-early-dialog BYE requests to be bogus. commit 5dcc8789096e9c7148aa9ba1242f84e3412b050d Author: Daniel-Constantin Mierla Date: Thu Jul 1 12:10:34 2010 +0200 permissions(k): reverted incomplete fix for mi cmd - the mi command execution via rpc is fixed by initialization of mi commands done now by mi_rpc module commit af18dae034cf8836f1627929f189983ca6010428 Author: Daniel-Constantin Mierla Date: Thu Jul 1 12:08:42 2010 +0200 mi_rpc: call MI init child functions - MI init child functions called for RPC processes - fix for several MI commands that can be executed now via RPC and they needed to do specific initialization for each process - reported by Juha Heinanen commit 4047fc33053898d17498104b849dae9e45bee1e6 Author: Daniel-Constantin Mierla Date: Thu Jul 1 12:04:52 2010 +0200 kmi: allow multiple initializations of mi child - safety check to detect if mi child was initialized - protect against multiple initializations that can occure due to usage from MI or RPC processes commit a52d454125eee97f2c2c76aeb2db0244ebffdf12 Author: Ovidiu Sas Date: Wed Jun 30 11:51:56 2010 -0400 modules_k: ratelimit - removing the old mi interface commit 259441d3e4f66f0907e2570809928d30b1527479 Author: Juha Heinanen Date: Wed Jun 30 17:15:37 2010 +0300 modules_k/msilo: do not include Contact header in msilo generated messages commit 1010ba9fe6fdfcffa6322418b0011280d7eda6b8 Author: Miklos Tirpak Date: Wed Jun 30 14:39:42 2010 +0200 modules_s/xlog: range specification added The xl-formatted string can contain the range of the expression the following way: - %[] - %[-] - %[-] - %[-] For example "%[-3]@ruri.user" prints the first 4 characters of @ruri.user. The index numbers start from 0. commit a1dea0ec1d8418ef039d100119c801c91a60a253 Author: Miklos Tirpak Date: Wed Jun 30 10:21:24 2010 +0200 dns cache: fix dns_cache_delete_single_record() Binary comparison is needed to check the flags. commit 7aed7d72c98a8228e9687773c3bab20d8934251a Author: Daniel-Constantin Mierla Date: Tue Jun 29 19:48:59 2010 +0200 core: safety check for free contact - patch by Sebastian Z., checking if the content is null before freeing it commit 87ef6a3339734b9231be6c94683b60431ba75ae3 Author: Daniel-Constantin Mierla Date: Tue Jun 29 19:47:50 2010 +0200 makefile: added radius modules in excluded list commit 2e56720769913c55cacc83fe3a31f44f072e7590 Author: Henning Westerholt Date: Tue Jun 29 18:11:58 2010 +0200 db_postgres(old API) FS#77: fix BLOBs with postgres fix BLOBs with postgres, also add a null-termination as the other SQL databases in order to be able to work with the presence modules commit a2f7b089506bbb32b76d81d787eab0d9d9c8168e Author: Ovidiu Sas Date: Tue Jun 29 11:28:26 2010 -0400 modules_k: dialog and qos - add context info to dlg rpc commands - context info for dialog rpc commands is now implemented commit 3a648a8bb05e891e52ca759ffc78c5f1807f6d1e Merge: e5e03e8 3f5909f Author: Ovidiu Sas Date: Tue Jun 29 10:09:27 2010 -0400 Merge branch 'master' of ssh://osas@git.sip-router.org/sip-router * 'master' of ssh://osas@git.sip-router.org/sip-router: auc(k): fix error in authentification: Digest should be compared case insensitive commit e5e03e8589851f3b115f8aca7dea40a34c597416 Author: Ovidiu Sas Date: Tue Jun 29 09:53:05 2010 -0400 core: rpc - adding rpc_cb_ctx_t - rpc_cb_ctx_t is a convenient way of packing an rpc callback (rpc_function_t) parameters and it's not used/needed by the rpc api/interface. commit 3f5909fd3ca55aa43148d81a8874eaeaeaf91968 Author: Henning Westerholt Date: Tue Jun 29 12:26:30 2010 +0200 auc(k): fix error in authentification: Digest should be compared case insensitive commit 10ba00838420a78c2cd6c2e99d8c5217b713a918 Author: Ovidiu Sas Date: Mon Jun 28 19:05:31 2010 -0400 core: sdp parser - fix the extraction of connection stream IP commit 986e8c19b4a66280f7e856174c375b12b791d3f3 Author: Ovidiu Sas Date: Mon Jun 28 12:17:07 2010 -0400 core: sdp parser - the log verbosity of sdp print helpers is now configurable commit 6face3f2b282333f241cb28782874cfa5dee495b Author: Ovidiu Sas Date: Mon Jun 28 12:04:26 2010 -0400 core: sdp parser - add rtp flag identifier for sdp streams commit cc10916886a583136bb608f6048b4f1c4eca2564 Author: Ovidiu Sas Date: Mon Jun 28 09:59:47 2010 -0400 core: sdp parser - log reformating - cosmetic change of a log while printing the parsed sdp stream commit b123419e493dbe938cec57ffa8850dbab5255ad5 Author: Ovidiu Sas Date: Mon Jun 28 09:57:42 2010 -0400 modules_k:qos align qos module to the new sdp layout - 'sendrecv_mode' and 'ptime' are session attributes now commit c90ff4d4861fcd33c376122a0b0daf1ce7ca7522 Author: Ovidiu Sas Date: Mon Jun 28 09:54:01 2010 -0400 core: sdp parser: making 'sendrecv_mode' and 'ptime' session attributes commit 5a1d36d4fc94df11c1ff148ccd873f2fb2e82859 Author: Ovidiu Sas Date: Sun Jun 27 17:00:28 2010 -0400 core: sdp parser - adding two new getters - get_sdp_session_num: get the total number of sessions - get_sdp_stream_num: get the total number of streams commit ea6356bcbd80470d2183c6626eedaf7535dc3a2c Author: Ovidiu Sas Date: Sun Jun 27 14:22:10 2010 -0400 modules_k:dialog: new dialog callback: DLGCB_RPC_CONTEXT - implementing a new dialog callback for rpc qos context interogation commit 88429acf0776bb76dae0448416f4f5ebe8295b0d Author: Ovidiu Sas Date: Fri Jun 25 13:59:15 2010 -0400 core: sdp parser - added support for session common IP and session origin IP commit 0e608506687a171529d2d60f22aade8a72a7f7c4 Author: Ovidiu Sas Date: Fri Jun 25 13:06:12 2010 -0400 core: sdp parser - added support for rtcp attribute (RFC3605) commit 92761dbd0a2be28577829b919c250ae9d2680352 Author: Ovidiu Sas Date: Fri Jun 25 12:14:14 2010 -0400 core: sdp parser fixes - fix sdp session and stream getters commit 3ed5fe7f8e82b4d8792c3b468f9b426afc1d853e Author: Timo Reimann Date: Thu Jun 24 18:39:49 2010 +0200 modules_k/dialog: Fix timer reset and improve timeout value logging - Fix a bug that caused dialog timeout values to be refreshed only when a custom timeout was provided by the user via AVP. - Do not log failure to get timeout from AVP when in fact no AVP was used. - Add missing newline character. commit 6e00d85416e3138d152a280358e79693d738e14a Author: Ovidiu Sas Date: Thu Jun 24 10:28:52 2010 -0400 modules_k/dialog: rpc interface fixes - force to string all rpc parameters - enable optianal parameters for profile specific rpc commands commit e5d313913b34e05a9e0529a907b87a54ba354d26 Author: Timo Reimann Date: Thu Jun 24 15:50:52 2010 +0200 Correct typo in comment referring to other file. commit 0bf99eaf23b8c7041f4a9a017bb6483c5b5d9017 Author: Timo Reimann Date: Thu Jun 24 15:01:13 2010 +0200 modules_k/dialog: Reduce log verbosity for list traversal of expired dialogs. - Change logging of start/previous/next pointers from WARN to DBG when traversing the list of expired dialogs. commit 9591ceb0e3e03f31e41f062a2fc97f06720ed8a8 Author: Ovidiu Sas Date: Wed Jun 23 18:26:09 2010 -0400 modules_k/dialog: rpc support - mi fifo commands ported to rpc (serctl) commit c8f4204eab1f2ade5f27c8fe1b28dbf3c9d5e084 Author: Andrei Pelinescu-Onciul Date: Wed Jun 23 23:31:57 2010 +0200 tls: update & fix repeated send & delayed send Update to the new tls encode callback api. This fixes the following bugs: - bug on tls partial write and repeated tcp send (in some cases the tcp send function does not expect to be called again in the same state and might overwrite the response that has to be sent to tcp_main resulting in the worst case in a possible unwatched connection). - missing tls callback when trying to send on a connection with already queued data (without the api change a 3rd type of send tls callback would have been needed). commit 5f65308938f456770638ed5bac4768f94391005b Author: Andrei Pelinescu-Onciul Date: Wed Jun 23 23:17:15 2010 +0200 tcp: change tls send callback interface Instead of 2 different tls send callbacks (with a 3rd one needed), switch to a different model: 1 tls callback that is supposed to replace the passed buffer with a tls processed version of it. This simplifies the tls code and more importantly doesn't require that the tls send code has very detailed knowledge about the tcp state machine. Some of the saved complexity moved from the tls module to the tcp code, but at least this way on changes there's only one place to update. The tls callbacks for reading and sending are now very different: while the send callback has become now more of an encoder callback, the read callback should still perform the tcp read by itself. While this is not very consistent it does saves unneeded memory copies. commit cf80528aab93251ae5c94fb4755c98fb6080855c Author: Andrei Pelinescu-Onciul Date: Wed Jun 23 23:13:23 2010 +0200 tsend: s/char*/const char*/ in function params. commit 0ce55adcdf00d5a04faf8ed26e019a9fac3b7db6 Author: Miklos Tirpak Date: Wed Jun 23 17:27:41 2010 +0200 dns cache: dns_cache_rec_pref without #define CACHE_RELEVANT_RECS_ONLY Added support for the dns_cache_rec_pref config variable when CACHE_RELEVANT_RECS_ONLY is not defined. commit 1b30ae44d71332d7e96221ee444a1aede2d3da01 Author: Miklos Tirpak Date: Wed Jun 23 16:34:56 2010 +0200 dns cache: dns_cache_rec_pref config var added The config variable, dns_cache_rec_pref, can be used to set the DNS cache preference as follows: 0 - do not check duplicates (default) 1 - prefer old records 2 - prefer new records 3 - prefer records with longer lifetime This variable is checked when a duplicated record is tried to be inserted into the cache. For instance the SRV query answer contains also an A record which is already in the cache. If the config var is not 0, then permanent entries are always preferred. Note: works only with #define CACHE_RELEVANT_RECS_ONLY at the moment. commit 249312d7beff3ea6c3cf2fb0441262e770316eb1 Author: Miklos Tirpak Date: Thu Jun 17 11:01:31 2010 +0200 dns_cache: dns.view RPC command fix Do not print out the expiration time of the resource records in a permanent cache entry, they never expire. commit 09fefd18c90b9a9de5d8a5c96652d38494c5178d Author: Timo Reimann Date: Wed Jun 23 15:39:21 2010 +0200 Do not consider in-early-dialog requests to be bogus. commit eac7fbc0f03746c39a282777cd63b68e3598655e Author: Andrei Pelinescu-Onciul Date: Tue Jun 22 11:21:46 2010 +0200 tls: very verbose debug logging Added very verbose debug messages. To enable them, compile with -DTLS_RD_DEBUG for debugging the read path and with -DTLS_WR_DEBUG for debugging the write path. commit a412c0fdc88e96abac79175c479a0c952a966a8c Author: Andrei Pelinescu-Onciul Date: Mon Jun 21 00:20:13 2010 +0200 tls: fix tls_send out-of-mem on new connection If trying to init a new connection, don't try to set the BIOs before exiting (the connection is NULL). commit 28e313250503d6f8d06ebab15c8421c40e7f0fe4 Author: Andrei Pelinescu-Onciul Date: Sun Jun 20 19:40:55 2010 +0200 tcp: force eof after read if write side hangup Even if POLLRDHUP is not supported, but we detected a write side close (POLLHUP) or an error (POLLERR) or such an event was previously detected by tcp_main (F_CONN_EOF_SEEN), force connection closing after reading all the data in the socket buffer. In this case we can close() after the first short read and we save an extra system call (a read() that returns 0). commit 21b8cf904aa6abe20d930385bf912ccf66666341 Author: Andrei Pelinescu-Onciul Date: Sun Jun 20 19:20:12 2010 +0200 tcp: don't reset read_flags on RD_CONN_REPEAT_READ Allow flags value propagation between tcp_read*() that asked to be repeated (RD_CONN_REPEAT_READ). This allows an optimization in the tls read code: when repeating a tls_read, don't try a tcp read syscall if the previous attempt did get the whole socket receive buffer (RD_CONN_SHORT_READ) or detected EOF (use only the buffered data if any). commit 0d8b211d146dad87a5751928b44c6f791352559a Author: Andrei Pelinescu-Onciul Date: Sun Jun 20 18:58:58 2010 +0200 tls: deal with internal openssl buffering SSL_read() will not only buffer data internally (behaviour exacerbated by setting readahead to 1), but will also return the decrypted data on a record basis (even if readahead is 1 and it has read several records, it will return only the decrypted data from the current record). SSL_pending() can be used to see if there is more data buffered internally only if readaahead is not set and if the SSL_read() returned because it did not have enough space in the output buffer (it's useless for any other case because it returns the bytes in the current record that can be retrieved immediately and hence if SSL_read() stopped at a record boundary it will return 0). The solution is to repeat the SSL_read() call until the output buffer is completely filled or error (repeat it even if it did consume the whole input, it could still have the data buffered internally). In the case when the output buffer is completely filled, the entire tls_read_f() call should be retried as soon as more space becomes available (set RD_CONN_REPEAT_READ). Fixes read data delayed until the next packet arrives or possible lost reads (if no other data is sent and part of the previous data is buffered inside openssl). commit 5f78020b2d7ba364becf5e5c8b6f5105f560011c Author: Juha Heinanen Date: Sun Jun 20 16:21:12 2010 +0300 modules/mediaproxy: Fix SDP mangling for unsupported streams. - Credits to Saul Ibarra. commit 42b8ccc2b8a68a874c5b89cfa45d470c364b6bdc Author: Andrei Pelinescu-Onciul Date: Sat Jun 19 17:03:45 2010 +0200 tls: fix initial state error handling tls_connect() and tls_accept() non openssl related errors (*error == SSL_ERROR_NONE) were treated as "normal" openssl errors. This could result in silently dropped packets in low memory conditions, instead of dropping the whole underlying tcp connection. commit 504ef98ed34366303476032013c28a4a7d1c8131 Author: Andrei Pelinescu-Onciul Date: Sat Jun 19 00:21:58 2010 +0200 tcp: more consistent IO_FD_CLOSING usage - extra safety checks before using IO_FD_CLOSING in io_watch_del() calls (must be used only when the fd will be close() imediately afterwards). - add IO_FD_CLOSING when POLLERR or POLLHUP is detected in tcp_main and the socket receive buffer is empty (in this case the fd will be shortly closed) commit 99682621f360bcbd5b0def1f7498f457e25f59ab Author: Andrei Pelinescu-Onciul Date: Sat Jun 19 00:16:38 2010 +0200 io_wait: kqueue: use a bigger array Use a bigger array for kevent(). Instead of the fd number, use 2* max_fd_no (2 because read and write events are not merged) and with extra space for possible changelist errors. (minor optimization) commit 8966d0a1787152fa64d1f78321ee539116bd448a Author: Andrei Pelinescu-Onciul Date: Sat Jun 19 00:44:24 2010 +0200 io_wait: kqueue: handle ENOENT and more robust error handling - handle also ENOENT (along EBADF) when kevent fails due to errors in the changelist. ENOENT can be returned in the following valid scenario: fd scheduled for delayed removal from the watched fd list, fd closed (which automatically removes the fd from the kqueue watched list), new opened fd which gets the same number, delayed changes applied (kevent()). - treat all the other kevent errors or EV_ERRORs in a similar way but log them (at BUG() level). - return POLLERR|POLLHUP for EV_EOF with a non-null fflags. (only kqueue, meaning *bsd and darwin are affected by this fix) commit e5be1a067158c8ba49d33082eb403937546e7c69 Author: Andrei Pelinescu-Onciul Date: Sat Jun 19 00:35:47 2010 +0200 io_wait: fix kqueue io_wait_add & POLLIN A "goto error" was placed outside the error handling "if", resulting in any io_watch_add(), that tried to enable write watching on a new FD, returning failure (fortunately this kind of io_watch_add() usage doesn't happen very often, usually write watch is enabled via io_watch_chg() on FDs already io_watch_add()'ed for reading). Only POLL_KQUEUE was affected by this bug, meaning the default on all *bsd and darwin. commit e535756d2bee95d01d7b5f2b0ec53d9c43214613 Author: Andrei Pelinescu-Onciul Date: Fri Jun 18 23:04:24 2010 +0200 core: MATCH op fix for ip comparisons with RVEs Commit e085834 broke regular expression support in ip comparisons with rval expressions (e.g. $re="127\..*"; if (src_ip=~$re) ...). commit 2f34ba7d8d36f1a8465055367d725b9af4117c99 Author: Andrei Pelinescu-Onciul Date: Fri Jun 18 22:22:59 2010 +0200 core: fix selects in optimized rvalue expressions - do not attempt to resolve_select() twice the same select. This happened when a rve containing only a select was optimized, the select moved out of the rve and fix_expr() tried to "fix" the already resolved select later. - changed BUG() messages for failed resolve_select() into ERR(). commit e085834f0ea38a52bca926c2e83cf1f0d6fc4bae Author: Andrei Pelinescu-Onciul Date: Fri Jun 18 22:13:01 2010 +0200 core: network addresses in ip rve comparisons ip address comparison with rvalue expressions support now network type addresses (ip/mask). E.g.: $net = "10.0.0.0" $mask = "255.0.0.0" if (src_ip == $net+"/"+$mask) .... commit dc4cdb294cc135a01032dd613d79bfe625351612 Author: Andrei Pelinescu-Onciul Date: Fri Jun 18 22:03:46 2010 +0200 core: functions for parsing a network address - added mk_net_str(): initialize a struct net from a string of the form ip/mask, ip/bitlen or ip - renamed mk_net() and mk_net_bitlen() to mk_new_net() and mk_new_net_bitlen() commit 2d8cd170ab867ab15296b30f0b784abe1adc1bca Author: Andrei Pelinescu-Onciul Date: Fri Jun 18 09:48:21 2010 +0200 io_wait: don't update FD watched status on error If the syscall to change the events or delete a watched FD fails, don't update/delete the FD status in fd_hash. For /dev/poll if a change fails when re-adding the FD, delete it from the hash (in the /dev/poll case to change the events a FD is watched for one has to remove it and re-add it with the new events). The syscalls should never fail in an un-handled way, but in the unlikely event that it happens this change will make the code more robust. commit b0bd3201826ee693d6f96c6e336477b9d9db7c32 Author: Andrei Pelinescu-Onciul Date: Thu Jun 17 18:43:14 2010 +0200 io_wait: fix kqueue and too many errors in changelist kevent() tries to return errors in the changelist back in the supplied eventlist array. However if this is not large enough, the whole kevent() syscall will fail. Now if kevent() fails with EBADF the call will be retried with a smaller set of changes, until the entire original changelist is applied. Fixes also kq_ev_change() flush mode: on error it will try to apply the changes one-by-one. (this affects only systems that have kqueue: *bsd and darwin) commit 05c080a53f88babad6729f79015f555f53fdf957 Author: Andrei Pelinescu-Onciul Date: Thu Jun 17 16:15:10 2010 +0200 io_wait: fix: check for EV_ERROR for kqueue() Re-enabled and enhanced the check for EV_ERROR when using kqueue (*bsd). This is needed to workaround errors reported by kqueue when trying to delete (EV_DELETE) an already closed FD (this can happen in the tcp code, where we try to avoid applying immediately changes in the set of watched FDs and instead collect them and apply them after all the current kqueue events are processed => in some corner case situations it's possible to try to delete the FD from kqueue after the fd was close()'ed). This fix will ignore EV_ERROR with data == EBADF. All the other errors will result in a POLLERR flag for the callback. It fixes crashes with *bsd under tcp stress tests (lots of very short lived connections). commit b558d12e5dc1274ef5933bf03e2bdd6b0546eeae Author: Juha Heinanen Date: Thu Jun 17 13:03:35 2010 +0300 modules/lcr: fixed bsearch argument plus doc improvements - First bsearch argument must be of type struct gw_info. - README improvements. commit 9da6fae72b9883ab8dbbb4e681c4d4e96d6549e4 Author: Andrei Pelinescu-Onciul Date: Wed Jun 16 21:03:06 2010 +0200 tcp: fix fd passing bug If connections are opened and closed very quickly when data is sent on them, it is possible that a connection gets closed (close() inside tcp_main) while a process waits for its fd, just before tcp_main attempts to send the fd. In this case the fd sending will fail (one cannot send a closed fd) and the process that asked for it will remain waiting forever. The fix always checks before attempting to send the fd if the fd is still open and the connection is not in a "bad" state. If not, a new error response is sent (no fd and connection == NULL). commit dabd96ab1a8aaa6c90bfddcd8ae4dec79964ea2f Author: Andrei Pelinescu-Onciul Date: Wed Jun 16 18:26:51 2010 +0200 tls: config option for sending close notify alerts Added a new config option for enabling or disabling the sending of close notify alerts prior to closing the corresponding tcp connection. Sending the close notify prior to tcp shutdown is nicer from a TLS point of view, but it has a measurable performance impact and it's not a must (3-4% when using 50% cpu, with a debug build and 300cps => 6-8% from the cpu is spent on close notify alerts). By default it's off (change from older versions where it was hardwired-on). It can be changed via modparam ( e.g. modparam("tls", "send_close_notify", 1) ) or at runtime (e.g. sercmd cfg.set_now_int tls send_close_notify 1 ). commit 792faa3608c9011b2620d8e4d82b664484751d41 Author: Miklos Tirpak Date: Wed Jun 16 16:52:04 2010 +0200 dns_cache: reply the rpc command only once commit e68d92a1b05d3df9c1c3a6ac8c1447a4ea2f7932 Author: Miklos Tirpak Date: Wed Jun 16 16:09:31 2010 +0200 dns_cache: remove unused err_flags variable err_flags is deleted from the dns_rr structure. This flag was checked sometimes, but its value was never set. Anyway, this flag contained duplicated information because the parent structure, dns_hash_entry, has a similar flag (ent_flags & DNS_FLAG_BAD_NAME). And a single hash entry cannot contain both positive and negative resource records at the same time. commit 6a0b45abdbc1a7fa2a6cc0ce3f5d9646b7b188fd Author: Miklos Tirpak Date: Wed Jun 16 16:04:16 2010 +0200 dns_cache: minor fix, goto instead of break Exit from the main look when no number of entries has already been processed in dns_cache_clean() commit ec79c28a238fa8e66823161daa7994a679ef56f2 Author: Miklos Tirpak Date: Wed Jun 16 15:49:24 2010 +0200 dns_cache: added support for permanent entries Permanent entries are intended to be used for management purposes, i.e. they are useful if there is no DNS server available for instance. Such entries never expire, and overwrite any existing entry that was added by the resolver. They can be added to the cache from modules or over the RPC calls dns.add_a, dns.add_aaaa and dns.add_srv with the flag value of 2. (or 3 in case of negative permanent entry) - err_flags in struct dns_hash_entry is changed to be a general purpose flag, and renamed to ent_flag. - DNS_BAD_NAME is renamed to DNS_FLAG_BAD_NAME - DNS_FLAG_PERMANENT value is added. - new rpc call to force deleting the permanent entries from the cache: dns.delete_all_force. (dns.delete_all deletes only the non-permanent entries.) commit fa09f630c284cb13ad9e3ad34d433bdbdda6750b Author: Miklos Tirpak Date: Tue Jun 15 10:15:46 2010 +0200 dns_cache: dns_cache_delete_single_record() added The function deletes a single resource record of an existing DNS entry. If the entry has only one record then the entire entry is deleted. The resource record is identified by its name, type, and value, i.e. ip addres in case of A/AAAA record, target name in case of SRV record. Only A, AAAA, and SRV records are supported. commit f05a578613ca1c9cc15e27cc01c5573e1cf0b888 Author: Marius Zbihlei Date: Wed Jun 16 14:11:48 2010 +0300 Always set data payload to NULL, thus avoiding problems when root node had data associated with it Credits for the patch go to Henning Westerholt. commit 3b5c6550ba6a308b6ac0da245dd594a65317d6a1 Author: Andrei Pelinescu-Onciul Date: Wed Jun 16 10:05:07 2010 +0200 tls: SSL_shutdown() only fully established connections - do SSL_shutdown() only on established TLS connections (established here is from the SSL point of view and not from the tcp one) - minor warning fixes commit 9f264d53c19edf8658bd0ebaa2f82a291676c3ac Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 17:26:07 2010 +0200 makefile: quiet output by default Quiet output is used now by default. For verbose output one can either add Q=0 /Q=no/ Q=verbose to the make command line (e.g. make Q=verbose all) or for a more permanent solution one can run make config with Q set (e.g. make config Q=0). commit bd55f84d2c815eed907bf197430e00e5b4d99378 Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 17:00:51 2010 +0200 cfg parsing: disable non constant rval in ip comparison warning Reported-by: Steven C. Blair blairs isc upenn edu commit 291166681c62ca42c05d3b501482311aa51f8d0e Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 19:11:59 2010 +0200 core: futexlock compilation workaround for OpenSuse 10.2 In some older linux distributions /usr/include/futex.h uses a __user attribute, which is defined in linux/compiler.h. However linux/compiler.h is not part of the kernel headers package in most recent distributions. Instead they ship a modified linux/futex.h that does not include and does not use __user. "__user" is used only for checking pointer address space in the kernel (using the sparse tool and make C=1 or make C=2) so it's safe to define it as null/empty. Reported-by: Alexandr Dubovikov shurik start4 info commit e92fe8b41e30abc92b5a8e2b4baff0d4aab95e61 Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 16:46:04 2010 +0200 raw sockets: config file support Raw socket usage for udp ipv4 send, can now be turned on/off/auto from the config file, via udp4_raw. The mtu used can be set via udp4_raw_mtu. commit 22e7e32e343724a42abc4c0c1b7986e88e50111b Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 16:36:14 2010 +0200 raw sockets: udp send will use now raw sockets if enabled A raw socket, that will be used for sending, is now initialized on startup. The operation can succeed only if sr is started as root or with CAP_NET_RAW. If the initialization fails and the raw sockets are forced on from the config (udp4_raw = 1), ser won't start. If the raw socket are in auto mode (udp4_raw = -1), sr will start, but with the raw socket send part disabled (normal udp send will be used). If the raw socket part is not disabled at startup, it can be turned anytime on/off via the runtime cfg. framework. Note: the raw socket send is supported only over ipv4 and for now only on linux. commit 1db67b92772ffbdfe2320774f91b75e87414c462 Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 16:31:16 2010 +0200 raw sockets: runtime config support Usage of raw sockets for send and the used mtu can now be set at runtime via the 2 new added core config variables: udp4_raw and udp4_raw_mtu. udp4_raw can have 3 values: disabled (0), on (1) and auto (-1). If set to auto raw sockets will be used if possible. E.g.: sercmd cfg.set_now_int core udp4_raw_mtu 576 commit 869a731313e489254fb220ce52120b7682a2526c Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 16:27:55 2010 +0200 raw sockets: build ip header & fragmentation support Support for sending on raw sockets with IP_HDRINCL or IPPROTO_RAW, that require building the IP header and fragmentation. commit d0df7adc45ad9f7a5b253e1f4390084259b97cd3 Author: Andrei Pelinescu-Onciul Date: Tue Jun 15 16:24:46 2010 +0200 raw socket: compilation fixes commit 8b446ade643fa84cb4382067bb181f8a6995e38b Author: Henning Westerholt Date: Tue Jun 15 12:30:32 2010 +0200 dbg(s): remove module, as its functionality is also provided from cfgutils remove the dbg module, its functionality can be provided from cfgutils: - dbg_msleep(n) -> usleep(n*1000) - dbg_abort() -> abort() - dbg_pkg_status() -> pkg_status() - dbg_shm_status() -> shm_status() commit a7ddee8e5f9fba13c482e8b1b2ba3a59e5598fea Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 17:30:26 2010 +0200 *_radius(s): doc: update to the new doc makefile format Update the doc makefiles for auth_radius, avp_radius and uri_radius. commit 5e4d570b5d469203303f0f27c5aef3d768001aaf Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 17:25:05 2010 +0200 auth_*(s): updated auth_api and header file name Changed auth_api_t to auth_api_s_t and bind_auth to bind_auth_s in all the auth(s) using modules. Updated also the auth/api.h path to contain modules_s (safer if the modules will be moved). commit 9d5a273c3cb5509ce1c61de26ed1ef719cbe12a3 Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 17:22:01 2010 +0200 auth_*(k): updated auth_api and header file name Changed auth_api_t to auth_api_k_t and bind_auth to bind_auth_k in all the auth(k) using modules. Updated also the auth/api.h path to contain modules_k (safer if the modules will be moved). commit dfe0feb20ba6d33ff3fcef80db0add9f23ffdf2a Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 17:15:50 2010 +0200 auth(k): s/auth_api/auth_api_k & s/bind_auth/bind_auth_k Rename auth_api_t and bind_auth (add _k), to avoid possible runtime problems when mixing ser and kamailio auth_api using modules. commit f93a3d56abd81d81d19a24ed0d1da7e1fe30fde1 Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 17:13:19 2010 +0200 auth(s): s/auth_api/auth_api_s & s/bind_auth/bind_auth_s Rename auth_api_t and bind_auth (add _s), to avoid possible runtime problems when mixing ser and kamailio auth_api using modules. commit b06131c655bceaaf1edbef75594e109a3b57c1ce Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 16:32:21 2010 +0200 auth_radius(s), avp_radius(s), uri_radius(s): revived Revive modules_/{auth_radius,avp_radius,uri_radius}. Needed to be able to use radius auth. with ser auth_api/module (the ser and kamailio auth apis are not compatible and so one cannot use a kamailio radius auth with the ser auth module). Reverts 456c3c137e9abcf687413f9675fe0f1761ce820d. commit 994b75e5f942e31675253356e2303d0dbea03890 Author: Andrei Pelinescu-Onciul Date: Mon Jun 14 16:26:48 2010 +0200 auth_radius,misc_radius: mv back to modules_k Partially revert 456c3c137e9abcf687413f9675fe0f1761ce820d: move modules/{auth_radius,misc_radius} back to modules_k to allow having 2 sets of radius modules (ser & kamailio). This is needed because the ser and kamailio auth apis (exported by modules*/auth) are incompatible and hence auth api using modules cannot be mixed. commit 79a959c30f6997cbc904e0a3b860774019f064a1 Author: Juha Heinanen Date: Mon Jun 14 15:27:48 2010 +0300 modules_k/siputils: added is_e164(pv) function - More generic version of is_uri_user_e164(pv) that avoids parsing of URI if user is already in a pseudo variable. commit fc28a62a4ef4ff2eaa9e1636a747099284280a23 Author: Miklos Tirpak Date: Mon Jun 14 15:40:20 2010 +0200 shm_regex lib: locks added around the regular expression The libc locks moved to shared memory did not work on multi-cpu machines. Credit goes to Stefan Keller (stefan.keller at isaco.de) for identifying the problem and for the patch. "The code hangs in regexec() when trying to acquire the lock. ... It turns out this only happens if the machine has more than one physical CPU core. Reproducable on x86_64 with two CPU cores, glibc 2.3.6 (from Debian Etch) and glibc 2.11.1 (from Ubuntu Lucid)." commit eabca5c0e74a0c2707bba439815c9ebd9670b0d4 Author: Juha Heinanen Date: Thu Jun 10 13:32:35 2010 +0300 lib/srdb1/schema: replaced lcr schema files - Replaced lcr and gw schema files with lcr_rule, lcr_rule_target and lcr_gw schema files. commit 550db5cb1599619a285144cc14677b89eefcf33b Author: Juha Heinanen Date: Thu Jun 10 13:05:05 2010 +0300 modules/lcr: major rewrite - For easier management, information is now kept in three tables: lcr_rule, lcr_rule_target, and lcr_gw. - For simplicity, gateway groups are not anymore supported. - Added possibility to stop trying to match shorter prefixes, when a matching prefix is found. - Stripping and tagging can be controlled by a flag. - New database schema and upgrade script will be provided later today. commit fb20a055a029198cbc9dd5c755c3806fbb1e80cf Author: Andrei Pelinescu-Onciul Date: Wed Jun 9 22:58:55 2010 +0200 raw sockets: get dst. ip from the ip header Get the destination ip from the packet header (when using IP_HDRINCL we don't set PKT_INFO so we don't have the destination information). commit 861d3a2edc57842e35768d06ea4440e53a6f2f81 Author: Andrei Pelinescu-Onciul Date: Wed Jun 9 22:55:21 2010 +0200 core: basic support for receiving udp sip packets on raw sockets Functions for receiving udp sip packets from raw sockets. commit 976fb426bb577fab033e7846625fbfa2a8a38399 Author: Juha Heinanen Date: Wed Jun 9 12:27:42 2010 +0300 modules/mediaproxy: ICE fixes - ICE attributes may appear at the session level. - Insert our RTCP component if we found another component: some clients may not use a=rtcp line but then insert a RTCP candidate component. - Credits to Saul Ibarra Corretge. commit 2f0276f711ba7aad9ffa1de0445f75df015abbad Author: Andrei Pelinescu-Onciul Date: Tue Jun 8 00:21:08 2010 +0200 core: basic raw socket support functions Basic support for raw sockets. Functions for creating, sending and receiving udp packets over raw sockets. Initial version supports only linux. commit 8888d2b7f3791f1022564972974440405b3f8ab5 Author: Jon Bonilla Date: Mon Jun 7 23:38:59 2010 +0200 PKG Debian - Merge from kamailio_3.0 branch of debian packaging folders commit d9730932a53c14ef039eb00b63d48e002c2c570f Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 22:26:01 2010 +0200 tls: ssl_flush() fix and re-worked error reporting - ssl_flush() did not properly handle connection in non-established state - all ssl_errors are now treated inside tls_generic_send() and tls_read_f() - queue size accounting fix commit 1ea3a8c7842ed59309b6d555492921eba7459d44 Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 22:20:16 2010 +0200 tls: tls.list rpc: fix timeout & ip display - fix ip address display - fix timeout computation commit f509ccdc8c3212a7df9c4089c9dcde0d2c44eef5 Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 22:17:51 2010 +0200 tls: fix queue accounting On queue flush the size of the queue was substracted twice. commit 0dbb49bd6e08cfd80bb65da23fe048511d3983b7 Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 18:43:15 2010 +0200 tls: rpc: tls.list and tls.options update - tls.list update/cleanups (more detailed now) - tls.options - print also the new options. - code in tls_rpc.* is iptelorg only => changed (c) and license (BSD-like). commit 86cfe85e9ef7cb473c9672bf0e38875852106c52 Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 18:38:50 2010 +0200 tls: config options for the internal queues Added runtime config options for the internal queues used when data has to be queued due to renegotiations or on-going initialization of the connections: ct_wq_max - maximum bytes queued globally for write when write has to wait due to TLS-level renegotiation. con_ct_wq_max - maximum bytes queued for write per connection. ct_wq_blk_size - internal TLS pre-write (clear-text) queue minimum block size (advanced tunning or debugging). commit 01c803a6c081ab84ca0b4faf9d16575b23de1b20 Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 18:30:48 2010 +0200 tls: fix wrong wbio usage The openssl library sometimes (after write operations) sets a buffering bio "over" the wbio that we set. In this case one can no longer rely on the wbio returned by SSL_get_wbio() (it might be the buffering bio). Now the BIOs are set at connection initialization time (and not on their first use) and are stored inside the tls_extra_data structure attached to the tcp connection. This way we are sure we are always controlling our wbio and not something that openssl might have stacked on top of it. commit 4125821e5aef02b9f84b0840c25cd169a2d2954f Author: Andrei Pelinescu-Onciul Date: Fri Jun 4 12:40:09 2010 +0200 print(s): fparam fixup example print2 uses now fixup_var_str_12() and get_str_fparam(). Good for testing and as example. commit 8f3db98bf47f9f45cf00d9fc62c14c1af95867fc Author: Andrei Pelinescu-Onciul Date: Wed Jun 2 18:24:05 2010 +0200 core: support for RVEs in fparam fixups Hack to allow using RVEs in "safe" fparam fixups. This way all the module functions using them will automatically have var support (most ser modules that already supported variables as quoted parameter, support now any variable expression, without quotes too). The cleanup is done by the core (this is the "hack" part). E.g.: t_set_fr($v + 2 + $x) should work now (it uses fixup_var_int_1 which is RVE-safe). t_set_fr("$v") is now equivalent with t_set_fr($v). commit 9eece1ba3b7d87510ef58d656b6abb60c256b97a Author: Daniel-Constantin Mierla Date: Tue Jun 1 23:02:14 2010 +0200 presence_xml: fixed log message commit 2759deb340539d2035fe5c18765f5800eb52180b Author: Juha Heinanen Date: Tue Jun 1 16:15:13 2010 +0300 modules_k/textops: fixed typo in starts_with() example - Thanks to Inaki for pointing out. commit 387e7ec22e736d1ce51f5c12d9f4e8533ead8512 Author: Daniel-Constantin Mierla Date: Sun May 30 11:34:47 2010 +0200 srdb1: updated entities.xml path in db schema commit 8b506f7d9b8eba682d180e458b0e2a278053d29a Author: Daniel-Constantin Mierla Date: Sun May 30 11:03:22 2010 +0200 db_berkeley: get rid of compile warnings commit aa5585bb26b9fc78e1c89501159d78413fd95fd8 Author: Daniel-Constantin Mierla Date: Sun May 30 11:00:10 2010 +0200 xcap_server: removed duplicated docs commit 5af7ae813ca63452c571ea7528754dd0b759c019 Author: Juha Heinanen Date: Fri May 28 15:54:51 2010 +0300 modules/lcr: Simpler implementation of next_gw() function - Based on recent changes related to Request-URI handling. commit e973bbe5e7310861f77b17ce0afaf1cca35fe48a Author: Juha Heinanen Date: Fri May 28 15:38:41 2010 +0300 modules/tm: new implementation of load_contacts()/next_contacts() - Simpler implementation of load_contacts()/next_contacts() functions based on recent changes related to Request-URI handling. - Function next_contacts() does not anymore set any timers. Check contact_avp and call t_set_fr() before calling t_relay() instead. - Removed fr_timer_next module parameter, because it is not needed anymore. commit 9b0c1a0e1f02d84c312d67cdc71360d5612b9e2c Merge: d646b4b 039b182 Author: Andrei Pelinescu-Onciul Date: Fri May 28 13:30:38 2010 +0200 Merge remote branch 'origin/tmp/ruri_branch' * origin/tmp/ruri_branch: modules*: mark r-uri as "new" when changed tm: failure route start with r-uri marked as "consumed" tm: use ruri for forking only if marked as "new" core: mark uri as new on new message or seturi() core: support for marking a "consumed" r-uri commit 59f603ace872b2b4b05048b2e57b982b42f7aebe Author: Andrei Pelinescu-Onciul Date: Fri May 28 13:22:00 2010 +0200 tls: fix empty files treatment Empty filenames ("") are now treated as unset. commit 7ac98ae71a7b0ffe157200362971df9006347986 Author: Andrei Pelinescu-Onciul Date: Fri May 28 13:18:57 2010 +0200 tls: added tls.options rpc - fixed ca list string initializer - removed fixups from read-only config variables - added a new tls.options rpc that dumps the entire tls config. E.g.: sercmd> tls.options { force_run: 0 method: TLSv1 verify_certificate: 0 verify_depth: 9 require_certificate: 0 private_key: /home/andrei/sr.git/modules/tls/sip-router-selfsigned.key ca_list: certificate: /home/andrei/sr.git/modules/tls/sip-router-selfsigned.pem cipher_list: session_cache: 0 session_id: sip-router-tls-3.1 config: log: 0 connection_timeout: 600 disable_compression: 1 ssl_release_buffers: 0 ssl_freelist_max: 0 ssl_max_send_fragment: -1 ssl_read_ahead: 1 low_mem_threshold1: 15204352 low_mem_threshold2: 7602176 } commit d646b4b1c746bc36d7765d3fa15779b581c576d1 Author: Daniel-Constantin Mierla Date: Fri May 28 12:51:43 2010 +0200 xcap_server: relaxed detection of auid type from path commit e40e993ef9039ace73caae09e983abd328ee28fc Author: Andrei Pelinescu-Onciul Date: Fri May 28 12:35:07 2010 +0200 tls: migrated to the runtime cfg framework - moved all the module params to runtime config. Most of the variables are read-only (for now) with the following exceptions: config - can be changed at runtime and if followed by a tls.realod, the configuration from the new file will be loaded. log connection_timeout low_mem_threshold1 low_mem_threshold2 - renamed tls_fix_cfg() to tls_fix_domains_cfg() to avoid confusion with the runtime cfg (named tls_cfg). commit 8a5f9abd13a9339ea9e4011676a041b6fb0b5b90 Author: Andrei Pelinescu-Onciul Date: Fri May 28 12:33:33 2010 +0200 db_flatstore: updated get_abs_pathname use Use pkg_free() now for freeing the result of get_abs_pathname(). commit e0726eab5ea489c8882a05673fe5b5016e7ab7ce Author: Andrei Pelinescu-Onciul Date: Fri May 28 12:30:39 2010 +0200 core: get_abs_pathname() uses now pkg_malloc() get_abs_pathname() used libc malloc() instead of pkg_malloc(), making it difficult to know which free to use in fixups. commit 077552bdf8a3abeebaaf0b6f45104be694c98fc2 Author: Andrei Pelinescu-Onciul Date: Thu May 27 20:00:25 2010 +0200 core: str.h - s/NULL/0/ Replace NULL with 0 (saves an extra #include). commit 4f247030923dbb8e433441a66c557d9438316ddc Author: Andrei Pelinescu-Onciul Date: Thu May 27 20:00:00 2010 +0200 tls: doc - removed handshake_timeout and send_timeout commit 3def48dce7f30f0fea37a4515922699b88c981b4 Author: Andrei Pelinescu-Onciul Date: Thu May 27 19:48:02 2010 +0200 tls: removed handshake_timeout and send_timeout Removed the handshake_timeout and send_timeout parameters. The values from tcp are used instead (tcp_connect_timeout and tcp_send_timeout). commit bf570f4b5f48f3eef1b4c33c495159992c5b5135 Author: Henning Westerholt Date: Thu May 27 17:29:03 2010 +0200 cr: fix error in documentation related to failure_route commit 36ed3b92b0e915249767be907d0e9f0c61f0bf7a Author: Andrei Pelinescu-Onciul Date: Thu May 27 17:20:16 2010 +0200 tls: s/tls_cfg/tls_domains_cfg Internal variable and type name change: replaces tls_cfg with tls_domains_cfg. This frees up tls_cfg for use with the runtime configuration framework (by convention a module runtime configuration is named _cfg and it would be very confusing to have an exception for the tls module). commit 039b182ef82c12f6661cce7c60c8fb59a51551ad Author: Andrei Pelinescu-Onciul Date: Thu May 27 11:06:18 2010 +0200 modules*: mark r-uri as "new" when changed Each time the r-uri, dst-uri or path is changed, the r-uri is marked as available for forking. This should simplify a lot serial forking from the script. commit 4cf857a1180e14807b6d4085a5795a24cac262bc Author: Andrei Pelinescu-Onciul Date: Thu May 27 11:02:28 2010 +0200 tm: failure route start with r-uri marked as "consumed" When the failure route starts, the main r-uri should not be reused for forking, unless changed. commit 22f1b9940dc6c0d162f11f6f82bbc33db21aecb2 Author: Andrei Pelinescu-Onciul Date: Thu May 27 10:58:36 2010 +0200 tm: use ruri for forking only if marked as "new" The r-uri is now used for forking only if marked as "new". After using it, it will be automatically marked as "consumed", so that it won't be used in the future (unless re-marked as new by changing the r-uri, dst_uri or path). This will simplify a lot serial forking via the script (only seturi(...); t_relay() is needed now, no messing with append_branch() is required anymore, unless parallel forking is desired) commit 914a4c04220cb6ee569e45d6d37c141d38f206a3 Author: Andrei Pelinescu-Onciul Date: Thu May 27 10:55:18 2010 +0200 core: mark uri as new on new message or seturi() Each time a new message is received the r-uri is marked as "new" (available for forking). The same happens when the uri is changed or modified in the script (seturi(), rewrite_uri(), setuser(), sethost() a.s.o.). commit b4ea43935347d8e8c0b73f3972177670127f7e50 Author: Andrei Pelinescu-Onciul Date: Thu May 27 10:51:51 2010 +0200 core: support for marking a "consumed" r-uri The main/message r-uri can now be marked as "consumed" during forking or as "new". New function introduced (dset.h): ruri_mark_new(), ruri_mark_consumed(), ruri_get_forking_state(). rewrite_uri() will now automatically mark the uri as "new". commit 02ec00fbade29687566a158f20cb310a56346de6 Author: Miklos Tirpak Date: Wed May 26 17:16:47 2010 +0200 textops: change_reply_status() added change_reply_status(code, reason) can be used to change the status code and the reason phrase of a SIP reply from onreply_route. commit bdc512a7e5416fa30d9760f50cc949281d0e71a1 Author: Andrei Pelinescu-Onciul Date: Wed May 26 15:53:33 2010 +0200 tls: added tls_info rpc The tls_info rpc should print various internal tls informations and statistics. For now it prints the overall amount of write-queued clear text. commit 577ccb71e7a1e113cacd74b19c8174ea2e9bacb6 Author: Andrei Pelinescu-Onciul Date: Wed May 26 15:48:59 2010 +0200 tls: fix unregistered rpc commands In the process of merging the tls modules with some k tls PVs the module interface was changed, leaving the rpc functions un-registered (and hence unaccessible). commit f68e9fe0ef0b84e78532e144de2b1ea5c418bbd5 Author: Marius Zbihlei Date: Fri Apr 9 12:09:33 2010 +0300 modules/carrierroute Improved usefulness of error messages in case of a incorrect AVP value (cherry picked from commit 6c51d903f5a314f4116df81121d1faa5ea8c95d3) commit c90ecffaea4e9b47e33de521fbce5f86a896b67a Author: Marius Zbihlei Date: Thu Apr 8 16:54:53 2010 +0300 modules/carrierroute In case of incorrect avp value (unknown carrier id), print the name of the avp accordinly to its type (cherry picked from commit 5604e51eb8fd6502495a37c26f9c549bcd63ca8a) commit 7ac74ab544fb264bf8e969a073cad67b235b7aa7 Author: Daniel-Constantin Mierla Date: Wed May 26 13:50:07 2010 +0200 xcap_server: add extra headers to reply commit 871c77702ae7aef9efdc8cf24e2367abc4a6429c Author: Daniel-Constantin Mierla Date: Wed May 26 11:57:54 2010 +0200 pv: added $rv returning protocol version - return the string representing the protocol version in first line of request/reply commit 7a67e04c7cd6c18f66f62305aa620fb6f632f12e Author: Daniel-Constantin Mierla Date: Wed May 26 11:50:00 2010 +0200 xhttp: added supported version commit 4cca625ce8229c5513451d135c09d9701c80dcd7 Author: Miklos Tirpak Date: Wed May 26 11:31:51 2010 +0200 tm: support for changing the reply status in the script The reply status code is re-read after the onreply_route block is executed which makes possile to change the status code from the script. The status code shall be rewritten directly in the message buffer and in the parsed structure, and the class of provisional and positive final replies cannot be changed. commit 426c6b7e2103d38aca47ca9728d22355bd44b7e9 Author: Daniel-Constantin Mierla Date: Tue May 25 21:10:32 2010 +0200 core: socket_str enclose IPv6 addresses in betwen [ ] - string representation of socket string takes in consideration IPv6 addresses commit e6d56890d7325da00e76ef561185d7b7426514d7 Author: Daniel-Constantin Mierla Date: Tue May 25 16:19:43 2010 +0200 xcap_server: new module providing xcap server functinality - re-use the transport layer from SIP server - XCAP documents can be sent via SIP (UDP, TCP, TLS, SCTP, HTTP and HTTPS - re-use xcap table from K presence server to store the documents - implemented basic ops: PUT, GET and DELETE - no much testing done so far - todo: document validation and xcap diff operations commit bdba8801cdea18d5cd2852cdecf692a15d349925 Author: Daniel-Constantin Mierla Date: Tue May 25 16:14:32 2010 +0200 xhttp: new module to handle http requests - the module can handle http requests sent over TCP/TLS to SIP server - event_route[xhttp:request] is executed in such case - if you need to handle HTTP requests without Content-Lenght header, set tcp_accept_no_cl=1 - it may conflict in HTTP handling with xmlrpc as they use same concept, you can set parameter mode=1 for xmrpc module and then call xmlrpc functions from event_route[xhttp:request] - you can use url_match parameter to filter which HTTP requests are handled by this module commit 866a36998ffee5fd7ce182c5dd6ca16c0231bd8c Author: Daniel-Constantin Mierla Date: Tue May 25 15:15:38 2010 +0200 tcp: filled description of tcp_accept_no_cl - added missing description in tcp options structure commit d4cc410326a5b0662f267ed5dc5bba3b67c901f6 Author: Daniel-Constantin Mierla Date: Tue May 25 10:48:54 2010 +0200 tcp: new parameter to accept messages without CL - some non-sip messages with empty body do not carry content-length - useful for http traffic handled locally - global parameter name: tcp_accept_no_cl - default is 0 (report error of CL is missing, default behaviour so far) - value can be changed at runtime commit 42d7638f14064c5901048131ad7887c6f4b70447 Author: Daniel-Constantin Mierla Date: Tue May 25 10:29:03 2010 +0200 xmlrpc: new parameter - mode - mode parameter controls the registration for non-SIP message callbacks - if set to 1, module does not register the callback, the execution of XMLRPC functions being done from config. Useful if other module register callback for same type of messages, i.e., HTTP - default is 0 (backward compatible default behavior) commit 93c495f34ebb001f9509db82acad5a7483b61d41 Author: Andrei Pelinescu-Onciul Date: Thu May 20 18:24:38 2010 +0200 tls: async support (major tls core rewrite) The new tls hook interface (exported by the tcp code) is now used. All the IO operations are made through a custom SSL BIO, that reads and writes in some memory buffers (see tls_bio.h), while externally emulating a socket. This BIO provides in fact some functions that will be called by the openssl code on IO. In the case of a read event, the data is first read in memory (using tcp_read_data()), then assigned to the BIO and after that one of SSL_read(), SSL_connect/accept (if the connection is not yet established) or SSL_write (if the last write wanted to read some data due to re-keying) are called. They will all read from the custom BIO. A SSL_read() might not use all the data (in some very unlikely situations), so in this case the encrypted data is queued and the tcp code is signaled (via some flags) that it should repeat the read call when more space is available. Writes are split in 2: 1st write on a new connection in async mode and other writes (they need to be handled slightly differently). The encrypted data will end up in a memory buffer (via SSL_write() and the custom BIO). From there it will be either sent directly if possible or queued (tcp_async). In the case when the SSL_write() needs to read some data (e.g. re-keying), the whole clear text data will be queued and the SSL_write() will be retried on the first read event. There is no separate async mode for tls, if tcp is in async mode, then tls will be too and vice versa. Runtime tunning (queue sizes a.s.o) and statistics are missing for now. (C) and license changes: - moved tls_dump_verification_failure into a separate file (tls_dump_vf.c), out of tls_server.c. - the remaining tcp_server.[ch] code is either re-written (most of it, the entire read & write part) or comes from old iptel code => changed the (c) to iptelorg only and the license to BSD-like (only for tcp_server.[ch]). commit c6a9ffb4f6a7b2e9f777ed47e87749eacf9782b6 Author: Andrei Pelinescu-Onciul Date: Thu May 20 17:44:13 2010 +0200 tls: tls_bio ctrl cmd support, fixes and debug - proper return code for some BIO_ctrl commands used internally by SSL_*. (BIO_CTRL_DUP, BIO_CTRL_FLUSH) - when the attached memory buffer is null and read or write is attempted, behave similar to socket bio on EAGAIN (BIO_set_retry_read(b)). - fixed tls_bio_mbuf_read bug (switched params in memcpy). - added tls_mbuf_init(...) - extended debug messages if TLS_BIO_DEBUG is defined. commit c38de320d864507b38d6f99beb649fef9211a3cf Author: Andrei Pelinescu-Onciul Date: Thu May 20 16:26:22 2010 +0200 tls: clear text write queue implementation In some cases the not-yet-encrypted data must be queued on write and the write retried later (e.g. a SSL_write returns WANT_READ because of an ongoing re-keying or trying to write while the SSL connection is not yet fully established). commit c914809c9f70fe15d1a2459fa0668d722d83726c Author: Andrei Pelinescu-Onciul Date: Thu May 20 16:22:16 2010 +0200 tls: added a minimum overhead shm buffer queue Minimum overhead buffer queue in shm memory, based on tcp_wbuffer_queue (tcp_conn.h). commit 258cc031138b572aa90b4478baed4bb9708b0a37 Author: Andrei Pelinescu-Onciul Date: Thu May 20 16:18:16 2010 +0200 tls: safer destroy_cfg - tls_destroy_cfg() can now be called safely more then once. commit ce51fbb84e56921030b62d8617db2365ad934b51 Author: Andrei Pelinescu-Onciul Date: Thu May 20 16:00:29 2010 +0200 tcp: new tls hooks interface and async tls changes - new tls hooks interface that better accommodates tls async use. Changed read() (takes an extra flags parameter now), removed blocking_write() and fix_read_con(), added do_send() and fst_send() (both of them handle snd_flags now and might return a command that should be sent to tcp_main). - more tcp send functions (tcpconn_1st_send(), tcpconn_send_unsafe()) and more send functions exported (tls_int_send.h) for use from the tls module. - split tcp_read() into tcp_read() and tcp_read_data() and exported tcp_read_data() (tcp_read.h). - support for repeating a tcp_read() if indicated (RD_CONN_REPEAT_READ), needed for tls. commit 355636358c07b8da9b1fcd6d04cdaf337c9f730c Author: Henning Westerholt Date: Thu May 20 15:46:58 2010 +0200 fix memset call, set the variable to zero, not to the size with length 0.. commit 833632a0eafcbbbcd7ce53937c4b4a21f99d9bec Author: Marius Zbihlei Date: Thu May 20 16:24:55 2010 +0300 Extended kamctl with new features built over sercmd: 1. Posibility to run sercmd commands via "kamctl ser" (no readline enhancements yet) 2. A new CTLENGINE ser_mi that besides unixsock and fifo provides access to mi commands. "CTLENGINE=ser_mi kamctl ser_mi debug 3" commit 7ee950eb3e34dc0cdb3e825fa347dd29e7526afc Author: Miklos Tirpak Date: Wed May 19 11:53:19 2010 +0200 core: bit conting and testing functions new functions for bit operations: - bit_count() - bit_test() - bit_test_and_set() commit de490ed1559028ba737b0dea81eaba50a6e72852 Author: Juha Heinanen Date: Sun May 16 19:25:13 2010 +0300 modules/lcr: caller_uri argument of load_gws() is now optional - If not given, it defaults to empty string. commit f1944ead66d854c349fca67da2b13d2be3c7fc33 Author: Ovidiu Sas Date: Fri May 14 15:05:17 2010 -0400 sdp parser: fix sdp payload attributes cloning - ptime attribute was not computed while allocating space for the cloned attributes commit 53bb79cef5eb70e98472903ef84b5585cc798e65 Author: Daniel-Constantin Mierla Date: Thu May 13 11:41:06 2010 +0200 registrar(k): reset dst uri in lookup - upon lookup, dst uri is reset if no new dst uri is set from received or path, otherwise the coordinates of selected contact are not effective - reported by Andreas Granig commit 1dec97e86e473574d0b767af21ad6757fa4d1342 Author: Ovidiu Sas Date: Wed May 12 20:06:12 2010 -0400 sdp parser: remove dead code - remove dead code from sdp.c commit b64a6696ea12c14b3b8a8849f0a966be9b95a729 Author: Daniel-Constantin Mierla Date: Tue May 11 16:15:41 2010 +0200 tmx: fixed copy and paste error - t_cancel_callid => t_reply_callid() - reported by Klaus Darilion commit 4996c6fb74e8f7b8461714734af7c64cb49c12e1 Author: Daniel-Constantin Mierla Date: Tue May 11 15:26:32 2010 +0200 tmx: documentation updated - documented t_cancel_callid() and t_reply_callid() - readme regenerated commit 7f56004e206cf0f9ae7b3d500dd48407998802cd Author: Daniel-Constantin Mierla Date: Tue May 11 15:03:19 2010 +0200 tmx: two new functions for transaction control - t_cancel_callid(callid, cseq, flag) - cancel the INVITE transaction sharing the callid and cseq. It set the flag for invite transaction if the value is greater than 0 - t_reply_callid(callid, cseq, code, reason) - send a reply to an INVITE transaction sharing callid and csec - the functions are useful for remote control of invite transaction (via xmlrpc or out-of-dialog sip request) - an useful application - call pickup: - INVITE comes in, callee is in a pickup group - store callid, cseq, etc in database or notify the other phones in the group (easy to do for snom phones and extra programmable buttons) via uac_req_send() - send a remote control command telling which call to pickup (callid, cseq) and where to redirect. In config, call t_cancel_callid(). in failure route for INVITE catch the cancelled transaction (flag is set), get the new destination (e.g., stored in htable) and forward the invite there commit 9795ed48d9fa1a65287c55c18d61fb6b4c627773 Author: Daniel-Constantin Mierla Date: Tue May 11 15:00:42 2010 +0200 tm: internal t_reply exported via API - internal t_reply exported as t_reply_trans - it takes transaction pointer as parameter - removed duplicate include of t_reply.h commit f194caed3ca7a10bc90bf08a2324ccbfe78b3c94 Author: Juha Heinanen Date: Tue May 11 14:43:55 2010 +0300 modules/mediaproxy: removed error message - Removed error message since a=rtcp line could contain the port only. Credits to Thomas Gelf and Saul Ibarra Corretge. commit 3e3ec3e302e25936af1b24a3769a455abc138e08 Author: Juha Heinanen Date: Sun May 9 15:02:11 2010 +0300 modules_k/permissions: fixed reloading of address table - Database handle was not initialized when address table was reloaded. Now it is initialized/closed at each reload. Looks like this has never been tested before. Still don't know why mi_addr_child_init() exists and what it is supposed to do. commit 027d68e9cc7afcdb3ba8922215a28e33a5225097 Author: Daniel-Constantin Mierla Date: Thu May 6 21:09:47 2010 +0200 avposp: use state in searching first avp in avp_copy - state parameter was missing when searching first avp, keeping it uninitialized when searching the next, causing a crash when flag 'g' was used in avp_copy - reported by Jon Bonilla (Manwe) commit f045c756a0e1da83526e709559e4287a62a0fdfe Author: Daniel-Constantin Mierla Date: Thu May 6 20:49:43 2010 +0200 tm: use direct assignment to exported API - non-cfg functions are exported via direct assignment, they do not follow cfg command prototype commit de804eab627b01bab5f7872bc6a0bd281c5ab62a Author: Daniel-Constantin Mierla Date: Thu May 6 20:17:08 2010 +0200 tm: removed the defines of cfg and api functions commit 25680d4bc14a4502e118951873c6da8edfc7e9a7 Author: Daniel-Constantin Mierla Date: Thu May 6 18:51:45 2010 +0200 dispatcher(k): allow functions from route block - they do not depend on sip message itself, but script variables commit 5fe218c1ba48eeb4f1cecc0e26c4545972bc10a2 Author: Marius Zbihlei Date: Tue May 4 17:06:47 2010 +0300 core:sr_module.c increased number of pre-allocated static buffers in get_str_fparam() Increased the number from 3 to 6 as more are needed by modules like carrierroute when avp's are used as function parameters (Bug reported by Ole Kaas) commit 5783e4dd98313f8a617cc1a0562ddba94be05904 Author: Daniel-Constantin Mierla Date: Tue May 4 14:19:06 2010 +0200 mtree: fixed len check for dbtable attribute commit 2095981e8bc7f25c39099c72468b61cf9a5dca59 Author: Marius Zbihlei Date: Tue May 4 13:10:03 2010 +0300 Modules:carrierroute: Fixed a bug in carrirroute module that might cause a crash if the routing prob was larger than the number of available routes. The problem was caused by a missing else commit bae720e04c38976543d4d51229555e5b7f62dcaf Author: Ovidiu Sas Date: Wed Apr 28 11:28:29 2010 -0400 modules_k/ratelimit: adding rpc interface - functionality provided via mi interface was extended to rpc interface commit 1527516a4b4c55d06b970dea5beac673e13f7333 Author: Marius Zbihlei Date: Tue Apr 27 15:40:10 2010 +0300 lib/srdb1 The RES_ROW(res) was not checked to be NULL before being used This caused a crash in the case that RES_ROW_N(res) was > 0, and RES_ROW was NULL (like a pkg_malloc going bad in a OOM scenario). commit a88811eb53692efcf5ef397d5c1563620d8ceabe Author: Juha Heinanen Date: Tue Apr 27 09:30:12 2010 +0300 modules/mediaproxy: crash fix - Fixed crash when received reply contains more streams than the INVITE. Credits to Saúl Ibarra Corretgé. commit 1962f98b3020896ccf705f1dd6a15259fe557139 Author: Henning Westerholt Date: Mon Apr 26 13:15:19 2010 +0200 htable(k): add a note about the htable size enforcement rules in the mod commit 70d2b098822efd0240dc61bd33edd583086fe83c Author: Juha Heinanen Date: Sun Apr 25 10:35:59 2010 +0300 modules/lcr: new feature added and old one removed - Gateway ip_addr can now be NULL if hostname is given. If ip_addr of one or more gateways in an LCR instance is NULL, all test functions fail on that LCR instance, because for performance reasons, no DNS queries are done by the test functions. - Removed support for MI functions. commit 20cddb28e968d8e0f79a7910d3cc83fa6f40887f Author: Daniel-Constantin Mierla Date: Fri Apr 23 23:58:43 2010 +0200 cfg: extended preprocessor directives - you can define values for IDs - defined IDs are replaced at startup, during config parsing, e.g.,: $var(x) = 100 + MYINT; - is interpreted as: $var(x) = 100 + 123; - you can have multi-line defined IDs while($var(i)<5) { \ xlog("++++ $var(i)\n"); \ $var(i) = $var(i) + 1; \ } - then in routing block route { ... IDLOOP ... } - new preprocessor directive - perform substitutions inside the strings of config (not that define is replacing only IDs - alphanumeric tokens not enclosed in quotes) - #!subst offers an easy way to search and replace inside strings before cfg parsing. E.g.,: modparam("acc", "db_url", "mysql://user:DBPASSWD@localhost/db") - will do the substitution of db password in db_url parameter value - number of allowed defines set to 256 - credits to Andrei for quick hints on ID defines - notes: - multilines defines are reduced to single line, so line counter should be fine - column counter goes inside the define value, but you have to omit the \ and CR for the accurate inside-define position commit 108029460df18324f3186e3d3a8369946370e0d6 Author: Juha Heinanen Date: Fri Apr 23 21:39:28 2010 +0300 utils/kamctl: cleaned up lcr commands - Does not work yet, because $RPCCMD has not been defined yet and I don't know where it should be defined. commit f26fde383ccb90d36c70123772eaf10aed250152 Author: Juha Heinanen Date: Fri Apr 23 20:14:57 2010 +0300 modules/lcr: added URI parameters gateway attribute commit 681628683649e254b0f06c3938b468c67d70e76e Author: Henning Westerholt Date: Fri Apr 23 17:38:50 2010 +0200 fix typo in man page, reported from Juha commit 839c9509013abf77a446e1c35620a9fcd4223740 Author: Daniel-Constantin Mierla Date: Fri Apr 23 16:44:49 2010 +0200 core - tm: improved log messages - udp_send() prints outgoing buffer len as unsigned - build_uac_req() prints the size of attempted memory chunk allocation commit 0e119dbcbb253ef4e9d5e4dcbc5946e285f36b87 Author: Juha Heinanen Date: Fri Apr 23 13:51:21 2010 +0300 utils/kamctl/kamctl.8: removed obsolete text commit 3b94ad70957e560dfe1087469fd9e1dd3ea14f95 Author: Juha Heinanen Date: Fri Apr 23 13:34:25 2010 +0300 modules/lcr: load_gws() return value tells if any matching gw was found - load_gws() now returns 1 if at least one matching gateway was found, 2 if no matching gateways was found, and -1 on error. commit 93eb30d67bdb2be3d5ff2ab563af75a5958c26e1 Author: Marius Zbihlei Date: Thu Apr 22 13:19:58 2010 +0300 doc: Removed hardoded kamctl value and replaced it with an XML entity This will allow for faster documentation changes regarding the ser-kamailio ctl tools unification proposal commit fd68980dc6f3de03a432f478c124852c23a1d1b2 Author: Daniel-Constantin Mierla Date: Thu Apr 22 10:35:33 2010 +0200 dialog(k): populate bind addr before any error - setting bind addr attribute in populate_leg_info() takes place before any parsing error may occur, to be sure it is set, avoiding extra check for null value when updating db - reported by Kelvin Chua - credits to Timo Reimann for troubleshooting commit 4a9f0a3d1106a38db034668ebf127ca515d5b362 Author: Daniel-Constantin Mierla Date: Wed Apr 21 15:59:26 2010 +0200 core: #!def aliased to #!define - alternative to avoid conflicts with some text preprocessors commit 9b6c7de606acc48b5876fa13159e9bb3e63d8c09 Author: Daniel-Constantin Mierla Date: Wed Apr 21 15:11:05 2010 +0200 pv: fixed pv class names in log messages commit 5040ff5cc54f673af80190916de9c1ac5d4c1af9 Author: Daniel-Constantin Mierla Date: Wed Apr 21 15:04:55 2010 +0200 dialplan: safety check for fetch rows before data init commit 83ce345f438eecf53057c86042d030022287b13c Author: Marius Zbihlei Date: Wed Apr 21 15:14:48 2010 +0300 modules_k/usrloc Updated README to reflect the changes made to documentation commit 15627cd0cb424d76eb266e66e51fe90a4ddefb71 Author: Daniel-Constantin Mierla Date: Wed Apr 21 12:53:03 2010 +0200 dset: exposed branch structure - added helper functions to allow branch attributes updates via PVs - related to FS#8 commit 4223ed2097efaba0305c8d8768c34b2d25ff407e Author: Daniel-Constantin Mierla Date: Wed Apr 21 12:46:20 2010 +0200 pv: implemented assignment for branch pvs - branch attributes can be individually changed via $(branch(attr)[index]) - if index is missing, first branch structure is taken - if index is -1, last branch is missing - adding a new branch is possible via km_append_branch("uri") or append_branch() functions - $(branch(uri)[index]) = $null; will drop the branch. Note that the next branches after dropped one will be shifted one possiotn back - for the rest of attributes, $null assignment means reseting the value of the attribute to null (uri is mandatory to have the branch valid) - completed FS#8 commit e7b8754f25f320f27a3e89f0d02cf1ae6b0d353d Author: Marius Zbihlei Date: Wed Apr 21 13:28:04 2010 +0300 modules_k/usrloc Fixed 2 bad typos in documentation Reported by Juha Heinanen commit d6fbd5a146c01aa0fa856fcb4279d9883f3b12b9 Author: Marius Zbihlei Date: Wed Apr 21 13:16:45 2010 +0300 modules_k/usrloc Added Contact and Path matching mode The binding is matched against Contact and Path Patch provided by Bayan Towfiq ( bayan at flowroute dot com ) commit 9167c186505abdc122d221dd43f10a261a1b3845 Author: Marius Zbihlei Date: Wed Apr 21 12:35:16 2010 +0300 core: The patch allows ser started in daemonize mode to return the proper error code. If for example the listen address is not local or a DB connection uses an invalid password, then the command "ser" would return 0 (OK) anyway (even if it fails to start).This occurs because all those checking (socket, DB connections...) are performed *after* invoking daemonize() so the parent process (which could be invoked by "/etc/init.d/ser start") returns 0 knowing nothing about those errors. This caused some management tools like HeartBeat to work badly. The patch is simple: the master process opens a pipe, and reads from one end. The forked main process, after the correct initialization of components, will write some bytes to the writting end. In case of error, no data is written to the pipe. The master process waits for 10 seconds, or else it considers the main process blocked and exits with a different error code( -2 ). In this case, it is left for the user to ensure that all ser children are killed correctly. Patch initially from Iñaki Baz Castillo. commit 615ed016d7e846990211bec095d0f7ecee18f112 Author: Juha Heinanen Date: Wed Apr 21 11:18:45 2010 +0300 modules/enum: '&kamailio;' => '&siprouter;' in doc. commit 192228ca80f0c78481a9e768d82707ed5aa80ba7 Author: Juha Heinanen Date: Wed Apr 21 11:14:15 2010 +0300 modules/mediaproxy: added note on required Mediaproxy version - Added note that this modules Mediaproxy version 1.4.2 or higher. - Changed '&kamailio;' string to '&siprouter;' string. commit 635ac3061b55566b08d31cafcb75e716631c1096 Author: Juha Heinanen Date: Wed Apr 21 10:55:53 2010 +0300 modules/mediaproxy: some minor bug fixes and code cleanups - Changed some comparisons to be case insensitive. - Renamed some variables. - Fixed testing of existence of to tag. - Some editorial cleanups. commit e4bd74c1718ea2218f2ad426537641cc9ef71d7d Author: Daniel-Constantin Mierla Date: Tue Apr 20 22:06:46 2010 +0200 tm: kamailio flavour enables local-request event - will execute event_route[tm:local-request] - reported by Alex Balashov commit 3691d7b9a1142eaeba2521fe01d3c1c6e9ceef2b Author: Daniel-Constantin Mierla Date: Tue Apr 20 17:45:25 2010 +0200 pv: use local buffer to return empty val after s.strip - further assignments may want to ensure it is zero-terminated and cause crash - reported by Juha Heinanen commit 6783e5e3e9a00cd60afcd9e25f3425f22f006a29 Author: Daniel-Constantin Mierla Date: Tue Apr 20 16:04:55 2010 +0200 pv: added strip and striptail transformations - s.strip and s.striptail transformations to remove prefix or suffix from pseudo-variables - straightforward option instead of more complex format of s.substr for these two common operations in sip routing commit f624074a1680befed9328548864407c396ec196f Author: Daniel-Constantin Mierla Date: Tue Apr 20 12:24:29 2010 +0200 perl: update the index of params in action struct - params start from 3rd position of val array commit 701fd7fa8fd5f45a6ef667ebc993c5b774acbecf Author: Daniel-Constantin Mierla Date: Tue Apr 20 12:23:20 2010 +0200 app_python: update type for fixed params - related to previous commit commit c52150e55e5681120c104db4f8ee5c54a20f1797 Author: Daniel-Constantin Mierla Date: Tue Apr 20 12:18:02 2010 +0200 app_python: fixed the index for params - params are stored from 3rd possition - search of the exported function uses (nr_of_python_params - 1), using -2 is wrong and goes negative commit 475a65cbf5b7d2acefd02359f67844fd24870f38 Author: Daniel-Constantin Mierla Date: Tue Apr 20 12:12:54 2010 +0200 app_lua: added sr.modf(func, param1, param2, ...) - new function in Lua sr package to execute functions exported by modules - disabled for functions without free fixup, to avoid memleaks commit bd56a4728de187a871885f8d645cfaefee292875 Author: Daniel-Constantin Mierla Date: Mon Apr 19 21:21:01 2010 +0200 tm: print deprecated warning for timer APVs - t_set_fr() is better for setting dynamic timeouts for transactions - print deprecated warning when initalizing AVP parameter names commit 6961e3afe035035f657748961498fd2d58adf004 Author: Daniel-Constantin Mierla Date: Mon Apr 19 21:13:36 2010 +0200 tm: timer avps spec type auto-detected - detect if is PV spec format or AVP name format - get rid this way of cfg compat mode commit ba533c995169b0c8767bbe3514eb4c725e70d92b Author: Daniel-Constantin Mierla Date: Mon Apr 19 21:07:28 2010 +0200 pv: $null exported by pv api - core pv api can export pvs - $null and $$ are generic and can be used without pv module - pv_parse_avp_name() moved together with pv_get_avp_name() commit 84119209c6628ca001dffd3a22b009e3b6daccaf Author: Juha Heinanen Date: Mon Apr 19 20:36:27 2010 +0300 modules/tm: don't print error if branch is dropped in failure route - I noticed that if I drop a branch after calling t_relay() in failure route, an error message "w_t_relay_to: t_relay_to failed" was printed to syslog. This patch suggested by Andrei suppresses this error message. commit 2812bd9c426d7a186bdc9b1d5fc4766315a64290 Author: Juha Heinanen Date: Mon Apr 19 18:28:07 2010 +0300 modules/tm: fixed t_unref bug catcher - On behalf Andrei, added one more condition to t_unref bug catcher in order to avoid invalid BUG message. commit b663c49cf5c2a0b91453920afb14f9234f186e1e Author: Miklos Tirpak Date: Mon Apr 19 12:44:05 2010 +0200 data lumps: two new add lump functions The following new functions are introduces that can be used to add new lumps: - add_new_lump(): Add a data lump right after the anchor point into the main lump list. Every "before" lump of the same anchor point will preceed, every "after" lump will follow this lump. - anchor_lump2(): Return the anchor point at the given offset if exists, otherwise create a new anchor. commit 8d53f26b931ef7836c31f178021a039b09f04d2c Author: Daniel-Constantin Mierla Date: Sat Apr 17 13:59:30 2010 +0200 core: fixup updates for cfg compat mode removal - default compat mode becomes the only mode - affected is #!SER if anyone was using it - now means that a script variable like $xyz is attepted to be resolved first as PV and if not found the is checked as AVP commit cba4663bb425952c22084f3ba2192250430eae5a Author: Daniel-Constantin Mierla Date: Sat Apr 17 13:34:50 2010 +0200 kamailio.cfg: added some tm parameters - failure_reply_mode set to 3 - kamailio 1.5.x default behavior - added fr_timer and fr_inv_timer with their default values to show they take now milisecond values commit 1a33a975c0350055f0018c6d2313b630e8234c1b Author: Daniel-Constantin Mierla Date: Sat Apr 17 13:27:29 2010 +0200 tm: documented failure_reply_mode - control how branches are managed for serial forking, i.e., failure_route handling commit 7f0cdd239d24bc5a81aa4d9ca679eb29cd3e4ffe Author: Daniel-Constantin Mierla Date: Sat Apr 17 13:06:13 2010 +0200 tm: branch selection for failure_route controlled by param - replaced cfg compat mode controlling of branch reply selection for failure_ route with a parameter: failure_reply_mode - default value: 0 - keep all branches, use t_drop_replies() for controlling per transaction in failure_route (default behavior of ser 2.1.x) 1 - drop all branches 2 - drop branches of last serial forking step 3 - automatically drop old branches when a new serial forking step is initiated (default kamailio 1.5.x behaviour) commit a734fd7cb6f0755fa44e6bed51e41247a846c63d Author: Daniel-Constantin Mierla Date: Sat Apr 17 12:41:00 2010 +0200 tm: removed commented code - related to timeout avp and K cfg compat mode commit 8633741eb9163864f14f97582c1cddd4ca67bc69 Author: Daniel-Constantin Mierla Date: Sat Apr 17 12:36:39 2010 +0200 tm: removed auto-adjustment of timers for K compat mode - K compat mode removed for auto-adjustment of values for timer parameters - make sure you give proper value in mili-seconds (as in README) - part of cfg compat mode removal commit be55b963a2543a791f128ab1cc4c3a8c4e70b172 Author: Daniel-Constantin Mierla Date: Sat Apr 17 11:56:01 2010 +0200 core: removed K compat mode for onsend route - no conditions around drop flag - part of work to remove config compat modes, as per irc devel meeting discussions commit 258b58e29fe9e63a75d853d1826fe9c4b9a5f0ab Author: Daniel-Constantin Mierla Date: Sat Apr 17 11:46:44 2010 +0200 core: sip warning header disabled by default - do not append Warning header to local generated replies by default - it can be enabled from config file via sip_warning parameter commit 219771572b120fe9349170c7f8502b3be1ed22c1 Author: Juha Heinanen Date: Wed Apr 14 17:17:59 2010 +0300 modules/lcr: always use current time when loading gateways - Always use current time when deciding if a gateway is defunct or not. Otherwise a gateway may get used even if its defunct until time in database is greater than current time. (cherry picked from commit 0c819f3ff3d947897fa0bafbaaa0081b671bb4e4) commit 208c9dab5e4545212ceedd2fe884360ebfd007f9 Author: Daniel-Constantin Mierla Date: Sat Apr 17 10:19:44 2010 +0200 tm: use E_CFG for handling the drop in branch route - don't print error message of failure adding branches since drop was called by script - reported by Juha Heinanen commit 579644559eb7051fb35bcee3faa9b56e839f5234 Author: Daniel-Constantin Mierla Date: Thu Apr 15 11:37:30 2010 +0200 tm: removed note about drop and branch route - readme regenerated commit edfbfab6590381872dbd0f9ea89b496cb1c911d6 Author: Daniel-Constantin Mierla Date: Thu Apr 15 11:20:52 2010 +0200 pkg(k): extended rules for mysql depends - closes FS#65, reported by Jon Bonilla commit d592824b6e1b0d31a0d4fff28d003cc4c3c878bc Author: Daniel-Constantin Mierla Date: Thu Apr 15 11:02:06 2010 +0200 tm: added drop functionality for branch_route - missing part of K integration - credits to Andreas Granig for reporting and testing commit 9c5da73226b3124c888e434e3df55cc1466b3b07 Author: Daniel-Constantin Mierla Date: Wed Apr 14 10:39:47 2010 +0200 mysql: include dprint.h - several files were missing include of dprint.h - could be the cause for missing symbol reported by Pratab Ali for opensuse commit 420eeac3dcf4cc04c59ee700b9a8897d451491e2 Author: Henning Westerholt Date: Tue Apr 13 14:03:44 2010 +0200 reg(k): small spelling fix commit 4480f807dcbc75c84784ad8f4ffb3cf5b19912c3 Author: Marius Zbihlei Date: Tue Apr 13 11:48:50 2010 +0300 modules/registrar Added default_expires_range parameter, which specifies randomisation of the Expire parameter returned to the UA(in case the UAC doesn't specify an own expiry value) in a certain interval. This new parameters adds the posibility to randomize the Expiry parameter in a certain interval, (+- default_expires_range%*default_expires). This is helpful to avoid syncronization of re-registration of the UACs after an outage. Parameter is configurable via ser cfg framework. Old behaviour (fixed default_registrar value), is enabled by default, by leaving the parameter 0. commit b38adad6d2667420fd5e50a30f4c04a0fd6cf6cd Author: Marius Zbihlei Date: Mon Apr 12 17:36:20 2010 +0300 unit/test/46.sh Added new test for integration of cfg framework in k modules. The test allows for a easy set/get scenario of a configuration variable. commit bbab41f73fc086f8d14668c40a9879fb47ecfbc0 Author: Daniel-Constantin Mierla Date: Thu Apr 8 23:34:15 2010 +0200 pv: added $true - return integer value 1, useful to create infinite loops via while($true) { ...} - suggested by Ovidiu Sas and Juha Heinanen commit accf0388ffaf208fd9f0f31a2618fe1a429b3cc6 Author: Daniel-Constantin Mierla Date: Thu Apr 8 23:21:53 2010 +0200 tm: notes about avp parameters format - they can be either PV style $avp(name) for K compat mode or just the name of avp for S compat mode (cherry picked from commit 2bbb798da2e332f5558646e6faa285e6377286bd) commit 5aa3167b088bdf2e7a5d74fdbbd83c0e150f7741 Author: Daniel-Constantin Mierla Date: Thu Apr 8 22:57:48 2010 +0200 tm: don't fix timeout AVP value for K compat mode - the avps for timeout still expect second values unlike module parameters that expect miliseconds - therefore do not adjust the value if it is too low - reported by Andreas Granig commit 7ca703c25a24b38a95c3493aae4ae0be3820b881 Author: Juha Heinanen Date: Thu Apr 8 19:47:35 2010 +0300 modules_k/permissions: fixed incorrect error message - Error message "no more shm memory" was generated by init_addresses function also when the error was not related to shared memory. commit 465a781e73128e66e9328fa27f1c1a1971b260dc Author: Henning Westerholt Date: Thu Apr 8 10:37:22 2010 +0200 pdbt(sr): some spelling fixes, found by Jakob Hirsch commit 198e468b7d83bb62d0761dd45e5c6820bc75a61a Author: Daniel-Constantin Mierla Date: Wed Apr 7 22:56:46 2010 +0200 topoh: free nbuf - fixed leak due to no free of new buffer - reported by Libor Chocholaty commit 5ab5c7ff6954661de9efe84136f5fa42784ef2b9 Author: Juha Heinanen Date: Wed Apr 7 09:24:44 2010 +0300 modules/enum: enum_pv_query() modification - enum_pv_query() now applies NAPTR regex to E.164 number given in its pv argument. Earlier NAPTR was applied to E.164 number in Request URI user part. commit 1ecf1d2c81e4dd5ae7049b28955a19af3a4379a9 Author: Juha Heinanen Date: Sat Apr 3 14:06:50 2010 +0300 modules/lcr: simplified db handling - Use higher level db functions and globally defined handle. - No need for children to keep db connections open because of rpc interface. commit 14aaf32dd20252ee92c97dc3d3811c20b615222c Author: Juha Heinanen Date: Sat Apr 3 13:20:38 2010 +0300 modules/dialplan: fixed reloading of db data - Open and close db connection each time rules are (re)loaded from database. commit a6a01a9e8345f1bbec02715e10e31b540b7f1368 Author: Marius Zbihlei Date: Fri Apr 2 15:03:09 2010 +0300 lib/kcore/km_crc.c Fixed wrong computation of crc32 The final result was not bitwise complemented, yeilding an incorrect result commit 7e19a002d0d8e8c4c3ed2636cd43015366ca0a90 Author: Juha Heinanen Date: Fri Apr 2 10:46:40 2010 +0300 modules_k/nathelper: handle_uri_alias() documentation improvements commit ba7e942b819cea6c6d71651a37cfd9f73a9ddd48 Author: Juha Heinanen Date: Fri Apr 2 10:19:55 2010 +0300 modules_k/nathelper: handle_ruri_alias() fix - Look for ;alias parameter in parsed_uri.sip_params field instead of parsed_uri.params field. commit 0acd8963f76a4854e101210db17854ca8062ff61 Author: Ovidiu Sas Date: Wed Mar 31 14:05:51 2010 -0400 pkg: updated kamailio spec file for CentOS - updated kamailio spec file for CentOS along with default and init scripts. commit 7b8b6f647365655afa210f5e95baef06398ef612 Author: Ovidiu Sas Date: Wed Mar 31 10:31:05 2010 -0400 kamctl: fix 'kamctl cr addcarrier' command - 'COMMENT' field and 'MASK' field were mixed up causing 'kamctl cr addcarrier' to fail. commit a3080718b97361622599b3896dddb6aee7fbb273 Author: Juha Heinanen Date: Tue Mar 30 19:20:50 2010 +0300 modules/diaplan: dest pv is now optional in dp_translate() - If dest pv is not given, only matching and storing of matching rule's attributes is done. - If replacement empty, dest pv is not set no matter what kind of pv it is. commit 92e8377974d77851a68655df10b388cd53a1aaba Author: Juha Heinanen Date: Mon Mar 29 14:28:17 2010 +0300 modules_k/textops: added starts_with() function Added starts_with() function in order to avoid use of regexs for this common test. commit dd4c5699a1821c52c3b0b30e7e199245615e4b14 Author: Daniel-Constantin Mierla Date: Sun Mar 28 22:32:48 2010 +0200 pipelimit: added module documentation commit 7fae7a58cb98266f859e2483b892edd5f3110064 Author: Daniel-Constantin Mierla Date: Sun Mar 28 21:03:55 2010 +0200 kamailio.cfg: various updates - sample IP auth with permissions via define WITH_IPAUTH - more modularity in main route block to suggest better the parts handling SIP server types such as REGISTRAR or LOCATION - sample alias line commit 71a58b4718301fbce44f2d0811d4edfc4b012ff5 Author: Daniel-Constantin Mierla Date: Sun Mar 28 21:02:04 2010 +0200 permissions(k): print tag in MI commands output commit aab8df4fbedb7cd7f7dbb8d8ef6564f721e90444 Author: Daniel-Constantin Mierla Date: Sun Mar 28 19:37:03 2010 +0200 permissions(ka): exported allow_source_address() - alias to allow_source_address("1"), 1 is default value for group id commit 9fba21f14a07bc504d41b57c206b0628821fe920 Author: Daniel-Constantin Mierla Date: Sun Mar 28 19:33:41 2010 +0200 permissions(k): added allow_source_address() - it is equivalent of allow_source_address("1") - 1 is the default group id value in database commit 254514dfec1a72fdce4d1911db1df7e6122bec19 Author: Daniel-Constantin Mierla Date: Sun Mar 28 19:24:06 2010 +0200 permissions(k): use grp 1 in allow_source_address - example used grp 0 which is not allowed - extended the note about group id value commit 013e8236bd8ce4b9606fdf6a6c4974a91ddcac55 Author: Daniel-Constantin Mierla Date: Sun Mar 28 19:18:18 2010 +0200 kamctl: regenerated definition of address table - default value for grp column is 1 commit 8f7c165ffefc44a2e054be6ec6fbd0da1cd63d92 Author: Daniel-Constantin Mierla Date: Sun Mar 28 19:16:55 2010 +0200 db schema: grp of address table defaults to 1 - 0 (previous default value) is not allowed as group id commit 64fa789c3bc94b36e79a8d886c5c2742c8a1629d Author: Daniel-Constantin Mierla Date: Sat Mar 27 23:29:01 2010 +0100 kamctl: regenerated db definition scripts - due to update of address table structure with new column 'tag' commit a549e66e612829bfaf13e581872ea49bddd6c205 Author: Daniel-Constantin Mierla Date: Sat Mar 27 23:28:01 2010 +0100 db schema (k) - address table structure update - added tag column used by allow_address() from permissions module - version of the table increased commit cd93b6afcc6592b4ab8b45040af7f61caa0c1c70 Author: Daniel-Constantin Mierla Date: Sat Mar 27 23:26:24 2010 +0100 permissions(k): tag support for allow_address - new column tag holding a string that is returned in config file upon matching the address - similar to tag for allow_trusted() - reuses the avp and column name from allow_trusted() commit 7a1e96b69de685ad4b4562d8ddde31106d9cd437 Author: Daniel-Constantin Mierla Date: Fri Mar 26 10:48:41 2010 +0100 kamailo.cfg: fixed typo - typo in the hints of missed_calls table update for accouting (cherry picked from commit 6087434f2ddfbe07767d5a4eeb739b72b7c27a93) commit d75db62dc2c859165fc3f72b256393678fcd00f5 Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 23:20:17 2010 +0100 core: route(): added support for rvalue expressions parameters route($foo+$bar+"test") will work now. Constant values (e.g. route("foo"+"bar") are optimized to the simple string case (route("foobar")). Closes FlySpray#52. commit 0a3ab1b240c9879748ffe2f7b4f684510901dacc Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 22:10:27 2010 +0100 core: trying to execute an undefined route will produce an error Trying to call non-existing routes (via route("...")) will result now in an error on startup (during fixups). The old behaviour was to consider any non-existing routes as empty (and do nothing). Reported-by: Juha Heinanen jh tutpro com Closes: FlySpray#51. commit cf2ecfaa0dd1b316e405d508eac4f4b9ae2296b7 Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 22:06:42 2010 +0100 core: fix run_actions w/o USE_LONGJMP - fix retcode not set in run_actions() if USE_LONGJMP is not defined. - minor optimizations (likely()/unlikely()). commit 0581efe06a8fb0ffe15542c343ae7ac0bc20cbbb Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 22:04:44 2010 +0100 core: fix return not working inside a while() loop Reported-by: Juha Heinanen jh tutpro com Closes: FlySpray#46. commit d13629b64226ba665bf9ed2d8211189215bb5157 Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 20:30:57 2010 +0100 tls: added custom memory based bio Added a custom memory based BIO, that reads and writes in some memory buffers. It will be used to replace the direct socket access. commit 7f1b8eb817b26c27d273433d4365d10defca6301 Author: Andrei Pelinescu-Onciul Date: Thu Mar 25 20:29:32 2010 +0100 tcp: minor cleanups & spelling - removed F_CONN_NON_BLOCKING (not used anymore) - spelling & whitespace cleanups commit d91a9b021c494678cd20bc3fd444f9d4d565ec65 Author: Daniel-Constantin Mierla Date: Wed Mar 24 22:44:49 2010 +0100 makefile: presence_mwi added to excluded list - patch by Ovidiu Sas, tracker FS#45 - makes no sense to build it out of presence group - kpresence group includes it and makes easier packaging commit e8a3c6dd30b2123a385380b44e9975697f628f01 Author: Juha Heinanen Date: Wed Mar 24 23:03:48 2010 +0200 * modules/enum: enum_query() params may now contain pseudo variables. commit 2488aee54302ed5cbc2de8e22252d42f45f18f75 Author: Henning Westerholt Date: Wed Mar 24 11:47:05 2010 +0100 cfgutils(k): fix error in example, found by Verena Kahmann commit 0c7e84ff04d46be3f7c18c2513fc85715455d173 Author: Andrei Pelinescu-Onciul Date: Tue Mar 23 17:58:30 2010 +0100 tcp: tcp_send() split in 3 smaller functions - tcp_send() split into 3 smaller internal functions (needed for future tls use) + minor cleanups. - CONN_QUEUED_WRITE now auto-decrements the connection refcnt. commit 3bcc0056930ddf5ab5f8a3da65de9628fe9b1f48 Author: Andrei Pelinescu-Onciul Date: Tue Mar 23 17:54:12 2010 +0100 tcp: comments & new internal command - commented the enum conn_cmds members - added new cmd. CONN_NOP commit 641a41b6e9cf1387c24dd9f863db978c8018df80 Author: Daniel-Constantin Mierla Date: Mon Mar 22 16:33:04 2010 +0100 makefile: fix install utils - previous commit broke installation of utils by a c&p error to non-empty test to utils variable (r => ut) - extra check for directory existence - credits to Federico M. and Nathaniel L Keeling III for reporting commit a120c193e57415db8f188a26bdc85ad160d0e069 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 22:52:09 2010 +0100 tls: doc: update default value for compression commit 817b6fd3177bab507a8609b257fb8a79f89dd0a3 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 22:41:43 2010 +0100 tls: disable compression by default Jan proposed to disable compression by default, since his tests showed that with compression enabled openssl uses ~10x more memory. For less then 100 connections it doesn't matter so much, but for larger numbers (e.g. >1000) it really makes a huge difference. To enable it, use modparam("tls", "tls_disable_compression", 0). Reported-and-tested-by: Jan Janak commit b1a3582f744615a51175b20864fa224a583970db Author: Juha Heinanen Date: Fri Mar 19 16:32:10 2010 +0200 modules_s/domain: fixed a few documentation typos commit 5decf8ecdd68a11f36e0e868242dbfed484eda55 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 15:28:37 2010 +0100 tls: remove warning about compression for openssl > 0.9.8e-beta1 Remove compile-time warning about compression workarounds for openssl versions newer then 0.9.8e-beta1. commit 56054f1ddc4053529d52ad1dd31d90f591b63b08 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 15:26:45 2010 +0100 tls: doc update w/ the new options - docs updated with the new parameters description (ssl_release_buffers, ssl_read_ahead, ssl_freelist_max_len, ssl_max_send_fragment). - README regenerated - NEWS updated commit 0c5b835259ab27216a9f34ddf445a49604a6c70c Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 15:11:49 2010 +0100 tls: new parameters for advanced openssl options - ssl_release_buffers: release internal openssl read or write buffers when they are no longer used (complete read or write that does not have to buffer anything). Should be used together with tls_free_list_max_len. Might have some performance impact (and extra *malloc pressure), but has also the potential of saving a lot of memory (at least 32k/idle connection in the default config, or ~16k+tls_max_send_fragment)). Works only with openssl >= 1.0.0. - ssl_freelist_max_len: maximum length of free/unused memory buffers/chunks per connection. Setting it to 0 would cause any unused buffers to be immediately freed and hence a lower memory footprint (at the cost of a possible performance hit and more *malloc pressure). Too large value would result in extra memory consumption. The default is 32 in openssl. For lowest memory usage set it to 0 and tls_mode_release_buffers to 1. Works / makes sense only for openssl >= 1.0.0. - ssl_max_send_fragment: maximum number of bytes (clear text) sent into one record. The default and maximum value are ~16k. Lower values would lead to a lower memory footprint. Values lower then the typical app. write size might decrease performance, so it should be kept ~2k+ for normal SIP traffic. Too low values (e.g. <1024) might cause the initial handshake to fail, so use with care. Works only for openssl >= 0.9.9. - ssl_read_ahead: enable read ahead. Should increase performance (1 less syscall when enabled, else openssl makes 1 read() for each record header and another or the content), but might interact with SSL_pending() (not used right now). Default: 1 (enabled). commit d4b2eee2e4f0e5a1fe4b5ea17d78d51a6fab70c7 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 14:47:46 2010 +0100 core: cfg parser: allow negative numbers in modparams commit 28b53c804b4853c31c8cb14227f207c9f085fb53 Author: Andrei Pelinescu-Onciul Date: Fri Mar 19 13:21:32 2010 +0100 tls: minor DBG() fix for the servername extension commit 8b7f0d9c8a79e5d2d5e7acd193a1ddace84a4a0b Author: Daniel-Constantin Mierla Date: Wed Mar 17 20:32:40 2010 +0100 pua_mi: id parameter introduced in mi pua_publish - the parameter is before etag - required to refer to same call for dialog-info - patch by Alex Hermann (SF#2826542) commit e5fa2eb3563d532ff88b8c42aa2baa307804b4ee Author: Andrei Pelinescu-Onciul Date: Wed Mar 17 20:09:29 2010 +0100 core: rval - don't use static buffer for int conversions - don't use static buffers for string conversions (rval_get_tmp_str()) - extended rval_cache with enough space to store an int converted to string - switched to signed ints (until now all ints where treated as unsigned) commit fb4f98a341322904a92c6f12396f5795a3275c08 Author: Daniel-Constantin Mierla Date: Wed Mar 17 20:00:59 2010 +0100 nathelper(k): safety check for content length - patch by Marcus Hunger, SF#2961414 commit fd1d749e86c269533577924313a951d88fa80429 Author: Andrei Pelinescu-Onciul Date: Tue Mar 16 19:33:44 2010 +0100 core: ut.* - BSD licence commit e9380311afbab7366c55cc3f143f10547e6f40ff Author: Andrei Pelinescu-Onciul Date: Tue Mar 16 19:28:36 2010 +0100 core: ut.h: added sint2strbuf() - added sint2strbuf() that works like sint2str(), but isntead of using a static buffer, requires a buffer to be provided by the called (hence being much safer). - increased INST2STR_MAX_LEN to accommodate for sign. commit ad57482b7d05417f7f0058cef8c698f18d6d9a39 Author: Andrei Pelinescu-Onciul Date: Tue Mar 16 18:15:56 2010 +0100 makefile: fix install-cfg & install-utils on solaris Reported-by: Nathaniel L Keeling keeling akan-tech com commit f86da819836b7a8c832b4a80262d8f39a86563dd Author: Andrei Pelinescu-Onciul Date: Tue Mar 16 11:34:45 2010 +0100 tls: documented is_peer_verified() - documented is_peer_verified() - fixed the xmls, so that xmllint / make check does not return any errors - regenerated the README commit 915a0052092be70630f76a91c19c9a540da038df Author: Andrei Pelinescu-Onciul Date: Tue Mar 16 11:13:19 2010 +0100 tls: doc: fix low_mem_treshold* name in examples The tls examples used low_memory_threshold[12] instead of low_mem_treshold[12]. Reported-by: Jan Janak commit fd5ddfd12c25497aa859dafc2bf65e3c07fd4529 Author: Daniel-Constantin Mierla Date: Mon Mar 15 23:50:13 2010 +0100 dispatcher(k): use load_tm_api - import tm module api directly - patch by Stephen Young (styoung) commit 1e18649d3cb322b889e6ca9ebbdd4e88015981f8 Author: Andrei Pelinescu-Onciul Date: Mon Mar 15 20:18:40 2010 +0100 perl(k): update api calls: s/MODULE_T/MODULE2_T/ MODULE_T was obsoleted by recent changes. It was replaced by MODULE0_T, MODULE1_T and MODULE2_T. commit 950759d9592ed7acf1821b0d96513164bda95c73 Author: Andrei Pelinescu-Onciul Date: Mon Mar 15 20:16:01 2010 +0100 app_python: update api calls: s/MODULE_T/MODULE2_T MODULE_T was obsoleted by recent core changes. It was replaced by MODULE0_T, MODULE1_T and MODULE2_T commit 37554f166be7c7eb9ee65ce3dfe591ad4094481a Author: Andrei Pelinescu-Onciul Date: Mon Mar 15 20:14:40 2010 +0100 print(s): more module function examples Added example functions with no fixups, with 1, 2, 3 or variable number of parameters (VAR_PARAM_NO). commit cad98b04136d6d48668b4b5c564ccaebd9b001f9 Author: Andrei Pelinescu-Onciul Date: Mon Mar 15 20:05:49 2010 +0100 core: support for expressions/variables in function parameters - all module functions that do not have fixups can now be called with variables, avps or expressions. They will be converted to string, either on startup (if the expression is constant, e.g. "a"+"b") or at runtime (if the expression is not constant, .e.g. $a, $b+$var(foo)+"test"). E.g.: f("1+1=" + 1 + 1, "v=" + $v). - slightly faster module function calls (eliminated some never-triggered sanity tests). commit e39526cf8e082ff3c9f282916d3dd1e339452758 Author: Daniel-Constantin Mierla Date: Mon Mar 15 13:15:09 2010 +0100 mtree: fixed attr size in mt_list command commit d896bb5f001641a6fcd9cd598eb3edf0255f1546 Author: Daniel-Constantin Mierla Date: Mon Mar 15 12:16:58 2010 +0100 mtree: mt_reload updated - reload function takes in consideration the operation mode commit 1e115fd9666ae6b5d674e6a9f0c98fe2a1cb3e05 Author: Daniel-Constantin Mierla Date: Mon Mar 15 12:07:01 2010 +0100 mtree: documented new parameters - new parameters: db_table, tname_column and mt_tree_type commit d0716521f3b4e2c3dd308ff5897756e016802e51 Author: Daniel-Constantin Mierla Date: Mon Mar 15 12:04:04 2010 +0100 mtree: fixet mt_tree_type param name commit 7449e6a6e9d064ca39413ada8a9fbf64da8a22fd Author: Daniel-Constantin Mierla Date: Mon Mar 15 11:55:44 2010 +0100 mtree: load many trees from same table - support to load data for different trees from same table - this is a different operating mode, where tree names are dynamic, it is no need to define them via parameters - static tree definition takes priority (if a static tree is defined, the table with dynamic trees name is not loaded) commit 9a5418799e219da911cb06a45edfd7cdb752e1c6 Author: Andrei Pelinescu-Onciul Date: Sun Mar 14 17:15:32 2010 +0100 app_python: fix mk_action() call The mk_action() call used the old openser format instead of the sip_router one. commit a14aaf3f2fe11cdc0d56e1a12cb60ae0cd53b8f5 Author: Andrei Pelinescu-Onciul Date: Sun Mar 14 17:13:40 2010 +0100 perl(k): fix mk_action call The mk_action() call used the old openser format, instead of the sip_router one. commit c96405e48681e2f7a9945c3ff8533ef7dcd703f4 Author: Andrei Pelinescu-Onciul Date: Sat Mar 13 14:13:40 2010 +0100 tm: improved Reason support for E2E CANCELs When generating CANCELs on-the-fly as response to a received provisional reply on a branch of an E2E CANCELed transaction, remember the Reason(s) from the original E2E CANCEL. Up until now, the Reason was not remembered for branches where no provisional replies were received (on these branches no CANCEL is sent, unless cancel_b_method is set to 2 or at a later point a provisional reply arrives). Now each time an E2E CANCEL is received the Reason headers are saved inside the INVITE transaction, for possible use in later branch CANCEL generation (triggered by receiving a provisional reply). commit c05afff1bc452d55536c2277f39c52c17cb29ff0 Author: Andrei Pelinescu-Onciul Date: Fri Mar 12 19:38:42 2010 +0100 malloc_test: realloc testing support Support for stress testing realloc: - new config variable realloc_p for enabling realloc() usage instead of malloc() for mem tests and mem_rnd_alloc. Its value is the percent of realloc()s from the total calls to alloc functions (0-90%). - new RPC: mt.mem_realloc size [unit] for manually triggering a realloc. commit 75c1e9a735c693a6985a7a1786116b5fe4044fd9 Author: Andrei Pelinescu-Onciul Date: Fri Mar 12 12:16:16 2010 +0100 mem: fix real_used stats for realloc A realloc that shrank an allocation accounted twice for the fragment overhead. Basically each shrinking realloc would introduce an error in the real_used mem stats, between 8 bytes (f_malloc, no debugging, 32 bits) and up to 96 bytes (q_malloc with debugging, 64 bits). This bug concerns only the accounting part. It does not cause any memory leak or any real runtime problem. It was introduced in commit fb9d6e50 (2005). commit a0b247b8cd596b3032270316a2184a04c9cff917 Author: Marius Zbihlei Date: Fri Mar 12 11:54:25 2010 +0200 test/unit Added support for running the tests if kamailio was built instead of ser Support was added by checking what executable exists in the $SR_DIR path commit 2f641e36779c4eb0f50781aad76b0db888142dc8 Author: Marius Zbihlei Date: Fri Mar 12 11:36:10 2010 +0200 registrar Removed unnecessary child_fixup for min_expires parameter The param was not exported to the stats framework. commit 9e047c210da28f79c0208b209ae86e6d43b3c3d7 Author: Marius Zbihlei Date: Fri Mar 12 11:29:47 2010 +0200 registrar Fixed typo in original commit that caused an invalid reference when linking commit c7099d0a1204120277cf662cc05ab35180d89538 Author: Andrei Pelinescu-Onciul Date: Thu Mar 11 21:08:20 2010 +0100 mem: fix f_malloc big fragments bug In some situation, when dealing with several big free fragments (>16k) f_malloc would wrongly choose a fragment with a smaller size then requested. This would create the impression that someone arbitrarily overwrites the memory. First symptoms were some tls crashes reported by Klaus Darilion klaus.darilion@nic.at. Reproduced using the malloc_test module. commit a5e2e4bc96fcdca24b814ca57887ef4e00b3cb1f Author: Andrei Pelinescu-Onciul Date: Thu Mar 11 21:06:17 2010 +0100 malloc_test: doc updates & generated README commit 0ff010fa5777a2c9c8ef477079323828e2362781 Author: Andrei Pelinescu-Onciul Date: Thu Mar 11 19:38:04 2010 +0100 malloc_test: new module for testing/debugging memory problems malloc_test is a new module for stressing the memory allocators and easily simulating out-of-memory conditions or memory leaks. Implemented RPCs: mt.mem_alloc size - allocates size bytes mt.mem_free [size] - frees at least size bytes. If size is missing frees everything allocated by any malloc_test test function. mt.mem_used - amount of currently allocated mem. by malloc_test. mt.mem_rnd_alloc min max total [unit] - allocates total bytes in chunks with the size randomly chosen between min and max. is optional and can be one of b-bytes, k - kb, m - mb, g -gb. mt.mem_test_start min max total min_int max_int total_time [unit] starts a malloc test that will take total_time to execute. Memory allocations will be performed at intervals randomly chosen between min_int and max_int (in ms). Each allocation will have a randomly chosen size between min and max bytes. After total bytes are allocated, everything is released/freed again and the allocations are restarted. The total_time is expressed in milliseconds. Several tests can be run in the same time. mt.mem_test_stop id - stops the test identified by id. mt.mem_test_destroy id - destroys the test identified by id (besides stopping it, it also frees all the data, including the statistics). mt.mem_test_destroy_all - destroys all the running or stopped tests. mt.mem_test_list [id] - Prints data about test id (running time, total allocations, errors a.s.o.). If id is missing, it will lists all the tests. Script functions: mt_mem_alloc(size) - equivalent to the mt.mem_alloc RPC. mt_mem_free(size) - equivalent to the mt.mem_free RPC. commit 1dd0a33bd1eab533d372f5faea0e38fb7a7a42b2 Author: Juha Heinanen Date: Thu Mar 11 04:03:41 2010 +0200 modules/mediaproxy: Added support for ICE negotiation. Patch provided by Sal Ibarra Corretg. commit 0b2d2c6e99dac2bd171f1c24bfa6f285f6539273 Author: Andrei Pelinescu-Onciul Date: Wed Mar 10 17:30:39 2010 +0100 make: fix CPU reset in some conditions In some cases like trying to build a package with debug config (e.g. make cfg mode=debug; .... ; make deb), the CPU make variable was reset resulting in a build failure. This happens because in the debug config CPU is not set and hence is saved as empty. Trying to build a package will start a sub-make which will try to re-do the config without debugging (make cfg), but the CPU variable with and empty value will be inherited from the environment and thus the CPU?=something lines won't have any effect. The fix replaces CPU?=something with $(call set_if_empty,CPU,something) This works around having an empty CPU in the environment. Reported-by: Jan Janak commit 111a87fef0868021d6585d32b879bac6cb07b310 Author: Andrei Pelinescu-Onciul Date: Wed Mar 10 10:42:15 2010 +0100 docbook: fix rm'ed files mentioned in .d build error When some .xml include file is deleted or removed, but the .d already exists, the build will fail trying to build the apparently missing file, requiring a make proper. This fix enclosed the prerequisites in $(wildcard ...), when generating the .d file. commit 0dabc34afe64672f07f572acfcd9478fc3575c9d Author: Andrei Pelinescu-Onciul Date: Wed Mar 10 09:45:28 2010 +0100 cfg. parser: fix warnings - removed flex input warnings - workaround for bison conflicts warnings (%expect ...) commit 5a9014ee4977c6afbc4b0cf65a9fad6237c2e2a6 Author: Andrei Pelinescu-Onciul Date: Wed Mar 10 09:25:13 2010 +0100 make: on-the-fly dependency generation - support on-the-fly dependency file generation with gcc >=3.0 (the dependency files are generated while compiling the object file, eliminating another gcc+sed invocation) - support for using makedepend -f- for generating dependencies E.g.: make cfg MKDEP="makedepend -f-". In general gcc should be preferred if available (use this if you don't have gcc and your compiler doesn't generate good deps). commit 965e651fbe84d370c05a647e022023cecf2d02bd Author: Andrei Pelinescu-Onciul Date: Tue Mar 9 21:57:25 2010 +0100 make: depends move/rm file fix & optimization - fix for make failing if the depends were made and a *.h is moved or deleted - avoid restarting make when depends change (make the depends at the same moment when the .o are generated) commit 1c327b736bda662702fe0f0a105293fdb646ecc6 Author: Marius Zbihlei Date: Tue Mar 9 14:54:49 2010 +0200 modules/carrierroute Ser cfg framework for some carrierroute parameters (fetch_rows, use_domain and fallback_default) Added support for cfg framework for some parameters Updated documentation to reflect the changes commit e85232164c11ad4189861b499e08358c99174e5b Author: Andrei Pelinescu-Onciul Date: Mon Mar 8 22:54:55 2010 +0100 tm: fix Reason generation for on-the-fly branch CANCELs For a canceled transaction, branches that have not received any reply might not have any pre-generated cancel buffers (in case cancel_b_method!=2). This could also happen when the first provisional response on a branch arrives in the same time with the event triggering the cancel (e.g. 2xx or 6xx on another branch, e2e cancel or timeout). In this cases, when generating the per-branch CANCEL for the first time (triggered by a received provisional reply), use the final transaction reply code as Reason. Note that this covers only the final reply triggered CANCEL case (2xx or 6xx received, local timeout or local script t_reply()) and it does not cover the e2e CANCEL case, for which either no reason will be generated (cancel_b_method == 1) or the reason might be 487 (cancel_b_method==0). commit 8b2457cf44077cf8b09e282aea4bdc73476e8145 Author: Marius Zbihlei Date: Mon Mar 8 16:11:05 2010 +0200 modules_k/registrar Updated documentation to reflect ser cfg framework integration commit 0e68e1dbc046a2039cb35b494265ae9efc708fc1 Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:58:06 2010 +0100 doc: select_list regenerated commit c1e5745fa5dc0d183d4c6d3eeb12befc264edb90 Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:57:08 2010 +0100 doc: cfg_list regenerated commit ebd482edb06d67883823a978925a7d8baae5b1db Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:56:02 2010 +0100 doc: rpc_lists regenerated commit 22a6f9805b0ee13357110edf201d301039119870 Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:52:27 2010 +0100 tm: rpc doc strings moved to tm.c Moved all the rpc doc strings into tm.c, close to the rpc exports declaration. This will also allow automatic documentation generation for the rpcs (the script that generates the rpc docs, parses C code and cannot "resolve" symbols defined in other files). commit f881456904969e1b2074cfd94af0daed9eef1292 Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:31:59 2010 +0100 doc rpc: fix xmllint errors Fix unsupported xmlns:xi attrib., missing example titles and text or examples outside sections. commit 0e146aac071284fd0d1ce0b4543e272a79d5c229 Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:28:04 2010 +0100 doc: dump_selects.pl: fix bare in generated xmls - cannot contain bare text => switched to using inside commit e6b92a08389e09bbddb7c30d1a328db00c6a8f2d Author: Andrei Pelinescu-Onciul Date: Sun Mar 7 12:24:02 2010 +0100 doc: *_list: fix xmllint errors and TOC - fix xmllint erros - use a 0-level TOC (such that the main TOC will list only the chapters and not also the sections) commit 14cf120a5ab36260f0ed8b165386c638581886aa Author: Andrei Pelinescu-Onciul Date: Sat Mar 6 13:57:46 2010 +0100 doc: *_list makefiles and files lists updates - added new makefile targets: gen-files-list (generate the file lists in a makefile-ready-to-paste format), diff-list (searches for files and prints the one which are not listed in the makefile). - updated make autogen to obey the excluded file and group lists - updated the files lists for cfg_list, rpc_list and select_list. Now they are in alphabetical order, with core groups first, as generated by make gen-files-list. - fixed title for the config var list commit c34a6c8ab47caa8d19ff869e6f55c15a1aab397d Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 19:17:06 2010 +0100 doc: cfg_list regenerated commit b58484d6297558a96514e456bfae0bb2aabd6057 Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 19:14:27 2010 +0100 doc: cfg_list: updated module list Added siputils, registrar(k) and ratelimit. commit d2924b30f4ee6398bcf9495f0a105653bb724029 Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 19:10:22 2010 +0100 doc: rpc_list regenerated commit 9f34472c4ea68271c5217cddb0ddeb232751087e Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 19:04:25 2010 +0100 doc: rpc_list: updated the module list Removed rls(s), pike(s) and pa(s) (obsolete) and add debugger htable, usrloc(k) and uac(k). Changed the name for usrloc(s) and usrloc(k) so that there won't be name conflicts. commit 4896b7a48dee41bb66bad1ff07d2b5f4d5972388 Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 18:43:44 2010 +0100 doc: select_list regenerated commit 21fb2e7f4ae677a425f3fb4b44a0db5cca9c818a Merge: d5da961 cee0323 Author: Andrei Pelinescu-Onciul Date: Fri Mar 5 18:33:44 2010 +0100 Merge remote branch 'origin/andrei/cdefs2doc' * origin/andrei/cdefs2doc: (23 commits) doc: select_list: added intro & notations sections doc: select_list: generated docbook and txt lists doc: select_list: added makefiles for auto-gen. doc: {rpc,cfg}_list: fix makefile exclude list doc: dump_selects.pl: fix for incomplete initializers doc: dump_selects.pl: support for docbook output doc: cfg_list: generated docbook cfg vars lists doc: cfg_list: docbook output directory doc: cfg_list: support for generating docbook output doc: dump_cfg_defs.pl: support for docbook output doc: rpc_list: generated docbook rpc lists doc: rpc_list: docbook output directory doc: rpc_list: support for generating docbook output doc: dump_rpcs.pl: support for docbook output doc: select doc generator: more fixes & core selects support doc: select doc generator fix flags processing doc: generated rpc lists doc: generated cfg vars lists doc: added makefiles for auto-gen. rpc and cfg vars lists doc: script to generate select lists from C code ... commit d5da961b7ac62037fb1fb24c6ce3484584f5f972 Author: Marius Zbihlei Date: Fri Mar 5 16:54:58 2010 +0200 modules_k/permisssions Fixed a bug that caused a segmentation fault if the mi_fifo subnet_dump was issued but the permissions module was not fully configured (no db url given) commit 9858546ec00532afa6aea36a5a770cb6a9255bf7 Author: Marius Zbihlei Date: Fri Mar 5 16:32:49 2010 +0200 modules_k/userblacklist : check_blacklist function uses globalblacklist_table as data source if no parameter is given. Globalblacklist_table parameter was not used at all in the userblacklist module, the check_blacklist funtion always needing one parameters and the db table. This is not mandatory anymore, as the check_blacklist function with no parameters will use the globalblacklist_table commit 0c514703a6f9bf6e792011aad4e504ae3bd87786 Author: Juha Heinanen Date: Fri Mar 5 06:44:03 2010 +0200 modules/lcr: improved documentation related to defunct_gw function (cherry picked from commit 98607744d233e03ba6e71f076ee4dd5e68d4407b) commit cee03233fd22955617dc6dfc0676a19c68b86b67 Author: Andrei Pelinescu-Onciul Date: Thu Mar 4 19:27:33 2010 +0100 doc: select_list: added intro & notations sections commit 9c8616aa86f47d9f360f9eecd35266cc360583c1 Author: Daniel-Constantin Mierla Date: Sun Jan 24 22:25:03 2010 +0100 pipelimit: module for pipe traffic limit - based on ratelimit - has only pipe functionality so far - pipe definitions loaded from database - pipe id is name - dynamic management of piples (cherry picked from commit 163cd084ab97d8938dd014867f70811f0cffa54f) commit 6c0de64647038072ba1959ead39dcc601fd6292c Author: Andrei Pelinescu-Onciul Date: Thu Mar 4 13:16:06 2010 +0100 makefile: fix modules config overwrite A config file provided by a module was installed even if a previous version was already installed, overwriting the old version. Now if a file with the same name already exists, the module config file will be installed with a .sample extension added (so only .sample will be overwritten, never an active .cfg). Reported-by: Klaus Darilion klaus.mailinglists pernau at Closes FlySpray#38 . commit bf27310504572fa0811762bf138711c57b93f070 Author: Andrei Pelinescu-Onciul Date: Thu Mar 4 10:52:50 2010 +0100 doc: fix links & path for ctl & xmlrpc ctl & xmlrpc were moved from modules_s/ to modules/, but the links to them in the docs were not updated. commit bd78ecaac7644c8989123f5b5398043260115536 Author: Andrei Pelinescu-Onciul Date: Thu Mar 4 10:07:48 2010 +0100 removed duplicate modules_s/tls The up-to-date tls module is modules/tls. commit f5a29762b6155209721ba0dfc3f30b4a9764c191 Author: Juha Heinanen Date: Thu Mar 4 09:09:22 2010 +0200 * modules_k/permissions: subnet matching fix (credits to anonymous) commit 2cedf1626147ce0bcf67435a57dc23643c55d7d6 Author: Andrei Pelinescu-Onciul Date: Wed Mar 3 19:30:04 2010 +0100 test: added parse to body test program - added parse to body test program that uses the same code as sip-router. E.g. test/parse_to_body "Foo CR". - update p_uri (parse uri test) to compile with sip-router. commit f2e37b7e4f3d6041bcd8dbe1846ab0c24b9e26df Author: Andrei Pelinescu-Onciul Date: Wed Mar 3 19:29:04 2010 +0100 core: define shm_str_dup() only ifdef SHM_MEM commit 907686c0c4c1141af175d692251b8e1fab28b64e Author: Andrei Pelinescu-Onciul Date: Wed Mar 3 19:24:08 2010 +0100 core: parse_to display name multi-token no-quotes fix Fix for properly returning a non-quoted display name that is composed of several tokens (contains spaces). The previous version would set the display name to the first token, in this case (e.g. Foo Bar resulted in display_name="Foo" instead of "Foo Bar"). Reported-by: Ronald Voermans ronald voermans nu Closes FlySpray#39 . commit 984eec800fcab256ce46ee03729374aee7c44617 Author: Andrei Pelinescu-Onciul Date: Wed Mar 3 14:57:43 2010 +0100 tm: CANCEL reason header on/off switches Config support (both runtime and modparam) for turning on/off Reason header support in locally generated or end-to-end hop-by-hop CANCELs: - local_cancel_reason = 0|1. Default 1 (on). - e2e_cancel_reason= 0|1. (Default 1 (on). End-to-end CANCEL reason header copy can also be turned on/off on a per transaction basis: t_set_no_e2e_cancel_reason(0|1). E.g.: t_set_no_e2e_cancel_reason(1); # disable reason copy t_relay(); t_set_no_e2e_cancel_reason(0) can be used to enable reason header on a per transaction basis, if the default is disabled (e2e_cancel_reason is set to 0). commit afd800bd67c3dd54db69a5c24e0a8bd362609061 Author: Jan Janak Date: Tue Mar 2 16:03:42 2010 -0500 parse_param: Let the body point behind '=' when body is missing. This fixes potential issues with functions that copy parameters structures from private to shared memory because such functions usually translate string pointers using a base pointing at the first character of the parameter list. Reported by Daniel. commit a3b2fcde99ebd5f625d0168473caef5dbbaf1029 Author: Jan Janak Date: Tue Feb 23 14:38:31 2010 -0500 param_parser: Accept parameters with missing bodies. This change makes the parameter parser more forgiving. It accepts parameters with missing bodies (foo=), such parameters will have the body set to an empty string. Observed on iptel.org commit e040485765e1d456c14d45de2d2c85bfd5bc5903 Author: Andrei Pelinescu-Onciul Date: Tue Mar 2 17:41:37 2010 +0100 core: added missing parsed flags & minor get_hdr optimization - parsed flags were not set for some headers (ACCEPTCONTACT, ALLOWEVENTS, CONTENTENCODING, REFERREDBY, REJECTCONTACT, REQUESTDISPOSITION, WWW_AUTHENTICATE, PROXY_AUTHENTICATE, RETRY_AFTER). - get_hdr() now checks first if the required header type was parsed using the parsed flags. If it was not, it exists immediately (it does not try to search through all the headers anymore). commit 23e0d801e5717586da6c696460f5a30d04467028 Author: Andrei Pelinescu-Onciul Date: Tue Mar 2 17:28:16 2010 +0100 tm: Reason header copy for received CANCELs When canceling branches due to a received CANCEL, use the Reason headers in the received CANCEL (all the Reason headers from the received CANCEL will be copied in the generated CANCELs, see RFC3326 for more details). commit 70d5b1b4c1bf4deb1dfed13679e9a76f15e9b923 Author: Andrei Pelinescu-Onciul Date: Mon Mar 1 18:40:19 2010 +0100 tm: Reason header generation for local CANCELs When cancel-ing branches due to final reply, 2xx or 6xx, add a Reason header (according to RFC3326). E.g.: Reason: SIP;cause=200 Internal implementation notes: the branch_bm_t/cancel_bitmap parameter of many of the reply and cancel functions was replaced with a bigger structure that contains all the information associated with the cancel: the cancel branch bitmap, the reason and reason text (optional) or the received cancel message (if any). Note that the current commit does not implement copying Reason headers from a received CANCEL, it deals only with CANCEL generated locally because of a final reply, 2xx or 6xx. commit c0e9cb82abe293937e5b95fa1347afdc118d9ac2 Author: Andrei Pelinescu-Onciul Date: Fri Feb 26 15:21:50 2010 +0100 core: msg_parse minor 64bit warning fix commit e81c62ec2fd8666fc5b3a86c33e55e40029f2349 Author: Andrei Pelinescu-Onciul Date: Fri Feb 26 15:10:49 2010 +0100 tm: experimental tm onreply_route final reply DROP support Experimental support for dropping final replies from tm onreply_route[]s. It's disabled by default (causes a small performance hit and it's not needed in most cases). To enable re-compile tm with -DTM_ONREPLY_FINAL_DROP_OK (e.g. make cfg extra_defs=-DTM_ONREPLY_FINAL_DROP_OK; make all or make -C modules/tm extra_defs=-DTM_ONREPLY_FINAL_DROP_OK) commit 9bc19d4994f20aa354092aba9ae784de91547fc6 Author: Andrei Pelinescu-Onciul Date: Fri Feb 26 13:39:55 2010 +0100 tls: TLS_MALLOC_DBG can now be set on make cfg Enabling tls extra malloc debugging info, does not require anymore editing tls_init.c. It can be enabled at cfg time (make cfg extra_defs=-DTLS_MALLOC_DBG) or at compile/re-compile time ( make -C modules/tls clean; make -C modules/tls extra_defs=-DTLS_MALLOC_DBG). When TLS_MALLOC_DBG is enabled, an extra warning will be printed at compile time. NO_TLS_MALLOC_DBG takes precedence over TLS_MALLOC_DBG. commit 2372a7d5039a72f9cdb6b8bb7acb8a5ae2cb5c5f Author: Henning Westerholt Date: Wed Feb 24 17:04:54 2010 +0100 userblacklist(k): short term fix in the docs for redundant table definition commit d2871c1190291e4b801f42e0763e5ca7ea28ee36 Author: Andrei Pelinescu-Onciul Date: Wed Feb 24 15:13:12 2010 +0100 cfg parser: segfault on case RE parse error fix Reported-by: Klaus Feichtinger klaus.feichtinger gmx net commit be26e161a5f403cf8f368bb77b7d47067c3a546a Author: Henning Westerholt Date: Wed Feb 24 15:07:38 2010 +0100 reg(k): fix compilation for kamailio flavour, reported from Daniel commit 51ee5da9ebf09447f71d4393f7c5b703305ff46d Author: Andrei Pelinescu-Onciul Date: Tue Feb 23 16:10:21 2010 +0100 tls: disable kerberos more thoroughly [fix] Older openssl versions (< 0.9.8e release) have a bug in the kerberos code (it uses the wrong malloc, for more details see openssl bug # 1467). While there is already a workaround for this openssl bug in the sr code (see commits 36cb8f & 560a42), in some situations this workaround causes another bug (crash on connection opening when openssl is compiled with kerberos support and kerberos is enabled for key exchange). The current fix will disable automatically all the ciphers containing KRB5 if the openssl version is < 0.9.8e beta1 or it is between 0.9.9-dev and 0.9.9-beta1. It iss equivalent to setting cipher_list to ":!KRB5". Impact: this fix is needed only if openssl is compiled with kerberos support and the version is < 0.9.8e. It also affects at least CentOS users with openssl-0.9.8e-12.el5_4.1 (in the centos openssl package they play some strange games with the version and report 0.9.8b via SSLeay). Tested-by: Klaus Darilion klaus.mailinglists at pernau.at Reported-by: Klaus Darilion klaus.mailinglists at pernau.at Reported-by: Andreas Rehbein rehbein at e-technik.org Reported-by: Martin Koenig koenig starface.de commit d06c0f78f327134d37b5be68af8c88f595ef1238 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 19:45:14 2010 +0100 various modules: don't access route_type directly route_type should be accessed only through get_route_type() or is_route_type(FOO). Replaced all the route_type==FOO_ROUTE with is_route_type(FOO_ROUTE). commit 5a620b105b62e48631e9248906e00b4b2c7b4081 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 19:41:33 2010 +0100 tmx(k): core & tm onreply route support - support for core onreply route (like for tm onreply route, but with extra t_unref). - use get_route_type() instead of directly accessing route_type. commit 75e52b43af0a445b18ccf17e0558da1f41e10337 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 19:38:40 2010 +0100 tm: t_check_status & t_reply main onreply_route fix - t_check_status: in some situations t_check_status left the transaction referenced when called from main onreply_route (e.g. t_check_status(); drop ) - t_reply: unref the transaction only when called from the main onreply_route and not from tm onreply route commit ba15378ef66a11d3cbd6862aa2bfb060d099ca03 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 18:01:26 2010 +0100 tm: onreply_route: fix cleanup after DROP After a DROP in the onreply_route the avp lists where not restored to their original values and the possible msg flags changes in the script were dropped. commit 099a29532ed7c9c8ce736eb1f989a5af8bba4b4f Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 18:00:30 2010 +0100 NEWS: note about onreply_route changes & tm commit 9e2873513df7d4fc2fee192f47629b81301f5012 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 17:50:40 2010 +0100 tm: t_reply can now be used from onreply_routes t_reply can now be used both from the main onreply_route (onreply_route{}) or from tm onreply_routes (onreply_route[x]{}, where x!=0). In general it should be followed by a DROP. If not you might get some log warning messages (but besides that nothing bad will happen). commit 4178ad7297258ef45fce7d6c9cfd6247bdd37809 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 17:48:45 2010 +0100 tm: _reply cleans up after itself The _reply() function now cleans possible added reply_lumps before exiting. This allows using it not only from request or failure route. commit d6229974487d26658a88a73b68e5352983cee122 Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 16:41:59 2010 +0100 tm: restrict tm onreply_route commands to tm reply routes only - most tm onreply functions restricted to tm onreply routes only. They cannot be executed anymore from the main/core onreply_route (some of them won't work and others would leave the transaction referenced). - don't access route_type directly, but via get_route_type() commit 01f1e80610310ed00c4657724c05280831ba594f Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 14:53:42 2010 +0100 tm: tm onreply route has now TM_ONREPLY_ROUTE type commit 5e0e999ad320688e41f338bc7c6fc5f8fa76678f Author: Andrei Pelinescu-Onciul Date: Mon Feb 22 14:49:37 2010 +0100 core: distinct core and tm onreply route tests - added TM_ONREPLY_ROUTE and CORE_ONREPLY_ROUTE to the possible route types. This allows to distinguish between the main reply route (executed by the core) and onreply routes executed by tm. ONREPLY_ROUTE was changed to TM_ONREPLY_ROUTE|CORE_ONREPLY_ROUTE, so that is_route_type(ONREPLY_ROUTE) will return true both for CORE_ONREPLY_ROUTE and TM_ONREPLY_ROUTE. - onreply_route[0] {} is equivalent with onreply_route{}. - use different route types when parsing the script for onreply_route{} (CORE_ONREPLY_ROUTE) and onreply_route[x]{}, where x!=0 (TM_ONREPLY_ROUTE). commit 04f55d6c20fbb7628b3c672a5df5a0a1e2c67114 Merge: 08811a8 4bb4f85 Author: Andrei Pelinescu-Onciul Date: Fri Feb 19 16:37:51 2010 +0100 Merge remote branch 'origin/andrei/blst_send_flags' Support for blacklist ignore flags, both global and on a per message basis. E.g.: per message: if (method=~"MESSAGE") blst_set_ignore(6); global: sercmd cfg.set_now_int core dst_blacklist_tcp_imask 16 * origin/andrei/blst_send_flags: NEWS: minor blacklist flag number correction tm: blacklist on 503 reply fixed for send flags NEWS: mentioned blacklist ignore masks core: cfg script support for blacklist ignore masks blst: global config variables for ignoring blacklist events blst: docs for blst_{set,clear}_ignore script functions blst: functions for ignoring blacklist events blst: use dst_blacklist_force_add tm: simplified blacklist add code blacklist: ignore mask support tm: updated to the new snd_flags_t structure core: send_flags preliminary blacklist support Conflicts: NEWS cfg.lex cfg.y dst_blacklist.h commit 4bb4f8527673e69ecb8c66ad32ae236b200cecd7 Author: Andrei Pelinescu-Onciul Date: Fri Feb 19 16:26:44 2010 +0100 NEWS: minor blacklist flag number correction commit 0f2375f9216fd7f431e91d02f4ccc5dc9e4e5730 Author: Andrei Pelinescu-Onciul Date: Fri Feb 19 15:35:57 2010 +0100 tm: blacklist on 503 reply fixed for send flags Blacklisting the source of a 503 reply now obeys also the blacklist ignore masks (both global and per message). The ignore 503 blacklist flag can be set (and it will be obeyed) in any route (be it main route, on branch, on send or the on_reply route). E.g.: using blst_set_ignore(32) in the onsend_route for a specific destination would cause the ignore 503 flag to be inherited by the 503 reply (this is the only blacklist flag that it's inherited this way). commit 08811a87aabf59520a8fac92bd202e9a9a916439 Merge: 0cf3f38 feb3478 Author: Andrei Pelinescu-Onciul Date: Fri Feb 19 12:05:41 2010 +0100 Merge remote branch 'origin/sr_3.0' The dst_uri fix (see FlySpray#37) and kamctl. * origin/sr_3.0: core: avoid non-null 0-length dst_uri, ruris and path tm: fake_req dst_uri and ruri copy fix utils/kamctl: removed unsupported commands to manage lcr gateways and routes commit 0cf3f38542375fd83d8071cd3cfa0571cf8984fb Author: Andrei Pelinescu-Onciul Date: Fri Feb 19 11:55:44 2010 +0100 core: PAI & PPI header names parser fixes Changed to the usual "case" construct. This also fixes the case when spaces were present between the header name and ':' (e.g. "P-Preferred-Identity : ..." was not recognized). commit 14babe144ddda744bfa1292bf37678d6f6a1c256 Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 21:20:07 2010 +0100 core: support for parsing the Reason header commit 1993e8e3f2c3a52e0a22e04871bde80bed4cfec5 Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 15:19:53 2010 +0100 doc: select_list: generated docbook and txt lists commit 725c50b14e4a99da654a0dd2ee4804cda29217f9 Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 14:15:31 2010 +0100 doc: select_list: added makefiles for auto-gen. Added a new directory (doc/select_list) complete with a makefile for auto-generating lists with all the select implemented in the code. make -C doc/select_list all will generate both .txt and .xml files. The .xml are in docbook format and are written to doc/select_list/docbook, complete with a file that includes them all (select_list.xml). E.g.: to generate a .html file with all the selects: make -C doc/select_list all # generates the docbook make -C doc/select_list/docbook html commit 0ddc0cebabe0973dd0a44b4fae51a02a8222d686 Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 14:10:08 2010 +0100 doc: {rpc,cfg}_list: fix makefile exclude list - fix makefile exclude groups and files (didn't work for more then one entry) - added default list for make all commit 8ee1a086852a038fa80daf3d5e5534f4b67a646f Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 13:41:10 2010 +0100 doc: dump_selects.pl: fix for incomplete initializers Some of the modules (e.g db_ops) omit the last members (flags) in the select_row_t initializer. The script did not take into account this possibility when it did parse the C code. commit 088a8a7c3214823a16f55f95b90aa6071721b49b Author: Andrei Pelinescu-Onciul Date: Thu Feb 18 12:31:59 2010 +0100 doc: dump_selects.pl: support for docbook output Added support for generating docbook output (by using the --docbook option). commit dfd8da505d6ad20edff80289cd4553e87dfbbb00 Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 22:39:30 2010 +0100 doc: cfg_list: generated docbook cfg vars lists commit a11ee8f6d82543baab975cfb750412f84d1d344c Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 22:35:09 2010 +0100 doc: cfg_list: docbook output directory Added directory for docbook output, complete with standard doc makefile (for generating html, pdf, txt a.s.o from docbook sources). commit 34d34985de850287caf9f17fddeee015f0101f52 Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 22:31:43 2010 +0100 doc: cfg_list: support for generating docbook output - make docbook will generate the cfg lists in docbook format - make all will generate both txt and docbook - generate docbook index file (cfg_var_list.xml) - configurable output directories (txt_output_dir and docbook_output_dir) commit becac8950fdfb89585e864bcf838ee30a59f2950 Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 22:27:01 2010 +0100 doc: dump_cfg_defs.pl: support for docbook output Added support for generating docbook output (by using the --docbook option). commit feb3478b19452fe096f33364e6a59ec57c93efbe Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 20:46:47 2010 +0100 core: avoid non-null 0-length dst_uri, ruris and path - a dst_uri or ruri that has 0 length should be equivalent to also having a null corresponding char* pointer. sip_msg_shm_clone() will now clone this type of uris to (0,0). - set_dst_uri() called with "" (a 0-length non-zero string) is now equivalent to reset_dst_uri(). - set_path_vector() called with "" is now equivalent with reset_path_vector(). commit 583d213cb617e767f5895de18168d7516e51e5e6 Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 20:40:46 2010 +0100 tm: fake_req dst_uri and ruri copy fix If the uris have 0 len but no 0 value (possible at least for a manually set dst_uri), set the corresponding fake_req uri to 0, thus avoiding a potentially disastrous free in free_faked_req(). Should close FS#37. commit 2b354470a3bd73db16c75d6a17f2ad205339c7fb Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 17:38:05 2010 +0100 doc: rpc_list: generated docbook rpc lists commit b6cfcc7091eacc62f602beb41075436e09b6ad37 Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 17:24:46 2010 +0100 doc: rpc_list: docbook output directory Added directory for docbook output, complete with standard doc makefile (for generating html, pdf, txt a.s.o from docbook sources). commit e46889f5d4dd3c8a3ceff4480d1285805b1f5b0e Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 17:21:18 2010 +0100 doc: rpc_list: support for generating docbook output - make docbook will generate the rpc lists in docbook format - make all will generate both txt and docbook - generate docbook index file (rpc_list.xml) - configurable output directories (txt_output_dir and docbook_output_dir) commit 1b86219cfd0b0a08a26e90d902303f83801ac39c Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 17:19:11 2010 +0100 doc: dump_rpcs.pl: support for docbook output Added support for generating docbook output (by using the --docbook option). commit 3303a5b1f7c4ead6b0edd21d20e65b9957359200 Author: Marius Zbihlei Date: Wed Feb 17 13:57:05 2010 +0200 Modules/registrar : update stats even if -DSTATISTICS was not passed to the compiles(this was the default) update_stat was called even if the statistics where not added to the stats framework. commit c2b7096ec4705252637c7e8fb13450c1c5172d17 Author: Marius Zbihlei Date: Wed Feb 17 13:52:48 2010 +0200 Modules_k/registrar Other module variables added to configuration framework Also added callback that modify the statistics to reflect the changes via sercmd commit 6b8112b8d82f044a86fc6fce6cb1a1b869450fea Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 10:00:57 2010 +0100 NEWS: mentioned blacklist ignore masks commit 0e055147442c58c2d029702fa618e448da9cf98f Author: Andrei Pelinescu-Onciul Date: Wed Feb 17 09:58:21 2010 +0100 core: cfg script support for blacklist ignore masks The blacklist ignore mask can now be set from the script (not only at runtime): dst_blacklist_udp_imask dst_blacklist_tcp_imask dst_blacklist_tls_imask dst_blacklist_sctp_imask E.g. dst_blacklist_udp_imask=16 Possible values: 0 -disabled 2 - send error 4 - connect error 8 - icmp (reserverd for future use) 16 - transaction timeout 32 - administratively prohibited (manually set) commit 0d3a8dc2a4b3afac51b3b80f9cc7f22a2d1b9057 Author: Marius Zbihlei Date: Tue Feb 16 16:32:16 2010 +0200 modules_k:registrar Implementing cfg framework for registrar Started to implement cfg framework for registrar, having the possibility to change module paraments without restarting k/s commit 0f9e9908055fe15d26d953f5477559254ef37436 Author: Andrei Pelinescu-Onciul Date: Mon Feb 15 21:37:28 2010 +0100 blst: global config variables for ignoring blacklist events Blacklist events can now be ignored on a per protocol basis, by setting the corresponding new config variable: dst_blacklist_udp_imask dst_blacklist_tcp_imask dst_blacklist_tls_imask dst_blacklist_sctp_imask E.g.: sercmd cfg.set_now_int core dst_blacklist_tcp_imask 6 (ignore send and connect errors on tcp when deciding whether or not to blacklist) commit 98529eaf530122f8cf4fbe8115c48c3400d764fd Merge: 59c31fe d68a8b4 Author: Andrei Pelinescu-Onciul Date: Mon Feb 15 15:47:37 2010 +0100 Merge remote branch 'origin/daniel/xavp' * origin/daniel/xavp: pv: export new PV class $xavp(name) core: introducing xavp (eXtended AVP) tm: set/reset head of xavps on TM events pv: new pv class $xavp(...) core: destroy xavp list once sip msg processing is done Conflicts: modules/tm/h_table.c modules/tm/t_reply.c modules/tm/uac.c modules_k/pv/pv.c commit 385ce10271569852982007ebb927d2b6a5e5af40 Merge: 9baa29e c80f768 Author: Andrei Pelinescu-Onciul Date: Mon Feb 15 13:25:03 2010 +0100 Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0 * origin/tmp/k3.0_sr_backports: modules/mediaproxy: properly fix the IP in the RTCP line utils/kamctl: removed unsupported commands to manage lcr gateways and routes cfg.y: fix warnings introduced in previous commit core: added forward() Makefile: MEMDBG var to control mem debugging mode commit c80f76803d771997d33a4b26f7249e6888103c12 Author: Juha Heinanen Date: Thu Feb 11 22:22:12 2010 +0200 modules/mediaproxy: properly fix the IP in the RTCP line - Properly fix the IP in the RTCP line (if present in the SDP). Patch provided by Saul Ibarra Corretge. (cherry picked from commit 2a95f9bf915cfc3cf11374f9b8f0f547d4eb4955) (cherry picked from commit ef10212404b9bc5489683fc7429fee40b3495994) commit 014da575f25556ece0a8500e822b97ad0eb74d26 Author: Juha Heinanen Date: Wed Feb 10 22:37:44 2010 +0200 utils/kamctl: removed unsupported commands to manage lcr gateways and routes (cherry picked from commit d8d9165324f32e82f6e8cbb5e07f33ddd697cd1d) commit 4625ccb8e56b2b32834d987b897ef728b09ce0c9 Author: Daniel-Constantin Mierla Date: Tue Feb 9 11:32:02 2010 +0100 cfg.y: fix warnings introduced in previous commit (cherry picked from commit 318ff6e6884641f3c9788b01e9ac3d859269be30) commit ec8f28160ffee8f381bcb44ba50cf5869186ac59 Author: Daniel-Constantin Mierla Date: Tue Feb 9 11:23:50 2010 +0100 core: added forward() - aliased forward() to forward(uri:host, uri:port) - k 1.5.x compatibility (cherry picked from commit 50237e89964b4fc8a4c8775076c1b75a05ee5e73) commit f5875992906022e491d059bd5c20662b192ac4fd Author: Daniel-Constantin Mierla Date: Mon Feb 8 23:16:47 2010 +0100 Makefile: MEMDBG var to control mem debugging mode - to compile with memory debugging make MEMDBG=1 cfg; make ... - default (for now): MEMDBG=1 commit 59c31fe72e95d60f42752bfcae3a18563b2c9700 Author: Daniel-Constantin Mierla Date: Fri Feb 12 14:03:24 2010 +0100 dispatcher(k): basic framework for load dispatching - a lightweight system to do a fair distrubution based on load - no dependency on dialog, by using an internal table of active calls with minimal info, to keep the module suitable for small devices and have good performances - not completed, requires xavp support for a compact info structure to be carried in transaction for each failover step commit 787fabb1e0085355aa1eeb77d5f17e7940f4ed3c Author: Daniel-Constantin Mierla Date: Fri Feb 12 11:12:37 2010 +0100 dialog(k): init local parameter - memset tm callback param to 0 - safety checks for MI cmd dlg match - credits to Inaki Baz Castillo and Torben Friese commit 2a95f9bf915cfc3cf11374f9b8f0f547d4eb4955 Author: Juha Heinanen Date: Thu Feb 11 22:22:12 2010 +0200 modules/mediaproxy: properly fix the IP in the RTCP line - Properly fix the IP in the RTCP line (if present in the SDP). Patch provided by Saul Ibarra Corretge. commit 651603023f4fc46b25bc143d44415cd0acdf0a48 Author: Daniel-Constantin Mierla Date: Thu Feb 11 15:20:36 2010 +0100 dispatcher(k): weight based distribution - new algorithm 9 for weight based distribution - new column to hold attributes per destination - for weight based distribution you have to set for each address in destination set: weight=value, for example: [setid address flags priority attributes] 2 sip:10.10.0.1:5080 0 2 weight=40 2 sip:10.10.0.2:5082 0 1 weight=60 - this will send 60% of the traffic to second address - note that at startup the distribution is randomized, so traffic is directed to first or second desintation alternatively but keeping overall percentages commit 54e17098b5efddf559e5b745e36a82f6027ffc91 Author: Andrei Pelinescu-Onciul Date: Wed Feb 10 21:48:00 2010 +0100 core: use the prev. via branch id if it's 3261 When computing the via branch value in syn_branch==0 mode, use the previous via branch id and not the to_tag, from_tag, callid, ruri, cseq number, via port and host, if the previous via branch id is in rfc3261 format (begins with the magic cookie). See rfc3261/16.11 P116 for more informations. To revert to the old behaviour, define BRANCH_IGNORE_3261_VIA. commit 817b9c5cf1133cd9fe59624167b1af1da7461529 Author: Andrei Pelinescu-Onciul Date: Wed Feb 10 21:30:11 2010 +0100 core: include only from/to tags when computing via branch value - use only the to & from tags when computing the via branch value in syn_branch==0 mode. This should improve interoperability with broken implementations that don't keep the from & to headers unchanged. Defining BRANCH_INCLUDE_FROMTO_BODY will revert to the old behaviour. - moved char_msg_val from parser/msg_parser.h to its own file (it has nothing to do with parsing). commit 0267d20a8ae6f814f54c62a53900dd62337576c9 Author: Daniel-Constantin Mierla Date: Tue Feb 9 11:32:02 2010 +0100 cfg.y: fix warnings introduced in previous commit (cherry picked from commit 318ff6e6884641f3c9788b01e9ac3d859269be30) commit d31b697f2ca92e330efd482c19a4c2b7334781ca Author: Daniel-Constantin Mierla Date: Tue Feb 9 11:23:50 2010 +0100 core: added forward() - aliased forward() to forward(uri:host, uri:port) - k 1.5.x compatibility (cherry picked from commit 50237e89964b4fc8a4c8775076c1b75a05ee5e73) commit 60e004c9d438bf9626167eafa5e05c4c8b12fbfa Author: Daniel-Constantin Mierla Date: Wed Feb 10 19:34:46 2010 +0100 MEMDBG set to 1 (memory debugging on) - default for devel version commit 2c168f02b89cf4f97c5b95b8b3e8410b2f825a51 Author: Daniel-Constantin Mierla Date: Mon Feb 8 23:16:47 2010 +0100 Makefile: MEMDBG var to control mem debugging mode - to compile with memory debugging make MEMDBG=1 cfg; make ... commit bd93ff3ab2fe36bc9a4dd3b1e59398d6f63095ea Author: Daniel-Constantin Mierla Date: Wed Feb 10 19:26:07 2010 +0100 app_python: added skeleton for docs - needs to be filled in commit 9baa29e80e5aa9f5c656a32059d24901a23ef8e9 Author: Juha Heinanen Date: Wed Feb 10 07:34:33 2010 +0200 modules/lcr: added in docs missing install dependency on libpcre - Credits to Kris Amy. (cherry picked from commit 0c7048297f590f140ae84efdcde8a392ef23527e) commit 0c7048297f590f140ae84efdcde8a392ef23527e Author: Juha Heinanen Date: Wed Feb 10 07:34:33 2010 +0200 modules/lcr: added in docs missing install dependency on libpcre - Credits to Kris Amy. commit 7c20eb9f0cb555ce3fb4aee49cb475cba4a6c70a Author: Juha Heinanen Date: Wed Feb 10 07:15:24 2010 +0200 modules_k/permissions: group identifier must be positive integer - Group Identifier in address permissions must have a positive integer value. (cherry picked from commit c67e72eb16f277eeae16182e15e0e8ebf319dce0) commit c67e72eb16f277eeae16182e15e0e8ebf319dce0 Author: Juha Heinanen Date: Wed Feb 10 07:15:24 2010 +0200 modules_k/permissions: group identifier must be positive integer - Group Identifier in address permissions must have a positive integer value. commit dce03068e081d0163c6bcb12851aac0edcb46b2b Author: Andrei Pelinescu-Onciul Date: Fri Feb 5 21:22:47 2010 +0100 makefile: fixed parallel job support for several targets Parallel job support (-jN) warning/support fixed for: modules*-doc, modules*-readme, modules*-man, install-modules*. commit 413c76aa409389ceca03caab729b490bdf119ff8 Author: Andrei Pelinescu-Onciul Date: Fri Feb 5 21:21:20 2010 +0100 makefile: clean-modules fix for cleaning modules*/*/doc - fixed wrong test for the existence of $(module)/doc/Makefile commit ae4cbab87f753915fdf8dce2388a85bb04cf6232 Author: Andrei Pelinescu-Onciul Date: Fri Feb 5 21:20:27 2010 +0100 makefile.doc: be silent when cleaning commit 9431f814d8127a7c6bb82593a75eb6d97fc0d7f6 Author: Miklos Tirpak Date: Wed Nov 11 15:21:23 2009 +0100 tm: t_suspend() fixes - t_suspend() and t_continue() checks whether a CANCEL has been processed before the transaction is suspended and before it continues to make sure that the suspend/continue is not done needlessly. - t_continue() verifies that the suspended branch has not timed out yet. - t_cancel_suspend() function is introduced: It can be used for revoking the suspension of the transaction. Useful when any failure occures after the transaction has been suspended and it turns out that the transaction should not have been suspended. commit 7cbf4e9cbf4b877a661baf67446aeff10cd331cc Author: Miklos Tirpak Date: Wed Nov 11 12:51:16 2009 +0100 tm: new select functions New select functions have been introduced: - @tm.uac.response_retransmission Returns "1" if the response is a retransmission otherwise "-1". - @tm.uac.last_status Returns the last saved status code of the current branch. - @tm.uas.request.neg_ack_retransmission Returns "1" if the negative ACK request is a retransmission otherwise "-1". Note: This select function can be used only for negative ACK messages (ACK for >=300 responses), it should be enhanced in the future to work on any type of requests. commit 3da5ebc8bdc3530d1c61b84665e4dadf6c6cb3e9 Author: Miklos Tirpak Date: Wed Nov 11 12:24:50 2009 +0100 tm: TMCB_E2EACK callback fix TMCB_E2EACK_RETR_IN was called instead of TMCB_E2EACK_IN for the initial e2e-ACK message. commit 7ee7b057d33baff56c16b1525323817e1b56fb45 Author: Miklos Tirpak Date: Wed Nov 11 11:52:07 2009 +0100 xlog: API documentation added commit e6c25ed7be53c692a4cc805a63175a477a6063e8 Author: Miklos Tirpak Date: Wed Nov 11 10:10:52 2009 +0100 xl-lib: shm memory support, regex back reference parsing, xbind - xl-lib parser supports both pkg and shm memory - new wrapper functions for the shm memory version: - xl_shm_parse_format() - xl_elog_shm_free_all() - The parser can identify the regular expression back references (\1, \2, ...) and call a callback function to farther parse the back reference. Wraper functions for this: - xl_parse_format2() - xl_shm_parse_format2() - xbind() module function has been introduced that can be used to bind to the xl API as opposed to search each exported function individually. commit df1f139a9b33467b2f7b3497462198467efd4397 Author: Miklos Tirpak Date: Mon Nov 9 17:08:08 2009 +0100 selects: shm_free_select wrapper added shm_free_select() function is added that frees the select parsed by shm_parse_select(). commit 13e59ebb3906b2f2e4414767482e11ed3978f2f3 Author: Miklos Tirpak Date: Mon Nov 9 16:35:29 2009 +0100 dns_cahce: add_record function exported dns_cache_add_record() function has been separated from the RPC interface so that it can be used also from other places. commit 113d89909962ad6ef7b2cdeed387129f34011f6e Author: Miklos Tirpak Date: Fri Nov 6 17:35:12 2009 +0100 rename the 'class' variable -- reserved keyword in c++ commit 329e20e2a88b08f6c092d6db014a6a7f9ea67bb6 Author: Marius Zbihlei Date: Thu Feb 4 15:06:54 2010 +0200 Makefile:modules fixed usage of -jN flag for modules(_k,_s) Removed the @for construct (launched a new shell) with a @foreach construct which does a textual expansion of the block in question (loop unrolling) commit c4505aab3b2a945de126b617902382554837df3a Author: Daniel-Constantin Mierla Date: Thu Feb 4 20:50:36 2010 +0100 debugger: removed completed task from to-do - fixed the description of inner command for dbg.bp commit 8412526a4e638b8d72f5d718191bd3122c10cf95 Author: Daniel-Constantin Mierla Date: Thu Feb 4 20:36:34 2010 +0100 debugger: more parameters exported to cfg commit 1010c358252d73deadbcc37380d7cb5527aeff35 Author: Daniel-Constantin Mierla Date: Thu Feb 4 13:02:11 2010 +0100 Makefile: core stats enabled for kamailio flavor commit 5c679ad10a1c73d267101277ea53d52db05abbb2 Author: Daniel-Constantin Mierla Date: Thu Feb 4 12:30:47 2010 +0100 core: unlikely() to test ev SREV_CFG_RUN_ACTION - test if the event is enabled before creating the parameter and executing the callback commit 2ac66302b0d4dd02d03c17ce89d2dc3a880c928d Author: Daniel-Constantin Mierla Date: Thu Feb 4 12:26:30 2010 +0100 core: events: new function to test event enabled - sr_event_enabled(type) returns true if a callback has been registered for respective event type commit 8ee09afb89aafac3c39989059e316324441c9843 Author: Elena-Ramona Modroiu Date: Thu Feb 4 12:57:02 2010 +0100 mqueue: fixed c&p errors in docs commit db73ecee1755342b2511153c3936a16edcca8161 Author: Marius Zbihlei Date: Thu Feb 4 11:24:36 2010 +0200 modules_k/siputils : Forgot to commit config.* files I broke the build... commit bb7dceb00c840b195e986333180bbd7b5c9e7f12 Author: Daniel-Constantin Mierla Date: Thu Feb 4 00:11:59 2010 +0100 debugger: new module for interactive cfg debugging - print config execution path of a SIP message to logs - interactive debugging for config, similar to gdb - step-by-step execution of each action in the config file - the SIP router process stops at cfg actions and waits for RPC commands to go to next one, evaluate a pseudo-variable, continue execution, etc. - see README for more details commit 1a7ef918abaa9d1fec9c9955b5a23aae5ccb4c16 Author: Daniel-Constantin Mierla Date: Thu Feb 4 00:05:41 2010 +0100 core: new core event: SREV_CFG_RUN_ACTION - it is fired for each action executed from configuration file - parameters are current acction and sip message given as a void* array of two elements commit c2d36c17f91dacaa242a3011394f184e43518a9f Author: Daniel-Constantin Mierla Date: Thu Feb 4 00:04:24 2010 +0100 core: fire core event on each executed cfg action - used for cfg execution tracing and interactive debugging (the new module debugger) commit 90a2f89574483cf750c9234bc870d9c6ebbb25fc Merge: 5402db4 cdfedc3 Author: Andrei Pelinescu-Onciul Date: Wed Feb 3 23:32:55 2010 +0100 Merge remote branch 'origin/sr_3.0' * origin/sr_3.0: core: new param to give outbut buffer size core: use one buffer for int2str core: use dlflags to load modules uac(k): use header types for detection uac(k): proper test for send failure uac(k): set type for tm callback modules/mediaproxy: take boundary string from Content-Type header. core: stats events cbs are called only if USE_CORE_STATS is defined update drp_reqs statistics update drp_rpls statistics update fwd_rpls statistics update err_reqs statistics update err_rpls statistics update bad_URIs statistics update bad_msg_hdr statistics core: update fwd_reqs stat kex: support to update core stats via core events core: added new event SREV_CORE_STATS commit cdfedc3c3f15ff714c8fce1f1e820457f17b0924 Merge: 2031721 c8cb74d Author: Andrei Pelinescu-Onciul Date: Wed Feb 3 23:09:26 2010 +0100 Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0 statistics callback support (enabled only if compiled with -DUSE_CORE_STATS) and latest kamailio 3.0 fixes * origin/tmp/k3.0_sr_backports: core: new param to give outbut buffer size core: use one buffer for int2str core: use dlflags to load modules uac(k): use header types for detection uac(k): proper test for send failure uac(k): set type for tm callback core: stats events cbs are called only if USE_CORE_STATS is defined update drp_reqs statistics update drp_rpls statistics update fwd_rpls statistics update err_reqs statistics update err_rpls statistics update bad_URIs statistics update bad_msg_hdr statistics core: update fwd_reqs stat kex: support to update core stats via core events core: added new event SREV_CORE_STATS commit c8cb74d1b15375c0b65ba98dc0234008c64cc3fa Author: Daniel-Constantin Mierla Date: Tue Feb 2 15:06:34 2010 +0100 core: new param to give outbut buffer size - int2strbuf requires now outbut buffer size as parameter - safer against misuses, suggested by Andrei Pelinescu-Onciul - if size is less than INT2STR_MAX_LEN, return null pointer (cherry picked from commit a765213ffa3769577dd7438c95737cb6b98bff74) commit 5a45124b8bc8f7bc316ae8a9e2ef6a434f55dadf Author: Daniel-Constantin Mierla Date: Tue Feb 2 13:23:03 2010 +0100 core: use one buffer for int2str - static declaration inside ut.h function results in hard copy to many places, affecting acc detection of int to str conversions in buffer - reported by Alex Balashov (cherry picked from commit 229496c7170bcc85f517a4985f7ab4bad553c8d3) commit b549cf4aad129e403bbf63bb5591b4dfce4c3657 Author: Daniel-Constantin Mierla Date: Sat Jan 30 17:02:37 2010 +0100 core: use dlflags to load modules - dlflags var used for dlopen function (cherry picked from commit 055915a558a485cda17c9bb1c8e43aca12d116b5) commit d3ca20fb9f4ca45930fc38552fa9dddb7a0aa636 Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:21:59 2010 +0100 uac(k): use header types for detection (cherry picked from commit 369d7598244c60c2c8e4d601e166a03cb211128c) commit f97be2652f037b28e545bfd3372d002a184ff0e7 Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:20:02 2010 +0100 uac(k): proper test for send failure (cherry picked from commit 1479cd808ea8e5025bfa8400a257e3f89db4ab68) commit 7c7f85b2c2e0d57e670c35e302e959a5df049b7c Author: Daniel-Constantin Mierla Date: Sun Jan 24 19:43:09 2010 +0100 uac(k): set type for tm callback - requires to be TMCB_LOCAL_COMPLETED (cherry picked from commit f4f9207f77883efa4dab67b3afe7c693585dc32c) commit 5402db476a57a0f840e21b53291911b51a06d14a Author: Marius Zbihlei Date: Wed Feb 3 14:25:18 2010 +0200 modules_k/siptutils : Fixed small typo commit d5a382d95db57093a8e35f2018d18c998979005a Author: Marius Zbihlei Date: Wed Feb 3 14:19:51 2010 +0200 test:unit Fixed unixodbc tests (tested with mysql connector) commit 4607f39ad00c0d1133618ad54a1c9c788f3ac01c Author: Marius Zbihlei Date: Mon Feb 1 12:26:21 2010 +0200 Modules_k/siputils : config framework implementation start Started for ring_timeout commit 4705a5bca1df61c2d6702ae22f222af8f46742f1 Author: Jan Janak Date: Tue Feb 2 15:54:42 2010 -0500 debian: Module xmlrpc was moved to "modules". Update the packaging scripts. commit 3a99415a7df46e2fd63698ee407c5075aac01846 Author: Andrei Pelinescu-Onciul Date: Tue Feb 2 17:40:22 2010 +0100 core: fix bogus gcc-4.4 warning commit e01ed4b2eebff83849fc838f265c5d12927b5e13 Author: Elena-Ramona Modroiu Date: Tue Feb 2 15:45:58 2010 +0100 xlog(k): parameter to control printing cfg name - long_format set to 1 makes xlogl() and xdbgl() to print config file name before line number (useful for usage of 'include_file') commit ceb69ce0949d3e2f6ece2467cbce90b0255e057a Author: Elena-Ramona Modroiu Date: Tue Feb 2 12:37:59 2010 +0100 mqueue: new module offering memory queues - for usage in cfg file - many queues can be defined - one item in queue is a pair (key, value), both string - functions to add and consume items in the queue - fetching the oldest item makes it available to pseudo-variables - example of usage: send tasks from SIP workers to a timer process (e.g., defined by rtimer module) that consumes them. Can be some time expensive operation, like email notification, etc. commit cd94c13eb696096cb7ac021720cb11b0696488c8 Author: Marius Zbihlei Date: Tue Feb 2 11:23:59 2010 +0200 core:forward.c Small typo regarding tested socket commit ced07a1fe1ce07c13aff2d65b303fa7bba04f6d5 Author: Andrei Pelinescu-Onciul Date: Tue Feb 2 10:09:15 2010 +0100 core: fix missing close() in get_out_socket() - errorpath for EISCONN missed close()-ing the sockets - added unlikely() on all the error checks commit c8fe06404d7c0e5a4bdcca517c8815d6cd8df059 Author: Juha Heinanen Date: Tue Feb 2 10:09:32 2010 +0200 modules/mediaproxy: take boundary string from Content-Type header. (cherry picked from commit 2031721948bfa6b444d9b18f7e3f195cfd7e1427) commit 2031721948bfa6b444d9b18f7e3f195cfd7e1427 Author: Juha Heinanen Date: Tue Feb 2 10:09:32 2010 +0200 modules/mediaproxy: take boundary string from Content-Type header. commit 2022176637c54f4727e1e57942978b876072a614 Author: Jan Janak Date: Mon Feb 1 19:24:47 2010 -0500 ser_mysql.sh: Switch to /bin/bash The ser_mysql.sh script is probably not POSIX clean and currently does not work with dash (the new default interpreter for /bin/sh in debian). Switch back to /bin/bash, this makes the script work again across distributions. commit 641e5b958b3a81242745203f9bef2654f8787e37 Author: Jan Janak Date: Mon Feb 1 19:04:19 2010 -0500 packaging: Make postinst scripts dash compatible Debian Squeeze uses dash as the shell for systems scripts by default and dash does not support the keyword "function" like bash does. commit fe6207c8413f2f14d026bfe6eb1032fd903126d1 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 20:15:27 2010 +0100 core: mhomed: fix fd leak on error, ipv6, fd no - on error the cached fds were set to 0, without closing them. Now they are not overwritten anymore (opening another one would not help). - try ipv6 only if USE_IPV6 is defined - 0 is a valid value for a fd => changed the initial values and the comparisons to use -1 / <0 - if connect fails with EISCONN disable future caching of the socket (return to the old open new socket, connect(), close() mode). This way mhomed will work even in the unlikely case of an OS where connect()-ing multiple times the same udp socket is not allowed. commit a1bd3d76dd929fdf56040def405495fb2e4e5d7c Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 19:55:30 2010 +0100 core: take into account mhomed when estimated max_fd_no Since commit ead9f3f, mhomed might use 1 or 2 (IPV6 enabled) fds per process for caching socket descriptors. commit 6b109fa2ae51e1b5676d163f015c8cda7ea4eef6 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 18:20:10 2010 +0100 core: stats events cbs are called only if USE_CORE_STATS is defined Use macros instead of triggering directly various SREV_CORE_STATS callbacks. This way if compiled without core stats support (USE_CORE_STATS), there will be no performance impact (the macros will be empty). All the macros are defined in core_stats.h. commit 45a368cb040ef8e94fa39d1ddf6fe85faabce8f4 Author: Daniel-Constantin Mierla Date: Fri Oct 23 16:48:16 2009 +0200 update drp_reqs statistics (cherry picked from commit f4b64fc173c4ecc470346f05514af43adbda294a) commit c7ccd4a4cd8aa1e4e7bcb0d9419edcc15ae94034 Author: Daniel-Constantin Mierla Date: Fri Oct 23 16:39:59 2009 +0200 update drp_rpls statistics (cherry picked from commit 770ced3) commit 2fd39cac8b5768863a439e946a84db300519a478 Author: Daniel-Constantin Mierla Date: Fri Oct 23 16:20:19 2009 +0200 update fwd_rpls statistics (cherry picked from commit 058f978739d0642d3332301eb8f0a0cd2bc64f37) commit ea647479ab4a89f2a69062d19bd165c5d14f49c3 Author: Daniel-Constantin Mierla Date: Fri Oct 23 16:08:40 2009 +0200 update err_reqs statistics (cherry picked from commit e524a9512dbd24b56713dcf8f0fce1d44b46ae0b) commit a3cdd3335977c8b9bd2e8225c3e8c9bc7f1b9cc8 Author: Daniel-Constantin Mierla Date: Fri Oct 23 16:04:21 2009 +0200 update err_rpls statistics (cherry picked from commit b542c1c71ed132e58d0d07d5ba66a241384ae6a2) commit 1c18ae3f870eb48a04d13b7a750575b17060cfb3 Author: Daniel-Constantin Mierla Date: Fri Oct 23 15:57:40 2009 +0200 update bad_URIs statistics (cherry picked from commit feef8d66b067e34459660be78b1f6b2625eaa533) commit f17084c770018a3c43e0161ef6c00764e9dac3df Author: Daniel-Constantin Mierla Date: Fri Oct 23 15:51:39 2009 +0200 update bad_msg_hdr statistics (cherry picked from commit 0c7926f1a854aed5af4541518bc0cacdf4fce7e7) commit 878d2c6bf05eb2d81f00df2618b3b4f216e16bb0 Author: Daniel-Constantin Mierla Date: Tue Oct 13 21:40:04 2009 +0200 core: update fwd_reqs stat (cherry picked from commit 6a84eeebc2575d90d5795abb95af33ab37407aef) commit 492346e52903c48050a2ffadf2071cbca7e3bf34 Author: Daniel-Constantin Mierla Date: Tue Oct 13 21:28:42 2009 +0200 kex: support to update core stats via core events (cherry picked from commit ea5ee19268c6a7e6f69df674b16fb19d2a2d6409) commit 13959998a2701a279db6396cd9aa6e7913cc0ec7 Author: Daniel-Constantin Mierla Date: Tue Oct 13 20:47:35 2009 +0200 core: added new event SREV_CORE_STATS - to be used by Kamailio core statistics not included in stock SR core (cherry picked from commit 47c89177ce276cdf8f6a2d06fdd3359ba283fe4c) commit 13ecdcd7ddfd7644bbbe0f95674e4d450f980d4f Merge: d098c12 33f8af8 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 12:44:30 2010 +0100 Merge remote branch 'origin/sr_3.0' * origin/sr_3.0: tm: fix setting the pre-T callbacks drouting: register MI commands drouting(k): Makefile updated to link libs registrar(k): preserve old bflags upon lookup pv: fixed author name tm: set request and reply for TMCB_RESPONSE_SENT tm: run release function for tmcb parameters tm: t_on_xyz("0") fixup updates core: usage of drop in onsend_route for Kamailio compatibility core: exit() is now equivalent to exit 1 core: drop reply ser compatibility core: drop reply in K compatible style sanity: fix include file due to previous re-location sanity: moved module from modules_s to modules commit 33f8af89d77055c1eaf38d8c64eb21d85478f5f3 Merge: 0e1baf0 a9c4a00 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 12:36:49 2010 +0100 Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0 * origin/tmp/k3.0_sr_backports: tm: fix setting the pre-T callbacks drouting: register MI commands drouting(k): Makefile updated to link libs registrar(k): preserve old bflags upon lookup pv: fixed author name tm: set request and reply for TMCB_RESPONSE_SENT tm: run release function for tmcb parameters tm: t_on_xyz("0") fixup updates core: usage of drop in onsend_route for Kamailio compatibility core: exit() is now equivalent to exit 1 core: drop reply ser compatibility core: drop reply in K compatible style sanity: fix include file due to previous re-location sanity: moved module from modules_s to modules commit a9c4a00bf471e6a006d581ded6bb3cb659f4d025 Author: Daniel-Constantin Mierla Date: Mon Feb 1 11:27:20 2010 +0100 tm: fix setting the pre-T callbacks - introduced in the fix for uac module (affecting only uac) - credits to Andrei Pelinescu-Onciul (cherry picked from commit 32d3e9c98943ad298f09d26db83ecf4ce5c2cc0e) commit 82cba0db58e53a1b3d162d8d7ea21381942f9ab6 Author: Daniel-Constantin Mierla Date: Wed Jan 27 12:33:26 2010 +0100 drouting: register MI commands - the module didn't register the MI commands in mod init - reported by Denis Putyato (cherry picked from commit f12562923e580644f20ae964264747be849d1ce9) (cherry picked from commit c2f9d800c367d614411159c599f078fbcc0e311e) commit 31c459fad4f94aeb6d0cb5519ff1c48fe4c1e927 Author: Daniel-Constantin Mierla Date: Mon Jan 25 10:06:41 2010 +0100 drouting(k): Makefile updated to link libs - fixed missing core libs in Makefile - reported by Denis Pulyato (cherry picked from commit f572564e862a56470ccb2bc2aa2b23fcbb5dd318) commit c3299d26c0f035b9fd4755a6854b9fe97fb4454e Author: Daniel-Constantin Mierla Date: Mon Jan 18 15:43:32 2010 +0100 registrar(k): preserve old bflags upon lookup - lookup was resetting bflags value with what was retrieved from location table - preserve now bflags set in config before - reported by Ricardo Martinez (cherry picked from commit e6eceeb8ccce8b37d09f5f69cafb97e007467d78) commit c768636452d7aec7dca47fb6442fe718a51f9e30 Author: Daniel-Constantin Mierla Date: Mon Jan 18 12:35:46 2010 +0100 pv: fixed author name - forgotten when creating readme files starting from another module docbook files (cherry picked from commit 45f76f44abca5d049c3d289a1f9d09c6821c92d9) commit c9860c307016ffbff971ab9eb483c04f8de03dd9 Author: Daniel-Constantin Mierla Date: Mon Jan 18 11:59:19 2010 +0100 tm: set request and reply for TMCB_RESPONSE_SENT - for some reason they were NULL - affected was sip_trace - credits to Nguyen Quang Tri fore report and troubleshooting (cherry picked from commit 03ab185bca42e5788eeef5f5c13e02e547c524a1) commit 94942cbab5774f60100dbdfec0eb31dec4f2cff2 Author: Daniel-Constantin Mierla Date: Fri Jan 15 22:09:01 2010 +0100 tm: run release function for tmcb parameters - allow early registration of tm cb (in use by k uac module for example, reported by Vulpyne) - release function calling was missing (cherry picked from commit 68d63835c6ec1a3fa4984aa3eb3fcc081a4f1f86) commit 9ec0cfc8a2cae52c4bed6e0f777f220840ba30c7 Author: Daniel-Constantin Mierla Date: Fri Jan 15 20:29:46 2010 +0100 tm: t_on_xyz("0") fixup updates - if parameter of t_on_reply, t_on_failure, t_on_branch is 0 do not call fix_routes and set the parameter value to 0 - resets previous calls of the function with non-zero value and does not print warning message at startup because the route is not found (cherry picked from commit 53d7cb1dae02e4709a10f869e8ec748df73bec37) commit 5d34bdcd2ae8d9fe7356412d9f0f310ad23066e7 Author: Daniel-Constantin Mierla Date: Thu Dec 24 17:11:58 2009 +0100 core: usage of drop in onsend_route for Kamailio compatibility - in K exit and drop have different behavior in some cases - fr onsend_route exit means stop executing the actions and drop does in addition discard sending the message (cherry picked from commit 8a43c6fcb21ff7aeb097b1d8791bfc3d8f020bcb) commit 9954a52e8fa08a4f729e1b211c16e47aea095883 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 12:16:50 2010 +0100 core: exit() is now equivalent to exit 1 exit or exit() no longer drop messages by default. They now end the script with return==1 (instead of 0). Note that exit 0 is equivalent with DROP in non-kamailio mode and in most routes, but this kind of usage is deprecated (use drop instead of exit 0). commit ae12edc44eee771fb67101dbbed14a1232950be3 Author: Andrei Pelinescu-Onciul Date: Mon Feb 1 12:06:08 2010 +0100 core: drop reply ser compatibility - drop reply also if ret==0, not only on DROP (e.g. modules function returning 0). This preserves compatibility with old scripts. - uncomment the onreply_route error handling. It was commented out by the last commit (0621319 core: drop reply in K compatible style). To disable it, define NO_ONREPLY_ROUTE_ERROR. commit 05589c01cfe7665439f1b6f1c53c27d12e1900e0 Author: Daniel-Constantin Mierla Date: Thu Oct 29 11:28:20 2009 +0100 core: drop reply in K compatible style - drop reply in default onreply_route when using 'drop' commit 1c65a90d9a1c9edd9cdf0cd9027361ca20769094 Author: Daniel-Constantin Mierla Date: Wed Oct 28 23:38:07 2009 +0100 sanity: fix include file due to previous re-location (cherry picked from commit f771b05fe8f24bebe18962c4169176e47e099ef8) commit d7443727239f5ea2fc8007625808260caa6d1f6b Author: Daniel-Constantin Mierla Date: Wed Oct 28 23:07:45 2009 +0100 sanity: moved module from modules_s to modules - modules_k/sanity removed (it was an adapted version for k 1.5) (cherry picked from commit 011cc3ffacfbc6faf65a879d3558cd789f101237) commit d098c129dcd1f8a7d28ae998e8a0094faac4bf58 Author: Daniel-Constantin Mierla Date: Sat Jan 30 17:05:12 2010 +0100 app_lua: do basic Lua probing before fork - check if Lua files given to load parameter exist commit f4d2f91c9e3522ab92694ac37c4ee58ee7572c96 Author: Daniel-Constantin Mierla Date: Sat Jan 30 17:02:37 2010 +0100 core: use dlflags to load modules - dlflags var used for dlopen function commit 71e12561770882911b240fc05f39a2175d2bdfc3 Author: Daniel-Constantin Mierla Date: Fri Jan 29 22:52:45 2010 +0100 app_lua: function params can be dynamic strings - all functions accept parameters with PVs that are evaluated at runtime - new function lua_runstring() to run lua script in the context of loaded lua files at startup - helper functions to return boolean to lua and print lua stack in c side commit fa4ac6a32b746805434d51e4f8618aa9e771e5f0 Author: Daniel-Constantin Mierla Date: Fri Jan 29 18:42:10 2010 +0100 app_lua: added helper function to return bool commit f844b74911d87b7a19d80fe1648582b399f228f2 Author: Daniel-Constantin Mierla Date: Fri Jan 29 18:36:59 2010 +0100 app_lua: exported sl get_reply_totag() to Lua commit 7ae36a90704a413166f3281bdf12976f4c3d5fe3 Author: Elena-Ramona Modroiu Date: Fri Jan 29 17:55:45 2010 +0100 xlog(k): two new functions xlogl and xdbgl - xlogl is similar to xlog, in adition prints the config line number at the beninning of message - xdbgl is similar to xdbg, in adition prints the config line number at the beninning of message - (c) updated to reflect current content - handy for troubleshooting as same messages might be used across config, making easier to follow the execution path commit ae4b3946a58ddbdd78a8a04d743b9249ebbd4899 Author: Daniel-Constantin Mierla Date: Fri Jan 29 15:00:12 2010 +0100 Makefile: app_python added to exclude_modules - depends on python devel libs commit 2cef8565864ab1963ea3c2a6b863727a566e4580 Author: sobomax Date: Fri Jan 29 04:48:21 2010 -0800 Revert "Revert "Add Python module, still WIP, but should be usable. No xml"." This reverts commit e08eaddb181637f4fbb3a165fb0827b9a964f6bd. commit e08eaddb181637f4fbb3a165fb0827b9a964f6bd Author: sobomax Date: Fri Jan 29 04:42:06 2010 -0800 Revert "Add Python module, still WIP, but should be usable. No xml". Hopefully Gods of GIT will be more forgiving to poor me this time. This reverts commit cfd0e860c912645708c7286f02d8fc92b2f1f61d. commit a527b1eb527ede4523610903c7efe7b22e276514 Author: sobomax Date: Fri Jan 29 04:30:28 2010 -0800 Add Python module, still WIP, but should be usable. No xml documentation yet, some notes can be found here: http://www.b2bua.org/wiki/PythonSEROpenSIPSKamailio If anybody wants to step in and lend me a helping hand with the xml docs please be my guest. Thanks to the Daniel-Constantin Mierla for the help with the port. commit 5378f241e4162758f4e4a21feb52dcb2a3d6da28 Author: Daniel-Constantin Mierla Date: Fri Jan 29 13:08:04 2010 +0100 pv: fix compile warning for snprintf commit 6d17fe5a582be99e8b7d2dc771a36de3abf31dfe Merge: 070f8f3 1c588c8 Author: Andrei Pelinescu-Onciul Date: Thu Jan 28 20:19:49 2010 +0100 Merge remote branch 'origin/andrei/pointer_alias_warnings' compile warning fixes * origin/andrei/pointer_alias_warnings: rr(s): fix recently introduced avp_cookie name bug core: avp aliasing warning fixes group: fix pointer aliasing warnings rr: pointer aliasing warning fixes db_postgres: pointer aliasing warnings fixes core: pointer aliasing warnings fixed cfg: fixed pointer aliasing warnings Conflicts: cfg/cfg_ctx.h route.c commit 1c588c85a086aff42da5aa2a7da5ad663c896de1 Author: Andrei Pelinescu-Onciul Date: Thu Jan 28 19:58:06 2010 +0100 rr(s): fix recently introduced avp_cookie name bug - fix bug introduced in 34dc702 (while trying to fix pointer aliasing warnings) commit d103cf3a85bf8346e9c5a0ea1c9bf75caeab03b6 Author: Andrei Pelinescu-Onciul Date: Thu Jan 28 19:52:37 2010 +0100 core: avp aliasing warning fixes - fixed bug introduced in e95c077. commit 070f8f313b73d4fd168bef2800e4c17561c9e34d Author: Daniel-Constantin Mierla Date: Thu Jan 28 19:43:50 2010 +0100 pv(k): use $TV(Sn) for string timeval - previous commit introduced a naming conflict on 'sn' commit 11f8cf6edfa4a79b398cd159c6af3c2215b20b8e Author: Daniel-Constantin Mierla Date: Thu Jan 28 19:35:10 2010 +0100 pv(k): added $PV(sn) - string representation of current timeval (not cached) - idea by Klaus Darilion commit a5763a67a53fd3e33dc75cc7b2b3870caad5f4d1 Author: Daniel-Constantin Mierla Date: Thu Jan 28 18:57:39 2010 +0100 kamctl: added mtree sql scripts commit a35308172a9a38b5ab47077f06199a21c0e18228 Author: Daniel-Constantin Mierla Date: Thu Jan 28 18:54:08 2010 +0100 mtree: added db table definition commit dc95326f228e0276c7a0b749120015e38b194027 Author: Daniel-Constantin Mierla Date: Thu Jan 28 15:49:07 2010 +0100 kamctl: added files for uac remote registrations commit 56802d2851a5574130f4681560306161ff96cf1e Author: Daniel-Constantin Mierla Date: Thu Jan 28 15:47:02 2010 +0100 uac(k): added table for remote user registration - xml files to generate db schema for uac module for remote server registrations commit 16707ed30d9b057f2480c094b4df30260f2882a9 Author: Daniel-Constantin Mierla Date: Thu Jan 28 14:21:57 2010 +0100 renamed kamailio radius dictionary - matches the pattern used for install dictionary.$cfg_name commit b9571f8b3967611605a3e46e05a46fc4100ff78a Author: Daniel-Constantin Mierla Date: Thu Jan 28 14:07:45 2010 +0100 Makefile: test if cfg, -basic and -oob exist - cfg install check the existence of the files before atempting to copy - name of cfg to install depends on flavour commit cfbf5a105a70d4066ef526dbdb1272ceef4fdbd4 Author: Daniel-Constantin Mierla Date: Thu Jan 28 13:53:58 2010 +0100 Makefile: use pkg/$MAIN_NAME/debian for defs - if pkg/$MAIN_NAME/debian dir exists use it to build debs, otherwise use pkg/debian commit 17a1dd071d3b267817885921a5a6177af6f79dcf Author: Daniel-Constantin Mierla Date: Thu Jan 28 13:52:00 2010 +0100 Makefile: install kamctl for kamailio flavour commit f62640d8088de2418ad1ddf791d496a15c5ce109 Author: Daniel-Constantin Mierla Date: Thu Jan 28 13:46:46 2010 +0100 mtree: module compiles now - after early shm intialization was merged back from 3.0 commit 821640817c5d5ec210fc17a106bfc74ee4639bf9 Author: Daniel-Constantin Mierla Date: Thu Jan 28 13:44:08 2010 +0100 Makefile.defs: moved init of vars before FLAVOUR updates - some vars might depend on type of FLAVOUR installed - kamailio flavour compiles shm stats by default commit e20d9e128cb8cb5cd5e6b53fb518741b924eb5c2 Author: Daniel-Constantin Mierla Date: Thu Jan 28 13:34:21 2010 +0100 Makefile: version set to 3.0.99-dev1 commit cb2e9ed2900ead3ae92dbdcb8204e83a225a8f6e Author: Daniel-Constantin Mierla Date: Thu Jan 28 12:53:08 2010 +0100 pv(k): new PV class to select next hop attributes - use dst_uri if set otherwise new r-uri or original r-uri - $nh(u) - uri - $nh(U) - username - $nh(d) - domain - $nh(p) - port - $nh(P) - protocol commit 147e776d7a93388711191d208a7a3a107286f96d Author: Daniel-Constantin Mierla Date: Thu Jan 28 12:06:07 2010 +0100 presence(k): dynamic support for new event package - patch by Aymeric Moizard - events can be given as EVENT_OTHER, matching being done on string value commit 5783579581b4f04afd8ea341c7519becabece1a9 Author: Marius Zbihlei Date: Thu Jan 28 12:10:24 2010 +0200 modules_k:siputils Improved documentation of ring_timeout parameter commit 40a183b716853a08b523349b92a8d4ad0470e360 Author: Daniel-Constantin Mierla Date: Wed Jan 27 23:17:59 2010 +0100 pv(k): added new PV class to get timeval attributes - $TV(s) - struct timeval tv_sec (cached per sip message) - $TV(u) - struct timeval tv_usec (cached per sip message) - $TV(sn) - struct timeval tv_sec (not cached) - $TV(un) - struct timeval tv_usec (not cached) commit 2f13897c61e99d62cce92e7c5916bf3b4d37549c Author: Henning Westerholt Date: Wed Jan 27 17:38:17 2010 +0100 sl(k): docs extension, dependency on tm commit f12562923e580644f20ae964264747be849d1ce9 Author: Daniel-Constantin Mierla Date: Wed Jan 27 12:33:26 2010 +0100 drouting: register MI commands - the module didn't register the MI commands in mod init - reported by Denis Putyato commit 23bf29c92ae9d7f4635281a292a25e48698cb63b Author: Daniel-Constantin Mierla Date: Wed Jan 27 12:27:51 2010 +0100 drouting: updated db schema definition - use module name in description - more appropriate field sizes commit fb143f66a129177b59985a268753e5305e30fd95 Author: Daniel-Constantin Mierla Date: Wed Jan 27 12:15:14 2010 +0100 Makefile: intialization of FLAVOUR var - use ?= instead of = to enable usage of value from env commit 8791fc81eaa6dbcc545eabc648613d961b3c1b90 Merge: 482db59 0e1baf0 Author: Andrei Pelinescu-Onciul Date: Wed Jan 27 11:31:25 2010 +0100 Merge remote branch 'origin/sr_3.0' latest sr_3.0 and kamailio_3.0 backports * origin/sr_3.0: (90 commits) usrloc(k): rpc version for ul.dump core: init the len of sock_str attribute ctl: added parameters to control buffer size htable(k): rpc commad to dump htable pv(k): fixed $shv engine sanity: print From hdr in warning message nathelper(k): print bad contact uri core: more verbose when error parsing hdr kamailio.cfg: updated cfg with sample PSTN gw routing nathelper(k): fix for swap scenario presence(k): aliased MLA to SLA core: event parsing enahced for dialog;ma tm: documented t_relay_to() function tm: added t_relay_to(proxy, flags) tm: documented t_replicate() functions tm: t_replicate() can take avps & select as params tm: added t_replicate(uri) db_oracle: use PARAM_TYPE_MASK when checking param type snmpstats: fix param type checking core: define module_loaded to use find_module_by_name ... Conflicts: lib/srdb1/schema/dr_gateways.xml lib/srdb1/schema/dr_groups.xml lib/srdb1/schema/dr_gw_lists.xml lib/srdb1/schema/dr_rules.xml lib/srdb1/schema/kamailio-drouting.xml modules/ctl/README modules/topoh/README modules_k/uac/auth.c modules_k/uac/uac_send.c parser/parse_param.h utils/kamctl/mysql/drouting-create.sql utils/kamctl/oracle/drouting-create.sql utils/kamctl/postgres/drouting-create.sql commit 482db59aa2788737d9c6c0294a625bd3002d54c3 Author: Daniel-Constantin Mierla Date: Tue Jan 26 23:40:49 2010 +0100 app_lua: added sl module to Lua - sl send_reply() function exported to Lua under module sr.sl - restructured existing code for easier extensibility - allow to register optional modules to Lua via new parameter 'register' commit ba7f20f2bf1454283e62b8d87faff7d0c96611b1 Author: Daniel-Constantin Mierla Date: Tue Jan 26 20:31:18 2010 +0100 Makefile: excluded app_lua from compile list - depends on liblua5.1-dev commit 0e1baf00ab3419fe08f99680b9e4ca72623a15d8 Merge: b0853ed 99b02d1 Author: Andrei Pelinescu-Onciul Date: Tue Jan 26 20:10:53 2010 +0100 Merge remote branch 'origin/tmp/k3.0_sr_backports' into sr_3.0 * origin/tmp/k3.0_sr_backports: (86 commits) usrloc(k): rpc version for ul.dump core: init the len of sock_str attribute ctl: added parameters to control buffer size htable(k): rpc commad to dump htable pv(k): fixed $shv engine sanity: print From hdr in warning message nathelper(k): print bad contact uri core: more verbose when error parsing hdr kamailio.cfg: updated cfg with sample PSTN gw routing nathelper(k): fix for swap scenario presence(k): aliased MLA to SLA core: event parsing enahced for dialog;ma tm: documented t_relay_to() function tm: added t_relay_to(proxy, flags) tm: documented t_replicate() functions tm: t_replicate() can take avps & select as params tm: added t_replicate(uri) db_oracle: use PARAM_TYPE_MASK when checking param type snmpstats: fix param type checking core: define module_loaded to use find_module_by_name ... commit 77523f394f3f37317f85917fe1df89d2c027392d Author: Andrei Pelinescu-Onciul Date: Tue Jan 26 19:34:53 2010 +0100 doc: select doc generator: more fixes & core selects support - support core select file: file with core selects that might be referenced from the current file. To use it the new "-c" or "--core" command line parameters must be used, e.g.: dump_selects.pl -f modules_s/textops/textops.c -c select_core.c - fixed handling of the NESTED and NESTED| CONSUME_* combinations commit bf89ebf74025597c261b5b664e29fe0ab6bcfc25 Author: Henning Westerholt Date: Tue Jan 26 17:50:02 2010 +0100 reg(k): fix a (probably) copy and paste error commit 7b91c4d48ecc3b2da82b21966c9fb75fa392f3e5 Author: Daniel-Constantin Mierla Date: Tue Jan 26 00:11:02 2010 +0100 app_lua: run Lua scripts from cfg - new module to run embedded Lua scripts from cfg - module exports functions to Lua in order to access current processed SIP message - uses two Lua contexts, one for cached scripts (run functions from them at runtime) and one for execution of entire Lua scripts at runtime - so far exported to Lua - dbg, err and log functions - print messages using internal DBG API - sr.hdr.{append, insert, remove, append_to_reply} - header management - sr.pv.{get, seti, setf, unset, is_null} - PV management commit 679a7c11678ff4858a408a598e7ccc1ab64c590b Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:48:20 2010 +0100 uac(k): added remote registration capability - uac module can register contacts to a remote server - can auth REGISTER challenges - uses db table uacreg to load credentials at startup - no reload for now (have to restart to get the db updates) - rpc function uac.reg_dump to dump in-memory table commit de3980f8ad8d774ef3b4c587e0bddcf4832d080b Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:21:59 2010 +0100 uac(k): use header types for detection commit 1b7941a6e30ee7624ff0e32ee57882a0a45c8126 Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:21:08 2010 +0100 uac(k): renamed static var to avoid conflicts commit 1479cd808ea8e5025bfa8400a257e3f89db4ab68 Author: Daniel-Constantin Mierla Date: Sun Jan 24 21:20:02 2010 +0100 uac(k): proper test for send failure commit 7ea6f7c5bcbc2b2b9339e968b4c3b02f81a58298 Author: Daniel-Constantin Mierla Date: Sun Jan 24 19:49:21 2010 +0100 uac(k): exported functions for auth - added prototypes and structures to .h commit 3476f0ca4d1431eeee2244383b568a10409367bf Author: Daniel-Constantin Mierla Date: Sun Jan 24 19:43:09 2010 +0100 uac(k): set type for tm callback - requires to be TMCB_LOCAL_COMPLETED commit 81ee9cdfdd2d276f9b90490deb799b74ffff2038 Author: Marius Zbihlei Date: Fri Jan 22 12:23:33 2010 +0200 modules_k/ratelimit Using ser's cfg framework for modifying module parameters at runtime(reply_code and reply_reason). The patch allow reply_code and reply_reason to be modified using sercmd (modules/ctl/ctl.so and modules/cfg_rpc/cfg_rpc.so must be loaded).Check module documentation for example. Also it is interesting if we can modify at runtime other parameters of the module, like queue and pipe commit 73655cc83851f1f406ce23b8d6130632d731ef2d Author: Henning Westerholt Date: Thu Jan 21 19:26:08 2010 +0100 ldap(k): fix ldapsearch with empty filter * fix ldapsearch with empty filter * When in routing script ldapsearch() is executed on LDAP query URL without the ‘filter’ section, request forming fails: ERROR: ldap [ldap_api_fn.c:193]: vsnprintf failed * Workaround for administrators can be filling filter section with ‘(objectclass=*)’, what is anyway substituted by ldap library to request in case filter parameter set to NULL. * Please notice that va_end() call is missing in original code. * Patch FS#23 from andrey dot utkin at wildix dot com commit 7c701df1be3d71afe49e7d017a90fa10c081b790 Author: Marius Zbihlei Date: Thu Jan 21 17:32:42 2010 +0200 utils/sercmd: Fixed getopt() missing param Getopt was missing the -U param commit cd9876d687d65de1fe4e372bb34ef93f9ca3b29e Author: Daniel-Constantin Mierla Date: Wed Jan 20 11:52:37 2010 +0100 Makefile: geoip module added to excluded list - depends on libgeoip commit c13fefc2a885304069c4f92a4be68a03d1fe25f0 Author: Daniel-Constantin Mierla Date: Wed Jan 20 11:49:10 2010 +0100 geoip: new module for GeoIP checking - get details about an ip address from GeoIP database - results can be accessed via pseudo-variables: $gip(pvc=>key) - ability to perform many searches and use results in parallel - geoip db is loaded in cache at startup commit c9ba911f13739d6c004ff3f5079c21a3118186c6 Author: Daniel-Constantin Mierla Date: Tue Jan 19 19:24:07 2010 +0100 mtree: in memory tree containers - new module that loads db tables in tree structures in shared memory - tree are construct based on allowed character list (default: 0123456789) - it returns associated value as string, and has support to get it in precompiled form, returning in AVPs (for now pairs of dstid:weight) - there can be many trees defined, with mi commands to reload and print content commit fe46631967ef1c9c553e748e17937da21c6f4d32 Author: Daniel-Constantin Mierla Date: Tue Jan 19 19:20:21 2010 +0100 Makefile: blacklisted mtree module from compilation - it requires backports from sr branch (shm_initialized()) commit c17194092eb57a12403f1ac50c7a953110cbae71 Author: Karel Kozlik Date: Tue Jan 19 10:05:30 2010 +0100 introducing new attribute "sw_max_uri_user" used by serweb commit 72215cdbeb34f446cd3de2799b6471bd5a38609c Author: Marius Zbihlei Date: Mon Jan 18 15:41:43 2010 +0200 test/unit/32.sh: Fixed test (postgresql) commit 688c565e4601bb8f0e6524108df3c76be50958e8 Author: Marius Zbihlei Date: Mon Jan 18 15:26:29 2010 +0200 test/unit/29.sh :Fixed test commit 8262c28e357c67bad0741524f2686cb6cb6e0998 Author: Marius Zbihlei Date: Mon Jan 18 14:38:19 2010 +0200 test/unit/28.sh Fixed CPL-C module test commit 98bb3bbdd33d1e8faa4d636d3ad76aff2552693e Author: Marius Zbihlei Date: Mon Jan 18 14:26:01 2010 +0200 test/unit/24.sh: Fixed path to kamdbctl script commit fa8f83381ad7f5c2d4fd7e9da54eae3cd9533588 Author: Henning Westerholt Date: Mon Jan 18 12:49:57 2010 +0100 db scheme(k): add missing d_routing database definitions for dbtext and db_berkeley commit a7137d2aeae928fc5b63987537763d41806141dd Author: Klaus Darilion Date: Mon Jan 18 10:45:33 2010 +0000 nathelper(k): small code cleanup - remove variable "asymmetric" as it is redundant and have same behavior as "real" variable commit b282d607881473a6724f61f8d8d81652507a3fac Author: Klaus Darilion Date: Mon Jan 18 10:40:29 2010 +0000 nathelper(k): improve documentation - better description about usage of i and e flags commit 4dfb8f6a8c2efda45f9b969c665f06996a54479e Author: Marius Zbihlei Date: Mon Jan 18 11:17:52 2010 +0200 sl(k):Fixed documentation error The correct param is bind_tm commit fdd4e8ff76ded928ae3fad9c1a0d9a04e48474a0 Author: Henning Westerholt Date: Fri Jan 15 19:56:23 2010 +0100 auth_db(k): document NONCE_REUSED code, port from 1.5, r5967 * document return code -6: NONCE_REUSED. perhaps we might also just use the existing code -3: STALE_NONCE instead.. * regenerate the docs for module commit 7e4883b0147424ee27c116ce7826858c7ef486f3 Author: Henning Westerholt Date: Fri Jan 15 19:45:38 2010 +0100 auth(k): a few whitespace changes, adjust indention commit f565de5a65a8cb5f001d912d3cdf89a92c1e5bcf Author: Henning Westerholt Date: Fri Jan 15 18:55:11 2010 +0100 registrar(k): port r5966, small doc clarification for default_expires param commit 11e0bbb6de96ab56a45e34d3ba08c98e94a94aee Author: Henning Westerholt Date: Fri Jan 15 18:31:36 2010 +0100 sr: small spelling fix in default sr cfg commit ead9f3f966aa62be64d0c85df958a3ddc574f5c5 Author: Marius Zbihlei Date: Fri Jan 15 18:56:29 2010 +0200 Improved multihomed performance The mhomed implementation works by calling a socket()/connect()/getsockname()/close() to find out the interface in a multihomed system. Because mhomed works only for UDP sockets, a major performance improvement is shown if we use the same socket for multiple connect()s, thus completly removing the socket() call and the close() call. The CPU load(user+system) shown in a mhomed environment on a stateless router, with a call rate of 6000 calls/s is 46.1% load in the case of this patched version, versus 63.54% load in the case of the original version. commit 2efc174c7b2a099569ac6fa8f2cabc3e3f242d6b Author: Marius Zbihlei Date: Fri Jan 15 18:44:27 2010 +0200 Revert "Fixed documentation naming of parameter in modules_k/sl module" This reverts commit fe71e47101defb0b7e61c0aa1157cb88d6be497e. commit 99b02d1ee7f16a891d24bfa3ca687e7d6a8e8cd2 Author: Daniel-Constantin Mierla Date: Sun Jan 10 20:01:01 2010 +0100 usrloc(k): rpc version for ul.dump - ul.dump is rpc alternative for MI ul_dump - better alternative to avoid pkg frametation in MI process (cherry picked from commit 3cc229a3c7ba36475c3bd67e4849297f9548bf26) commit 87958e7685eb5f518292f1a3913f716c4d299faa Author: Daniel-Constantin Mierla Date: Sun Jan 10 19:02:42 2010 +0100 core: init the len of sock_str attribute (cherry picked from commit f0d89fb89d1b588f253f048ab8fc22e0db7fff66) commit 5d97867e2680f0b116cb7a513cae9e8a6161ecb9 Author: Daniel-Constantin Mierla Date: Sun Jan 10 16:56:54 2010 +0100 ctl: added parameters to control buffer size - new parameters to control binrpc buffers size: - binrpc_max_body_size - binrpc_struct_max_body_size (cherry picked from commit acfc2142ed5ef3e61138792136eb32616502229d) commit 47810793d241131a5a9ac4ea32ff0dfc6d905a67 Author: Daniel-Constantin Mierla Date: Sun Jan 10 15:56:10 2010 +0100 htable(k): rpc commad to dump htable - htable can get big, rpc behaves better than MI (cherry picked from commit 5997048fdbefee51aebb8c996178ceb44120a482) commit 3e79f37b2f0822894cea3e65b280925a111d7d4b Author: Daniel-Constantin Mierla Date: Sun Jan 10 14:25:54 2010 +0100 pv(k): fixed $shv engine - shv relies on early shm initialization - got rid of hacks to define first in pkg and move in shm at mod_init - fixes 3.0 specific issues reported by Andrey 'Krieger' Utkin - closes FS#22 (cherry picked from commit b69e1c96bf65a4c4f8fa6bec28699607ea03e24d) commit 69ac6895977dfa0ce3dfb13ef43698baf06a5656 Author: Daniel-Constantin Mierla Date: Sun Jan 10 12:09:20 2010 +0100 sanity: print From hdr in warning message - when parsing of the header fails (cherry picked from commit 195cdf43e8eea385330376184f8b78b7d0322780) commit 95e893d0affaf7423a28a9f2e0ac1244e0ff7fab Author: Daniel-Constantin Mierla Date: Sun Jan 10 12:08:45 2010 +0100 nathelper(k): print bad contact uri - help in troubleshooting bad sip clients (cherry picked from commit a93f7ad1ce21413d0e2a00e4c8579f6bfe0a8a3f) commit ec538071e990d1e36f0c6ae0f4d99f7ab8cbd795 Author: Daniel-Constantin Mierla Date: Sun Jan 10 12:07:34 2010 +0100 core: more verbose when error parsing hdr - give a hint about the content parsing (max first 20 chars of attempted string) (cherry picked from commit 78e8075eea603a854dcf0142dda0f1dae6c69857) commit 9179040149999c9a66f0629ae88788798e71c91b Author: Daniel-Constantin Mierla Date: Fri Jan 8 17:16:28 2010 +0100 kamailio.cfg: updated cfg with sample PSTN gw routing - defined within WITH_PSTN - calls to numbers starting with + or 00 are sent to PSTN GW - use of custome cfg parameter to define GW IP - remove preloaded Route headers for initial requests (cherry picked from commit a9e4d86edeee7b2f70b33c89c91e800aefe11da0) commit 30455080b8e1d4cae0a0488b392c4cf364f63a24 Author: Daniel-Constantin Mierla Date: Thu Jan 7 11:33:37 2010 +0100 nathelper(k): fix for swap scenario A -> RTPP -> B, offer in INVITE, answer in 200 OK (SDP in INVITE+200 OK) A -> RTPP -> B, re-Invite on session expiry, SDP in 200 OK + ACK The from-tag and to-tag are not swapped in the ACK with rtpproxy_answer(). Options "sl" would do the trick also, but "s" is deprecated soon Patch by Walter Schober (cherry picked from commit 839e2fee663846f68289a519c27aef433a872afa) commit 57d99f466c921e85cc013eeeef67da83ca123bf6 Author: Daniel-Constantin Mierla Date: Wed Jan 6 18:50:31 2010 +0100 presence(k): aliased MLA to SLA - doc updated to reflect RFCs and drafts (cherry picked from commit 1a9f379ed66dbcc05f7750ff961c0a7a6607b0db) commit 3f8b07ca7c2549478ce57310467a16aa671be009 Author: Daniel-Constantin Mierla Date: Wed Jan 6 18:47:36 2010 +0100 core: event parsing enahced for dialog;ma - event defined by draft-anil-sipping-bla for Multiple Line Appearances, folloing to Shared/Bridged Line Appearances (SLA, BLA) - draft is defunct but still some implementations out there (cherry picked from commit 1e99795d2ddebe8a6794c3b407f96d30378b872f) commit 0f88678c7bb5b53e4e3f5708df9ed5e1b4c3d59a Author: Daniel-Constantin Mierla Date: Wed Jan 6 15:39:46 2010 +0100 tm: documented t_relay_to() function (cherry picked from commit d8af3a4b17bf1ca71df1d977d986f407ff34cfc2) commit b44e9deffa8dd5fe84148ee73bcfb2a00ff9de13 Author: Daniel-Constantin Mierla Date: Wed Jan 6 14:36:55 2010 +0100 tm: added t_relay_to(proxy, flags) - parameters compatible with t_relay() in K old version - proxy value can be: [proto:]host[:port] - flgas can be 0x01, 0x04 or 0x05, 0x02 flag not supported - all or any of the parameters can be omitted (cherry picked from commit fc59de27f87772df40a4408485a34344acbec950) commit 6481b24f991732986b45ff935e4fb6a03b53c94e Author: Daniel-Constantin Mierla Date: Wed Jan 6 12:32:01 2010 +0100 tm: documented t_replicate() functions (cherry picked from commit a511ceccfb593736d44b7701fd07f3f9b5c3a104) commit 0a0a95c91fcb7d67ffe2b1c730149f79328fbc91 Author: Andrei Pelinescu-Onciul Date: Fri Jan 15 14:26:22 2010 +0100 tm: t_replicate() can take avps & select as params t_replicate(uri) can now take ser-style avps ($foo) and selects (@ruri) as params (along PVs and normal strings). commit f4cfee81ff275b0ab17482fd5e001a0717c83785 Author: Daniel-Constantin Mierla Date: Wed Jan 6 11:57:24 2010 +0100 tm: added t_replicate(uri) - the parameter has to be a valid SIP uri - it can be given via a script variable - K compatibility mode - reported by Santiago Gimeno (cherry picked from commit 64e19a6a44a21adf6f743420a26a48cc3acd099a) commit 243193a6f84e080d1c86c3011e251978c9908a55 Author: Daniel-Constantin Mierla Date: Tue Jan 5 18:40:17 2010 +0100 db_oracle: use PARAM_TYPE_MASK when checking param type (cherry picked from commit d1e89c65a9412d2a0560c5699a34dd01e231a2d9) commit e40bd16e6d9993aabab9b411e82c8428743b1a16 Author: Daniel-Constantin Mierla Date: Tue Jan 5 18:27:46 2010 +0100 snmpstats: fix param type checking - parameter type is given from definition of params not from modparam value type, resulting in mismatches for parameters that have USE_FUNC_PARAM flag set - reported by Santiago Gimeno (cherry picked from commit 9cf36478222aaf573a6cd7b65e6a4fd6227eb8cd) commit 4627c2f4e76cacc004404e7f78557b1627291a5c Author: Daniel-Constantin Mierla Date: Mon Jan 4 21:32:24 2010 +0100 core: define module_loaded to use find_module_by_name - it was declared but not implemented - in use by snmpstats and perlvdb modules - reported by Santiago Gimeno (cherry picked from commit d4db8304926d30a4244b9ee05d21b5614eae5f94) commit 8f212d9bcb616e34d1a4ad3701bd25f130edfe01 Author: Daniel-Constantin Mierla Date: Mon Jan 4 21:11:29 2010 +0100 topoh: documented mask_ip parameter (cherry picked from commit 15ece92703aa691333d06a79b7e9901bf893bf74) commit 45f49d7df50886089bf80af018c1b2a7e4723608 Author: Daniel-Constantin Mierla Date: Mon Jan 4 20:15:12 2010 +0100 topoh: new mod param mask_ip - allow to set the value of IP address used in masked URIs - reported by Klaus Darilion (cherry picked from commit ff748db23dfdbf022d37071181628ddf5591b58b) commit 05019d6961c11c5147c777bbb6c8b662c6dfb189 Author: Daniel-Constantin Mierla Date: Mon Jan 4 14:35:19 2010 +0100 kamctl: regenerate db creation scripts (cherry picked from commit af5463d865bde28d1a2f977d0c9bd9347588b6e0) commit 63a933166f3af71c8400284932f2041d39e1c1fd Author: Daniel-Constantin Mierla Date: Mon Jan 4 14:32:19 2010 +0100 drouting: updated db schema from master (cherry picked from commit 700fb1a97a5c6c089fce85f547117286644872b5) commit 1e1b25ef4808ffdd1eef020df0661ec71469991e Author: Daniel-Constantin Mierla Date: Sun Jan 3 13:31:23 2010 +0100 kamctl: added new db table definitions - sql to create drouting tables for mysql, postgres and oracle (cherry picked from commit 0292a4b5f2cb0564649699c592e51a06edbd91a4) commit 54153f474c7f5abceb3dc49bc97ab58e4e8d3775 Author: Daniel-Constantin Mierla Date: Sun Jan 3 13:29:58 2010 +0100 srdb1: version table updated (cherry picked from commit df46a824d87dfcf839c175c77addda9eed533c03) commit a6d808ec725778fc117c3a644011f1ad01642cdc Author: Daniel-Constantin Mierla Date: Sun Jan 3 13:27:57 2010 +0100 drouting: adding db table definitions - built based on readme - needs further updates as the code is ahead of documentation with what tables are used and their structure (cherry picked from commit 53a25f097d127eea7fef3c3c32f7f24421aaad15) commit 2ef75d45b4860501743404bd4357caa743d45030 Author: Daniel-Constantin Mierla Date: Sun Jan 3 13:25:51 2010 +0100 drouting: regenerate readme - it was out of sync with docbook sources - use entity for application name and corrected db url (cherry picked from commit 0d88fc527d5ddb90e3d52ca8f369bdcfaab63ed4) commit 3a6443fe22334f780ce0523844144809be41de99 Author: Daniel-Constantin Mierla Date: Sun Jan 3 12:38:48 2010 +0100 drouting: lookup route block by name - routes are identified in 3.0 by string name - if name is "0", do not execute the route (this is the main one) for backward compatibility - based on patch by Andrey 'Krieger' Utkin, FS#24 (cherry picked from commit 94f834041eb43121e6750cf524c32225aaf1c80d) commit b75fa24d485f0457729b63dd343ed51733e6eff2 Author: Daniel-Constantin Mierla Date: Sun Dec 20 18:48:37 2009 +0100 topoh: updated README (cherry picked from commit 63664db5030d1a6c5e700e645cebac9238e985ba) commit 27b744887c9630ef70881e92a213f855ab701019 Author: Daniel-Constantin Mierla Date: Sun Dec 20 18:44:33 2009 +0100 topoh: update Replaces header - case when call-id is masked (cherry picked from commit f03706ce3b8670d052619ac4a38fda4fa35bedfd) commit 72c88d39f52dec13c71275ab96932665e7e4cba1 Author: Daniel-Constantin Mierla Date: Sun Dec 20 17:50:51 2009 +0100 topoh: code to update Refer-to URI (cherry picked from commit e9400dba371252edef970407be7b85dbe45e1ea3) commit 71f28ea4ec6a6c23562ca179b5407bef904602dc Author: Daniel-Constantin Mierla Date: Sun Dec 20 12:49:59 2009 +0100 topoh: callid prefix can be set via param (cherry picked from commit a8f1190d0a400c34809af798a482311539b15527) commit b6e4ccf313e488dee5133c4d69f3a4f434a1fb9d Author: Daniel-Constantin Mierla Date: Sun Dec 20 12:46:10 2009 +0100 topoh: add prefix to encoded callid (cherry picked from commit 9d5a1ff7736d49794d5ca0f29e118d90f0ee5b68) commit 22144166b66e0099061187dcfedce9203a5c7986 Author: Daniel-Constantin Mierla Date: Thu Dec 24 17:10:44 2009 +0100 pv: completed $snd() pv with buf and len - missing parts of available info about message to be sent (cherry picked from commit aedb1ee1f3e43341fe507f41ca12208c2dec3cf7) commit dfd9718691fc5a86e2ab9d5aaa4cc8787d3a4ed6 Author: Daniel-Constantin Mierla Date: Wed Dec 23 22:34:28 2009 +0100 tm: further fixes for t_drop_replies() - use a dedicated variable replies_dropped to signal that replies were dropped instead of using drop_replies marker (cherry picked from commit e024da1fb6cd4b74d68760070f9e159356d93b0e) commit a3b56c2829760b3a1a40e78703f85d3c91096c0d Author: Daniel-Constantin Mierla Date: Wed Dec 23 17:34:09 2009 +0100 tm: updated doc for t_drop_replies() (cherry picked from commit cb1866ee7b23688d12b222d503b1709f16f75a12) commit 482a90473c23750c72aebd3c90d978815ddbc7ed Author: Daniel-Constantin Mierla Date: Wed Dec 23 17:24:30 2009 +0100 tm: fix drop reply behavior - Kamailio default behavior after failure route was to drop previous received replies. However, if the failure_route didn't add a new branch, resulted in a 500 TM reply error - thanks to Ricardo Martinez for reporting - credits to Andrei Pelinescu-Onciul for troubleshooting and prviding the fix: a new default mode for Kamailio (3) which does not drop previous replies if no new branch was added (cherry picked from commit a883a0b2501ba2b25ca87994d4c211f75a556ebe) commit e8a8faaf9f3cd3ae1aa11a60f5080b0112e6b457 Author: Daniel-Constantin Mierla Date: Sat Dec 19 23:26:01 2009 +0100 pua_dialoginfo: use contact addresses in document - for local and remote targets - patch by Santiago Gimeno, FS#20 (cherry picked from commit d35df0cdab10aa83b3ceedde3a8cde8baeabfc79) commit 1c6bec5e673ed7f4827f9737ca4a9879dc7cad06 Author: Daniel-Constantin Mierla Date: Sat Dec 19 23:02:32 2009 +0100 dialog: new column to hold request uri - table version set to 4 - regenerated db creation scripts (cherry picked from commit 1f64908ea0e6ad14ad6d209ba0eeb7b11c6b1e18) commit e54866fd3e452e1c692535885e6a04a9584e17f4 Author: Daniel-Constantin Mierla Date: Sat Dec 19 22:58:26 2009 +0100 pua_dialoginfo: patch from FS#18 - applied patch from Francisco Javier Lizaran Vilches - use r-uri in published document (cherry picked from commit 09d1bdc38b51619c65c6a9ec8f293cf9c395c6c1) commit 8c1b49d5fd4c7659bf6e99180776619f3647a458 Author: Daniel-Constantin Mierla Date: Sat Dec 19 22:44:28 2009 +0100 dialog(k): patch from FS#18 - reworked part of patch from Francisco Javier Lizaran Vilches - add r-uri to dialog structure - r-uri value can be specified as PV via parameter, default is $ru - for dlg_bridge, r-uri is same as to-uri (cherry picked from commit df950f2a01f5f3d3da04e84a4f4a1cb810def038) commit 80d82370676def3da60535f4b323c961edc67d68 Author: Daniel-Constantin Mierla Date: Sat Dec 19 19:54:16 2009 +0100 Makefile: fix name of cfgutils in group kstandard - wrong name having '_' caused the module not to be packaged in debs - reported by Klaus Darilion (cherry picked from commit 78e097fb1f185796abeff27e5978bc82bdb6526f) commit 78e72c09e1927b16d3035167fd8e942a37b6245b Author: Daniel-Constantin Mierla Date: Tue Dec 15 22:58:10 2009 +0100 kactl: cisco_restart cmd update to latest t_uac_dlg - reported by David at lublink.net (cherry picked from commit 1203f6771a08e499ad0ef39d18f6096814db537a) commit 43302a8bfdf3014fd4399a9ba327104523d517f8 Author: Daniel-Constantin Mierla Date: Mon Dec 14 20:50:17 2009 +0100 nat_traversal: link with lib kcore - include lib/kcore/statistics.h - fix undefined symbol for register_module_stats - reported by Ricardo Martinez (cherry picked from commit 7c6600c007be55263b48ea1114cbecab86347076) commit b2656f5ae7f36345ea18a5ff82eb66f11c7f5cab Author: Daniel-Constantin Mierla Date: Mon Dec 14 10:22:25 2009 +0100 dbschema: regenerate db creation scripts - get the updates to permissions and lcr tables (cherry picked from commit 0586447a736900832b116f3a3826ba01d9969b6a) commit 7e327d60a40df5c7e3bc1fd49426f39cab0f046a Author: Daniel-Constantin Mierla Date: Mon Dec 14 10:19:38 2009 +0100 perl: install Perl libs along with module (cherry picked from commit 256423a131e3cf71f20591f3f9066b30bd036726) commit f0434d54f88a8897bf803376405d91879c2b1880 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:09:29 2009 +0100 debian(k): packaging for 3.0 - updated deb packaging specs for 3.0 - use SR makefile groups to build the packages - all module packages are named kamailio-*-modules - kamailio-dbg not packaged for now (cherry picked from commit 72692ea1af122b12e1071e364063fcc1a182cbd0) commit b083b9c4c2a5d7ce509d2a6015a1aedb07030e43 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:08:44 2009 +0100 kamctl: install of berkeley and oracle tools (cherry picked from commit 5b46bc809a5bc970f7ad7334be33bf0db723807b) commit 92f8b7944a636121410762efbbe09468c30653da Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:06:35 2009 +0100 db_oracle: install kamctl files (cherry picked from commit 669e52df21b5fe54d1968db94628859c5291681a) commit b144e1e69296e3e94b81e119066e9076d4917ce5 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:06:15 2009 +0100 db_text: install kamctl files (cherry picked from commit b3d47d4912dd8b64c5bce56be574aafe2340605b) commit bd5086e84b4b923cd454bd284832347997a38926 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:05:27 2009 +0100 db_berkely: install kamctl files (cherry picked from commit 1daa56fbec81034affeaadcfa97a1373413c68ea) commit 1c4baf2b49906c35bc2156d421e08249262152c5 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:04:49 2009 +0100 db_postgres: install kamctl files (cherry picked from commit 7922ddd9442e27028afae8e9d342bb31e383f624) commit 499ca5c064f8112399ef831c3f7412a66e3523a7 Author: Daniel-Constantin Mierla Date: Fri Dec 11 23:03:21 2009 +0100 db_mysql: install kamctl files - done only for kamailio flavor (cherry picked from commit f90750795260e753051e75f1918e0fd0ede1212f) commit d396e5c72d480f9450cf56c6e937999ef167c5ef Author: Daniel-Constantin Mierla Date: Fri Dec 11 22:13:45 2009 +0100 kamctl: mysql specific files installed by db_mysql module (cherry picked from commit c79057fb794171b5acb46c2811b97dc22158dbf2) commit ad6daa01a185d995d3d0c7ee7505c74ee491a8f8 Author: Daniel-Constantin Mierla Date: Fri Dec 11 20:06:12 2009 +0100 added groups to match kamailio packaging (cherry picked from commit ae8f695bcb0a1dca8cd55fd6fd5214d40edb7154) commit 50e604845ecdd3628de54ced118d52f29cf842c9 Author: Daniel-Constantin Mierla Date: Fri Dec 11 10:33:33 2009 +0100 tm: unlock replies in case of drop - needed after yesterday fix from Andrei (cherry picked from commit 5ff3c06aa9c216ef9b2168c0163f00017eb4718d) commit f0fb2ccbb69d7be58e789500fcb31ffeda313335 Author: Daniel-Constantin Mierla Date: Thu Oct 29 11:49:38 2009 +0100 tm: drop reply in onreply_route[x] - K compatible mode to drop reply in TM onreply routes by using 'drop' for reply status < 200 (cherry picked from commit 1f2388a) commit a8fac80a0c1fdbb52469791e3380636280d2fc51 Author: Daniel-Constantin Mierla Date: Wed Dec 2 19:01:09 2009 +0100 tm: drop replies behaviour based on cfg compat mode - default behaviour for #!KAMAILIO is to drop replies after failure route to avoid selecting same reply during the next failure event - for the rest of cases all replies are kept and used to select the code for new failure route (SER compat mode) - t_drop_replies() can take one parameter - 'n[one]' - do not drop any reply (good for #!KAMAILIO mode) - 'l[ast]' - drop replies received during last serial forking step - 'a[ll]' - drop all replies - if the parameter is missing, then will drop all replies (cherry picked from commit 3ed668500c9a0f0d2f864f5a56cf7fa886f8457c) commit 24b321d82f2e6bbf3c93c01582bb45733d1b0092 Author: Daniel-Constantin Mierla Date: Fri Nov 27 14:32:29 2009 +0100 dialog(k): avoid double free - rested current dialog pointer when distroying dialog to avoid double free done from post script callback - reported by Klaus Feichtinger (cherry picked from commit 9dca82405261dd925f845a98f2da26f7b1d12b54) commit e958eaf6b98659bed6a3d468769781ee89b1ffff Author: Daniel-Constantin Mierla Date: Thu Nov 26 21:29:45 2009 +0100 core: set response functions list after mod init - some modules set the response function in mod_init - case of nathelper(k) - reported by Andres Moya (cherry picked from commit ee51f2f714d52d6cc36417bb65b764d718514984) commit 4f24ca9aa7e481176b8ac05a5d320a4a73395470 Author: Daniel-Constantin Mierla Date: Wed Nov 25 18:21:22 2009 +0100 tm: fix for dialog(k) module workaround - check if types!=TMCB_MAX if callback registration checks - TMCB_MAX is used to store pointer to dialog in order to clean it quickly (cherry picked from commit 0cab381fc93e53ca039ddbfa8ae6546fa14be066) commit a5dc459ee328d7b9cbb7f94fc2d8bc18b05fb7a8 Author: Daniel-Constantin Mierla Date: Wed Nov 18 08:55:49 2009 +0100 updated debian lenny packaging files for K 3.0 - credits to Jonas Bergler (cherry picked from commit f7e79e649988c787864594092b297865b0cdfb67) commit d3d6c628a19089efc26895545bddd11bb61eb687 Author: Daniel-Constantin Mierla Date: Sun Nov 15 12:52:36 2009 +0100 uac(k): use type to detect www/proxy_authenticate hdrs - reported by Mangust (mangust2), SF.net #2897594 (cherry picked from commit c92e49f3eb145c3767e996d21717d20613a899d5) commit 074f6a3e43248d2d47ed52f52f30a10ad0c33470 Author: Daniel-Constantin Mierla Date: Sun Nov 15 05:12:51 2009 +0100 route(1) changed to route(RELAY) - reported by Mangust (mangust2), SF.net #2897872 (cherry picked from commit 99d434e5c2ff2771a5e6c486630e859d5bcc6c5f) commit 4289e2e6c060626086f47c33983801747ba38836 Author: Daniel-Constantin Mierla Date: Fri Nov 6 13:35:20 2009 +0100 pv: return transport parameter value for $rP - reported by Alex Hermann, SF.net tracker #2892560 (cherry picked from commit 337b0e067dbec8965b176a469bcb2104f2bd870c) commit 62092f24c12390656037e3bbc019ded672f2dcf1 Author: Daniel-Constantin Mierla Date: Fri Nov 6 12:30:51 2009 +0100 uac(k): set callback type for local requests - type has to be TMCB_LOCAL_COMPLETED to execute transaction callback (cherry picked from commit d49abf1ec44ca63a36ef1149622bf1b706d17b2a) commit 775ea32d6672b099cfee856800f33dd0f4dcc3dc Author: Daniel-Constantin Mierla Date: Mon Nov 2 15:16:16 2009 +0100 tm: auto-correct timeout values in K compat mode - if the value of timer parameters is less than 120 then use T*1000 - SR TM use mili-seconds instead of seconds like in K 1.5 - print warning message if such case happens (cherry picked from commit 2a34921ba091b10c201f330aa2f7bea336708231) commit ee1d8334f28e42f42d72951227654e2cd2215cbd Author: Daniel-Constantin Mierla Date: Mon Nov 2 14:49:06 2009 +0100 define kamailio compatibility mode - #!KAMAILIO at the top of config file (cherry picked from commit 36c4036bbfa26f34be8c434d94b17e75bb6b2bef) commit a7b5154de10ef53e75c51ade3ebdbc4c2dc03ef8 Author: Daniel-Constantin Mierla Date: Mon Nov 2 14:46:17 2009 +0100 tm: avp style for parameters - when K config compatibility is defined, TM avp parameters use the $avp(name) format. e.g.: ... modparam("tm", "fr_timer_avp", "$avp(i:10)") (cherry picked from commit ed9c6128fdd588f5d9aa19ad666db36cfc0c788d) commit 41847d21be2ebfeb2cb5fcad463102e7ecd63061 Author: Daniel-Constantin Mierla Date: Fri Oct 30 20:58:11 2009 +0100 config cleanup - enclose several former commented features within defines - enabling such a feature requires just one 'define' as opposite of sed command used in 1.5 config (cherry picked from commit 9069082a2d80b436779e805ee4da9703c4672d90) commit 57d033000e1d47d4f6d908a978640843455539c7 Author: Daniel-Constantin Mierla Date: Fri Oct 30 13:04:42 2009 +0100 added kamailio in ingnore list commit da701bcd58ea0336d4ea1c6763ac23df35c75a53 Author: Daniel-Constantin Mierla Date: Fri Oct 30 11:46:44 2009 +0100 set default debug level to 2 - load sl after tm so it can do stateful reply via send_reply() (cherry picked from commit 762ab0f1ce81dedaab3cc8ad20103317f06da75d) commit bcc5785c0d8c8e40b1550c8616b1fbf33e4bac15 Author: Daniel-Constantin Mierla Date: Fri Oct 30 11:21:45 2009 +0100 set branch flags before saving location - enclose parameters in double-quotes (cherry picked from commit 2a67b2533742f7e969d17b027ca7dfea77701415) commit 360c6412dfa3e08ba11187cb5b9cd9a6054d132b Author: Daniel-Constantin Mierla Date: Fri Oct 30 11:05:28 2009 +0100 support for defines - applied patch from Bogdan Harjoc - support for define/ifdef/ifndef - nicer way to build config file - additions to preprocessor directives, so far was 'include' - format is: #!define ID #!ifdef ID #!ifndef ID #!else #!endif (cherry picked from commit 744813329639b323e77a148aebb83112ec1039d1) commit 7ccc60401cda629538271f90e6f7e8e90b5be1ea Author: Daniel-Constantin Mierla Date: Thu Oct 29 00:51:44 2009 +0100 kamctl: include core config.mak in Makefile (cherry picked from commit 1180ee4d1f5de178f1a16785c3ff573aec00bd70) commit 0cb74fb4219e13ececb454bbc1b1876a17fc55a8 Author: Daniel-Constantin Mierla Date: Thu Oct 29 00:50:54 2009 +0100 Makefile: adding data vars - they are used to install shared resources from kamctl/kamdbctl (cherry picked from commit f6b97e137b44a420d13eeeb45218df1e7b618393) commit f8bf963349c0242a69179e88225be3925552e5d2 Author: Daniel-Constantin Mierla Date: Wed Oct 28 23:54:33 2009 +0100 kamailio.cfg: load ctl and mi_rpc modules - enables usage of sercmd tool with default config (cherry picked from commit 80a8fc22b8488c358fc12f0a6ce684ffe32f1d1c) commit 350eb605c76007ae330bfb85f54d2ce9beec4e0a Author: Daniel-Constantin Mierla Date: Wed Oct 28 23:38:58 2009 +0100 kamailio.cfg: do sanity check by default - use sanity module to catch parsing errors early in config - replaces error_route from kamailio 1.5 (cherry picked from commit aa569991b9c184003ccfd805978930f6cf9ccf2e) commit 6b6bc92831fbce1d135e3c5d9f9ac0ed5a9b17d7 Author: Daniel-Constantin Mierla Date: Wed Oct 28 22:43:14 2009 +0100 Makefile: introducing SRC_NAME var - store the name as it is in source tree, updated by installation to MAIN_NAME (used for man pages install) (slightly modified version of 3a7b050) commit 18ec6f5deb4f24f59dc9fe901ac79f1bc1674f96 Author: Daniel-Constantin Mierla Date: Wed Oct 28 22:07:00 2009 +0100 kamailio.cfg: use name for routes - switched from index to names for routes - 1 => RELAY - 2 => PRESENCE - 3 => AUTH - 4 => NAT - 5 => RTPPROXY - failure route: 1 = > FAIL_ONE - onreply route: 1 = > REPLY_ONE - branch route: 1 = > BRANCH_ONE (cherry picked from commit 489ddd1336d3bd703ea0b393226631469883b4f3) commit 10a05af721007ec6a138b59067f5795e747ff04d Author: Daniel-Constantin Mierla Date: Wed Oct 28 21:53:27 2009 +0100 kamaili.cfg: basic updates to make it work with SR core (cherry picked from commit 5adb83ef2c7e6f1e07a2df1f7f26e6933f7f34ab) commit 6a9eac3ddf48889857cd2cba412e92b92ee6d41d Author: Daniel-Constantin Mierla Date: Thu Oct 22 23:02:50 2009 +0200 pv: $snd(xyz) - new pv class to handle dst filtering - return attributes of destination address, valid in onsend_route - woraround the DNS blacklisting from K 1.5 by using the new PVs and onsend_route - inner name can be: ip, af, proto and port (cherry picked from commit be72d02a81f4508e6666e5992c52b788422cd398) commit 48e38cdc3edbc5385f2222407dee1ac4c429f6c8 Author: Daniel-Constantin Mierla Date: Tue Oct 13 23:46:46 2009 +0200 etc: add modules_k to search path of modules (cherry picked from commit 974e91436a5cf2bdab0f0e6d9d94d4425c2320ac) commit 022eadc245ca5fa0597d1e9684a36d52476654a6 Author: Daniel-Constantin Mierla Date: Tue Oct 13 23:29:04 2009 +0200 kamctl: added install-if-newer in Makefile (cherry picked from commit 418bbf80cfc3d4efa2334c1b3bdbfb6e91853f7a) commit c217074c3d98869bb72334f9a27fa3f5cac13ced Author: Daniel-Constantin Mierla Date: Tue Oct 13 20:41:38 2009 +0200 kamctl: Makefile action for simple 'make' - avoid kamctl installation if 'make' is typed (cherry picked from commit e77ff6f4c9fa32e0bc527d72dc54317658ac448a) commit fe71e47101defb0b7e61c0aa1157cb88d6be497e Author: Marius Zbihlei Date: Thu Jan 14 13:10:22 2010 +0200 Fixed documentation naming of parameter in modules_k/sl module commit b0853ed66ef8093bad06a3206ee257585d3a0624 Merge: c114f9f 3d3d38e Author: Andrei Pelinescu-Onciul Date: Wed Jan 13 17:39:01 2010 +0100 Merge remote branch 'origin/andrei/shm_early_init' into sr_3.0 * origin/andrei/shm_early_init: NEWS: notes about the shm related changes core: shm mem size can now be set in the config script core: early shm init while parsing the cfg core: moved shm init into separate files commit fd47b28ceaf52e99486c81ed63f12d6bdb76140b Merge: 7b898ce c114f9f Author: Andrei Pelinescu-Onciul Date: Wed Jan 13 17:20:23 2010 +0100 Merge remote branch 'origin/sr_3.0' latest sr_3.0 fixes, after kamailio 3.0 release. * origin/sr_3.0: (58 commits) Backport of the changes (see previous commits). kex: documented missing functions kex: aliased avp_printf to pv_printf auth_diameter(k): remove redundant declaration of find_credentials, now in core - fix bug in encode_contact() - fix bug when RURI was changed before and newuri will be used - remove unused code modules_k/nathelper: removed garbage from documentation (credits to Klaus) modules_k/nathelper: improved handle_ruri_alias() documentation modules/lcr and modules_k/nathelper: fixed compiler warnings modules_k/nathelper: handle_uri_alias() alias handling fix modules_k/usrloc: changed 'Kamailio' to 'SIP Router' in user agent string. tm: safer handling for local transactions and drop_replies!=0 sctp: stats: don't increment ASSOC_SHUTDOWN on COMM_LOST sctp: SCTP_STATS_ASSOC_SHUTDOWN tm doc: local_ack_mode documentation tm: new param: local_ack_mode makefile: fix make bin & basedir core: fix parsing for avps with the same name as a pv class tls: name the certificates based on $MAIN_NAME ... Conflicts: modules/tm/README modules_k/nathelper/rtpproxy_stream.c pkg/debian/rules commit 7b898cecea8e1c7f8b2a0597d5b31fe37514227c Author: Henning Westerholt Date: Wed Jan 13 10:59:44 2010 +0100 cr: remove obselete cr_prime_route function, use cr_nofallback_route instead commit ea1f8a283ee6a4077b70b1894c7baa260fa1852e Author: Andrei Pelinescu-Onciul Date: Tue Jan 12 20:48:09 2010 +0100 doc: select doc generator fix flags processing - fixes based on Jan's select decoding explanations (included in the code as a comment), select.c/resolve_select() and Libor's ser_objdump (http://git.sip-router.org/cgi-bin/gitweb.cgi?p=ser;a=blob;f=ser_objdump/select.c;hb=HEAD) - '{}' are now used to mark optional parameters ===================== 2010-01-10 Version 3.0.0 Released =====================