5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-22 04:50:29 +00:00

Fix getself, gettuntap etc

This commit is contained in:
Neil Alexander 2021-05-16 21:01:59 +01:00
parent 31c1c9b586
commit 058dec0cca
2 changed files with 22 additions and 10 deletions

View File

@ -10,22 +10,28 @@ import (
type GetSelfRequest struct{}
type GetSelfResponse struct {
Self map[string]SelfEntry `json:"self"`
}
type SelfEntry struct {
BuildName string `json:"build_name"`
BuildVersion string `json:"build_version"`
PublicKey string `json:"key"`
Coords []uint64 `json:"coords"`
IPAddress string `json:"address"`
Subnet string `json:"subnet"`
}
func (a *AdminSocket) getSelfHandler(req *GetSelfRequest, res *GetSelfResponse) error {
res.BuildName = version.BuildName()
res.BuildVersion = version.BuildVersion()
res.Self = make(map[string]SelfEntry)
public := a.core.PrivateKey().Public().(ed25519.PublicKey)
res.PublicKey = hex.EncodeToString(public[:])
res.IPAddress = a.core.Address().String()
addr := a.core.Address().String()
snet := a.core.Subnet()
res.Subnet = snet.String()
// TODO: res.coords
res.Self[addr] = SelfEntry{
BuildName: version.BuildName(),
BuildVersion: version.BuildVersion(),
PublicKey: hex.EncodeToString(public[:]),
Subnet: snet.String(),
// TODO: coords
}
return nil
}

View File

@ -7,11 +7,17 @@ import (
)
type GetTUNRequest struct{}
type GetTUNResponse map[string]uint64
type GetTUNResponse map[string]TUNEntry
type TUNEntry struct {
MTU uint64 `json:"mtu"`
}
func (t *TunAdapter) getTUNHandler(req *GetTUNRequest, res *GetTUNResponse) error {
res = &GetTUNResponse{
t.Name(): t.MTU(),
*res = GetTUNResponse{
t.Name(): TUNEntry{
MTU: t.MTU(),
},
}
return nil
}