Module: sip-router
Branch: master
Commit: 35e5e50c8f624ab70ef095bdbc729861b4a0a749
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=35e5e50…
Author: Jason Penton <jason.penton(a)smilecoms.com>
Committer: Jason Penton <jason.penton(a)smilecoms.com>
Date: Fri Aug 24 09:21:40 2012 +0200
xmlrpc: more correct re XMLRPC spec re. no type specified, defaults to string
- This will allow you to receive docs like <value>mystringvalue</value>
- instead of only allowing <value><string>mystringvalue</string></value>
- according to spec if no type specified, assume string
- allows kamailio to receive messages from apache ws-xmlrpc which doesnt specify string type
---
modules/xmlrpc/xmlrpc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/modules/xmlrpc/xmlrpc.c b/modules/xmlrpc/xmlrpc.c
index aa5d3aa..8f865ba 100644
--- a/modules/xmlrpc/xmlrpc.c
+++ b/modules/xmlrpc/xmlrpc.c
@@ -1140,7 +1140,7 @@ enum xmlrpc_val_type{
*/
static enum xmlrpc_val_type xml_get_type(xmlNodePtr value)
{
- if (!xmlStrcmp(value->name, BAD_CAST "string")){
+ if (!xmlStrcmp(value->name, BAD_CAST "string") || !xmlStrcmp(value->name, BAD_CAST "text")){
return XML_T_STR;
} else if ( !xmlStrcmp(value->name, BAD_CAST "i4") ||
!xmlStrcmp(value->name, BAD_CAST "int")) {
Module: sip-router
Branch: master
Commit: 34cd2acb5370f36238f8765765cee6d97fd18209
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=34cd2ac…
Author: Peter Dunkley <peter.dunkley(a)crocodile-rcs.com>
Committer: Peter Dunkley <peter.dunkley(a)crocodile-rcs.com>
Date: Tue Aug 21 15:36:34 2012 +0100
modules_k/presence: Use database row/table locking where supported in DB only mode
- Under load there are lots of DB deadlocks when using
(start|end)_transaction() with multiple presence processes and/or
servers.
- Without using (start|end)_transaction() multiple processes/servers
overwrite each others changes.
- Using row locking (where possible) and table locking (where
required) fixes these problems.
- IMPORTANT NOTE: DB only, multi-process/multi-server, presence will
only work properly under high-load when using a database driver that
supports transactions and locking (currently just db_postgres).
---
modules_k/presence/notify.c | 47 +++++++++++++++++++----
modules_k/presence/presentity.c | 53 +++++++++++++++++++++++++-
modules_k/presence/subscribe.c | 81 +++++++++++++++++++++++++++++++++++---
3 files changed, 165 insertions(+), 16 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=34c…