changeset 535:72c511043f05

A few bug fixes on the RADIUS/Diameter gateway.
author Sebastien Decugis <sdecugis@nict.go.jp>
date Thu, 09 Sep 2010 14:17:54 +0900
parents 6af365b6f955
children f95cfc35d960
files extensions/app_radgw/rgw_worker.c extensions/app_radgw/rgwx_acct.c
diffstat 2 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/app_radgw/rgw_worker.c	Wed Sep 08 15:52:29 2010 +0900
+++ b/extensions/app_radgw/rgw_worker.c	Thu Sep 09 14:17:54 2010 +0900
@@ -284,11 +284,6 @@
 	}
 	
 	
-	if (!keepsession) {
-		/* Destroy remaining session data (stateless gateway) */
-		CHECK_FCT_DO( fd_sess_destroy(&pa->sess),  );
-	}
-	
 	/* Now try and send the RADIUS answer */
 	if (rad_ans) {
 		CHECK_FCT_DO( rgw_client_finish_send(&rad_ans, pa->rad, pa->cli), );	
@@ -301,6 +296,11 @@
 		*ans = NULL;
 	}
 	
+	if (!keepsession) {
+		/* Destroy remaining session data (stateless gateway) */
+		CHECK_FCT_DO( fd_sess_destroy(&pa->sess),  );
+	}
+	
 	/* Clear the RADIUS request */
 	if (pa->rad) {
 		rgw_msg_free(&pa->rad);
--- a/extensions/app_radgw/rgwx_acct.c	Wed Sep 08 15:52:29 2010 +0900
+++ b/extensions/app_radgw/rgwx_acct.c	Thu Sep 09 14:17:54 2010 +0900
@@ -489,7 +489,7 @@
 	if (!*session) {
 		CHECK_FCT( fd_sess_fromsid ( (char *)/* cast should be removed later */si, si_len, session, NULL) );
 		
-		TRACE_DEBUG(FULL, "[auth.rgwx] Translating new accounting message for session '%.*s'...", si_len, si);
+		TRACE_DEBUG(FULL, "[acct.rgwx] Translating new accounting message for session '%.*s'...", si_len, si);
 		
 		/* Add the Session-Id AVP as first AVP */
 		CHECK_FCT( fd_msg_avp_new ( cs->dict.Session_Id, 0, &avp ) );
@@ -1261,25 +1261,25 @@
 			break;
 		
 		default:
-			fd_log_debug("[auth.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, not translating into Accounting-Response\n",
+			fd_log_debug("[acct.rgwx] Received Diameter answer with error code '%d' from server '%.*s', session %.*s, not translating into Accounting-Response\n",
 					ahdr->avp_value->u32, 
 					oh->avp_value->os.len, oh->avp_value->os.data,
 					sid->avp_value->os.len, sid->avp_value->os.data);
 			CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Message, &avp) );
 			if (avp) {
 				CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) );
-				fd_log_debug("[auth.rgwx]   Error-Message content: '%.*s'\n",
+				fd_log_debug("[acct.rgwx]   Error-Message content: '%.*s'\n",
 						ahdr->avp_value->os.len, ahdr->avp_value->os.data);
 			}
 			CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Error_Reporting_Host, &avp) );
 			if (avp) {
 				CHECK_FCT( fd_msg_avp_hdr ( avp, &ahdr ) );
-				fd_log_debug("[auth.rgwx]   Error-Reporting-Host: '%.*s'\n",
+				fd_log_debug("[acct.rgwx]   Error-Reporting-Host: '%.*s'\n",
 						ahdr->avp_value->os.len, ahdr->avp_value->os.data);
 			}
 			CHECK_FCT( fd_msg_search_avp (*diam_ans, cs->dict.Failed_AVP, &avp) );
 			if (avp) {
-				fd_log_debug("[auth.rgwx]   Failed-AVP was included in the message.\n");
+				fd_log_debug("[acct.rgwx]   Failed-AVP was included in the message.\n");
 				/* Dump its content ? */
 			}
 			return -1;
"Welcome to our mercurial repository"