Add a Cisco-Avpair with intercept details to RADIUS Start/Stop records

This commit is contained in:
Brendan O'Dea 2005-05-03 05:11:34 +00:00
parent a2056a2184
commit a24e3186ff
3 changed files with 17 additions and 3 deletions

View file

@ -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 CHAP support from Jordan Hrycaj (work in progress).
- 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
idle timeout reset by stray packets).
- 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
- Better cluster master collision resolution: keep a counter of state

View file

@ -43,5 +43,5 @@ rm -rf %{buildroot}
%attr(644,root,root) /usr/share/man/man[58]/*
%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

View file

@ -1,6 +1,6 @@
// 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 <stdio.h>
@ -271,6 +271,18 @@ void radiussend(uint16_t r, uint8_t state)
*(uint32_t *) (p + 2) = htonl(time(NULL) - session[s].opened);
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)