X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/9cb72e964c19b49fc6b814ccdeb102575adaa711..e9f834555d611df8c2f1bf7d1bef0c4827595617:/throttlectl.c?ds=inline diff --git a/throttlectl.c b/throttlectl.c index 3960f21..2e2c5c7 100644 --- a/throttlectl.c +++ b/throttlectl.c @@ -5,7 +5,7 @@ /* throttle control */ -char const *cvs_id = "$Id: throttlectl.c,v 1.4 2004/12/01 03:37:20 bodea Exp $"; +char const *cvs_id = "$Id: throttlectl.c,v 1.7 2005/06/28 14:48:28 bodea Exp $"; int plugin_api_version = PLUGIN_API_VERSION; static struct pluginfuncs *p = 0; @@ -16,15 +16,6 @@ char *plugin_control_help[] = { 0 }; -int plugin_init(struct pluginfuncs *funcs) -{ - if (!funcs) - return 0; - - p = funcs; - return 1; -} - int plugin_control(struct param_control *data) { sessionidt session; @@ -48,7 +39,7 @@ int plugin_control(struct param_control *data) if (flag) { - if (data->argc < 2 || data->argc > 4) + if (data->argc < 2 || data->argc > 6) { data->response = NSCTL_RES_ERR; data->additional = "requires username or session id and optional rate(s)"; @@ -137,3 +128,14 @@ int plugin_control(struct param_control *data) return PLUGIN_RET_STOP; } + +int plugin_radius_reset(struct param_radius_reset *data) +{ + p->throttle(p->get_id_by_session(data->s), 0, 0); + return PLUGIN_RET_OK; +} + +int plugin_init(struct pluginfuncs *funcs) +{ + return ((p = funcs)) ? 1 : 0; +}