Browse Source

Merge pull request #881 from ok-john/dev-ipv6

Add IPv6 addresses to external clients
dcarns 3 years ago
parent
commit
987c42aa99
2 changed files with 10 additions and 2 deletions
  1. 9 2
      logic/extpeers.go
  2. 1 0
      models/extclient.go

+ 9 - 2
logic/extpeers.go

@@ -133,6 +133,14 @@ func CreateExtClient(extclient *models.ExtClient) error {
 		extclient.Address = newAddress
 	}
 
+	if extclient.Address6 == "" {
+		addr6, err := UniqueAddress6(extclient.Network)
+		if err != nil {
+			return err
+		}
+		extclient.Address6 = addr6
+	}
+
 	if extclient.ClientID == "" {
 		extclient.ClientID = models.GenerateNodeName()
 	}
@@ -150,8 +158,7 @@ func CreateExtClient(extclient *models.ExtClient) error {
 	if err = database.Insert(key, string(data), database.EXT_CLIENT_TABLE_NAME); err != nil {
 		return err
 	}
-	err = SetNetworkNodesLastModified(extclient.Network)
-	return err
+	return SetNetworkNodesLastModified(extclient.Network)
 }
 
 // UpdateExtClient - only supports name changes right now

+ 1 - 0
models/extclient.go

@@ -8,6 +8,7 @@ type ExtClient struct {
 	PublicKey              string `json:"publickey" bson:"publickey"`
 	Network                string `json:"network" bson:"network"`
 	Address                string `json:"address" bson:"address"`
+	Address6               string `json:"address6" bson:"address6"`
 	IngressGatewayID       string `json:"ingressgatewayid" bson:"ingressgatewayid"`
 	IngressGatewayEndpoint string `json:"ingressgatewayendpoint" bson:"ingressgatewayendpoint"`
 	LastModified           int64  `json:"lastmodified" bson:"lastmodified"`