]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add "check for radiusv11" flag
authorAlan T. DeKok <aland@freeradius.org>
Fri, 16 Feb 2024 13:42:35 +0000 (08:42 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 16 Feb 2024 13:42:55 +0000 (08:42 -0500)
src/lib/radius.c

index 7ff5bd1406c691b8008fb28b4ddddf4403ad34f4..5dc78c3106ee90d10dc77c7d1f295c0fff4697fb 100644 (file)
@@ -4654,22 +4654,24 @@ int rad_decode(RADIUS_PACKET *packet, RADIUS_PACKET *original,
                ssize_t my_len;
 
 #ifdef WITH_RADIUSV11
-               /*
-                *      Don't decode Message-Authenticator
-                */
-               if (ptr[0] == PW_MESSAGE_AUTHENTICATOR) {
-                       packet_length -= ptr[1];
-                       ptr += ptr[1];
-                       continue;
-               }
+               if (packet->radiusv11) {
+                       /*
+                        *      Don't decode Message-Authenticator
+                        */
+                       if (ptr[0] == PW_MESSAGE_AUTHENTICATOR) {
+                               packet_length -= ptr[1];
+                               ptr += ptr[1];
+                               continue;
+                       }
 
-               /*
-                *      Don't decode Original-Packet-Code
-                */
-               if ((ptr[0] == PW_EXTENDED_ATTRIBUTE_1) && (ptr[1] >= 3) && (ptr[2] == 4)) {
-                       packet_length -= ptr[1];
-                       ptr += ptr[1];
-                       continue;
+                       /*
+                        *      Don't decode Original-Packet-Code
+                        */
+                       if ((ptr[0] == PW_EXTENDED_ATTRIBUTE_1) && (ptr[1] >= 3) && (ptr[2] == 4)) {
+                               packet_length -= ptr[1];
+                               ptr += ptr[1];
+                               continue;
+                       }
                }
 #endif