{
(void) talloc_get_type_abort(ft, fr_tracking_t);
+ /*
+ * Bad packets are "don't reply"
+ */
+ if (reply_len < 20) {
+ entry->reply_len = 1;
+ return 0;
+ }
+
entry->reply = talloc_memdup(ft, reply, reply_len);
entry->reply_len = reply_len;
(void) fr_event_timer_insert(inst->el, mod_cleanup_delay, track, &tv, &track->ev);
}
+
+ /*
+ * @todo - if track->reply_len == 1, then we are
+ * INTENTIONALLY not replying. In that case,
+ * return 0. Otherwise, it's a duplicate packet.
+ * We MAY want to go poke the worker and say it's
+ * a duplicate packet. BUT all of that tracking
+ * is very hard, so we might as well just ignore
+ * it.
+ */
return 0;
/*