Add a Cisco-Avpair with intercept details to RADIUS Start/Stop records
This commit is contained in:
parent
a2056a2184
commit
a24e3186ff
3 changed files with 17 additions and 3 deletions
4
Changes
4
Changes
|
|
@ -1,4 +1,4 @@
|
||||||
* Mon May 2 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
|
* Tue May 3 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
|
||||||
- Add IPv6 support from Jonathan McDowell.
|
- Add IPv6 support from Jonathan McDowell.
|
||||||
- Add CHAP support from Jordan Hrycaj (work in progress).
|
- Add CHAP support from Jordan Hrycaj (work in progress).
|
||||||
- Sanity check that cluster_send_session is not called from a child
|
- Sanity check that cluster_send_session is not called from a child
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
been bytes received from the modem (dead sessions were having the
|
been bytes received from the modem (dead sessions were having the
|
||||||
idle timeout reset by stray packets).
|
idle timeout reset by stray packets).
|
||||||
- Use cli_error() for error messages and help.
|
- Use cli_error() for error messages and help.
|
||||||
|
- Add a Cisco-Avpair with intercept details to RADIUS Start/Stop
|
||||||
|
records.
|
||||||
|
|
||||||
* Fri Dec 17 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.13
|
* Fri Dec 17 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.13
|
||||||
- Better cluster master collision resolution: keep a counter of state
|
- Better cluster master collision resolution: keep a counter of state
|
||||||
|
|
|
||||||
|
|
@ -43,5 +43,5 @@ rm -rf %{buildroot}
|
||||||
%attr(644,root,root) /usr/share/man/man[58]/*
|
%attr(644,root,root) /usr/share/man/man[58]/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon May 2 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
|
* Tue May 3 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
|
||||||
- 2.1.0 release, see /usr/share/doc/l2tpns-2.1.0/Changes
|
- 2.1.0 release, see /usr/share/doc/l2tpns-2.1.0/Changes
|
||||||
|
|
|
||||||
14
radius.c
14
radius.c
|
|
@ -1,6 +1,6 @@
|
||||||
// L2TPNS Radius Stuff
|
// L2TPNS Radius Stuff
|
||||||
|
|
||||||
char const *cvs_id_radius = "$Id: radius.c,v 1.27 2005-04-27 13:53:26 bodea Exp $";
|
char const *cvs_id_radius = "$Id: radius.c,v 1.28 2005-05-03 05:11:34 bodea Exp $";
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -271,6 +271,18 @@ void radiussend(uint16_t r, uint8_t state)
|
||||||
*(uint32_t *) (p + 2) = htonl(time(NULL) - session[s].opened);
|
*(uint32_t *) (p + 2) = htonl(time(NULL) - session[s].opened);
|
||||||
p += p[1];
|
p += p[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (session[s].snoop_ip && session[s].snoop_port)
|
||||||
|
{
|
||||||
|
*p = 26; // vendor-specific
|
||||||
|
*(uint32_t *) (p + 2) = htonl(9); // Cisco
|
||||||
|
p[6] = 1; // Cisco-Avpair
|
||||||
|
p[7] = 2 + sprintf(p + 8, "intercept=%s:%d",
|
||||||
|
fmtaddr(session[s].snoop_ip, 0), session[s].snoop_port);
|
||||||
|
|
||||||
|
p[1] = p[7] + 6;
|
||||||
|
p += p[1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (s)
|
if (s)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue