]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Pings don't have request->packet, and are never CoA or Disconnect
authorAlan T. DeKok <aland@freeradius.org>
Mon, 29 Aug 2011 14:18:46 +0000 (10:18 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 29 Aug 2011 14:18:46 +0000 (10:18 -0400)
src/main/process.c

index ec78f79e134899423f5c36903ce52f9dadedba5a..261b0928c820e640a1fdaa5e00de6f33c8f02500 100644 (file)
@@ -483,13 +483,15 @@ static void request_done(REQUEST *request, int action)
        if (request->in_proxy_hash) {
                struct timeval when;
                
+               rad_assert(request->proxy != NULL);
+
                fr_event_now(el, &now);
                when = request->proxy->timestamp;
 
 #ifdef WITH_COA
-               if ((request->packet->code != request->proxy->code) &&
-                   ((request->proxy->code == PW_COA_REQUEST) ||
-                    (request->proxy->code == PW_DISCONNECT_REQUEST))) {
+               if (((request->proxy->code == PW_COA_REQUEST) ||
+                    (request->proxy->code == PW_DISCONNECT_REQUEST)) &&
+                   (request->packet->code != request->proxy->code)) {
                        when.tv_sec += request->home_server->coa_mrd;
                } else
 #endif