diff options
Diffstat (limited to 'src/Cedar/VLanWin32.c')
-rw-r--r-- | src/Cedar/VLanWin32.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Cedar/VLanWin32.c b/src/Cedar/VLanWin32.c index dae66a99..18ee9bdb 100644 --- a/src/Cedar/VLanWin32.c +++ b/src/Cedar/VLanWin32.c @@ -1148,6 +1148,12 @@ void VLanPaFree(SESSION *s) }
t = v->RouteState;
+
+ if (v->TunnelCrackFw != NULL)
+ {
+ StopTunnelCrackFw(v->TunnelCrackFw);
+ }
+
// End the virtual LAN card
FreeVLan(v);
@@ -1156,6 +1162,7 @@ void VLanPaFree(SESSION *s) {
RouteTrackingStop(s, t);
}
+
s->PacketAdapter->Param = NULL;
}
@@ -1250,6 +1257,18 @@ bool VLanPaInit(SESSION *s) RouteTrackingStart(s);
}
+ if (s->Cedar->Client != NULL && s->Cedar->Client->Config.EnableTunnelCrackProtect)
+ {
+ if (IsZeroIP(&s->ServerIP) == false)
+ {
+ TUNNELCRACK_FW_PARAM p = CLEAN;
+
+ InitTunnelCrackFwParamForVpn(&p, &s->ServerIP);
+
+ v->TunnelCrackFw = StartTunnelCrackFw(&p);
+ }
+ }
+
return true;
}
|