mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 11:15:07 +03:00 
			
		
		
		
	Implement feature from https://github.com/yggdrasil-network/yggdrasil-go/issues/488
This commit is contained in:
		
							parent
							
								
									ae05683c73
								
							
						
					
					
						commit
						589ad638ea
					
				
					 8 changed files with 47 additions and 33 deletions
				
			
		| 
						 | 
				
			
			@ -18,6 +18,7 @@ import (
 | 
			
		|||
	"github.com/yggdrasil-network/yggdrasil-go/src/config"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/crypto"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/util"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/version"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/yggdrasil"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -86,8 +87,8 @@ func (a *AdminSocket) Init(c *yggdrasil.Core, state *config.NodeState, log *log.
 | 
			
		|||
			"self": Info{
 | 
			
		||||
				ip: Info{
 | 
			
		||||
					"box_pub_key":   c.EncryptionPublicKey(),
 | 
			
		||||
					"build_name":    yggdrasil.BuildName(),
 | 
			
		||||
					"build_version": yggdrasil.BuildVersion(),
 | 
			
		||||
					"build_name":    version.BuildName(),
 | 
			
		||||
					"build_version": version.BuildVersion(),
 | 
			
		||||
					"coords":        fmt.Sprintf("%v", c.Coords()),
 | 
			
		||||
					"subnet":        subnet.String(),
 | 
			
		||||
				},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								src/version/version.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/version/version.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
package version
 | 
			
		||||
 | 
			
		||||
var buildName string
 | 
			
		||||
var buildVersion string
 | 
			
		||||
 | 
			
		||||
// BuildName gets the current build name. This is usually injected if built
 | 
			
		||||
// from git, or returns "unknown" otherwise.
 | 
			
		||||
func BuildName() string {
 | 
			
		||||
	if buildName == "" {
 | 
			
		||||
		return "yggdrasilctl"
 | 
			
		||||
	}
 | 
			
		||||
	return buildName
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BuildVersion gets the current build version. This is usually injected if
 | 
			
		||||
// built from git, or returns "unknown" otherwise.
 | 
			
		||||
func BuildVersion() string {
 | 
			
		||||
	if buildVersion == "" {
 | 
			
		||||
		return "unknown"
 | 
			
		||||
	}
 | 
			
		||||
	return buildVersion
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -241,24 +241,6 @@ func (c *Core) GetSessions() []Session {
 | 
			
		|||
	return sessions
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BuildName gets the current build name. This is usually injected if built
 | 
			
		||||
// from git, or returns "unknown" otherwise.
 | 
			
		||||
func BuildName() string {
 | 
			
		||||
	if buildName == "" {
 | 
			
		||||
		return "yggdrasil"
 | 
			
		||||
	}
 | 
			
		||||
	return buildName
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BuildVersion gets the current build version. This is usually injected if
 | 
			
		||||
// built from git, or returns "unknown" otherwise.
 | 
			
		||||
func BuildVersion() string {
 | 
			
		||||
	if buildVersion == "" {
 | 
			
		||||
		return "unknown"
 | 
			
		||||
	}
 | 
			
		||||
	return buildVersion
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ConnListen returns a listener for Yggdrasil session connections.
 | 
			
		||||
func (c *Core) ConnListen() (*Listener, error) {
 | 
			
		||||
	c.sessions.listenerMutex.Lock()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,11 +10,9 @@ import (
 | 
			
		|||
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/config"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/crypto"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/version"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var buildName string
 | 
			
		||||
var buildVersion string
 | 
			
		||||
 | 
			
		||||
// The Core object represents the Yggdrasil node. You should create a Core
 | 
			
		||||
// object for each Yggdrasil node you plan to run.
 | 
			
		||||
type Core struct {
 | 
			
		||||
| 
						 | 
				
			
			@ -164,10 +162,10 @@ func (c *Core) Start(nc *config.NodeConfig, log *log.Logger) (*config.NodeState,
 | 
			
		|||
		Previous: *nc,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if name := BuildName(); name != "unknown" {
 | 
			
		||||
	if name := version.BuildName(); name != "unknown" {
 | 
			
		||||
		c.log.Infoln("Build name:", name)
 | 
			
		||||
	}
 | 
			
		||||
	if version := BuildVersion(); version != "unknown" {
 | 
			
		||||
	if version := version.BuildVersion(); version != "unknown" {
 | 
			
		||||
		c.log.Infoln("Build version:", version)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@ import (
 | 
			
		|||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/crypto"
 | 
			
		||||
	"github.com/yggdrasil-network/yggdrasil-go/src/version"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type nodeinfo struct {
 | 
			
		||||
| 
						 | 
				
			
			@ -99,8 +100,8 @@ func (m *nodeinfo) setNodeInfo(given interface{}, privacy bool) error {
 | 
			
		|||
	m.myNodeInfoMutex.Lock()
 | 
			
		||||
	defer m.myNodeInfoMutex.Unlock()
 | 
			
		||||
	defaults := map[string]interface{}{
 | 
			
		||||
		"buildname":     BuildName(),
 | 
			
		||||
		"buildversion":  BuildVersion(),
 | 
			
		||||
		"buildname":     version.BuildName(),
 | 
			
		||||
		"buildversion":  version.BuildVersion(),
 | 
			
		||||
		"buildplatform": runtime.GOOS,
 | 
			
		||||
		"buildarch":     runtime.GOARCH,
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue