Improve panic message for empty connection

This commit is contained in:
Quentin McGaw
2021-01-31 18:42:58 +00:00
parent 3c7dc9b9ad
commit 982c50c756
3 changed files with 27 additions and 5 deletions

View File

@@ -5,10 +5,10 @@ import (
)
type OpenVPNConnection struct {
IP net.IP
Port uint16
Protocol NetworkProtocol
Hostname string // Privado for tls verification
IP net.IP `json:"ip"`
Port uint16 `json:"port"`
Protocol NetworkProtocol `json:"protocol"`
Hostname string `json:"hostname"` // Privado for tls verification
}
func (o *OpenVPNConnection) Equal(other OpenVPNConnection) bool {

View File

@@ -13,6 +13,18 @@ type AllServers struct {
Windscribe WindscribeServers `json:"windscribe"`
}
func (a *AllServers) Count() int {
return len(a.Cyberghost.Servers) +
len(a.Mullvad.Servers) +
len(a.Nordvpn.Servers) +
len(a.Pia.Servers) +
len(a.Privado.Servers) +
len(a.Purevpn.Servers) +
len(a.Surfshark.Servers) +
len(a.Vyprvpn.Servers) +
len(a.Windscribe.Servers)
}
type CyberghostServers struct {
Version uint16 `json:"version"`
Timestamp int64 `json:"timestamp"`

View File

@@ -2,6 +2,8 @@ package openvpn
import (
"context"
"encoding/json"
"fmt"
"net"
"net/http"
"strings"
@@ -119,7 +121,15 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup) {
return
}
if connection.IP == nil {
panic("PLEASE CREATE AN ISSUE with this log: https://github.com/qdm12/gluetun/issues")
serverSelectionJSON, _ := json.Marshal(settings.Provider.ServerSelection)
connectionJSON, _ := json.Marshal(connection)
message := fmt.Sprintf(`
PLEASE CREATE AN ISSUE with this log: https://github.com/qdm12/gluetun/issues
Server selection: %s
AllServers count: %d
connection: %s
`, string(serverSelectionJSON), allServers.Count(), string(connectionJSON))
panic(message)
}
lines := providerConf.BuildConf(connection, l.username, settings)