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 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

View file

@ -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

View file

@ -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)