Changeset 996:cf09fde3d7f5 in freeDiameter for extensions/app_radgw/rgw_worker.c
- Timestamp:
- Mar 20, 2013, 12:13:14 AM (11 years ago)
- Branch:
- default
- Children:
- 997:632913581c37, 998:ad6c1ee04d2d
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/app_radgw/rgw_worker.c
r979 r996 54 54 struct rgw_radius_msg_meta * rad; /* the RADIUS message that was received and translated */ 55 55 struct rgw_client * cli; /* the client it was received from */ 56 struct session * sess; /* the Diameter session created for this message (useful?) */57 56 }; 58 57 … … 76 75 struct rgw_radius_msg_meta * msg; 77 76 struct rgw_client * cli; 78 struct session * session;79 77 struct msg * diam_msg; 80 78 int pb, a; … … 133 131 } ); 134 132 135 session = NULL;136 137 133 /* Pass the message to the list of registered plugins */ 138 CHECK_FCT_DO( rgw_plg_loop_req(&msg, & session, &diam_msg, cli),134 CHECK_FCT_DO( rgw_plg_loop_req(&msg, &diam_msg, cli), 139 135 { 140 136 /* An error occurred, discard message */ … … 142 138 CHECK_FCT_DO( fd_msg_free(diam_msg), ); 143 139 diam_msg = NULL; 144 }145 if (session) {146 CHECK_FCT_DO( fd_sess_destroy(&session), );147 140 } 148 141 rgw_msg_free(&msg); … … 181 174 if (pb) { 182 175 /* Something went wrong during the conversion */ 183 if (session) {184 CHECK_FCT_DO( fd_sess_destroy(&session), );185 }186 187 176 if (diam_msg) { 188 177 CHECK_FCT_DO( fd_msg_free(diam_msg), ); … … 202 191 pa->rad = msg; 203 192 pa->cli = cli; 204 pa->sess= session;205 193 206 194 CHECK_FCT_DO( fd_msg_send( &diam_msg, receive_diam_answer, pa), … … 208 196 /* If an error occurs, log and destroy the data */ 209 197 fd_log_debug("An error occurred while sending Diameter message, please turn Debug on for detail."); 210 if (session) {211 CHECK_FCT_DO( fd_sess_destroy(&session), );212 }213 198 214 199 if (diam_msg) { … … 239 224 struct avp_hdr *ahdr; 240 225 int pb = 0; 241 int keepsession=0;242 226 243 227 TRACE_ENTRY("%p %p", pa, ans); … … 248 232 249 233 /* Pass the Diameter answer to the same extensions as the request */ 250 CHECK_FCT_DO( rgw_plg_loop_ans(pa->rad, pa->sess, ans, &rad_ans, pa->cli, &keepsession), goto out );234 CHECK_FCT_DO( rgw_plg_loop_ans(pa->rad, ans, &rad_ans, pa->cli), goto out ); 251 235 252 236 if (*ans != NULL) { … … 300 284 } 301 285 302 if (!keepsession) {303 /* Destroy remaining session data (stateless gateway) */304 CHECK_FCT_DO( fd_sess_destroy(&pa->sess), );305 }306 307 286 /* Clear the RADIUS request */ 308 287 if (pa->rad) {
Note: See TracChangeset
for help on using the changeset viewer.