Method: Net::DNS::Names#dn_comp
- Defined in:
- lib/net/dns/names.rb
#dn_comp(name, offset, compnames) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/net/dns/names.rb', line 86 def dn_comp(name,offset,compnames) names = {} ptr = 0 str = "" arr = names_array(name) arr.each do |entry| if compnames.has_key?(entry) ptr = 0xC000 | compnames[entry] str += [ptr].pack("n") offset += INT16SZ break else len = entry.unpack("C")[0] elem = entry[1..len] str += [len,elem].pack("Ca*") names.update({"#{entry}" => offset}) offset += len end end return str,offset,names end |