Navigation


Changeset 1122:d4371b7aa0ff in freeDiameter for libfdproto/utils.c


Ignore:
Timestamp:
May 14, 2013, 7:01:31 PM (11 years ago)
Author:
Sebastien Decugis <sdecugis@freediameter.net>
Branch:
default
Phase:
public
Message:

New CMake option: ADDRESS_AVP_INCLUDE_PORT. Turn off for standard Host-IP-Address AVPs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdproto/utils.c

    r1119 r1122  
    3636#include "fdproto-internal.h"
    3737
    38 DECLARE_FD_DUMP_PROTOTYPE(fd_sa_dump_node, sSA * sa, int flags)
     38DECLARE_FD_DUMP_PROTOTYPE(fd_sa_dump, sSA * sa, int flags)
    3939{
    4040        char addrbuf[INET6_ADDRSTRLEN];
     41        char servbuf[32];
     42        int rc;
    4143        FD_DUMP_HANDLE_OFFSET();
    4244       
     45        servbuf[0] = 0;
     46       
    4347        if (sa) {
    44                 int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), NULL, 0, flags);
     48                if (sSAport(sa)) {
     49                        rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), flags);
     50                } else {
     51                        rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), NULL, 0, flags);
     52                }
    4553                if (rc) {
    4654                        CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL);
    4755                } else {
    48                         CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", &addrbuf[0]), return NULL);
    49                 }
    50         } else {
    51                 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL);
    52         }
    53        
    54         return *buf;
    55 }
    56 
    57 DECLARE_FD_DUMP_PROTOTYPE(fd_sa_dump_node_serv, sSA * sa, int flags)
    58 {
    59         char addrbuf[INET6_ADDRSTRLEN];
    60         char servbuf[32];
    61         FD_DUMP_HANDLE_OFFSET();
    62        
    63         if (sa) {
    64                 int rc = getnameinfo(sa, sSAlen( sa ), addrbuf, sizeof(addrbuf), servbuf, sizeof(servbuf), flags);
    65                 if (rc) {
    66                         CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL);
    67                 } else {
    68                         CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s(%s)", &addrbuf[0], &servbuf[0]), return NULL);
     56                        if (servbuf[0]) {
     57                                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s(%s)", &addrbuf[0], &servbuf[0]), return NULL);
     58                        } else {
     59                                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", &addrbuf[0]), return NULL);
     60                        }
    6961                }
    7062        } else {
Note: See TracChangeset for help on using the changeset viewer.