From 293ce7e991843f858eee3855daf89ddfad5b4ff5 Mon Sep 17 00:00:00 2001 From: "Alan T. DeKok" Date: Wed, 16 Aug 2017 10:22:02 +0200 Subject: [PATCH] add code / ID to tracking so that worker.c can just do a hash / memcmp() of two tracking entries --- src/modules/proto_radius/proto_radius_udp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/modules/proto_radius/proto_radius_udp.c b/src/modules/proto_radius/proto_radius_udp.c index 968524373a5..f2f0b70378f 100644 --- a/src/modules/proto_radius/proto_radius_udp.c +++ b/src/modules/proto_radius/proto_radius_udp.c @@ -42,6 +42,9 @@ typedef struct { uint16_t src_port; uint16_t dst_port; + int code; //!< for duplicate detection + int id; //!< for duplicate detection + RADCLIENT *client; } proto_radius_udp_address_t; @@ -239,6 +242,12 @@ static ssize_t mod_read(void const *instance, void **packet_ctx, fr_time_t **rec return 0; } + /* + * Track the packet ID. + */ + address.code = buffer[0]; + address.id = buffer[1]; + tracking_status = fr_radius_tracking_entry_insert(&track, inst->ft, buffer, fr_time(), &address); switch (tracking_status) { case FR_TRACKING_ERROR: -- 2.47.3