changeset 1119:79dd22145f52

Fix a number of compilation warnings
author Sebastien Decugis <sdecugis@freediameter.net>
date Tue, 14 May 2013 11:04:20 +0800
parents 5b4dddbfccb3
children c473581adff2
files CMakeLists.txt extensions/app_radgw/rgw_clients.c extensions/app_radgw/rgwx_acct.c extensions/app_radgw/rgwx_auth.c extensions/app_radgw/rgwx_debug.c extensions/app_radgw/rgwx_echodrop.c extensions/app_radgw/rgwx_sip.c extensions/app_sip/locationinfo.c extensions/dbg_interactive/dbg_interactive.i extensions/dbg_rt/dbg_rt.c extensions/test_sip/locationinfo.c extensions/test_sip/locationinfosl.c extensions/test_sip/serverassignment.c extensions/test_sip/userauthorization.c include/freeDiameter/libfdproto.h libfdcore/config.c libfdcore/core.c libfdcore/endpoints.c libfdcore/p_ce.c libfdcore/p_dp.c libfdcore/p_dw.c libfdcore/p_out.c libfdcore/p_sr.c libfdcore/routing_dispatch.c libfdproto/dictionary.c libfdproto/log.c libfdproto/messages.c libfdproto/rt_data.c libfdproto/utils.c tests/testmesg_stress.c
diffstat 30 files changed, 95 insertions(+), 108 deletions(-) [+]
line wrap: on
line diff
--- 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")
 
--- 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]" );
 	}
 }
 
--- 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 ?: "<error>");
+		free(buf);
+		
 		fd_msg_free(*answer);
 		*answer = NULL;
 	}
--- 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];
 };
 
 
--- 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) {
--- 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. */
--- 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;
--- 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 ));
 	
 	
--- 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 */
--- 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;
--- 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;
--- 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;
--- 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;
--- 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;
--- 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 */
--- 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);
--- 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;
 	
--- 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;
 }
 	
--- 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;
 				}
--- 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... */
 			}
 
--- 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... */
 		}
 
--- 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;
--- 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);
 	}
 }
 
--- 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);
--- 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 )
--- 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;
 }
--- 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;
--- 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 );
 	
--- 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);
--- 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);
"Welcome to our mercurial repository"