summaryrefslogtreecommitdiff
path: root/pkg/vpn/openvpn.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/vpn/openvpn.go')
-rw-r--r--pkg/vpn/openvpn.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkg/vpn/openvpn.go b/pkg/vpn/openvpn.go
index a114980..ee0e2f7 100644
--- a/pkg/vpn/openvpn.go
+++ b/pkg/vpn/openvpn.go
@@ -265,7 +265,17 @@ func (b *Bitmask) StopVPN() error {
b.obfsvpnProxy.Stop()
b.obfsvpnProxy = nil
}
- return b.launch.openvpnStop()
+ b.stopFromManagement()
+ b.launch.openvpnStop()
+ return nil
+}
+
+func (b *Bitmask) stopFromManagement() error {
+ if b.managementClient == nil {
+ return fmt.Errorf("No management connected")
+ }
+ b.managementClient.SendSignal("SIGTERM")
+ return nil
}
// Reconnect to the VPN