# HG changeset patch # User Sebastien Decugis # Date 1368500660 -28800 # Node ID 79dd22145f52f7ea2aad5d34803cd329728cd255 # Parent 5b4dddbfccb3c8882b42ed7bd3d5534860dd682d Fix a number of compilation warnings diff -r 5b4dddbfccb3 -r 79dd22145f52 CMakeLists.txt --- a/CMakeLists.txt Tue May 14 09:56:36 2013 +0800 +++ b/CMakeLists.txt Tue May 14 11:04:20 2013 +0800 @@ -51,6 +51,9 @@ # Add a "DebianPackage" build type used when creating the Debian packages SET(CMAKE_C_FLAGS_DEBIANPACKAGE "${CMAKE_C_FLAGS_RELWITHDEBINFO}") +# Set the "Debug" flags +SET(CMAKE_C_FLAGS_DEBUG "-Wall -g -O0") + # Add a "DebugValgrind" build type used for checking execution with Valgrind tool SET(CMAKE_C_FLAGS_DEBUGVALGRIND "-Wall -g -O0") diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgw_clients.c --- a/extensions/app_radgw/rgw_clients.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgw_clients.c Tue May 14 11:04:20 2013 +0800 @@ -975,9 +975,8 @@ for (ref = senti->next; ref != senti; ref = ref->next) { char sa_buf[sSA_DUMP_STRLEN]; client = (struct rgw_client *)ref; - /* TODO: use a fct param instead of hardcoded FD_LOG_DEBUG */ - TODO("Replace with appropriate code"); -/* TRACE_sSA(FD_LOG_DEBUG, NONE, " - ", client->sa, NI_NUMERICHOST | NI_NUMERICSERV, (client->type == RGW_CLI_NAS) ? "" : " [PROXY]" ); */ + fd_sa_sdump_numeric(sa_buf, client->sa); + LOG_D(" - %s%s", sa_buf, (client->type == RGW_CLI_NAS) ? "" : " [PROXY]" ); } } diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgwx_acct.c --- a/extensions/app_radgw/rgwx_acct.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgwx_acct.c Tue May 14 11:04:20 2013 +0800 @@ -1219,8 +1219,11 @@ out: if (answer && *answer) { - TRACE_DEBUG(INFO, "Received the following problematic STA message, discarding anyway..."); - fd_msg_dump_walk( INFO, *answer ); + char * buf = NULL; size_t buflen; + CHECK_MALLOC_DO( fd_msg_dump_treeview(&buf, &buflen, NULL, *answer, NULL, 0, 1), ); + TRACE_DEBUG(INFO, "Received the following problematic STA message, discarding anyway: %s", buf ?: ""); + free(buf); + fd_msg_free(*answer); *answer = NULL; } diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgwx_auth.c --- a/extensions/app_radgw/rgwx_auth.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgwx_auth.c Tue May 14 11:04:20 2013 +0800 @@ -125,7 +125,7 @@ }; struct sess_state { - char req_auth[16]; + uint8_t req_auth[16]; }; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgwx_debug.c --- a/extensions/app_radgw/rgwx_debug.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgwx_debug.c Tue May 14 11:04:20 2013 +0800 @@ -94,8 +94,10 @@ if (!diam_fw || ! *diam_fw) { fd_log_debug(" Diameter message: NULL pointer"); } else { - fd_log_debug(" Diameter message (%p) DUMP:", *diam_fw); - fd_msg_dump_walk(0, *diam_fw); + char * buf = NULL; size_t buflen; + CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, *diam_fw, NULL, 0, 1) ); + fd_log_debug(" Diameter message (%p) DUMP: %s", *diam_fw, buf); + free(buf); } fd_log_debug("=========== Debug%s%s%s complete =============", cs ? " [" : "", cs ? (char *)cs : "", cs ? "]" : ""); @@ -113,8 +115,10 @@ if (!diam_ans || ! *diam_ans) { fd_log_debug(" Diameter message: NULL pointer"); } else { - fd_log_debug(" Diameter message (%p) DUMP:", *diam_ans); - fd_msg_dump_walk(0, *diam_ans); + char * buf = NULL; size_t buflen; + CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, *diam_ans, NULL, 0, 1) ); + fd_log_debug(" Diameter message (%p) DUMP: %s", *diam_ans, buf); + free(buf); } if (!rad_fw || ! *rad_fw) { diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgwx_echodrop.c --- a/extensions/app_radgw/rgwx_echodrop.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgwx_echodrop.c Tue May 14 11:04:20 2013 +0800 @@ -61,6 +61,7 @@ CHECK_MALLOC_DO( fd_dump_extend_hexdump(FD_DUMP_STD_PARAMS, (&esa->attr.length) + 1, esa->attr.length - 2, 0,0), return NULL); CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n"), return NULL); } + return *buf; } /* Initialize the plugin and parse the configuration. */ diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_radgw/rgwx_sip.c --- a/extensions/app_radgw/rgwx_sip.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_radgw/rgwx_sip.c Tue May 14 11:04:20 2013 +0800 @@ -722,7 +722,6 @@ struct avp *avp, *next; struct avp_hdr *ahdr; //char buf[254]; /* to store some attributes values (with final '\0') */ - unsigned char * req_sip = NULL; struct session * sess; os0_t sid = NULL; size_t sidlen; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/app_sip/locationinfo.c --- a/extensions/app_sip/locationinfo.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/app_sip/locationinfo.c Tue May 14 11:04:20 2013 +0800 @@ -200,10 +200,6 @@ out: CHECK_FCT( fd_msg_rescode_set( ans, result, NULL, NULL, 1 ) ); - //DEBUG - fd_msg_dump_walk(INFO,qry); - fd_msg_dump_walk(INFO,ans); - CHECK_FCT( fd_msg_send( msg, NULL, NULL )); diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/dbg_interactive/dbg_interactive.i --- a/extensions/dbg_interactive/dbg_interactive.i Tue May 14 09:56:36 2013 +0800 +++ b/extensions/dbg_interactive/dbg_interactive.i Tue May 14 11:04:20 2013 +0800 @@ -151,6 +151,17 @@ %{ /* Forward declaration for the peers module */ static void fd_add_cb(struct peer_info *peer, void *data); + +/* This one gives problems when included from the header file */ +void fd_log_va( int, const char *, va_list); +void fd_log_deprecated( int level, const char *format, ... ) MARK_DEPRECATED +{ + va_list ap; + va_start(ap, format); + fd_log_va(level, format, ap); + va_end(ap); +} + %} /* Overwrite declaration to apply typemaps */ diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/dbg_rt/dbg_rt.c --- a/extensions/dbg_rt/dbg_rt.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/dbg_rt/dbg_rt.c Tue May 14 11:04:20 2013 +0800 @@ -45,12 +45,15 @@ /* Proxying debug callback */ static int dbgrt_fwd_cb(void * cbdata, struct msg ** msg) { + char * buf = NULL; size_t buflen; TRACE_ENTRY("%p %p", cbdata, msg); - fd_log_debug("[dbg_rt] FWD routing message: %p", msg ? *msg : NULL); - if (msg) - fd_msg_dump_walk(INFO, *msg); - + LOG_D("[dbg_rt] FWD routing message: %p", msg ? *msg : NULL); + if (msg) { + CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, *msg, NULL, 0, 1) ); + LOG_D("%s", buf); + } + free(buf); return 0; } @@ -58,16 +61,18 @@ static int dbgrt_out_cb(void * cbdata, struct msg * msg, struct fd_list * candidates) { struct fd_list * li; + char * buf = NULL; size_t buflen; TRACE_ENTRY("%p %p %p", cbdata, msg, candidates); - fd_log_debug("[dbg_rt] OUT routing message: %p", msg); - fd_msg_dump_walk(INFO, msg); - fd_log_debug("[dbg_rt] Current list of candidates (%p): (score - id)", msg); + LOG_D("[dbg_rt] OUT routing message: %p", msg); + CHECK_MALLOC( fd_msg_dump_treeview(&buf, &buflen, NULL, msg, NULL, 0, 1) ); + LOG_D("%s", buf); + LOG_D("[dbg_rt] Current list of candidates (%p): (score - id)", msg); for (li = candidates->next; li != candidates; li = li->next) { struct rtd_candidate *c = (struct rtd_candidate *) li; - fd_log_debug("[dbg_rt] %d -\t%s", c->score, c->diamid); + LOG_D("[dbg_rt] %d -\t%s", c->score, c->diamid); } return 0; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/test_sip/locationinfo.c --- a/extensions/test_sip/locationinfo.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/test_sip/locationinfo.c Tue May 14 11:04:20 2013 +0800 @@ -110,7 +110,6 @@ } - fd_msg_dump_walk(INFO,message); CHECK_FCT( fd_msg_send( &message, NULL, NULL )); return 0; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/test_sip/locationinfosl.c --- a/extensions/test_sip/locationinfosl.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/test_sip/locationinfosl.c Tue May 14 11:04:20 2013 +0800 @@ -112,7 +112,6 @@ } - fd_msg_dump_walk(INFO,message); CHECK_FCT( fd_msg_send( &message, NULL, NULL )); return 0; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/test_sip/serverassignment.c --- a/extensions/test_sip/serverassignment.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/test_sip/serverassignment.c Tue May 14 11:04:20 2013 +0800 @@ -153,7 +153,6 @@ } - fd_msg_dump_walk(INFO,message); CHECK_FCT( fd_msg_send( &message, NULL, NULL )); return 0; diff -r 5b4dddbfccb3 -r 79dd22145f52 extensions/test_sip/userauthorization.c --- a/extensions/test_sip/userauthorization.c Tue May 14 09:56:36 2013 +0800 +++ b/extensions/test_sip/userauthorization.c Tue May 14 11:04:20 2013 +0800 @@ -144,7 +144,6 @@ } - fd_msg_dump_walk(INFO,message); CHECK_FCT( fd_msg_send( &message, NULL, NULL )); return 0; diff -r 5b4dddbfccb3 -r 79dd22145f52 include/freeDiameter/libfdproto.h --- a/include/freeDiameter/libfdproto.h Tue May 14 09:56:36 2013 +0800 +++ b/include/freeDiameter/libfdproto.h Tue May 14 11:04:20 2013 +0800 @@ -146,7 +146,7 @@ */ void fd_log ( int, const char *, ... ) _ATTRIBUTE_PRINTFLIKE_(2,3); #ifndef SWIG -void fd_log_va( int, const char *, va_list args ); +void fd_log_va( int, const char *, va_list); #endif /* SWIG */ /* these are internal objects of the debug facility, @@ -463,13 +463,17 @@ || (fd_debug_one_file && !strcmp(fd_debug_one_file, __STRIPPED_FILE__) ); } +#ifndef SWIG static __inline__ void fd_log_deprecated( int level, const char *format, ... ) MARK_DEPRECATED { va_list ap; va_start(ap, format); fd_log_va(level, format, ap); - va_end(ap); + va_end(ap); } +#else /* SWIG */ +void fd_log_deprecated( int level, const char *format, ... ); +#endif /* SWIG */ static __inline__ void replace_me() MARK_DEPRECATED { } #define TRACE_BUFFER(...) replace_me(); @@ -544,7 +548,7 @@ TRACE_CALL("Check: %s", #__bool__ ); \ if ( ! (__bool__) ) { \ int __ret__ = EINVAL; \ - TRACE_ERROR("ERROR: invalid parameter '%s'", #__bool__ ); \ + TRACE_ERROR("ERROR: Invalid parameter '%s', %d", #__bool__, __ret__ ); \ __fallback__; \ } \ } @@ -1230,7 +1234,7 @@ char * type_name; /* The name of this type */ dict_avpdata_interpret type_interpret;/* cb to convert the AVP value in more comprehensive format (or NULL) */ dict_avpdata_encode type_encode; /* cb to convert formatted data into an AVP value (or NULL) */ - DECLARE_FD_DUMP_PROTOTYPE((*type_dump), union avp_value * val); /* cb called by fd_msg_dump_one for this type of data (if != NULL). Returned string must be freed. */ + DECLARE_FD_DUMP_PROTOTYPE((*type_dump), union avp_value * val); /* cb called by fd_msg_dump_* for this type of data (if != NULL). Returned string must be freed. */ }; /* The criteria for searching a type object in the dictionary */ diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/config.c --- a/libfdcore/config.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/config.c Tue May 14 11:04:20 2013 +0800 @@ -84,7 +84,7 @@ { FD_DUMP_HANDLE_OFFSET(); - CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "freeDiameter configuration:\n", fd_g_config), return NULL); + CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "freeDiameter configuration:\n"), return NULL); CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " Default trace level .... : %+d\n", fd_g_debug_lvl), return NULL); CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " Configuration file ..... : %s\n", fd_g_config->cnf_file), return NULL); CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " Diameter Identity ...... : %s (l:%Zi)\n", fd_g_config->cnf_diamid, fd_g_config->cnf_diamid_len), return NULL); diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/core.c --- a/libfdcore/core.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/core.c Tue May 14 11:04:20 2013 +0800 @@ -319,7 +319,6 @@ /* Wait for the shutdown to be complete -- this must be called after fd_core_shutdown to reclaim some resources. */ int fd_core_wait_shutdown_complete(void) { - int ret; enum core_state cur_state = core_state_get(); void * th_ret = NULL; diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/endpoints.c --- a/libfdcore/endpoints.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/endpoints.c Tue May 14 11:04:20 2013 +0800 @@ -327,5 +327,6 @@ CHECK_MALLOC_DO( fd_ep_dump_one( FD_DUMP_STD_PARAMS, preamble, ep ), return NULL); } } + return *buf; } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/p_ce.c --- a/libfdcore/p_ce.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/p_ce.c Tue May 14 11:04:20 2013 +0800 @@ -274,8 +274,7 @@ if (hdr->avp_flags & AVP_FLAG_VENDOR) { /* Ignore all vendor-specific AVPs in CER/CEA because we don't support any currently */ - TRACE_DEBUG(FULL, "Ignored a vendor AVP in CER / CEA"); - fd_msg_dump_one(FULL, avp); + LOG_A("Ignored a vendor-specific AVP in CER / CEA"); goto next; } @@ -283,8 +282,7 @@ case AC_RESULT_CODE: /* Result-Code */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -296,8 +294,7 @@ case AC_ORIGIN_HOST: /* Origin-Host */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -318,8 +315,7 @@ case AC_ORIGIN_REALM: /* Origin-Realm */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -349,8 +345,7 @@ case AC_HOST_IP_ADDRESS: /* Host-IP-Address */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -375,8 +370,7 @@ case AC_VENDOR_ID: /* Vendor-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -396,8 +390,7 @@ case AC_PRODUCT_NAME: /* Product-Name */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -418,8 +411,7 @@ case AC_ORIGIN_STATE_ID: /* Origin-State-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -439,8 +431,7 @@ case AC_SUPPORTED_VENDOR_ID: /* Supported-Vendor-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -467,15 +458,13 @@ CHECK_FCT( fd_msg_avp_hdr( inavp, &inhdr ) ); if (inhdr->avp_flags & AVP_FLAG_VENDOR) { - TRACE_DEBUG(FULL, "Ignored a vendor AVP inside Vendor-Specific-Application-Id AVP"); - fd_msg_dump_one(FULL, avp); + LOG_A("Ignored a vendor AVP inside Vendor-Specific-Application-Id AVP"); goto innext; } if (inhdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto innext; } @@ -507,8 +496,7 @@ } if (invalid) { - TRACE_DEBUG(FULL, "Invalid Vendor-Specific-Application-Id AVP received, ignored"); - fd_msg_dump_one(FULL, avp); + TRACE_DEBUG(FULL, "Invalid Vendor-Specific-Application-Id AVP received"); error->pei_errcode = "DIAMETER_INVALID_AVP_VALUE"; error->pei_avp = avp; return EINVAL; @@ -532,8 +520,7 @@ case AC_AUTH_APPLICATION_ID: /* Auth-Application-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -548,8 +535,7 @@ case AC_ACCT_APPLICATION_ID: /* Acct-Application-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -565,8 +551,7 @@ case AC_FIRMWARE_REVISION: /* Firmware-Revision */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } @@ -577,8 +562,7 @@ case AC_INBAND_SECURITY_ID: /* Inband-Security-Id */ if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "Ignored an AVP with unset value in CER/CEA"); - fd_msg_dump_one(NONE, avp); + LOG_F("Ignored an AVP (code %x) with unset value in CER/CEA", hdr->avp_code); ASSERT(0); /* To check if this really happens, and understand why... */ goto next; } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/p_dp.c --- a/libfdcore/p_dp.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/p_dp.c Tue May 14 11:04:20 2013 +0800 @@ -75,8 +75,7 @@ CHECK_FCT( fd_msg_avp_hdr( dc, &hdr ) ); if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "BUG: Unset value in Disconnect-Cause in DPR"); - fd_msg_dump_one(NONE, dc); + LOG_F("BUG: Unset value in Disconnect-Cause in DPR"); ASSERT(0); /* To check if this really happens, and understand why... */ } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/p_dw.c --- a/libfdcore/p_dw.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/p_dw.c Tue May 14 11:04:20 2013 +0800 @@ -50,8 +50,7 @@ CHECK_FCT( fd_msg_avp_hdr( osi, &hdr ) ); if (hdr->avp_value == NULL) { /* This is a sanity check */ - TRACE_DEBUG(NONE, "BUG: Unset value in Origin-State-Id in DWR / DWA"); - fd_msg_dump_one(NONE, osi); + LOG_F("Ignored an Origin-State-Id AVP with unset value in DWR/DWA"); ASSERT(0); /* To check if this really happens, and understand why... */ } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/p_out.c --- a/libfdcore/p_out.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/p_out.c Tue May 14 11:04:20 2013 +0800 @@ -131,7 +131,7 @@ { if (msg) { char buf[256]; - snprintf(buf, sizeof(buf), "Error while sending this message: s", strerror(ret)); + snprintf(buf, sizeof(buf), "Error while sending this message: %s", strerror(ret)); fd_hook_call(HOOK_MESSAGE_DROPPED, msg, NULL, buf, fd_msg_pmdl_get(msg)); fd_msg_free(msg); } @@ -185,7 +185,7 @@ { if (msg) { char buf[256]; - snprintf(buf, sizeof(buf), "Error while sending this message: s", strerror(ret)); + snprintf(buf, sizeof(buf), "Error while sending this message: %s", strerror(ret)); fd_hook_call(HOOK_MESSAGE_DROPPED, *msg, NULL, buf, fd_msg_pmdl_get(*msg)); fd_msg_free(*msg); *msg = NULL; diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/p_sr.c --- a/libfdcore/p_sr.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/p_sr.c Tue May 14 11:04:20 2013 +0800 @@ -79,8 +79,6 @@ fd_log_debug(" - Next req (hbh:%x): [since %ld.%06ld sec]", *nexthbh, (long)((now.tv_nsec >= sr->added_on.tv_nsec) ? (now.tv_sec - sr->added_on.tv_sec) : (now.tv_sec - sr->added_on.tv_sec - 1)), (long)((now.tv_nsec >= sr->added_on.tv_nsec) ? ((now.tv_nsec - sr->added_on.tv_nsec) / 1000) : ((now.tv_nsec - sr->added_on.tv_nsec + 1000000000) / 1000))); - - fd_msg_dump_one(ANNOYING + 1, sr->req); } } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdcore/routing_dispatch.c --- a/libfdcore/routing_dispatch.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdcore/routing_dispatch.c Tue May 14 11:04:20 2013 +0800 @@ -428,7 +428,7 @@ static int msg_dispatch(struct msg * msg) { struct msg_hdr * hdr; - int is_req = 0, ret; + int is_req = 0; struct session * sess; enum disp_action action; char * ec = NULL; @@ -1078,10 +1078,7 @@ CHECK_FCT_DO( ret, goto fatal_error ); } - if (TRACE_BOOL(FULL)) { - TRACE_DEBUG(FULL, "Picked next message (%s)", action_name); - fd_msg_dump_one(ANNOYING, msg); - } + LOG_A("%s: Picked next message", action_name); /* Now process the message */ CHECK_FCT_DO( (*action_cb)(msg), goto fatal_error); diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdproto/dictionary.c --- a/libfdproto/dictionary.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdproto/dictionary.c Tue May 14 11:04:20 2013 +0800 @@ -1277,6 +1277,7 @@ CHECK_MALLOC_DO( dump_object (FD_DUMP_STD_PARAMS, _O(li->o), parents, depth, indent ), return NULL); } } + return *buf; } static DECLARE_FD_DUMP_PROTOTYPE(dump_object, struct dict_object * obj, int parents, int depth, int indent ) diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdproto/log.c --- a/libfdproto/log.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdproto/log.c Tue May 14 11:04:20 2013 +0800 @@ -211,9 +211,9 @@ static size_t get_mempagesz(void) { if (!sys_mempagesz) { - sys_mempagesz = sysconf(_SC_PAGESIZE); /* We alloc buffer by memory pages for efficiency */ + sys_mempagesz = sysconf(_SC_PAGESIZE); /* We alloc buffer by memory pages for efficiency. This can be readjusted if too memory consuming */ if (sys_mempagesz <= 0) - sys_mempagesz = 1024; /* default size if above call failed */ + sys_mempagesz = 256; /* default size if above call failed */ } return sys_mempagesz; } diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdproto/messages.c --- a/libfdproto/messages.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdproto/messages.c Tue May 14 11:04:20 2013 +0800 @@ -920,7 +920,7 @@ struct dict_cmd_data dictdata; if (!CHECK_MSG(msg)) { - CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "INVALID MESSAGE", msg), return NULL); + CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "INVALID MESSAGE"), return NULL); return *buf; } @@ -954,9 +954,6 @@ { int success = 0; struct dict_avp_data dictdata; - struct dict_vendor_data vendordata; - struct dict_vendor_data *vendorinfo = NULL; - if (level) { if ((first) && ((*buf)[*offset - 1] == '=')) { @@ -1152,16 +1149,6 @@ return msg_dump_process(FD_DUMP_STD_PARAMS, msg_format_summary, avp_format_summary, obj, dict, force_parsing, recurse); } -#ifndef OLD_CODE_TO_BE_REPLACED -void fd_msg_dump_walk ( int level, msg_or_avp *obj ) -{ - LOG_D("fd_msg_dump_walk %d, %p is deprecated", level, obj); -} -void fd_msg_dump_one ( int level, msg_or_avp * obj ) -{ - LOG_D("fd_msg_dump_one %d, %p is deprecated", level, obj); -} -#endif /***************************************************************************************************************/ /* Simple meta-data management */ @@ -2057,11 +2044,16 @@ if (!avp->avp_model) { if (mandatory && (avp->avp_public.avp_flags & AVP_FLAG_MANDATORY)) { - TRACE_DEBUG(INFO, "Unsupported mandatory AVP found:"); - fd_msg_dump_one(INFO, avp); + TRACE_DEBUG(INFO, "Unsupported mandatory AVP found"); if (error_info) { error_info->pei_errcode = "DIAMETER_AVP_UNSUPPORTED"; error_info->pei_avp = avp; + } else { + char * buf = NULL; + size_t buflen; + CHECK_MALLOC(fd_msg_dump_treeview(&buf, &buflen, NULL, avp, NULL, 0, 0)); + LOG_E("Unsupported AVP: %s", buf); + free(buf); } return ENOTSUP; } @@ -2101,13 +2093,18 @@ /* Check the size is valid */ if ((avp_value_sizes[dictdata.avp_basetype] != 0) && (avp->avp_public.avp_len - GETAVPHDRSZ( avp->avp_public.avp_flags ) != avp_value_sizes[dictdata.avp_basetype])) { - TRACE_DEBUG(INFO, "The AVP size is not suitable for the type:"); - fd_msg_dump_one(INFO, avp); + TRACE_DEBUG(INFO, "The AVP size is not suitable for the type"); if (error_info) { error_info->pei_errcode = "DIAMETER_INVALID_AVP_LENGTH"; error_info->pei_avp = avp; snprintf(error_message, sizeof(error_message), "I expected a size of %d for this AVP according to my dictionary", avp_value_sizes[dictdata.avp_basetype]); error_info->pei_message = error_message; + } else { + char * buf = NULL; + size_t buflen; + CHECK_MALLOC(fd_msg_dump_treeview(&buf, &buflen, NULL, avp, NULL, 0, 0)); + LOG_E("Invalid length AVP: %s", buf); + free(buf); } avp->avp_model = NULL; return EBADMSG; diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdproto/rt_data.c --- a/libfdproto/rt_data.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdproto/rt_data.c Tue May 14 11:04:20 2013 +0800 @@ -251,9 +251,6 @@ /* Only retrieve the number of times this message has been processed by the routing-out mechanism (i.e. number of times it was failed over) */ int fd_rtd_get_nb_attempts(struct rt_data * rtd, int * sendingattemtps) { - struct fd_list * li; - int match = 0; - TRACE_ENTRY("%p %p", rtd, sendingattemtps); CHECK_PARAMS( rtd && sendingattemtps ); diff -r 5b4dddbfccb3 -r 79dd22145f52 libfdproto/utils.c --- a/libfdproto/utils.c Tue May 14 09:56:36 2013 +0800 +++ b/libfdproto/utils.c Tue May 14 11:04:20 2013 +0800 @@ -65,7 +65,7 @@ if (rc) { CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s", gai_strerror(rc)), return NULL); } else { - CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s(s)", &addrbuf[0], &servbuf[0]), return NULL); + CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%s(%s)", &addrbuf[0], &servbuf[0]), return NULL); } } else { CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "(NULL / ANY)"), return NULL); diff -r 5b4dddbfccb3 -r 79dd22145f52 tests/testmesg_stress.c --- a/tests/testmesg_stress.c Tue May 14 09:56:36 2013 +0800 +++ b/tests/testmesg_stress.c Tue May 14 11:04:20 2013 +0800 @@ -52,7 +52,6 @@ int main(int argc, char *argv[]) { struct msg * acr = NULL; - struct avp * pi = NULL, *avp1, *avp2; unsigned char * buf = NULL; test_parameter = DEFAULT_NUMBER_OF_SAMPLES; @@ -216,7 +215,6 @@ struct dict_object * cmd_model = NULL; struct msg * msg = NULL; struct dict_object * avp_model = NULL; - struct avp * avp = NULL; union avp_value value; CHECK( 0, fd_dict_search ( fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Test-Command-Request", &cmd_model, ENOENT ) ); @@ -225,7 +223,6 @@ { struct avp * avpi = NULL; struct avp * avpch = NULL; - struct avp_hdr * avpdata = NULL; struct msg_hdr * msgdata = NULL; #define ADD_AVP( _parent, _position, _avpi, _avpvendor, _avpname) { \ struct dict_object * _avp = NULL; \ @@ -391,9 +388,6 @@ int i; struct timespec start, end; - struct msg * msg; - - /* Create the copies of the message buffer */ stress_array = calloc(test_parameter, sizeof(struct stress_struct)); CHECK( stress_array ? 1 : 0, 1);