comparison extensions/app_radgw/rgw_common.h @ 356:e203fc0c95e3

Updated the app_radgw extension to allow more souple management of sessions, and stateful gateway features.
author Sebastien Decugis <sdecugis@nict.go.jp>
date Thu, 01 Jul 2010 15:47:34 +0900
parents 3baabc0da588
children 26aafbbc1640
comparison
equal deleted inserted replaced
355:1ae3f2c28737 356:e203fc0c95e3
69 69
70 /* Cleanup the configuration state when the daemon is exiting (called even if state is NULL). */ 70 /* Cleanup the configuration state when the daemon is exiting (called even if state is NULL). */
71 void (*rgwp_conf_free) (struct rgwp_config * state); 71 void (*rgwp_conf_free) (struct rgwp_config * state);
72 72
73 /* handle an incoming RADIUS message */ 73 /* handle an incoming RADIUS message */
74 int (*rgwp_rad_req) ( struct rgwp_config * conf, struct session * session, struct radius_msg * rad_req, struct radius_msg ** rad_ans, struct msg ** diam_fw, struct rgw_client * cli ); 74 int (*rgwp_rad_req) ( struct rgwp_config * conf, struct session ** session, struct radius_msg * rad_req, struct radius_msg ** rad_ans, struct msg ** diam_fw, struct rgw_client * cli );
75 /* ret 0: continue; 75 /* ret >0: critical error (errno), log and exit.
76 ret 0: continue;
76 ret -1: stop processing this message 77 ret -1: stop processing this message
77 ret -2: reply the content of rad_ans to the RADIUS client immediatly 78 ret -2: reply the content of rad_ans to the RADIUS client immediatly
78 ret >0: critical error (errno), log and exit.
79 */ 79 */
80 80
81 /* handle the corresponding Diameter answer */ 81 /* handle the corresponding Diameter answer */
82 int (*rgwp_diam_ans) ( struct rgwp_config * conf, struct session * session, struct msg ** diam_ans, struct radius_msg ** rad_fw, struct rgw_client * cli ); 82 int (*rgwp_diam_ans) ( struct rgwp_config * conf, struct session * session, struct msg ** diam_ans, struct radius_msg ** rad_fw, struct rgw_client * cli, int * stateful );
83 /* ret 0: continue; ret >0: error; ret: -1 ... (tbd) */ 83 /* ret 0: continue; ret >0: error; ret: -1 ... (tbd) */
84 84 /* if *stateful = 1 on return, the session will not be destroyed after RADIUS answer is sent. The extension must ensure to register a timeout on the session in this case. */
85
85 } rgwp_descriptor; 86 } rgwp_descriptor;
86 87
87 88
88 89
89 /**************************************************************/ 90 /**************************************************************/
"Welcome to our mercurial repository"