Class: Net::DNS::RR::MINFO

Inherits:
Net::DNS::RR show all
Defined in:
lib/Net/DNS/RR/MINFO.rb

Overview

NAME

Net::DNS::RR::MINFO - DNS MINFO resource record

DESCRIPTION

Class for DNS Mailbox Information (MINFO) resource records.

COPYRIGHT

Copyright © 1997-2002 Michael Fuhr.

Portions Copyright © 2002-2004 Chris Reinhardt.

Ruby version Copyright © 2006 AlexD (Nominet UK)

All rights reserved. This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Net::DNS, Net::DNS::Resolver, Net::DNS::Packet, Net::DNS::Header, Net::DNS::Question, Net::DNS::RR, RFC 1035 Section 3.3.7

Constant Summary

Constants inherited from Net::DNS::RR

RRS

Instance Attribute Summary collapse

Attributes inherited from Net::DNS::RR

#name, #rdata, #rdlength, #rrclass, #ttl, #type

Instance Method Summary collapse

Methods inherited from Net::DNS::RR

#_canonicaldata, _get_subclass, _name2wire, #_name2wire, build_regex, create, #create_rrsort_func, #data, #get_rrsort_func, #init, #init_rrsort_func, #inspect, new_from_data, new_from_hash, new_from_string, #set_rrsort_func

Instance Attribute Details

#emailbxObject

Returns the RR’s error mailbox field.

print "emailbx = ", rr.emailbx, "\n"


53
54
55
# File 'lib/Net/DNS/RR/MINFO.rb', line 53

def emailbx
  @emailbx
end

#rmailbxObject

Returns the RR’s responsible mailbox field. See RFC 1035.

print "rmailbx = ", rr.rmailbx, "\n"


48
49
50
# File 'lib/Net/DNS/RR/MINFO.rb', line 48

def rmailbx
  @rmailbx
end

Instance Method Details

#_canonicalRdata(data, offset) ⇒ Object



96
97
98
99
100
101
102
103
104
105
# File 'lib/Net/DNS/RR/MINFO.rb', line 96

def _canonicalRdata(data, offset)
  rdata = "";
  
  if (defined?@rmailbx)
    rdata += _name2wire(@rmailbx);
    rdata +=  _name2wire(@emailbx);
  end
  
  return rdata;
end

#new_from_data(data, offset) ⇒ Object



54
55
56
57
58
59
# File 'lib/Net/DNS/RR/MINFO.rb', line 54

def new_from_data(data, offset)
  if (@rdlength > 0)
   (@rmailbx, offset) = Net::DNS::Packet::dn_expand(data, offset);
   (@emailbx, offset) = Net::DNS::Packet::dn_expand(data, offset);
  end
end

#new_from_hash(values) ⇒ Object



70
71
72
73
74
75
76
77
# File 'lib/Net/DNS/RR/MINFO.rb', line 70

def new_from_hash(values)
  if values.has_key?(:rmailbx)
    @rmailbx = values[:rmailbx]
  end
  if values.has_key?(:emailbx)
    @emailbx = values[:emailbx]
  end
end

#new_from_string(string) ⇒ Object



61
62
63
64
65
66
67
68
# File 'lib/Net/DNS/RR/MINFO.rb', line 61

def new_from_string(string)
  if (string && (string =~ /^(\S+)\s+(\S+)$/))
    @rmailbx = $1;
    @emailbx = $2;
    @rmailbx.sub!(/\.+$/, "");
    @emailbx.sub!(/\.+$/,"");
  end
end

#rdatastrObject



79
80
81
# File 'lib/Net/DNS/RR/MINFO.rb', line 79

def rdatastr
  return @rmailbx ? "#{@rmailbx}. #{@emailbx}." : '';
end

#rr_rdata(packet, offset) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
# File 'lib/Net/DNS/RR/MINFO.rb', line 83

def rr_rdata(packet, offset)
  rdata = "";
  
  if (defined?@rmailbx)
    rdata += packet.dn_comp(@rmailbx, offset);
    
    rdata += packet.dn_comp(@emailbx, offset + rdata.length);
  end
  
  return rdata;
end