def get_soa_from_file(file)
file = (file.to_s+"").untaint
pp = Dnsruby::ZoneReader.new(@config.name, @config.soa ? @config.soa.minimum : nil,
@config.soa ? @config.soa.ttl : nil)
IO.foreach(file) {|line|
ret = pp.process_line(line)
if (ret)
new_line, unused = ret
rr = RR.create(new_line)
if (rr.type.to_s != "SOA")
log(LOG_ERR, "Expected SOA RR as first record in #{file}, but got line : #{new_line.chomp}")
next
end
if (rr.type != Types::SOA)
log(LOG_ERR, "Expected SOA RR as first record in #{file}, but got RR : #{rr}")
next
end
return rr
end
}
log(LOG_ERR, "Can't load SOA from #{file}")
raise FatalError.new("Can't load SOA from #{file}")
end