From: Nick Porter Date: Fri, 14 Jul 2023 09:11:29 +0000 (+0100) Subject: Extract packet code even if body is not encrypted X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21bddde4cfe338a464de1ad3df92264f4caff5ed;p=thirdparty%2Ffreeradius-server.git Extract packet code even if body is not encrypted --- diff --git a/src/protocols/tacacs/decode.c b/src/protocols/tacacs/decode.c index 9d7cc98021a..649ad2cf754 100644 --- a/src/protocols/tacacs/decode.c +++ b/src/protocols/tacacs/decode.c @@ -553,11 +553,6 @@ ssize_t fr_tacacs_decode(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t co FR_PROTO_HEX_DUMP(decrypted, buffer_len, "fr_tacacs_packet_t (unencrypted)"); - if (code) { - *code = fr_tacacs_packet_to_code((fr_tacacs_packet_t const *) decrypted); - if (*code < 0) goto fail; - } - buffer = decrypted; } @@ -565,6 +560,11 @@ ssize_t fr_tacacs_decode(TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t co if (fr_debug_lvl >= L_DBG_LVL_4) fr_tacacs_packet_log_hex(&default_log, pkt); #endif + if (code) { + *code = fr_tacacs_packet_to_code((fr_tacacs_packet_t const *) buffer); + if (*code < 0) goto fail; + } + switch (pkt->hdr.type) { case FR_TAC_PLUS_AUTHEN: if (packet_is_authen_start_request(pkt)) {