]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
oreect Message-Authenticator calculation for CoA packets.
authorAlan T. DeKok <aland@freeradius.org>
Mon, 7 May 2012 16:33:31 +0000 (18:33 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 7 May 2012 16:33:31 +0000 (18:33 +0200)
Patch from Jouni Malinen.

src/lib/radius.c

index 3194854787210802b287db3c2c8cedb41926018a..375bded9a378f9066aa6b569200b7e8e50912aed 100644 (file)
@@ -2095,11 +2095,7 @@ int rad_verify(RADIUS_PACKET *packet, RADIUS_PACKET *original,
 
                        case PW_ACCOUNTING_REQUEST:
                        case PW_DISCONNECT_REQUEST:
-                       case PW_DISCONNECT_ACK:
-                       case PW_DISCONNECT_NAK:
                        case PW_COA_REQUEST:
-                       case PW_COA_ACK:
-                       case PW_COA_NAK:
                                memset(packet->data + 4, 0, AUTH_VECTOR_LEN);
                                break;
 
@@ -2107,6 +2103,10 @@ int rad_verify(RADIUS_PACKET *packet, RADIUS_PACKET *original,
                        case PW_AUTHENTICATION_ACK:
                        case PW_AUTHENTICATION_REJECT:
                        case PW_ACCESS_CHALLENGE:
+                       case PW_DISCONNECT_ACK:
+                       case PW_DISCONNECT_NAK:
+                       case PW_COA_ACK:
+                       case PW_COA_NAK:
                                if (!original) {
                                        fr_strerror_printf("ERROR: Cannot validate Message-Authenticator in response packet without a request packet.");
                                        return -1;