From: Alan T. DeKok Date: Tue, 10 Oct 2017 19:20:29 +0000 (-0400) Subject: don't update Acct-Delay-Time for status check packets X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=321d837b87f9072345216b70e158def2932af6c2;p=thirdparty%2Ffreeradius-server.git don't update Acct-Delay-Time for status check packets --- diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index bf06bfbfa61..609797844e2 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -922,7 +922,8 @@ static int retransmit_packet(rlm_radius_udp_request_t *u, struct timeval *now) * Note that we don't change the ID. We can claim that * we randomly chose the same one again. :( */ - if (u->code == FR_CODE_ACCOUNTING_REQUEST) { + if ((u->code == FR_CODE_ACCOUNTING_REQUEST) && + (u != c->status_u)) { /* * No Acct-Delay-Time, add one manually if * there's room. @@ -1324,7 +1325,8 @@ static int conn_write(rlm_radius_udp_connection_t *c, rlm_radius_udp_request_t * * If the accounting packet doesn't have Acct-Delay-Time, * then we leave well enough alone. */ - if (u->code == FR_CODE_ACCOUNTING_REQUEST) { + if ((u->code == FR_CODE_ACCOUNTING_REQUEST) && + (u != c->status_u)) { uint8_t *attr, *end; uint32_t delay;