mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
gen new key and re-register on pull
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package functions
|
package functions
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/ed25519"
|
||||||
|
"crypto/rand"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -12,9 +14,11 @@ import (
|
|||||||
"github.com/gravitl/netmaker/logger"
|
"github.com/gravitl/netmaker/logger"
|
||||||
"github.com/gravitl/netmaker/models"
|
"github.com/gravitl/netmaker/models"
|
||||||
"github.com/gravitl/netmaker/netclient/config"
|
"github.com/gravitl/netmaker/netclient/config"
|
||||||
|
"github.com/gravitl/netmaker/netclient/daemon"
|
||||||
"github.com/gravitl/netmaker/netclient/local"
|
"github.com/gravitl/netmaker/netclient/local"
|
||||||
"github.com/gravitl/netmaker/netclient/ncutils"
|
"github.com/gravitl/netmaker/netclient/ncutils"
|
||||||
"github.com/gravitl/netmaker/netclient/wireguard"
|
"github.com/gravitl/netmaker/netclient/wireguard"
|
||||||
|
"github.com/gravitl/netmaker/tls"
|
||||||
//homedir "github.com/mitchellh/go-homedir"
|
//homedir "github.com/mitchellh/go-homedir"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -78,6 +82,18 @@ func Pull(network string, manual bool) (*models.Node, error) {
|
|||||||
if bkupErr != nil {
|
if bkupErr != nil {
|
||||||
logger.Log(0, "unable to update backup file")
|
logger.Log(0, "unable to update backup file")
|
||||||
}
|
}
|
||||||
|
//generate new private key and re-register with server
|
||||||
|
_, newKey, err := ed25519.GenerateKey(rand.Reader)
|
||||||
|
if err != nil {
|
||||||
|
return &resNode, err
|
||||||
|
}
|
||||||
|
if err := tls.SaveKey(ncutils.GetNetclientPath(), "/client.key", newKey); err != nil {
|
||||||
|
return &resNode, err
|
||||||
|
}
|
||||||
|
if err = RegisterWithServer(&newKey, cfg); err != nil {
|
||||||
|
return &resNode, err
|
||||||
|
}
|
||||||
|
daemon.Restart()
|
||||||
|
|
||||||
return &resNode, err
|
return &resNode, err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user