Commit 536fbcd6 authored by Linus Nordberg's avatar Linus Nordberg

Purge the duplication cache once per received packet.

parent 1931a0d5
......@@ -1390,6 +1390,22 @@ struct request *newrequest() {
return rq;
}
static void
purgedupcache(struct client *client) {
struct request *r;
struct timeval now;
int i;
gettimeofday(&now, NULL);
for (i = 0; i < MAX_REQUESTS; i++) {
r = client->rqs[i];
if (r && now.tv_sec - r->created.tv_sec > r->from->conf->dupinterval) {
freerq(r);
client->rqs[i] = NULL;
}
}
}
int addclientrq(struct request *rq) {
struct request *r;
struct timeval now;
......@@ -1453,6 +1469,7 @@ int radsrv(struct request *rq) {
goto exit;
}
purgedupcache(from);
if (!addclientrq(rq))
goto exit;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment