X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/149c87a729099fa8c2c7c75ca3816f9aa7f8760d..1d46a749ef2b64dadf9c34ef4f3757ef64350a24:/radius.c diff --git a/radius.c b/radius.c index a2b2339..6cb9e16 100644 --- a/radius.c +++ b/radius.c @@ -1,6 +1,6 @@ // L2TPNS Radius Stuff -char const *cvs_id_radius = "$Id: radius.c,v 1.45 2005/10/19 03:09:30 bodea Exp $"; +char const *cvs_id_radius = "$Id: radius.c,v 1.47 2005/12/19 06:18:13 bodea Exp $"; #include #include @@ -304,20 +304,30 @@ void radiussend(uint16_t r, uint8_t state) p[1] = 6; *(uint32_t *) (p + 2) = htonl(session[s].cout_wrap); p += p[1]; + } - { - struct param_radius_account acct = { &tunnel[session[s].tunnel], &session[s], &p }; - run_plugins(PLUGIN_RADIUS_ACCOUNT, &acct); - } + { + struct param_radius_account acct = { &tunnel[session[s].tunnel], &session[s], &p }; + run_plugins(PLUGIN_RADIUS_ACCOUNT, &acct); } } } if (s) { - *p = 5; // NAS-Port + *p = 5; // NAS-Port p[1] = 6; *(uint32_t *) (p + 2) = htonl(s); p += p[1]; + + *p = 6; // Service-Type + p[1] = 6; + *(uint32_t *) (p + 2) = htonl(2); // Framed-User + p += p[1]; + + *p = 7; // Framed-Protocol + p[1] = 6; + *(uint32_t *) (p + 2) = htonl(1); // PPP + p += p[1]; } if (s && session[s].ip) {