From d4e6561f2d65e2deab3a418f55b4ae4d8b6c8457 Mon Sep 17 00:00:00 2001
From: "kali kaneko (leap communications)" <kali@leap.se>
Date: Thu, 1 Oct 2020 20:45:43 +0200
Subject: [PATCH] [bug] remove apiURL from bonafide

it seems this was an attempt to make this injectable for tests, but it
can work by changing config variables too.
---
 pkg/backend/init.go                           |  1 -
 pkg/bitmask/init.go                           |  7 ++---
 pkg/vpn/bonafide/bonafide.go                  | 26 +++++--------------
 .../bonafide/bonafide_sip_integration_test.go |  8 +++++-
 4 files changed, 18 insertions(+), 24 deletions(-)

diff --git a/pkg/backend/init.go b/pkg/backend/init.go
index f7dd87a2..f76ab49b 100644
--- a/pkg/backend/init.go
+++ b/pkg/backend/init.go
@@ -117,5 +117,4 @@ func initializeAutostart(conf *config.Config) bitmask.Autostart {
 		log.Printf("Error enabling autostart: %v", err)
 	}
 	return autostart
-
 }
diff --git a/pkg/bitmask/init.go b/pkg/bitmask/init.go
index 727d62af..02ee544d 100644
--- a/pkg/bitmask/init.go
+++ b/pkg/bitmask/init.go
@@ -57,6 +57,7 @@ func ConfigureProvider(opts *ProviderOpts) {
 	config.BinaryName = opts.BinaryName
 	config.Auth = opts.Auth
 	config.GeolocationAPI = opts.GeolocationURL
+	config.APIURL = opts.ApiURL
 	config.CaCert = []byte(opts.CaCert)
 }
 
@@ -67,10 +68,10 @@ func InitializeLogger() {
 	}
 }
 
-func initBitmask() (Bitmask, error) {
+func initBitmaskVPN() (Bitmask, error) {
 	b, err := vpn.Init()
 	if err != nil {
-		log.Printf("An error ocurred starting bitmask: %v", err)
+		log.Printf("An error ocurred starting bitmask vpn: %v", err)
 	}
 	return b, err
 }
@@ -83,7 +84,7 @@ func InitializeBitmask(conf *config.Config) (Bitmask, error) {
 		os.MkdirAll(config.Path, os.ModePerm)
 	}
 
-	b, err := initBitmask()
+	b, err := initBitmaskVPN()
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/vpn/bonafide/bonafide.go b/pkg/vpn/bonafide/bonafide.go
index fe22deb2..973416a6 100644
--- a/pkg/vpn/bonafide/bonafide.go
+++ b/pkg/vpn/bonafide/bonafide.go
@@ -48,7 +48,6 @@ type Bonafide struct {
 	tzOffsetHours int
 	auth          authentication
 	token         []byte
-	apiURL        string
 }
 
 type Gateway struct {
@@ -178,24 +177,13 @@ func (b *Bonafide) GetPemCertificate() ([]byte, error) {
 }
 
 func (b *Bonafide) getURL(object string) string {
-	if b.apiURL == "" {
-		switch object {
-		case "cert":
-			return config.APIURL + certPathv1
-		case "certv3":
-			return config.APIURL + certPathv3
-		case "auth":
-			return config.APIURL + authPathv3
-		}
-	} else {
-		switch object {
-		case "cert":
-			return b.apiURL + certPathv1
-		case "certv3":
-			return b.apiURL + certPathv3
-		case "auth":
-			return b.apiURL + authPathv3
-		}
+	switch object {
+	case "cert":
+		return config.APIURL + certPathv1
+	case "certv3":
+		return config.APIURL + certPathv3
+	case "auth":
+		return config.APIURL + authPathv3
 	}
 	log.Println("BUG: unknown url object")
 	return ""
diff --git a/pkg/vpn/bonafide/bonafide_sip_integration_test.go b/pkg/vpn/bonafide/bonafide_sip_integration_test.go
index ee74efe4..3a7fc7f8 100644
--- a/pkg/vpn/bonafide/bonafide_sip_integration_test.go
+++ b/pkg/vpn/bonafide/bonafide_sip_integration_test.go
@@ -20,6 +20,8 @@ import (
 	"bytes"
 	"os"
 	"testing"
+
+	"0xacab.org/leap/bitmask-vpn/pkg/config"
 )
 
 type SIPCreds struct {
@@ -44,12 +46,16 @@ func getSIPCreds() SIPCreds {
 	return creds
 }
 
+func initTestConfigSIP() {
+	config.APIURL = "https://localhost:8000/"
+}
+
 func _TestSIPIntegrationGetCert(t *testing.T) {
 	// FIXME: we need to automatize the webapi start
+	initTestConfigSIP()
 	creds := getSIPCreds()
 
 	b := New()
-	b.apiURL = "http://localhost:8000/"
 	b.auth = &sipAuthentication{b.client, b.getURL("auth")}
 	ok, err := b.DoLogin(creds.userOk, creds.passOk)
 	if err != nil {
-- 
GitLab