projects
/
l2tpns.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fcad08f
)
add Framed-Route entries to RADIUS records
author
bodea
<bodea>
Wed, 19 Oct 2005 03:09:29 +0000
(
03:09
+0000)
committer
bodea
<bodea>
Wed, 19 Oct 2005 03:09:29 +0000
(
03:09
+0000)
Changes
patch
|
blob
|
history
l2tpns.spec
patch
|
blob
|
history
radius.c
patch
|
blob
|
history
diff --git
a/Changes
b/Changes
index
220ba22
..
0a0e445
100644
(file)
--- a/
Changes
+++ b/
Changes
@@
-1,6
+1,7
@@
-*
Tue Oct 18
2005 Brendan O'Dea <bod@optus.net> 2.1.10
+*
Wed Oct 19
2005 Brendan O'Dea <bod@optus.net> 2.1.10
- Add scripts/l2tpns-capture.
- Fix LCP Echo frequency.
- Add scripts/l2tpns-capture.
- Fix LCP Echo frequency.
+- Add Framed-Route entries to RADIUS records.
* Tue Oct 11 2005 Brendan O'Dea <bod@optus.net> 2.1.9
- Fix Calling-Station-Id in RADIUS accounting records (Slobodan Tomic).
* Tue Oct 11 2005 Brendan O'Dea <bod@optus.net> 2.1.9
- Fix Calling-Station-Id in RADIUS accounting records (Slobodan Tomic).
diff --git
a/l2tpns.spec
b/l2tpns.spec
index
de1cc46
..
53cd8c5
100644
(file)
--- a/
l2tpns.spec
+++ b/
l2tpns.spec
@@
-43,5
+43,5
@@
rm -rf %{buildroot}
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
-*
Tue Oct 18
2005 Brendan O'Dea <bod@optus.net> 2.1.10-1
+*
Wed Oct 19
2005 Brendan O'Dea <bod@optus.net> 2.1.10-1
- 2.1.10 release, see /usr/share/doc/l2tpns-2.1.10/Changes
- 2.1.10 release, see /usr/share/doc/l2tpns-2.1.10/Changes
diff --git
a/radius.c
b/radius.c
index
55aa6cb
..
a2b2339
100644
(file)
--- a/
radius.c
+++ b/
radius.c
@@
-1,6
+1,6
@@
// L2TPNS Radius Stuff
// L2TPNS Radius Stuff
-char const *cvs_id_radius = "$Id: radius.c,v 1.4
4 2005/10/11 09:04:53
bodea Exp $";
+char const *cvs_id_radius = "$Id: radius.c,v 1.4
5 2005/10/19 03:09:30
bodea Exp $";
#include <time.h>
#include <stdio.h>
#include <time.h>
#include <stdio.h>
@@
-326,6
+326,30
@@
void radiussend(uint16_t r, uint8_t state)
*(uint32_t *) (p + 2) = htonl(session[s].ip);
p += p[1];
}
*(uint32_t *) (p + 2) = htonl(session[s].ip);
p += p[1];
}
+ if (s && session[s].route[0].ip)
+ {
+ int r;
+ for (r = 0; s && r < MAXROUTE && session[s].route[r].ip; r++)
+ {
+ int width = 32;
+ if (session[s].route[r].mask)
+ {
+ int mask = session[s].route[r].mask;
+ while (!(mask & 1))
+ {
+ width--;
+ mask >>= 1;
+ }
+ }
+
+ *p = 22; // Framed-Route
+ p[1] = sprintf((char *) p + 2, "%s/%d %s 1",
+ fmtaddr(htonl(session[s].route[r].ip), 0),
+ width, fmtaddr(htonl(session[s].ip), 1)) + 2;
+
+ p += p[1];
+ }
+ }
if (*session[s].called)
{
*p = 30; // called
if (*session[s].called)
{
*p = 30; // called