X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Ftools_static.c;h=b4245cdab3f669b66fc55d446ebdfbac40df31fa;hb=refs%2Ftags%2F4.2.0;hp=069911dc1a5eabdbba45bcfe58be0475a0b0b34c;hpb=3925774e739509bb51df2c81addb3ab742c1801f;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/tools_static.c b/src/rmr/common/src/tools_static.c index 069911d..b4245cd 100644 --- a/src/rmr/common/src/tools_static.c +++ b/src/rmr/common/src/tools_static.c @@ -150,7 +150,7 @@ static char* uta_h2ip( char const* hname ) { hent = gethostbyname( dname ); if( hent == NULL || hent->h_addr_list == NULL ) { - //fprintf( stderr, "[WARN] h2ip: dns lookup failed for: %s\n", dname ); + //rmr_vlog( RMR_VL_WARN, "h2ip: dns lookup failed for: %s\n", dname ); free( dname ); return NULL; } @@ -314,7 +314,7 @@ if_addrs_t* mk_ip_list( char* port ) { snprintf( wbuf, sizeof( wbuf ), "%s:%s", envp, port ); // smash port onto the addr as is l->addrs[l->naddrs] = strdup( wbuf ); l->naddrs++; - if( DEBUG ) fprintf( stderr, "[INFO] rmr: using only specific bind interface when searching specific RT entries: %s\n", wbuf ); + if( DEBUG ) rmr_vlog( RMR_VL_INFO, "rmr: using only specific bind interface when searching specific RT entries: %s\n", wbuf ); return l; } @@ -327,13 +327,15 @@ if_addrs_t* mk_ip_list( char* port ) { if( ele && strcmp( ele->ifa_name, "lo" ) && // do NOT capture the loopback interface address (target_if == NULL || strcmp( ele->ifa_name, target_if ) == 0 ) ) { // no target, or matches ENV_BIND_IF target - if( ele->ifa_addr->sa_family == AF_INET ) { - getnameinfo( ele->ifa_addr, sizeof( struct sockaddr_in ), octs, NI_MAXHOST, NULL, 0, NI_NUMERICHOST ); - fmt = "%s:%s"; - } else { - if( ele->ifa_addr->sa_family == AF_INET6 ) { - getnameinfo( ele->ifa_addr, sizeof( struct sockaddr_in6 ), octs, NI_MAXHOST, NULL, 0, NI_NUMERICHOST ); - fmt = "[%s]:%s"; + if( ele->ifa_addr != NULL ) { // possible for some interfaces to not have an address + if( ele->ifa_addr->sa_family == AF_INET ) { + getnameinfo( ele->ifa_addr, sizeof( struct sockaddr_in ), octs, NI_MAXHOST, NULL, 0, NI_NUMERICHOST ); + fmt = "%s:%s"; + } else { + if( ele->ifa_addr->sa_family == AF_INET6 ) { + getnameinfo( ele->ifa_addr, sizeof( struct sockaddr_in6 ), octs, NI_MAXHOST, NULL, 0, NI_NUMERICHOST ); + fmt = "[%s]:%s"; + } } } @@ -342,7 +344,7 @@ if_addrs_t* mk_ip_list( char* port ) { *tok = 0; } if( l->naddrs < 128 ) { - if( DEBUG ) fprintf( stderr, "[DBUG] capture address: %s: %s\n", ele->ifa_name, octs ); + if( DEBUG ) rmr_vlog( RMR_VL_DEBUG, "capture address: %s: %s\n", ele->ifa_name, octs ); snprintf( wbuf, sizeof( wbuf ), fmt, octs, port ); // smash port onto the addr l->addrs[l->naddrs] = strdup( wbuf );