summaryrefslogtreecommitdiff
path: root/pkg/vpn
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/vpn')
-rw-r--r--pkg/vpn/bonafide/bonafide.go13
-rw-r--r--pkg/vpn/main.go2
2 files changed, 11 insertions, 4 deletions
diff --git a/pkg/vpn/bonafide/bonafide.go b/pkg/vpn/bonafide/bonafide.go
index 907bba5..7bce545 100644
--- a/pkg/vpn/bonafide/bonafide.go
+++ b/pkg/vpn/bonafide/bonafide.go
@@ -247,10 +247,15 @@ func (b *Bonafide) maybeInitializeEIP() error {
b.gateways = newGatewayPool(b.eip)
}
- // FIXME: let's update the menshen gateways every time we 'maybe initilize EIP'
- // in a future we might want to be more clever on when to do that
- // (when opening the locations tab in the UI, only on reconnects, ...)
- b.fetchGatewaysFromMenshen()
+ // XXX For now, we just initialize once per session.
+ // We might update the menshen gateways every time we 'maybe initilize EIP'
+ // We might also want to be more clever on when to do that
+ // (when opening the locations tab in the UI, only on reconnects, ...)
+ // or just periodically - but we need to modify menshen api to
+ // pass a location parameter.
+ if len(b.gateways.recommended) == 0 {
+ b.fetchGatewaysFromMenshen()
+ }
}
return nil
}
diff --git a/pkg/vpn/main.go b/pkg/vpn/main.go
index da6caf1..d780afe 100644
--- a/pkg/vpn/main.go
+++ b/pkg/vpn/main.go
@@ -20,6 +20,7 @@ import (
"io/ioutil"
"log"
"os"
+ "time"
"0xacab.org/leap/bitmask-vpn/pkg/config"
"0xacab.org/leap/bitmask-vpn/pkg/config/version"
@@ -124,6 +125,7 @@ func (b *Bitmask) GetStatusCh() <-chan string {
func (b *Bitmask) Close() {
log.Printf("Close: cleanup and vpn shutdown...")
b.StopVPN()
+ time.Sleep(500 * time.Millisecond)
err := b.launch.close()
if err != nil {
log.Printf("There was an error closing the launcher: %v", err)