Feature Requests item #1891148, was opened at 2008-02-11 05:58
Message generated for change (Comment added) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1891148&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Helmut Kuper (hekuper)
Assigned to: Nobody/Anonymous (nobody)
Summary: protection of open fifo/ socket files against removing
Initial Comment:
Hi,
I found that starting a 2nd openser with same config as an already
running openser on same machine using module mi_datagram leads to a deletion of the
socket file of the already running openser process.
This is very bad when u use openser as a frontend for sems for example. :(
If this is a bug, maybe the check, whether there is
an already running openser using same network resources, should be placed *befor* starting modules.
Alternative modules should be able to handle those problematic scenarios ...
My mi_datagram config is this:
loadmodule "mi_datagram.so"
modparam("mi_datagram", "socket_name", "/tmp/openser_ansagen_sock")
modparam("mi_datagram", "children_count", 1)
modparam("mi_datagram", "unix_socket_mode", 0660)
modparam("mi_datagram", "unix_socket_group", "voip")
modparam("mi_datagram", "unix_socket_user", "ruth")
modparam("mi_datagram", "socket_timeout", 2000)
regards
Helmut
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2012-08-26 01:24
Message:
Hey there this is kind of of off topic but I was wondering if blogs use
WYSIWYG editors or if you have to manually code with HTML. I'm starting a
blog soon but have no coding expertise so I wanted to get advice from
someone with experience. Any help would be enormously appreciated!
http://www.sunglasses4summer.net/
----------------------------------------------------------------------
Comment By: Henning Westerholt (henningw)
Date: 2008-07-08 06:47
Message:
Logged In: YES
user_id=337916
Originator: NO
Hi all,
the problem with checking the existence of the fifo/ socket is that the old
file is not deleted during the shutdown. Even if we change this then the
problem would be still present in the event of a server crash.
As Helmut aggreed that this can be closed, i've moved this to the feature
request section. The startup code in main.c could be modified to check for
available network resources before doing the module initialization to
achieve this functionality.
Cheers,
Henning
----------------------------------------------------------------------
Comment By: Ovidiu Sas (osas)
Date: 2008-02-12 07:58
Message:
Logged In: YES
user_id=1395524
Originator: NO
It happened to me too. I wanted to check the version of openser and
instead of running 'openser -V' I ran 'openser -v' and my fifo file was
gone.
Maybe a quick fix would be to check the existence of the fifo file. If
exists, exit with an error, if not, proceed as normal.
Just my 2c.
Regards,
Ovidiu sas
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2008-02-12 07:53
Message:
Logged In: NO
Hi,
well, I agree too. This is an operation error by admin. But it is annoying
that it is so easy to destroy the media server. This will quit often occurs
if you are using bash shell with command history combined with nervous
fingers ;) ...
I think that checking network resources in openser befor doing rest of
configuration is safer. It should work allways, cause no second openser
will user same address and port on same machine at same time.
On the other Hand saving the PID of first openser in a PID should be an
acceptable work around.
So we can close this case if you want.
regards
Helmut
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2008-02-12 07:40
Message:
Logged In: NO
is it possible to delete a FIFO which is currently used? E.g by mistake I
start openser a second time. If it deletes the FIFO then it may cause
problems to the current running openser instance.
klaus
----------------------------------------------------------------------
Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2008-02-12 05:33
Message:
Logged In: YES
user_id=1275325
Originator: NO
Hi Henning,
I agree here - the fix should not be in openser, but rather in whatever
scripts/admins are managing openser. From my point of view, this is a
openser operation error.
Regards,
Bogdan
----------------------------------------------------------------------
Comment By: Henning Westerholt (henningw)
Date: 2008-02-12 03:24
Message:
Logged In: YES
user_id=337916
Originator: NO
I think this can be fixed by other means:
Just add some checks to openserctl to not start openser two times, like the
init script does (i think).
This would be easier than to fix the OpenSER start process to not start at
all (or fail just in the beginning) if another process is already running.
Henning
----------------------------------------------------------------------
Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2008-02-12 03:06
Message:
Logged In: YES
user_id=1275325
Originator: NO
Hi Helmut,
This is the normal/expected bahviour of the module - to avoid any security
problems (using a fake or malicious already existing unixsocket) openser
removes it first (if exists) and then creates its own with proper
permissions and security restrictions.
So, it is not a bug :).
Regards,
Bogdan
----------------------------------------------------------------------
Comment By: Helmut Kuper (hekuper)
Date: 2008-02-11 06:53
Message:
Logged In: YES
user_id=1851349
Originator: YES
Hi Bogdan,
yes I use same socket file name for both opensers, cause both are using
same config file.
Befor we misunderstand: I don't want to run 2 opensers with same config on
same machine!! I rather strumbled about that bug/problem, when I accidently
started same openser without openserctl twice
----------------------------------------------------------------------
Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2008-02-11 06:45
Message:
Logged In: YES
user_id=1275325
Originator: NO
Hi Helmut,
so you use the same socket_name for both openser's ??
Regards,
Bogdan
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1891148&group_…
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…