summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/ipv6cp.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2005-01-27 14:09:33 +0000
committerbrian <brian@FreeBSD.org>2005-01-27 14:09:33 +0000
commit20455e62c2eedc112ec8b6f390b89c9f70fb7d5f (patch)
tree2924cd4f31bcfe268b7303efd12bf5a0337e28cb /usr.sbin/ppp/ipv6cp.c
parent80f3d1cb457b8b12ec5b66dc0878a60229d7e187 (diff)
downloadFreeBSD-src-20455e62c2eedc112ec8b6f390b89c9f70fb7d5f.zip
FreeBSD-src-20455e62c2eedc112ec8b6f390b89c9f70fb7d5f.tar.gz
Add a radius_Flush() function that waits for the response (or timeout) to
any pending RADIUS transaction. Use this before sending RAD_STOP RADIUS messages so that we definitely ``stop'' the session. It was discovered that sometimes when the link timed out, we got lucky enough to have an un-ACK'd RADIUS accounting transaction in progress, resulting in the RAD_STOP message failing to send. Original report found on: A russion news group Text translated by: glebius Tested by: Alexey Popov llp at iteranet dot com MFC after: 7 days
Diffstat (limited to 'usr.sbin/ppp/ipv6cp.c')
-rw-r--r--usr.sbin/ppp/ipv6cp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/usr.sbin/ppp/ipv6cp.c b/usr.sbin/ppp/ipv6cp.c
index e7ba5a5..06b003b 100644
--- a/usr.sbin/ppp/ipv6cp.c
+++ b/usr.sbin/ppp/ipv6cp.c
@@ -528,6 +528,7 @@ ipv6cp_LayerDown(struct fsm *fp)
log_Printf(LogIPV6CP, "%s: LayerDown: %s\n", fp->link->name, addr);
#ifndef NORADIUS
+ radius_Flush(&fp->bundle->radius);
radius_Account(&fp->bundle->radius, &fp->bundle->radacct6,
fp->bundle->links, RAD_STOP, &ipv6cp->throughput);
OpenPOWER on IntegriCloud