Browse Source

fix ipv6 addressing bug

Anish Mukherjee 2 years ago
parent
commit
f42c784e64
1 changed files with 5 additions and 3 deletions
  1. 5 3
      logic/networks.go

+ 5 - 3
logic/networks.go

@@ -267,14 +267,16 @@ func UniqueAddress6(networkName string, reverse bool) (string, error) {
 		return "666", err
 		return "666", err
 	}
 	}
 	net6 := iplib.Net6FromStr(network.AddressRange6)
 	net6 := iplib.Net6FromStr(network.AddressRange6)
-	newAddrs := net6.FirstAddress()
 
 
+	newAddrs, err := net6.NextIP(net6.FirstAddress())
 	if reverse {
 	if reverse {
-		newAddrs = net6.LastAddress()
+		newAddrs, err = net6.PreviousIP(net6.LastAddress())
+	}
+	if err != nil {
+		return "", err
 	}
 	}
 
 
 	for {
 	for {
-
 		if IsIPUnique(networkName, newAddrs.String(), database.NODES_TABLE_NAME, true) &&
 		if IsIPUnique(networkName, newAddrs.String(), database.NODES_TABLE_NAME, true) &&
 			IsIPUnique(networkName, newAddrs.String(), database.EXT_CLIENT_TABLE_NAME, true) {
 			IsIPUnique(networkName, newAddrs.String(), database.EXT_CLIENT_TABLE_NAME, true) {
 			return newAddrs.String(), nil
 			return newAddrs.String(), nil