fix sign problem with reporting of unknown RADIUS VSAs
authorBrendan O'Dea <bod@optus.net>
Wed, 2 Aug 2006 12:54:45 +0000 (12:54 +0000)
committerBrendan O'Dea <bod@optus.net>
Wed, 2 Aug 2006 12:54:45 +0000 (12:54 +0000)
Changes
l2tpns.spec
radius.c

diff --git a/Changes b/Changes
index f125011..2a3167f 100644 (file)
--- a/Changes
+++ b/Changes
@@ -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.
 - Add "Practical VPNs" document from Liran Tal as Docs/vpn .
 - Add Multilink support from Khaled Al Hamwi.
@@ -9,6 +9,7 @@
 - Use result code AVP to set Acct-Terminate-Cause is disconnect cause
   AVP is not present.
 - 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
 - Don't shutdown on TerminateReq, wait for CDN.
index e7fb9fb..6b66952 100644 (file)
@@ -43,5 +43,5 @@ rm -rf %{buildroot}
 %attr(644,root,root) /usr/share/man/man[58]/*
 
 %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
index c804023..d35a3f9 100644 (file)
--- a/radius.c
+++ b/radius.c
@@ -1,6 +1,6 @@
 // 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 <stdio.h>
@@ -786,11 +786,11 @@ void processrad(uint8_t *buf, int len, char socket_index)
                                        else if (*p == 26 && p[1] >= 7)
                                        {
                                                // Vendor-Specific Attribute
-                                               int vendor = ntohl(*(int *)(p + 2));
-                                               char attrib = *(p + 6);
+                                               uint32_t vendor = ntohl(*(int *)(p + 2));
+                                               uint8_t attrib = *(p + 6);
                                                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)
                                                {
                                                        LOG(3, s, session[s].tunnel, "      Unknown vendor-specific\n");