Преглед на файлове

Merge branch 'fix/handle-via-flag-36' into dev

Mustafa Arici преди 8 години
родител
ревизия
9840c92766
променени са 2 файла, в които са добавени 9 реда и са изтрити 10 реда
  1. 3 4
      cmd/ovpm/net.go
  2. 6 6
      net.go

+ 3 - 4
cmd/ovpm/net.go

@@ -49,14 +49,13 @@ var netDefineCommand = cli.Command{
 
 		switch ovpm.NetworkTypeFromString(typ) {
 		case ovpm.ROUTE:
-			if via != "" && !govalidator.IsCIDR(via) {
-				fmt.Printf("validation error: `%s` must be a network in the CIDR form", via)
+			if via != "" && !govalidator.IsIPv4(via) {
+				fmt.Printf("validation error: `%s` must be a network in the IPv4 form", via)
 				fmt.Println()
 				fmt.Println(cli.ShowSubcommandHelp(c))
 				os.Exit(1)
-			} else {
-				via = ""
 			}
+
 		case ovpm.SERVERNET:
 			if via != "" {
 				fmt.Println("--via flag can only be used with --type ROUTE")

+ 6 - 6
net.go

@@ -133,8 +133,8 @@ func CreateNewNetwork(name, cidr string, nettype NetworkType, via string) (*DBNe
 		return nil, fmt.Errorf("validation error: `%s` must be a network in the CIDR form", cidr)
 	}
 
-	if via != "" && !govalidator.IsCIDR(via) {
-		return nil, fmt.Errorf("validation error: `%s` must be a network in the CIDR form", via)
+	if via != "" && !govalidator.IsIPv4(via) {
+		return nil, fmt.Errorf("validation error: `%s` must be a network in the IPv4 form", via)
 	}
 
 	if nettype == UNDEFINEDNET {
@@ -146,13 +146,13 @@ func CreateNewNetwork(name, cidr string, nettype NetworkType, via string) (*DBNe
 		return nil, fmt.Errorf("can not parse CIDR %s: %v", cidr, err)
 	}
 
-	// Overwrite via with the parsed CIDR string.
+	// Overwrite via with the parsed IPv4 string.
 	if nettype == ROUTE && via != "" {
-		_, viaNet, err := net.ParseCIDR(via)
+		viaIP := net.ParseIP(via).To4()
 		if err != nil {
-			return nil, fmt.Errorf("can not parse CIDR %s: %v", via, err)
+			return nil, fmt.Errorf("can not parse IPv4 %s: %v", via, err)
 		}
-		via = viaNet.String()
+		via = viaIP.String()
 
 	} else {
 		via = ""