[OpenSER-Devel] [ openser-Bugs-1936591 ] mi_datagram module bind failure

SourceForge.net noreply at sourceforge.net
Fri Apr 18 09:30:33 CEST 2008


Bugs item #1936591, was opened at 2008-04-07 03:38
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1936591&group_id=139143

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 1.3.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Sigrid Thijs (sthijs)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: mi_datagram module bind failure

Initial Comment:
When setting up OpenSER 1.3.0 on a FreeBSD system, with the mi_datagram module configured, and starting up openser, we get the following error:

/usr/local/sbin/openser[3139]: NOTICE presence:child_init: init_child [1]  pid [3139]
/usr/local/sbin/openser[3138]: ERROR:mi_datagram:mi_init_datagram_server: bind: Invalid argument
/usr/local/sbin/openser[3142]: NOTICE presence:child_init: init_child [4]  pid [3142]
/usr/local/sbin/openser[3138]: CRITICAL:mi_datagram:pre_datagram_process: function mi_init_datagram_server returned with error!!!
/usr/local/sbin/openser[3138]: ERROR:core:start_module_procs: pre-fork function failed for process "MI Datagram" in module mi_datagram

In the openser configuration:
modparam ("mi_datagram", "socket_name", "udp:[ip.add.ress.here]:5068")

It is checked that the port is not in use (we've tried different ports). Note that this is working fine when running the same OpenSER version on a linux based system.

This issue also doesn't occur when we specify a UNIX socket.


----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-04-18 00:30

Message:
Logged In: NO 

Hi Sigrid

I changed the line in datagram_fnc.c as follows:

if (bind(socks->rx_sock, (struct
sockaddr*)&addr->udp_addr.sin,sizeof(addr->udp_addr)) < 0) {

to;

if (bind(socks->rx_sock, (struct
sockaddr*)&addr->udp_addr.sin,sizeof(addr->udp_addr.sin)) < 0) {

it seems the bind address size being passed in is incorrect. I had this
prob on a Solaris box.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1936591&group_id=139143



More information about the Devel mailing list