浏览代码

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) {