# File lib/dnstraverse/message_utility.rb, line 147 def msg_follow_cnames(msg, args) name = args[:qname] type = args[:qtype] bw = args[:bailiwick].to_s bwend = ".#{args[:bailiwick]}" while true do return name if msg_answers?(msg, :qname => name, :qtype => type) if not ans = msg_answers?(msg, :qname => name, :qtype => 'CNAME') then return name end target = ans[0].domainname.to_s Log.debug { "CNAME encountered from #{name} to #{target}"} if bw and (target.casecmp(bw) != 0 and name !~ /#{bwend}$/i) then # target outside of bailiwick, don't follow any more CNAMEs. return target end name = target end end