failover also when not using status server
authorvenaas <venaas>
Tue, 10 Jun 2008 08:51:19 +0000 (08:51 +0000)
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>
Tue, 10 Jun 2008 08:51:19 +0000 (08:51 +0000)
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@287 e88ac4ed-0b26-0410-9574-a7f39faa03bf

radsecproxy.c
radsecproxy.h

index b3ccfd0..6100bb1 100644 (file)
@@ -1930,13 +1930,13 @@ struct clsrvconf *choosesrvconf(struct list *srvconfs) {
            first = server;
        if (!server->servers->connectionok)
            continue;
-       if (!server->servers->loststatsrv)
+       if (!server->servers->lostrqs)
            return server;
        if (!best) {
            best = server;
            continue;
        }
-       if (server->servers->loststatsrv < best->servers->loststatsrv)
+       if (server->servers->lostrqs < best->servers->lostrqs)
            best = server;
     }
     return best ? best : first;
@@ -2095,7 +2095,7 @@ int replyh(struct server *server, unsigned char *buf) {
     char tmp[760], stationid[760];
     
     server->connectionok = 1;
-    server->loststatsrv = 0;
+    server->lostrqs = 0;
        
     i = buf[1]; /* i is the id */
 
@@ -2400,11 +2400,9 @@ void *clientwr(void *arg) {
            if (rq->tries == (*rq->buf == RAD_Status_Server || server->conf->type == 'T'
                              ? 1 : REQUEST_RETRIES)) {
                debug(DBG_DBG, "clientwr: removing expired packet from queue");
-               if (*rq->buf == RAD_Status_Server) {
-                   debug(DBG_WARN, "clientwr: no status server response, %s dead?", conf->host);
-                   if (server->loststatsrv < 255)
-                       server->loststatsrv++;
-               }
+               debug(DBG_WARN, "clientwr: no server response, %s dead?", conf->host);
+               if (server->lostrqs < 255)
+                   server->lostrqs++;
                freerqdata(rq);
                /* setting this to NULL means that it can be reused */
                rq->buf = NULL;
index fb4d30d..bd74f75 100644 (file)
@@ -116,7 +116,7 @@ struct server {
     uint8_t clientrdgone;
     struct timeval lastconnecttry;
     uint8_t connectionok;
-    uint8_t loststatsrv;
+    uint8_t lostrqs;
     char *dynamiclookuparg;
     int nextid;
     struct request *requests;