summaryrefslogtreecommitdiff
path: root/accel-pppd/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/session.c')
-rw-r--r--accel-pppd/session.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/accel-pppd/session.c b/accel-pppd/session.c
index b50686c..8885cb2 100644
--- a/accel-pppd/session.c
+++ b/accel-pppd/session.c
@@ -19,6 +19,7 @@
#include "log.h"
#include "events.h"
#include "ap_session.h"
+#include "ipdb.h"
#include "backup.h"
#include "iputils.h"
#include "spinlock.h"
@@ -159,6 +160,16 @@ void __export ap_session_finished(struct ap_session *ses)
break;
}
+ if (ses->ipv4 && ses->ipv4->owner) {
+ ipdb_put_ipv4(ses, ses->ipv4);
+ ses->ipv4 = NULL;
+ }
+
+ if (ses->ipv6 && ses->ipv6->owner) {
+ ipdb_put_ipv6(ses, ses->ipv6);
+ ses->ipv6 = NULL;
+ }
+
triton_event_fire(EV_SES_FINISHED, ses);
ses->ctrl->finished(ses);