add service-type/framed-protocol to RADIUS records
authorBrendan O'Dea <bod@optus.net>
Mon, 19 Dec 2005 06:18:13 +0000 (06:18 +0000)
committerBrendan O'Dea <bod@optus.net>
Mon, 19 Dec 2005 06:18:13 +0000 (06:18 +0000)
Changes
THANKS
radius.c

diff --git a/Changes b/Changes
index 9bdeb70..41d7d35 100644 (file)
--- a/Changes
+++ b/Changes
@@ -4,6 +4,7 @@
 - Break LCP configure loop with shutdown.
 - Limit value of MRU of 1492 (rfc2516).
 - Tun MTU should be MRU (not MRU+4).
+- Add Service-Type/Framed-Protocol to RADIUS records (Paul Martin).
 
 * Fri Dec 9 2005 Brendan O'Dea <bod@optus.net> 2.1.14
 - Run PLUGIN_RADIUS_ACCOUNT for Start records.
diff --git a/THANKS b/THANKS
index 23921d3..73c5086 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -23,3 +23,4 @@ Slobodan Tomic             <stomic@loznica.com>
 Michael Chapman            <mike.chapman@optus.net>
 Charlie Brady              <charlieb@e-smith.com>
 Jon Morby                  <jon@fido.net>
+Paul Martin                <pm@zetnet.net>
index c952d64..554468e 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.46 2005-12-09 00:43:17 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>
@@ -314,10 +314,20 @@ void radiussend(uint16_t r, uint8_t state)
        }
        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)
        {