Quellcode durchsuchen

config: Make sure user doesn't mix IPv6 and IPv4

Checking code was there, sadly not correct, so it was possible to enter
one bindnet addr as IPv4 and second as IPv6. Fix is trivial.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Jan Friesse vor 11 Jahren
Ursprung
Commit
df4d4da6e2
1 geänderte Dateien mit 6 neuen und 5 gelöschten Zeilen
  1. 6 5
      exec/totemconfig.c

+ 6 - 5
exec/totemconfig.c

@@ -507,21 +507,22 @@ int totem_config_validate (
 			goto parse_error;
 			goto parse_error;
 		}
 		}
 
 
-		if (totem_config->broadcast_use == 0 && totem_config->transport_number == 0) {
+		if (totem_config->broadcast_use == 0 && totem_config->transport_number == TOTEM_TRANSPORT_UDP) {
 			if (totem_config->interfaces[i].mcast_addr.family != totem_config->interfaces[i].bindnet.family) {
 			if (totem_config->interfaces[i].mcast_addr.family != totem_config->interfaces[i].bindnet.family) {
 				error_reason = "Multicast address family does not match bind address family";
 				error_reason = "Multicast address family does not match bind address family";
 				goto parse_error;
 				goto parse_error;
 			}
 			}
 
 
-			if (totem_config->interfaces[i].mcast_addr.family != totem_config->interfaces[i].bindnet.family) {
-				error_reason =  "Not all bind address belong to the same IP family";
-				goto parse_error;
-			}
 			if (totemip_is_mcast (&totem_config->interfaces[i].mcast_addr) != 0) {
 			if (totemip_is_mcast (&totem_config->interfaces[i].mcast_addr) != 0) {
 				error_reason = "mcastaddr is not a correct multicast address.";
 				error_reason = "mcastaddr is not a correct multicast address.";
 				goto parse_error;
 				goto parse_error;
 			}
 			}
 		}
 		}
+
+		if (totem_config->interfaces[0].bindnet.family != totem_config->interfaces[i].bindnet.family) {
+			error_reason =  "Not all bind address belong to the same IP family";
+			goto parse_error;
+		}
 	}
 	}
 
 
 	if (totem_config->version != 2) {
 	if (totem_config->version != 2) {