diff options
author | venaas <venaas> | 2008-09-18 13:59:03 +0000 |
---|---|---|
committer | venaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf> | 2008-09-18 13:59:03 +0000 |
commit | 671b8f12f456f89f0432d983619d68516b8e0cb1 (patch) | |
tree | 8d99d41bd39c6fb54a82b4e99d2c62719f277ada | |
parent | 902d4f07b42261b23046e2bcd1a142e59abd4515 (diff) |
sending old reply when receiving duplicated message
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@393 e88ac4ed-0b26-0410-9574-a7f39faa03bf
-rw-r--r-- | radsecproxy.c | 15 | ||||
-rw-r--r-- | udp.c | 1 |
2 files changed, 7 insertions, 9 deletions
diff --git a/radsecproxy.c b/radsecproxy.c index 3dc3903..9a35c21 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -1729,15 +1729,12 @@ int addclientrq(struct request *rq) { if (rq->udpport == r->udpport && !memcmp(rq->rqauth, r->rqauth, 16)) { gettimeofday(&now, NULL); if (now.tv_sec - r->created.tv_sec < r->from->conf->dupinterval) { -#if 0 - later - if (r->replybuf) { - debug(DBG_INFO, "radsrv: already sent reply to request with id %d from %s, resending", rq->rqid, addr2string(r->from->addr)); - r->refcount++; - sendreply(r); - } else -#endif - debug(DBG_INFO, "radsrv: already got request with id %d from %s, ignoring", rq->rqid, addr2string(r->from->addr)); + if (r->replybuf) { + debug(DBG_INFO, "addclientrq: already sent reply to request with id %d from %s, resending", rq->rqid, addr2string(r->from->addr)); + r->refcount++; + sendreply(r); + } else + debug(DBG_INFO, "addclientrq: already got request with id %d from %s, ignoring", rq->rqid, addr2string(r->from->addr)); return 0; } } @@ -208,6 +208,7 @@ void *udpserverwr(void *arg) { port_set((struct sockaddr *)&to, reply->udpport); if (sendto(reply->udpsock, reply->replybuf, RADLEN(reply->replybuf), 0, (struct sockaddr *)&to, SOCKADDR_SIZE(to)) < 0) debug(DBG_WARN, "udpserverwr: send failed"); + debug(DBG_DBG, "udpserverwr: refcount %d", reply->refcount); freerq(reply); } } |