Mercurial > hg > freeDiameter
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;