From: Alan T. DeKok Date: Wed, 27 Jan 2021 19:34:49 +0000 (-0500) Subject: always use protocol size, even for do_not_respond X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0db0c2d1215b03e317fc094048a42f0c2181a86c;p=thirdparty%2Ffreeradius-server.git always use protocol size, even for do_not_respond we rely on proto_foo encode() to look at request->reply->code, and then do "the right thing" to signal it's own write() layer that we're not replying. --- diff --git a/src/lib/io/worker.c b/src/lib/io/worker.c index 2d65c2293d..a66fbb14c9 100644 --- a/src/lib/io/worker.c +++ b/src/lib/io/worker.c @@ -864,7 +864,7 @@ nak: */ static void worker_run_request(fr_worker_t *worker, fr_time_t start) { - ssize_t size = 0; + ssize_t size; rlm_rcode_t final; request_t *request; fr_time_t now; @@ -911,7 +911,6 @@ redo: /* * Done: don't send a reply. */ - size = 1; break; case RLM_MODULE_FAIL: @@ -919,7 +918,6 @@ redo: /* * Something went wrong. It's done, but we don't send a reply. */ - size = 1; break; case RLM_MODULE_YIELD: @@ -932,9 +930,6 @@ redo: * Don't reply to internally generated request. */ if (request->parent || request->async->fake) break; - - size = request->async->listen->app_io->default_reply_size; - if (!size) size = request->async->listen->app_io->default_message_size; break; } @@ -962,6 +957,9 @@ redo: (void) rbtree_deletebydata(worker->dedup, request); } + size = request->async->listen->app_io->default_reply_size; + if (!size) size = request->async->listen->app_io->default_message_size; + now = fr_time(); worker_send_reply(worker, request, size, now); now = fr_time();