diff --git a/xCAT-server/lib/xcat/plugins/ddns.pm b/xCAT-server/lib/xcat/plugins/ddns.pm index 266d15410..4d14a8f22 100755 --- a/xCAT-server/lib/xcat/plugins/ddns.pm +++ b/xCAT-server/lib/xcat/plugins/ddns.pm @@ -423,6 +423,8 @@ sub process_request { my $names; my @hosts; my %nodehash; + my @eachhost; + my $invalid; foreach (@contents) { chomp; #no newline @@ -440,6 +442,18 @@ sub process_request { next; } + @eachhost = split(/ /,$names); + foreach my $hname (@eachhost) { + unless ($hname !~ /^\.[a-z0-9]+/i) { + xCAT::SvrUtils::sendmsg(":Ignoring line $_ in /etc/hosts, names $names start with . ", $callback); + $invalid = $names; + last; + } + } + if ($invalid) { + next; + } + my ($host, $ip) = xCAT::NetworkUtils->gethostnameandip($addr); push @hosts, $host; $nodehash{$addr}{names} = $names;