Client retransmits don't get sent to a virtual server.
authorAlan T. DeKok <aland@freeradius.org>
Wed, 23 Apr 2014 12:55:18 +0000 (08:55 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 23 Apr 2014 21:45:03 +0000 (17:45 -0400)
src/main/process.c

index 0a54d46..ac19b5a 100644 (file)
@@ -3101,8 +3101,17 @@ STATE_MACHINE_DECL(proxy_wait_for_reply)
 
        switch (action) {
        case FR_ACTION_DUP:
+               /*
+                *      We have a reply, ignore the retransmit.
+                */
                if (request->proxy_reply) return;
 
+               /*
+                *      The request was proxied to a virtual server.
+                *      Ignore the retransmit.
+                */
+               if (request->home_server->server) return;
+
                if ((home->state == HOME_STATE_IS_DEAD) ||
                    !request->proxy_listener ||
                    (request->proxy_listener->status != RAD_LISTEN_STATUS_KNOWN)) {