ensure session changes from LCP ConfigReq/ConfigNak are sent to cluster
[l2tpns.git] / radius.c
index a2b2339..6cb9e16 100644 (file)
--- 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 <time.h>
 #include <stdio.h>
@@ -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)
        {