VALUE Packet-Type Authorization-Reply 6
VALUE Packet-Type Accounting-Request 7
VALUE Packet-Type Accounting-Reply 8
-VALUE Packet-Type Do-Not-Respond 9
+VALUE Packet-Type Do-Not-Respond 256
ATTRIBUTE State 65537 octets
value = cf_pair_value(cp);
dv = fr_dict_enum_by_name(attr_packet_type, value, -1);
- if (!dv || (dv->value->vb_uint32 >= FR_TACACS_CODE_MAX)) {
+ if (!dv || FR_TACACS_PACKET_CODE_VALID(dv->value->vb_uint32)) {
cf_log_err(ci, "Unknown TACACS+ packet type '%s'", value);
return -1;
}
*/
if ((buffer_len == 1) ||
(request->reply->code == FR_PACKET_TYPE_VALUE_DO_NOT_RESPOND) ||
- (request->reply->code == 0) || (request->reply->code >= FR_TACACS_CODE_MAX)) {
+ !FR_TACACS_PACKET_CODE_VALID(request->reply->code)) {
track->do_not_respond = true;
return 1;
}
{
proto_tacacs_t const *inst = talloc_get_type_abort_const(instance, proto_tacacs_t);
- fr_assert(buffer[1] != FR_TAC_PLUS_INVALID);
- fr_assert(buffer[1] < FR_TAC_PLUS_MAX);
+ fr_assert(FR_TACACS_PACKET_CODE_VALID(buffer[1]));
/*
* Disallowed packet
FR_TACACS_AUTZ_REPLY = FR_PACKET_TYPE_VALUE_AUTHORIZATION_REPLY,
FR_TACACS_ACCT_REQUEST = FR_PACKET_TYPE_VALUE_ACCOUNTING_REQUEST,
FR_TACACS_ACCT_REPLY = FR_PACKET_TYPE_VALUE_ACCOUNTING_REPLY,
- FR_TACACS_DO_NOT_RESPOND = FR_PACKET_TYPE_VALUE_DO_NOT_RESPOND,
FR_TACACS_CODE_MAX = 9,
+ FR_TACACS_DO_NOT_RESPOND = FR_PACKET_TYPE_VALUE_DO_NOT_RESPOND,
} fr_tacacs_packet_code_t;
#define FR_TACACS_PACKET_CODE_VALID(_code) (((_code) > 0) && ((_code) < FR_TACACS_CODE_MAX))