From: Alan T. DeKok Date: Wed, 9 Jan 2019 21:47:49 +0000 (-0500) Subject: don't retransmit packet if we're not synchronous X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4cce2cfd0c1bca3eeff1ccb17a448a0684adbc01;p=thirdparty%2Ffreeradius-server.git don't retransmit packet if we're not synchronous --- diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 47e156006f5..584c4329b81 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -2836,18 +2836,20 @@ static rlm_rcode_t mod_push(void *instance, REQUEST *request, void *request_io_c } -static void mod_signal(REQUEST *request, UNUSED void *instance, UNUSED void *thread, void *request_io_ctx, fr_state_signal_t action) +static void mod_signal(REQUEST *request, void *instance, UNUSED void *thread, void *request_io_ctx, fr_state_signal_t action) { + rlm_radius_udp_t *inst = talloc_get_type_abort(instance, rlm_radius_udp_t); fr_io_request_t *u = talloc_get_type_abort(request_io_ctx, fr_io_request_t); struct timeval now; if (action != FR_SIGNAL_DUP) return; /* - * Sychronous mode means that we don't do any - * retransmission, and instead we rely on the - * retransmission from the NAS. + * ASychronous mode means that we do retransmission, and + * we don't rely on the retransmission from the NAS. */ + if (!inst->parent->synchronous) return; + RDEBUG("retransmitting proxied request"); gettimeofday(&now, NULL);