diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/config/version/checknewer.go | 2 | ||||
-rw-r--r-- | pkg/vpn/bonafide/bonafide.go | 7 | ||||
-rw-r--r-- | pkg/vpn/bonafide/gateways.go | 8 | ||||
-rw-r--r-- | pkg/vpn/openvpn.go | 2 |
4 files changed, 13 insertions, 6 deletions
diff --git a/pkg/config/version/checknewer.go b/pkg/config/version/checknewer.go index 83e82a1..78b5b31 100644 --- a/pkg/config/version/checknewer.go +++ b/pkg/config/version/checknewer.go @@ -11,8 +11,6 @@ import ( const verURI = "https://downloads.leap.se/RiseupVPN/" -var VERSION string - // returns true if there's a newer version string published on the server // this needs to manually bump latest version for every platform in the // downloads server. diff --git a/pkg/vpn/bonafide/bonafide.go b/pkg/vpn/bonafide/bonafide.go index 0fa48ed..2b1ff3d 100644 --- a/pkg/vpn/bonafide/bonafide.go +++ b/pkg/vpn/bonafide/bonafide.go @@ -268,6 +268,9 @@ func (b *Bonafide) maybeInitializeEIP() error { b.watchSnowflakeProgress(ch) snowflake.BootstrapWithSnowflakeProxies(p, getAPIAddr(p), ch) } + if b.gateways == nil { + return errors.New("no gateways") + } err := b.parseEipJSONFromFile() if err != nil { return err @@ -281,6 +284,9 @@ func (b *Bonafide) maybeInitializeEIP() error { } b.gateways = newGatewayPool(b.eip) } + if b.gateways == nil { + return errors.New("no gateways") + } // XXX For now, we just initialize once per session. // We might update the menshen gateways every time we 'maybe initilize EIP' @@ -317,6 +323,7 @@ func (b *Bonafide) GetAllGateways(transport string) ([]Gateway, error) { err := b.maybeInitializeEIP() // XXX needs to wait for bonafide too if err != nil { + log.Printf("%v\n", err) return nil, err } gws, err := b.gateways.getAll(transport, b.tzOffsetHours) diff --git a/pkg/vpn/bonafide/gateways.go b/pkg/vpn/bonafide/gateways.go index 4b7e6dd..b8690c6 100644 --- a/pkg/vpn/bonafide/gateways.go +++ b/pkg/vpn/bonafide/gateways.go @@ -317,7 +317,7 @@ func (p *gatewayPool) getAll(transport string, tz int) ([]Gateway, error) { } log.Println("seems to be initialized...") - if len(p.recommended) == 0 { + if len(p.recommended) != 0 { return p.getGatewaysFromMenshen(transport, 999) } return p.getGatewaysByTimezone(transport, tz, 999) @@ -340,6 +340,7 @@ func (p *gatewayPool) getGatewaysFromMenshen(transport string, max int) ([]Gatew /* the old timezone based heuristic, when everything goes wrong */ func (p *gatewayPool) getGatewaysByTimezone(transport string, tzOffsetHours, max int) ([]Gateway, error) { + log.Println("Sorting gateways by timezone") gws := make([]Gateway, 0) gwVector := []gatewayDistance{} @@ -348,9 +349,10 @@ func (p *gatewayPool) getGatewaysByTimezone(transport string, tzOffsetHours, max continue } distance := 13 - gwOffset, err := strconv.Atoi(p.locations[gw.Location].Timezone) + tz := p.locations[gw.Location].Timezone + gwOffset, err := strconv.Atoi(tz) if err != nil { - log.Printf("Error sorting gateways: %v", err) + log.Printf("Error sorting gateways: loc=%s, tz=%s; %v", gw.Location, tz, err) return gws, err } distance = tzDistance(tzOffsetHours, gwOffset) diff --git a/pkg/vpn/openvpn.go b/pkg/vpn/openvpn.go index 29ecac5..18a61b8 100644 --- a/pkg/vpn/openvpn.go +++ b/pkg/vpn/openvpn.go @@ -339,7 +339,7 @@ func (b *Bitmask) getCert() (certPath string, err error) { // Explicit call to GetGateways, to be able to fetch them all before starting the vpn func (b *Bitmask) fetchGateways() { - log.Println("Fetching gateways...") + log.Printf("Fetching gateways (%s)...", b.transport) _, err := b.bonafide.GetAllGateways(b.transport) if err != nil { log.Println("ERROR Cannot fetch gateways") |