]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove unnecessary request->proxy_timestamp
authorAlan T. DeKok <aland@freeradius.org>
Wed, 24 Feb 2016 16:50:38 +0000 (11:50 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 24 Feb 2016 16:50:38 +0000 (11:50 -0500)
it's just request->proxy->timestamp

src/include/radiusd.h
src/main/process.c

index 47edc17e8bfca095bf88c2e22f25d58d3fddfdd5..df9dbc0a3b5a25c15f2c8ab3d43d9c8e9911cf3e 100644 (file)
@@ -274,8 +274,6 @@ struct rad_request {
 #ifdef WITH_PROXY
        bool                    in_proxy_hash;
 
-       struct timeval          proxy_retransmit;
-
        uint32_t                num_proxied_requests;   //!< How many times this request was proxied.
                                                        //!< Retransmissions are driven by requests from the NAS.
        uint32_t                num_proxied_responses;
index 6bb6f9661591e29622b6dda8d6bea17603b00288..cbbfafa8ef3f74e3fba69d3c05deb09de82dd1ce 100644 (file)
@@ -350,7 +350,7 @@ void radius_update_listener(rad_listen_t *this)
 static int request_num_counter = 1;
 #ifdef WITH_PROXY
 static int request_will_proxy(REQUEST *request) CC_HINT(nonnull);
-static int request_proxy(REQUEST *request, int retransmit) CC_HINT(nonnull);
+static int request_proxy(REQUEST *request) CC_HINT(nonnull);
 STATE_MACHINE_DECL(request_ping) CC_HINT(nonnull);
 
 STATE_MACHINE_DECL(request_response_delay) CC_HINT(nonnull);
@@ -1541,7 +1541,7 @@ static void request_running(REQUEST *request, int action)
                         *      up the post proxy fail
                         *      handler.
                         */
-                       if (request_proxy(request, 0) < 0) goto req_finished;
+                       if (request_proxy(request) < 0) goto req_finished;
                } else
 #endif
                {
@@ -3161,7 +3161,7 @@ static int proxy_to_virtual_server(REQUEST *request)
 }
 
 
-static int request_proxy(REQUEST *request, int retransmit)
+static int request_proxy(REQUEST *request)
 {
        char buffer[128];
 
@@ -3227,11 +3227,8 @@ static int request_proxy(REQUEST *request, int retransmit)
 
        }
 
-       gettimeofday(&request->proxy_retransmit, NULL);
-       if (!retransmit) {
-               request->proxy->timestamp = request->proxy_retransmit;
-       }
-       request->home_server->last_packet_sent = request->proxy_retransmit.tv_sec;
+       gettimeofday(&request->proxy->timestamp, NULL);
+       request->home_server->last_packet_sent = request->proxy->timestamp.tv_sec;
 
        /*
         *      Encode the packet before we do anything else.
@@ -3298,7 +3295,8 @@ static int request_proxy_anew(REQUEST *request)
 
 #ifdef WITH_ACCOUNTING
        /*
-        *      Update the Acct-Delay-Time attribute.
+        *      Update the Acct-Delay-Time attribute, since the LAST
+        *      time we tried to retransmit this packet.
         */
        if (request->packet->code == PW_CODE_ACCOUNTING_REQUEST) {
                VALUE_PAIR *vp;
@@ -3311,7 +3309,7 @@ static int request_proxy_anew(REQUEST *request)
                        struct timeval now;
 
                        gettimeofday(&now, NULL);
-                       vp->vp_integer += now.tv_sec - request->proxy_retransmit.tv_sec;
+                       vp->vp_integer += now.tv_sec - request->proxy->timestamp.tv_sec;
                }
        }
 #endif
@@ -3343,7 +3341,7 @@ static int request_proxy_anew(REQUEST *request)
        request->proxy->data = NULL;
        request->proxy->data_len = 0;
 
-       if (request_proxy(request, 1) != 1) goto post_proxy_fail;
+       if (request_proxy(request) != 1) goto post_proxy_fail;
 
        return 1;
 }
@@ -3805,7 +3803,7 @@ static void proxy_wait_for_reply(REQUEST *request, int action)
                 *      More than one retransmit a second is stupid,
                 *      and should be suppressed by the proxy.
                 */
-               when = request->proxy_retransmit;
+               when = request->proxy->timestamp;
                when.tv_sec++;
 
                if (timercmp(&now, &when, <)) {
@@ -3841,7 +3839,7 @@ static void proxy_wait_for_reply(REQUEST *request, int action)
                rad_assert(request->proxy_listener != NULL);
                FR_STATS_TYPE_INC(home->stats.total_requests);
                home->last_packet_sent = now.tv_sec;
-               request->proxy_retransmit = now;
+               request->proxy->timestamp = now;
                debug_packet(request, request->proxy, false);
                request->proxy_listener->send(request->proxy_listener, request);
                break;