]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
print out when we're cleaning up the packet
authorAlan T. DeKok <aland@freeradius.org>
Wed, 27 Jan 2021 15:30:29 +0000 (10:30 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 27 Jan 2021 15:30:29 +0000 (10:30 -0500)
src/lib/io/master.c
src/lib/io/master.h

index b2fa851e3571b3d6ad7749a656fce1d29921a76b..620c5702b10a8f71a012f47f8cfa4be27b330326 100644 (file)
@@ -1542,7 +1542,7 @@ have_client:
                                fr_network_t *nr;
 
                                if (track->do_not_respond) {
-                                       DEBUG("Ignoring retransmit from client %s - we are not responding to this request ", client->radclient->shortname);
+                                       DEBUG("Ignoring retransmit from client %s - we are not responding to this request", client->radclient->shortname);
                                        return 0;
                                }
 
@@ -2079,13 +2079,17 @@ static void packet_expiry_timer(fr_event_list_t *el, fr_time_t now, void *uctx)
                fr_assert(inst->cleanup_delay > 0);
                fr_assert(track->do_not_respond || track->reply_len);
 
+               track->expires = fr_time() + inst->cleanup_delay;
+
                /*
                 *      if the timer succeeds, then "track"
                 *      will be cleaned up when the timer
                 *      fires.
                 */
-               if (fr_event_timer_in(track, el, &track->ev,
-                                     inst->cleanup_delay, packet_expiry_timer, track) == 0) {
+               if (fr_event_timer_at(track, el, &track->ev,
+                                     track->expires, packet_expiry_timer, track) == 0) {
+                       DEBUG("proto_%s - cleaning up request in %d.%06ds", inst->app_io->name,
+                             (int) (inst->cleanup_delay / NSEC), (int) (inst->cleanup_delay % NSEC));
                        return;
                }
 
index 4b97cd259e6adde7d1531d833e52973fdf0abf10..57d8728cbba790e7c704927faa3f030ebb0509ed 100644 (file)
@@ -41,6 +41,7 @@ typedef struct fr_io_client_s fr_io_client_t;
 typedef struct {
        fr_event_timer_t const          *ev;            //!< when we clean up this tracking entry
        fr_time_t                       timestamp;      //!< when this packet was received
+       fr_time_t                       expires;        //!< when this packet expires
        int                             packets;        //!< number of packets using this entry
        uint8_t                         *reply;         //!< reply packet (if any)
        size_t                          reply_len;      //!< length of reply, or 1 for "do not reply"