vmps request: long attribute VQP-Ethernet-Frame

Hermann Lauer Hermann.Lauer at iwr.uni-heidelberg.de
Thu Jan 29 11:16:59 CET 2009


Dear developers,

while trying to use freeradius 2.1.3 for vmps service I run into the rather
hard limit of 253 bytes per attribute. Debugging with the appended patch
to see which attribute is the culprit yields to:

Thu Jan 29 10:37:34 2009 : Debug: Ready to process requests.
Thu Jan 29 10:39:02 2009 : Error: Packet contains attribute 0x0c05 with invalid length 05 81

0x0c05 is VQP-Ethernet-Frame, which can of course be longer than 253 bytes,
so there is a design issue here. One idea would be to cut the attribute to
253 bytes in vqp_recv(). Could this be done there without memory issues ?

Thanks,
  Hermann

-- 
Netzwerkadministration/Zentrale Dienste, Interdiziplinaeres 
Zentrum fuer wissenschaftliches Rechnen der Universitaet Heidelberg
IWR; INF 368; 69120 Heidelberg; Tel: (06221)54-8236 Fax: -5224
Email: Hermann.Lauer at iwr.uni-heidelberg.de
-------------- next part --------------
--- freeradius-server-2.1.3/src/lib/vqp.c.errout	2008-12-09 18:14:09.000000000 +0100
+++ freeradius-server-2.1.3/src/lib/vqp.c	2008-12-09 18:14:12.000000000 +0100
@@ -364,7 +364,7 @@ RADIUS_PACKET *vqp_recv(int sockfd)
 			 *	won't be typing in a 32K vlan name.
 			 */
 			if ((ptr[4] != 0) || (ptr[5] > 253)) {
-				fr_strerror_printf("Packet contains attribute with invalid length %02x %02x", ptr[4], ptr[5]);
+				fr_strerror_printf("Packet contains attribute 0x0c%02x with invalid length %02x %02x", ptr[3], ptr[4], ptr[5]);
 				rad_free(&packet);
 				return NULL;
 			}



More information about the Freeradius-Devel mailing list