Mercurial > hg > freeDiameter
changeset 245:6a71c3f3ab77
bind on FreeBSD is more sensitive...
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Fri, 02 Apr 2010 14:49:42 +0900 |
parents | 63fef1e56bc4 |
children | 6418a188c1b5 |
files | freeDiameter/cnxctx.c freeDiameter/sctp.c include/freeDiameter/libfreeDiameter.h |
diffstat | 3 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/freeDiameter/cnxctx.c Fri Apr 02 14:26:41 2010 +0900 +++ b/freeDiameter/cnxctx.c Fri Apr 02 14:49:42 2010 +0900 @@ -128,7 +128,7 @@ } /* Create the socket */ - CHECK_FCT_DO( fd_tcp_create_bind_server( &cnx->cc_socket, sa, sizeof(sSS) ), goto error ); + CHECK_FCT_DO( fd_tcp_create_bind_server( &cnx->cc_socket, sa, sSSlen(sa) ), goto error ); /* Generate the name for the connection object */ {
--- a/freeDiameter/sctp.c Fri Apr 02 14:26:41 2010 +0900 +++ b/freeDiameter/sctp.c Fri Apr 02 14:49:42 2010 +0900 @@ -713,7 +713,7 @@ else s.sin6.sin6_port = htons(port); - CHECK_SYS( bind(*sock, &s.sa, sizeof(s)) ); + CHECK_SYS( bind(*sock, &s.sa, sSSlen(&s)) ); } else { /* Explicit endpoints to bind to from config */
--- a/include/freeDiameter/libfreeDiameter.h Fri Apr 02 14:26:41 2010 +0900 +++ b/include/freeDiameter/libfreeDiameter.h Fri Apr 02 14:49:42 2010 +0900 @@ -454,8 +454,8 @@ /* The sockaddr length of a sSS structure */ #define sSSlen( _ss_ ) \ - ( (socklen_t) ( ((_ss_)->ss_family == AF_INET) ? (sizeof(sSA4)) : \ - (((_ss_)->ss_family == AF_INET6) ? (sizeof(sSA6)) : \ + ( (socklen_t) ( (((sSS *)_ss_)->ss_family == AF_INET) ? (sizeof(sSA4)) : \ + ((((sSS *)_ss_)->ss_family == AF_INET6) ? (sizeof(sSA6)) : \ 0 ) ) ) /* Define the value of IP loopback address */