summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/config/version/checknewer.go2
-rw-r--r--pkg/vpn/bonafide/bonafide.go7
-rw-r--r--pkg/vpn/bonafide/gateways.go8
-rw-r--r--pkg/vpn/openvpn.go2
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")