From: Alan T. DeKok Date: Sun, 12 Mar 2023 01:32:59 +0000 (-0500) Subject: don't write data on RECV packet or STATE CHANGE X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8414ee2616563faf4ff33015ad80fb308a5dd48;p=thirdparty%2Ffreeradius-server.git don't write data on RECV packet or STATE CHANGE --- diff --git a/src/listen/bfd/proto_bfd.c b/src/listen/bfd/proto_bfd.c index 530e0087e28..4ddc6847754 100644 --- a/src/listen/bfd/proto_bfd.c +++ b/src/listen/bfd/proto_bfd.c @@ -296,12 +296,13 @@ static ssize_t mod_encode(UNUSED void const *instance, request_t *request, uint8 fr_io_track_t *track = talloc_get_type_abort(request->async->packet_ctx, fr_io_track_t); fr_io_address_t const *address = track->address; fr_client_t const *client; + bfd_wrapper_t const *wrapper = (bfd_wrapper_t const *) request->packet->data; /* * Process layer NAK, or "Do not respond". */ - if (buffer_len == 1) { - return 1; + if ((buffer_len == 1) || (wrapper->type == BFD_WRAPPER_RECV_PACKET) || (wrapper->type == BFD_WRAPPER_STATE_CHANGE)) { + return 0; } client = address->radclient;