X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/0ef5685447e222f0dc51ce6905c64af380d662eb..be9795fce9aea325f222f6ae70580f2e1524fc54:/radius.c diff --git a/radius.c b/radius.c index 98941cb..554468e 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) {