moved null client check to after status server
authorvenaas <venaas>
Mon, 14 Apr 2008 10:56:08 +0000 (10:56 +0000)
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>
Mon, 14 Apr 2008 10:56:08 +0000 (10:56 +0000)
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/branches/release-1.1@227 e88ac4ed-0b26-0410-9574-a7f39faa03bf

radsecproxy.c

index 1178273..705b83c 100644 (file)
@@ -1830,7 +1830,6 @@ int replyh(struct server *server, unsigned char *buf) {
     }
 
     rq = server->requests + i;
-    from = rq->from;
        
     pthread_mutex_lock(&server->newrq_mutex);
     if (!rq->buf || !rq->tries) {
@@ -1839,12 +1838,6 @@ int replyh(struct server *server, unsigned char *buf) {
        return 0;
     }
 
-    if (!from) {
-       pthread_mutex_unlock(&server->newrq_mutex);
-       debug(DBG_INFO, "replyh: client gone, ignoring reply");
-       return 0;
-    }
-       
     if (rq->received) {
        pthread_mutex_unlock(&server->newrq_mutex);
        debug(DBG_INFO, "replyh: already received, ignoring reply");
@@ -1892,6 +1885,13 @@ int replyh(struct server *server, unsigned char *buf) {
        return 0;
     }
 
+    from = rq->from;
+    if (!from) {
+       pthread_mutex_unlock(&server->newrq_mutex);
+       debug(DBG_INFO, "replyh: client gone, ignoring reply");
+       return 0;
+    }
+       
     if (server->conf->rewrite) {
        dorewrite(buf, server->conf->rewrite);
        len = RADLEN(buf) - 20;