ソースを参照

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 11 年 前
コミット
6c028d4d9c
1 ファイル変更6 行追加5 行削除
  1. 6 5
      exec/totemconfig.c

+ 6 - 5
exec/totemconfig.c

@@ -1055,21 +1055,22 @@ int totem_config_validate (
 			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) {
 				error_reason = "Multicast address family does not match bind address family";
 				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) {
 				error_reason = "mcastaddr is not a correct multicast address.";
 				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) {