]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
tacacs: let's avoid _magic_ values (#4886)
authorJorge Pereira <jpereira@users.noreply.github.com>
Wed, 8 Feb 2023 15:56:57 +0000 (12:56 -0300)
committerGitHub <noreply@github.com>
Wed, 8 Feb 2023 15:56:57 +0000 (10:56 -0500)
src/protocols/tacacs/decode.c

index 7265b3c5e4df9f83f2daa436bb4b843147af90c2..0b11a7628fc8a7b84bc2a29fce031e956f1e747a 100644 (file)
@@ -375,8 +375,8 @@ ssize_t fr_tacacs_decode(TALLOC_CTX *ctx, fr_pair_list_t *out, uint8_t const *bu
        /*
         *      TACACS major / minor version MUST be 12.0 or 12.1
         */
-       if (!((buffer[0] == 0xc0) || (buffer[0] == 0xc1))) {
-               fr_strerror_printf("Unsupported TACACS+ version %02x", buffer[0]);
+       if (!(pkt->hdr.ver.major == 12 && (pkt->hdr.ver.minor == 0 || pkt->hdr.ver.minor == 1))) {
+               fr_strerror_printf("Unsupported TACACS+ version %d.%d (%02x)", pkt->hdr.ver.major, pkt->hdr.ver.minor, buffer[0]);
                return -1;
        }