Navigation


Changeset 1085:7d7266115a34 in freeDiameter for libfdcore/peers.c


Ignore:
Timestamp:
May 3, 2013, 8:20:56 PM (11 years ago)
Author:
Sebastien Decugis <sdecugis@freediameter.net>
Branch:
default
Phase:
public
Message:

Cleaning of the traces in progress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/peers.c

    r1078 r1085  
    410410
    411411/* Dump info of one peer */
    412 void fd_peer_dump(struct fd_peer * peer, int details)
    413 {
    414         char buf[1024];
    415         if (peer->p_eyec != EYEC_PEER) {
    416                 fd_log_debug("  Invalid peer @ %p !", peer);
    417                 return;
    418         }
    419 
    420         snprintf(buf, sizeof(buf), ">  %s\t%s\t[%ldsr,%ldpa]", STATE_STR(fd_peer_getstate(peer)), peer->p_hdr.info.pi_diamid, peer->p_sr.cnt, peer->p_reqin_count);
    421         if (details > INFO) {
    422                 snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\t(rlm:%s)", peer->p_hdr.info.runtime.pir_realm ?: "<unknown>");
    423                 if (peer->p_hdr.info.runtime.pir_prodname)
    424                         snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "\t['%s' %u]", peer->p_hdr.info.runtime.pir_prodname, peer->p_hdr.info.runtime.pir_firmrev);
    425         }
    426         fd_log_debug("%s", buf);
    427         if (details > FULL) {
    428                 /* Dump all info */
    429                 fd_log_debug("\tEntry origin : %s", peer->p_dbgorig?: "not set");
    430                 fd_log_debug("\tConfig flags : %s%s%s - %s%s - %s%s",
    431                                 peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_DEFAULT ? "." :
    432                                         (peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_IP ? "IP" : "IPv6"),
    433                                 peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_DEFAULT ? "." :
    434                                         (peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_TCP ? "TCP" : "SCTP"),
    435                                 peer->p_hdr.info.config.pic_flags.alg ? "PrefTCP" : ".",
    436                                 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_NONE ? "NoTLSok" :".",
    437                                 peer->p_hdr.info.config.pic_flags.sec & PI_SEC_TLS_OLD ? "OldTLS" :".",
    438                                 peer->p_hdr.info.config.pic_flags.exp ? "Expire" : ".",
    439                                 peer->p_hdr.info.config.pic_flags.persist ? "Persist" : "."
    440                                 );
    441                 fd_log_debug("\tLifetime : %d sec", peer->p_hdr.info.config.pic_lft);
    442         }
     412DECLARE_FD_DUMP_PROTOTYPE(fd_peer_dump, struct peer_hdr * p, int details)
     413{
     414        size_t o=0;
     415        if (!offset)
     416                offset = &o;
     417       
     418        CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "{peer}(@%p): ", p), return NULL);
     419       
     420        if (!CHECK_PEER(p)) {
     421                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "INVALID/NULL"), return NULL);
     422        } else {
     423                struct fd_peer * peer = (struct fd_peer *)p;
     424               
     425                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s [%s, cnt:%ldsr,%ldpa]", peer->p_hdr.info.pi_diamid, STATE_STR(fd_peer_getstate(peer)), peer->p_sr.cnt, peer->p_reqin_count), return NULL);
     426                if (details > 0) {
     427                        CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " rlm:%s", peer->p_hdr.info.runtime.pir_realm ?: "<unknown>"), return NULL);
     428                        if (peer->p_hdr.info.runtime.pir_prodname) {
     429                                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " ['%s' %u]", peer->p_hdr.info.runtime.pir_prodname, peer->p_hdr.info.runtime.pir_firmrev), return NULL);
     430                        }
     431                }
     432                if (details > 1) {
     433                        CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " [from:%s] flags:%s%s%s%s%s%s%s lft:%ds",
     434                                peer->p_dbgorig ?: "unset",
     435                                peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_DEFAULT ? "-" :
     436                                        (peer->p_hdr.info.config.pic_flags.pro3 == PI_P3_IP ? "4" : "6"),
     437                                peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_DEFAULT ? "-" :
     438                                        (peer->p_hdr.info.config.pic_flags.pro4 == PI_P4_TCP ? "T" : "S"),
     439                                peer->p_hdr.info.config.pic_flags.alg ? "P" : "-",
     440                                peer->p_hdr.info.config.pic_flags.sec & PI_SEC_NONE ? "N" :"-",
     441                                peer->p_hdr.info.config.pic_flags.sec & PI_SEC_TLS_OLD ? "O" :"-",
     442                                peer->p_hdr.info.config.pic_flags.exp ? "E" : "-",
     443                                peer->p_hdr.info.config.pic_flags.persist ? "P" : "-",
     444                                peer->p_hdr.info.config.pic_lft), return NULL);
     445                }
     446       
     447        }
     448       
     449        return *buf;
    443450}
    444451
    445452/* Dump the list of peers */
    446 void fd_peer_dump_list(int details)
     453DECLARE_FD_DUMP_PROTOTYPE(fd_peer_dump_list, int details)
    447454{
    448455        struct fd_list * li;
    449        
    450         fd_log_debug("Dumping list of peers :");
     456        size_t o=0;
     457        if (!offset)
     458                offset = &o;
     459       
    451460        CHECK_FCT_DO( pthread_rwlock_rdlock(&fd_g_peers_rw), /* continue */ );
    452461       
    453462        for (li = fd_g_peers.next; li != &fd_g_peers; li = li->next) {
    454                 struct fd_peer * np = (struct fd_peer *)li->o;
    455                 fd_peer_dump(np, details);
     463                CHECK_MALLOC_DO( fd_peer_dump(FD_DUMP_STD_PARAMS, (struct peer_hdr *)li->o, details), break);
     464                CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n"), break);
    456465        }
    457466       
    458467        CHECK_FCT_DO( pthread_rwlock_unlock(&fd_g_peers_rw), /* continue */ );
     468        return *buf;
    459469}
    460470
Note: See TracChangeset for help on using the changeset viewer.