fix sign problem with reporting of unknown RADIUS VSAs

This commit is contained in:
Brendan O'Dea 2006-08-02 12:54:45 +00:00
parent 082e3baf90
commit 9448b44db3
3 changed files with 7 additions and 6 deletions

View file

@ -1,4 +1,4 @@
* Sat Jul 1 2006 Brendan O'Dea <bod@optus.net> 2.2.0 * Wed Aug 2 2006 Brendan O'Dea <bod@optus.net> 2.2.0
- Only poll clifd if successfully bound. - Only poll clifd if successfully bound.
- Add "Practical VPNs" document from Liran Tal as Docs/vpn . - Add "Practical VPNs" document from Liran Tal as Docs/vpn .
- Add Multilink support from Khaled Al Hamwi. - Add Multilink support from Khaled Al Hamwi.
@ -9,6 +9,7 @@
- Use result code AVP to set Acct-Terminate-Cause is disconnect cause - Use result code AVP to set Acct-Terminate-Cause is disconnect cause
AVP is not present. AVP is not present.
- Add radius_bind_{min,max} to simplify firewalling of RADIUS ports. - Add radius_bind_{min,max} to simplify firewalling of RADIUS ports.
- Fix sign problem with reporting of unknown RADIUS VSAs.
* Tue Apr 18 2006 Brendan O'Dea <bod@optus.net> 2.1.18 * Tue Apr 18 2006 Brendan O'Dea <bod@optus.net> 2.1.18
- Don't shutdown on TerminateReq, wait for CDN. - Don't shutdown on TerminateReq, wait for CDN.

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
* Sat Jul 1 2006 Brendan O'Dea <bod@optus.net> 2.2.0-1 * Wed Aug 2 2006 Brendan O'Dea <bod@optus.net> 2.2.0-1
- 2.2.0 release, see /usr/share/doc/l2tpns-2.2.0/Changes - 2.2.0 release, see /usr/share/doc/l2tpns-2.2.0/Changes

View file

@ -1,6 +1,6 @@
// L2TPNS Radius Stuff // L2TPNS Radius Stuff
char const *cvs_id_radius = "$Id: radius.c,v 1.52 2006-07-01 12:40:17 bodea Exp $"; char const *cvs_id_radius = "$Id: radius.c,v 1.53 2006-08-02 12:54:45 bodea Exp $";
#include <time.h> #include <time.h>
#include <stdio.h> #include <stdio.h>
@ -786,11 +786,11 @@ void processrad(uint8_t *buf, int len, char socket_index)
else if (*p == 26 && p[1] >= 7) else if (*p == 26 && p[1] >= 7)
{ {
// Vendor-Specific Attribute // Vendor-Specific Attribute
int vendor = ntohl(*(int *)(p + 2)); uint32_t vendor = ntohl(*(int *)(p + 2));
char attrib = *(p + 6); uint8_t attrib = *(p + 6);
int attrib_length = *(p + 7) - 2; int attrib_length = *(p + 7) - 2;
LOG(3, s, session[s].tunnel, " Radius reply contains Vendor-Specific. Vendor=%d Attrib=%d Length=%d\n", vendor, attrib, attrib_length); LOG(3, s, session[s].tunnel, " Radius reply contains Vendor-Specific. Vendor=%u Attrib=%u Length=%d\n", vendor, attrib, attrib_length);
if (vendor != 9 || attrib != 1) if (vendor != 9 || attrib != 1)
{ {
LOG(3, s, session[s].tunnel, " Unknown vendor-specific\n"); LOG(3, s, session[s].tunnel, " Unknown vendor-specific\n");