Navigation


Changeset 1543:9222d31123b1 in freeDiameter for libfdcore


Ignore:
Timestamp:
May 25, 2020, 5:32:57 PM (4 years ago)
Author:
Thomas Klausner <tk@giga.or.at>
Branch:
default
Phase:
public
Message:

Use more portable sctp_opt_info() instead of getsockopt() for SCTP.

From Robert Swindells.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/sctp.c

    r1495 r1543  
    8383                        sz = sizeof(rtoinfo);
    8484                        /* Read socket defaults */
    85                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_RTOINFO, &rtoinfo, &sz)  );
     85                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_RTOINFO, &rtoinfo, &sz)  );
    8686                        if (sz != sizeof(rtoinfo))
    8787                        {
     
    103103                if (TRACE_BOOL(ANNOYING)) {
    104104                        /* Check new values */
    105                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_RTOINFO, &rtoinfo, &sz)  );
     105                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_RTOINFO, &rtoinfo, &sz)  );
    106106                        fd_log_debug( "New SCTP_RTOINFO : srto_initial : %u", rtoinfo.srto_initial);
    107107                        fd_log_debug( "                   srto_max     : %u", rtoinfo.srto_max);
     
    122122                        sz = sizeof(assoc);
    123123                        /* Read socket defaults */
    124                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_ASSOCINFO, &assoc, &sz)  );
     124                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_ASSOCINFO, &assoc, &sz)  );
    125125                        if (sz != sizeof(assoc))
    126126                        {
     
    143143                if (TRACE_BOOL(ANNOYING)) {
    144144                        /* Check new values */
    145                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_ASSOCINFO, &assoc, &sz)  );
     145                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_ASSOCINFO, &assoc, &sz)  );
    146146                        fd_log_debug( "New SCTP_ASSOCINFO : sasoc_asocmaxrxt               : %hu", assoc.sasoc_asocmaxrxt);
    147147                        fd_log_debug( "                     sasoc_number_peer_destinations : %hu", assoc.sasoc_number_peer_destinations);
     
    319319
    320320                        /* Read socket defaults */
    321                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, &parms, &sz)  );
     321                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_PEER_ADDR_PARAMS, &parms, &sz)  );
    322322                        if (sz != sizeof(parms))
    323323                        {
     
    348348                if (TRACE_BOOL(ANNOYING)) {
    349349                        /* Check new values */
    350                         CHECK_SYS(  getsockopt(sk, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, &parms, &sz)  );
     350                        CHECK_SYS(  sctp_opt_info(sk, 0, SCTP_PEER_ADDR_PARAMS, &parms, &sz)  );
    351351                        fd_log_debug( "New SCTP_PEER_ADDR_PARAMS : spp_hbinterval    : %u",  parms.spp_hbinterval);
    352352                        fd_log_debug( "                            spp_pathmaxrxt    : %hu", parms.spp_pathmaxrxt);
Note: See TracChangeset for help on using the changeset viewer.