From 56ed2bd6290319bc3350da939abd658ebe871492 Mon Sep 17 00:00:00 2001 From: vadym Date: Sun, 11 Dec 2022 14:52:15 +0200 Subject: [PATCH] Refactored code for NetworkDomain, added NetworkDomain.Prefix parameter to Mobile module --- contrib/mobile/mobile.go | 8 ++++++-- src/defaults/defaults.go | 22 ++++++++++++++++++---- src/defaults/defaults_darwin.go | 5 ----- src/defaults/defaults_freebsd.go | 5 ----- src/defaults/defaults_linux.go | 5 ----- src/defaults/defaults_openbsd.go | 5 ----- src/defaults/defaults_other.go | 5 ----- src/defaults/defaults_windows.go | 5 ----- 8 files changed, 24 insertions(+), 36 deletions(-) diff --git a/contrib/mobile/mobile.go b/contrib/mobile/mobile.go index a9f24e83..530deea8 100644 --- a/contrib/mobile/mobile.go +++ b/contrib/mobile/mobile.go @@ -47,13 +47,17 @@ func (m *Mesh) StartJSON(configjson []byte) error { if err := json.Unmarshal(configjson, &m.config); err != nil { return err } - // Setup the Yggdrasil node itself. + // Setup the Mesh node itself. { sk, err := hex.DecodeString(m.config.PrivateKey) if err != nil { panic(err) } - options := []core.SetupOption{} + options := []core.SetupOption{ + core.NodeInfo(m.config.NodeInfo), + core.NodeInfoPrivacy(m.config.NodeInfoPrivacy), + core.NetworkDomain(m.config.NetworkDomain), + } for _, peer := range m.config.Peers { options = append(options, core.Peer{URI: peer}) } diff --git a/src/defaults/defaults.go b/src/defaults/defaults.go index ef358ed8..97482078 100644 --- a/src/defaults/defaults.go +++ b/src/defaults/defaults.go @@ -8,6 +8,12 @@ type NetworkDomainConfig = config.NetworkDomainConfig var defaultConfig = "" // LDFLAGS='-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultConfig=/path/to/config var defaultAdminListen = "" // LDFLAGS='-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultAdminListen=unix://path/to/sock' +type defaultParameters struct { + + //Network domain + DefaultNetworkDomain NetworkDomainConfig +} + // Defines which parameters are expected by default for configuration on a // specific platform. These values are populated in the relevant defaults_*.go // for the platform being targeted. They must be set. @@ -21,15 +27,23 @@ type platformDefaultParameters struct { // Multicast interfaces DefaultMulticastInterfaces []MulticastInterfaceConfig - //Network domain - DefaultNetworkDomain NetworkDomainConfig - // TUN MaximumIfMTU uint64 DefaultIfMTU uint64 DefaultIfName string } +// Defines defaults for the all platforms. +func define() defaultParameters { + return defaultParameters{ + + // Network domain + DefaultNetworkDomain: NetworkDomainConfig{ + Prefix: "fc", + }, + } +} + func GetDefaults() platformDefaultParameters { defaults := getDefaults() if defaultConfig != "" { @@ -56,10 +70,10 @@ func GenerateConfig() *config.NodeConfig { cfg.InterfacePeers = map[string][]string{} cfg.AllowedPublicKeys = []string{} cfg.MulticastInterfaces = defaults.DefaultMulticastInterfaces - cfg.NetworkDomain = defaults.DefaultNetworkDomain cfg.IfName = defaults.DefaultIfName cfg.IfMTU = defaults.DefaultIfMTU cfg.NodeInfoPrivacy = false + cfg.NetworkDomain = define().DefaultNetworkDomain return cfg } diff --git a/src/defaults/defaults_darwin.go b/src/defaults/defaults_darwin.go index 670fca88..9698d2ba 100644 --- a/src/defaults/defaults_darwin.go +++ b/src/defaults/defaults_darwin.go @@ -19,11 +19,6 @@ func getDefaults() platformDefaultParameters { {Regex: "bridge.*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 65535, DefaultIfMTU: 65535, diff --git a/src/defaults/defaults_freebsd.go b/src/defaults/defaults_freebsd.go index 2a50c25c..a0b8658b 100644 --- a/src/defaults/defaults_freebsd.go +++ b/src/defaults/defaults_freebsd.go @@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters { {Regex: ".*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 32767, DefaultIfMTU: 32767, diff --git a/src/defaults/defaults_linux.go b/src/defaults/defaults_linux.go index 2c2690c7..8ade70c1 100644 --- a/src/defaults/defaults_linux.go +++ b/src/defaults/defaults_linux.go @@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters { {Regex: ".*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 65535, DefaultIfMTU: 65535, diff --git a/src/defaults/defaults_openbsd.go b/src/defaults/defaults_openbsd.go index 3772d07b..a07092ad 100644 --- a/src/defaults/defaults_openbsd.go +++ b/src/defaults/defaults_openbsd.go @@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters { {Regex: ".*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 16384, DefaultIfMTU: 16384, diff --git a/src/defaults/defaults_other.go b/src/defaults/defaults_other.go index 21c32160..53b68be4 100644 --- a/src/defaults/defaults_other.go +++ b/src/defaults/defaults_other.go @@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters { {Regex: ".*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 65535, DefaultIfMTU: 65535, diff --git a/src/defaults/defaults_windows.go b/src/defaults/defaults_windows.go index 95a8cc80..b3545969 100644 --- a/src/defaults/defaults_windows.go +++ b/src/defaults/defaults_windows.go @@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters { {Regex: ".*", Beacon: true, Listen: true}, }, - // Network domain - DefaultNetworkDomain: NetworkDomainConfig{ - Prefix: "fc", - }, - // TUN MaximumIfMTU: 65535, DefaultIfMTU: 65535,