def check_nsec_loop
return if (@config.denial.nsec)
system("#{Commands.sort} #{@nsec_temp_file} > #{@nsec_temp_file}.tmp")
system("mv #{@nsec_temp_file}.tmp #{@nsec_temp_file}")
next_name = nil
last_name = nil
last_line = nil
zone_name = @soa.name.to_s.downcase
first_name = nil
IO.foreach(@nsec_temp_file) {|line|
if (next_name)
compare_val = (next_name <=> line.split()[0])
if (compare_val > 0)
log(LOG_ERR, "Can't follow #{line.split()[3]} loop from #{last_name} to #{next_name}")
elsif (compare_val < 0)
log(LOG_ERR, "#{line.split()[3]} record left after folowing closed loop : #{line.split()[0]}. Was expecting #{next_name}")
else
end
else
first_name = line.split()[0]
end
next_name = get_next(line) + ".#{zone_name}."
last_name = line.split()[0]
last_line = line
}
if ((next_name != first_name) && last_line)
log(LOG_ERR, "Can't follow #{last_line.split()[3]} loop from #{last_name} to #{next_name} - found #{first_name}")
end
end