Dnsruby 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +34 -0
- data/doc/classes/Dnsruby/Classes.html +197 -0
- data/doc/classes/Dnsruby/Classes.src/M000157.html +23 -0
- data/doc/classes/Dnsruby/Classes.src/M000158.html +19 -0
- data/doc/classes/Dnsruby/CodeMapper.html +370 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000130.html +18 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +33 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +21 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +19 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +19 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +18 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +22 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +22 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +22 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +31 -0
- data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +19 -0
- data/doc/classes/Dnsruby/Config.html +410 -0
- data/doc/classes/Dnsruby/Config.src/M000098.html +18 -0
- data/doc/classes/Dnsruby/Config.src/M000099.html +19 -0
- data/doc/classes/Dnsruby/Config.src/M000100.html +19 -0
- data/doc/classes/Dnsruby/Config.src/M000101.html +21 -0
- data/doc/classes/Dnsruby/Config.src/M000102.html +21 -0
- data/doc/classes/Dnsruby/Config.src/M000103.html +38 -0
- data/doc/classes/Dnsruby/Config.src/M000104.html +26 -0
- data/doc/classes/Dnsruby/Config.src/M000105.html +22 -0
- data/doc/classes/Dnsruby/Config.src/M000106.html +23 -0
- data/doc/classes/Dnsruby/Config.src/M000107.html +22 -0
- data/doc/classes/Dnsruby/Config.src/M000108.html +18 -0
- data/doc/classes/Dnsruby/DNS/DecodeError.html +111 -0
- data/doc/classes/Dnsruby/DNS/EncodeError.html +111 -0
- data/doc/classes/Dnsruby/DNS.html +469 -0
- data/doc/classes/Dnsruby/DNS.src/M000196.html +24 -0
- data/doc/classes/Dnsruby/DNS.src/M000197.html +18 -0
- data/doc/classes/Dnsruby/DNS.src/M000198.html +18 -0
- data/doc/classes/Dnsruby/DNS.src/M000199.html +20 -0
- data/doc/classes/Dnsruby/DNS.src/M000200.html +19 -0
- data/doc/classes/Dnsruby/DNS.src/M000201.html +20 -0
- data/doc/classes/Dnsruby/DNS.src/M000202.html +18 -0
- data/doc/classes/Dnsruby/DNS.src/M000203.html +19 -0
- data/doc/classes/Dnsruby/DNS.src/M000204.html +20 -0
- data/doc/classes/Dnsruby/DNS.src/M000205.html +28 -0
- data/doc/classes/Dnsruby/DNS.src/M000206.html +19 -0
- data/doc/classes/Dnsruby/DNS.src/M000207.html +20 -0
- data/doc/classes/Dnsruby/DNS.src/M000208.html +41 -0
- data/doc/classes/Dnsruby/DNS.src/M000209.html +32 -0
- data/doc/classes/Dnsruby/DNS.src/M000210.html +50 -0
- data/doc/classes/Dnsruby/DNSSEC/Algorithms.html +154 -0
- data/doc/classes/Dnsruby/DNSSEC.html +111 -0
- data/doc/classes/Dnsruby/DecodeError.html +111 -0
- data/doc/classes/Dnsruby/EncodeError.html +111 -0
- data/doc/classes/Dnsruby/FormErr.html +113 -0
- data/doc/classes/Dnsruby/Header.html +516 -0
- data/doc/classes/Dnsruby/Header.src/M000168.html +35 -0
- data/doc/classes/Dnsruby/Header.src/M000169.html +18 -0
- data/doc/classes/Dnsruby/Header.src/M000170.html +18 -0
- data/doc/classes/Dnsruby/Header.src/M000171.html +21 -0
- data/doc/classes/Dnsruby/Header.src/M000172.html +20 -0
- data/doc/classes/Dnsruby/Header.src/M000173.html +32 -0
- data/doc/classes/Dnsruby/Header.src/M000174.html +26 -0
- data/doc/classes/Dnsruby/Header.src/M000175.html +47 -0
- data/doc/classes/Dnsruby/Header.src/M000176.html +28 -0
- data/doc/classes/Dnsruby/Header.src/M000177.html +18 -0
- data/doc/classes/Dnsruby/Header.src/M000178.html +18 -0
- data/doc/classes/Dnsruby/Header.src/M000179.html +30 -0
- data/doc/classes/Dnsruby/Hosts.html +305 -0
- data/doc/classes/Dnsruby/Hosts.src/M000141.html +20 -0
- data/doc/classes/Dnsruby/Hosts.src/M000142.html +49 -0
- data/doc/classes/Dnsruby/Hosts.src/M000143.html +19 -0
- data/doc/classes/Dnsruby/Hosts.src/M000144.html +20 -0
- data/doc/classes/Dnsruby/Hosts.src/M000145.html +21 -0
- data/doc/classes/Dnsruby/Hosts.src/M000146.html +19 -0
- data/doc/classes/Dnsruby/Hosts.src/M000147.html +20 -0
- data/doc/classes/Dnsruby/Hosts.src/M000148.html +21 -0
- data/doc/classes/Dnsruby/IPv4.html +298 -0
- data/doc/classes/Dnsruby/IPv4.src/M000149.html +32 -0
- data/doc/classes/Dnsruby/IPv4.src/M000150.html +21 -0
- data/doc/classes/Dnsruby/IPv4.src/M000151.html +18 -0
- data/doc/classes/Dnsruby/IPv4.src/M000152.html +18 -0
- data/doc/classes/Dnsruby/IPv4.src/M000153.html +19 -0
- data/doc/classes/Dnsruby/IPv4.src/M000154.html +18 -0
- data/doc/classes/Dnsruby/IPv4.src/M000155.html +18 -0
- data/doc/classes/Dnsruby/IPv4.src/M000156.html +18 -0
- data/doc/classes/Dnsruby/IPv6.html +318 -0
- data/doc/classes/Dnsruby/IPv6.src/M000180.html +60 -0
- data/doc/classes/Dnsruby/IPv6.src/M000181.html +21 -0
- data/doc/classes/Dnsruby/IPv6.src/M000182.html +22 -0
- data/doc/classes/Dnsruby/IPv6.src/M000183.html +18 -0
- data/doc/classes/Dnsruby/IPv6.src/M000184.html +21 -0
- data/doc/classes/Dnsruby/IPv6.src/M000185.html +18 -0
- data/doc/classes/Dnsruby/IPv6.src/M000186.html +18 -0
- data/doc/classes/Dnsruby/IPv6.src/M000187.html +18 -0
- data/doc/classes/Dnsruby/Message.html +689 -0
- data/doc/classes/Dnsruby/Message.src/M000076.html +34 -0
- data/doc/classes/Dnsruby/Message.src/M000077.html +26 -0
- data/doc/classes/Dnsruby/Message.src/M000078.html +22 -0
- data/doc/classes/Dnsruby/Message.src/M000079.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000080.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000081.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000082.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000083.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000084.html +21 -0
- data/doc/classes/Dnsruby/Message.src/M000085.html +20 -0
- data/doc/classes/Dnsruby/Message.src/M000086.html +18 -0
- data/doc/classes/Dnsruby/Message.src/M000087.html +54 -0
- data/doc/classes/Dnsruby/Message.src/M000088.html +42 -0
- data/doc/classes/Dnsruby/Message.src/M000089.html +45 -0
- data/doc/classes/Dnsruby/MetaTypes.html +136 -0
- data/doc/classes/Dnsruby/Modes.html +171 -0
- data/doc/classes/Dnsruby/NXDomain.html +113 -0
- data/doc/classes/Dnsruby/Name/Label.html +300 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000067.html +21 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000068.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000069.html +22 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000070.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000071.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000072.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000073.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000074.html +18 -0
- data/doc/classes/Dnsruby/Name/Label.src/M000075.html +18 -0
- data/doc/classes/Dnsruby/Name.html +357 -0
- data/doc/classes/Dnsruby/Name.src/M000057.html +28 -0
- data/doc/classes/Dnsruby/Name.src/M000058.html +20 -0
- data/doc/classes/Dnsruby/Name.src/M000059.html +18 -0
- data/doc/classes/Dnsruby/Name.src/M000060.html +18 -0
- data/doc/classes/Dnsruby/Name.src/M000061.html +21 -0
- data/doc/classes/Dnsruby/Name.src/M000062.html +19 -0
- data/doc/classes/Dnsruby/Name.src/M000064.html +22 -0
- data/doc/classes/Dnsruby/Name.src/M000065.html +18 -0
- data/doc/classes/Dnsruby/Name.src/M000066.html +20 -0
- data/doc/classes/Dnsruby/NotImp.html +113 -0
- data/doc/classes/Dnsruby/OpCode.html +146 -0
- data/doc/classes/Dnsruby/OtherResolvError.html +113 -0
- data/doc/classes/Dnsruby/QTypes.html +146 -0
- data/doc/classes/Dnsruby/Question.html +256 -0
- data/doc/classes/Dnsruby/Question.src/M000166.html +47 -0
- data/doc/classes/Dnsruby/Question.src/M000167.html +18 -0
- data/doc/classes/Dnsruby/RCode.html +211 -0
- data/doc/classes/Dnsruby/RR/ANY.html +133 -0
- data/doc/classes/Dnsruby/RR/CERT/CertificateTypes.html +169 -0
- data/doc/classes/Dnsruby/RR/CERT.html +180 -0
- data/doc/classes/Dnsruby/RR/CNAME.html +150 -0
- data/doc/classes/Dnsruby/RR/DNAME.html +150 -0
- data/doc/classes/Dnsruby/RR/DomainName.html +175 -0
- data/doc/classes/Dnsruby/RR/DomainName.src/M000051.html +22 -0
- data/doc/classes/Dnsruby/RR/Generic.html +156 -0
- data/doc/classes/Dnsruby/RR/Generic.src/M000041.html +25 -0
- data/doc/classes/Dnsruby/RR/HINFO.html +155 -0
- data/doc/classes/Dnsruby/RR/IN/A.html +199 -0
- data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +18 -0
- data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +18 -0
- data/doc/classes/Dnsruby/RR/IN/A.src/M000020.html +18 -0
- data/doc/classes/Dnsruby/RR/IN/AAAA.html +138 -0
- data/doc/classes/Dnsruby/RR/IN/AFSDB.html +145 -0
- data/doc/classes/Dnsruby/RR/IN/PX.html +143 -0
- data/doc/classes/Dnsruby/RR/IN/SRV.html +243 -0
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +29 -0
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +26 -0
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000017.html +22 -0
- data/doc/classes/Dnsruby/RR/IN/WKS.html +166 -0
- data/doc/classes/Dnsruby/RR/IN/WKS.src/M000021.html +20 -0
- data/doc/classes/Dnsruby/RR/IN.html +155 -0
- data/doc/classes/Dnsruby/RR/ISDN.html +155 -0
- data/doc/classes/Dnsruby/RR/LOC.html +395 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000025.html +32 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000026.html +23 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000027.html +25 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000028.html +21 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000029.html +20 -0
- data/doc/classes/Dnsruby/RR/LOC.src/M000030.html +23 -0
- data/doc/classes/Dnsruby/RR/MB.html +150 -0
- data/doc/classes/Dnsruby/RR/MG.html +150 -0
- data/doc/classes/Dnsruby/RR/MINFO.html +156 -0
- data/doc/classes/Dnsruby/RR/MR.html +150 -0
- data/doc/classes/Dnsruby/RR/MX.html +155 -0
- data/doc/classes/Dnsruby/RR/NAPTR.html +190 -0
- data/doc/classes/Dnsruby/RR/NS.html +150 -0
- data/doc/classes/Dnsruby/RR/NSAP.html +293 -0
- data/doc/classes/Dnsruby/RR/NSAP.src/M000053.html +19 -0
- data/doc/classes/Dnsruby/RR/NSAP.src/M000054.html +19 -0
- data/doc/classes/Dnsruby/RR/NSAP.src/M000055.html +22 -0
- data/doc/classes/Dnsruby/RR/NSAP.src/M000056.html +31 -0
- data/doc/classes/Dnsruby/RR/PTR.html +132 -0
- data/doc/classes/Dnsruby/RR/RP.html +183 -0
- data/doc/classes/Dnsruby/RR/RP.src/M000050.html +19 -0
- data/doc/classes/Dnsruby/RR/RT.html +155 -0
- data/doc/classes/Dnsruby/RR/SOA.html +230 -0
- data/doc/classes/Dnsruby/RR/SOA.src/M000039.html +24 -0
- data/doc/classes/Dnsruby/RR/SOA.src/M000040.html +27 -0
- data/doc/classes/Dnsruby/RR/SPF.html +138 -0
- data/doc/classes/Dnsruby/RR/TKEY.html +285 -0
- data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +19 -0
- data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +29 -0
- data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +30 -0
- data/doc/classes/Dnsruby/RR/TSIG.html +416 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000042.html +22 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000043.html +71 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000044.html +34 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000045.html +37 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000046.html +31 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000047.html +34 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000048.html +22 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000049.html +29 -0
- data/doc/classes/Dnsruby/RR/TXT.html +233 -0
- data/doc/classes/Dnsruby/RR/TXT.src/M000034.html +18 -0
- data/doc/classes/Dnsruby/RR/TXT.src/M000035.html +18 -0
- data/doc/classes/Dnsruby/RR/TXT.src/M000036.html +20 -0
- data/doc/classes/Dnsruby/RR/TXT.src/M000037.html +27 -0
- data/doc/classes/Dnsruby/RR/TXT.src/M000038.html +25 -0
- data/doc/classes/Dnsruby/RR/X25.html +203 -0
- data/doc/classes/Dnsruby/RR/X25.src/M000031.html +18 -0
- data/doc/classes/Dnsruby/RR/X25.src/M000032.html +18 -0
- data/doc/classes/Dnsruby/RR/X25.src/M000033.html +22 -0
- data/doc/classes/Dnsruby/RR.html +620 -0
- data/doc/classes/Dnsruby/RR.src/M000001.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000002.html +22 -0
- data/doc/classes/Dnsruby/RR.src/M000003.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000004.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000005.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000006.html +36 -0
- data/doc/classes/Dnsruby/RR.src/M000007.html +100 -0
- data/doc/classes/Dnsruby/RR.src/M000008.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000009.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000010.html +22 -0
- data/doc/classes/Dnsruby/RR.src/M000011.html +22 -0
- data/doc/classes/Dnsruby/RR.src/M000012.html +18 -0
- data/doc/classes/Dnsruby/RR.src/M000013.html +22 -0
- data/doc/classes/Dnsruby/RR.src/M000014.html +24 -0
- data/doc/classes/Dnsruby/RRSet.html +257 -0
- data/doc/classes/Dnsruby/RRSet.src/M000159.html +18 -0
- data/doc/classes/Dnsruby/RRSet.src/M000160.html +44 -0
- data/doc/classes/Dnsruby/RRSet.src/M000161.html +18 -0
- data/doc/classes/Dnsruby/RRSet.src/M000162.html +20 -0
- data/doc/classes/Dnsruby/RRSet.src/M000163.html +18 -0
- data/doc/classes/Dnsruby/RRSet.src/M000164.html +18 -0
- data/doc/classes/Dnsruby/RRSet.src/M000165.html +18 -0
- data/doc/classes/Dnsruby/Refused.html +113 -0
- data/doc/classes/Dnsruby/Resolv.html +400 -0
- data/doc/classes/Dnsruby/Resolv.src/M000109.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000110.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000111.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000112.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000113.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000114.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000115.html +18 -0
- data/doc/classes/Dnsruby/Resolv.src/M000116.html +19 -0
- data/doc/classes/Dnsruby/Resolv.src/M000117.html +20 -0
- data/doc/classes/Dnsruby/Resolv.src/M000118.html +29 -0
- data/doc/classes/Dnsruby/Resolv.src/M000119.html +19 -0
- data/doc/classes/Dnsruby/Resolv.src/M000120.html +20 -0
- data/doc/classes/Dnsruby/Resolv.src/M000121.html +25 -0
- data/doc/classes/Dnsruby/ResolvError.html +111 -0
- data/doc/classes/Dnsruby/ResolvTimeout.html +111 -0
- data/doc/classes/Dnsruby/Resolver.html +807 -0
- data/doc/classes/Dnsruby/Resolver.src/M000211.html +21 -0
- data/doc/classes/Dnsruby/Resolver.src/M000212.html +37 -0
- data/doc/classes/Dnsruby/Resolver.src/M000213.html +64 -0
- data/doc/classes/Dnsruby/Resolver.src/M000214.html +23 -0
- data/doc/classes/Dnsruby/Resolver.src/M000215.html +46 -0
- data/doc/classes/Dnsruby/Resolver.src/M000216.html +21 -0
- data/doc/classes/Dnsruby/Resolver.src/M000217.html +22 -0
- data/doc/classes/Dnsruby/Resolver.src/M000218.html +18 -0
- data/doc/classes/Dnsruby/Resolver.src/M000219.html +20 -0
- data/doc/classes/Dnsruby/Resolver.src/M000220.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000221.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000222.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000223.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000224.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000225.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000226.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000227.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000228.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000229.html +19 -0
- data/doc/classes/Dnsruby/Resolver.src/M000230.html +19 -0
- data/doc/classes/Dnsruby/ServFail.html +113 -0
- data/doc/classes/Dnsruby/SingleResolver.html +496 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000122.html +18 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000123.html +19 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000124.html +49 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000125.html +18 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000126.html +21 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000127.html +25 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +78 -0
- data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +21 -0
- data/doc/classes/Dnsruby/TheLog.html +196 -0
- data/doc/classes/Dnsruby/TheLog.src/M000188.html +20 -0
- data/doc/classes/Dnsruby/TheLog.src/M000189.html +20 -0
- data/doc/classes/Dnsruby/TheLog.src/M000190.html +20 -0
- data/doc/classes/Dnsruby/Types.html +426 -0
- data/doc/classes/Dnsruby/Update.html +368 -0
- data/doc/classes/Dnsruby/Update.src/M000191.html +32 -0
- data/doc/classes/Dnsruby/Update.src/M000192.html +37 -0
- data/doc/classes/Dnsruby/Update.src/M000193.html +32 -0
- data/doc/classes/Dnsruby/Update.src/M000194.html +41 -0
- data/doc/classes/Dnsruby/Update.src/M000195.html +34 -0
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +183 -0
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000097.html +19 -0
- data/doc/classes/Dnsruby/ZoneTransfer.html +248 -0
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000095.html +22 -0
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000096.html +35 -0
- data/doc/classes/Dnsruby.html +388 -0
- data/doc/created.rid +1 -0
- data/doc/files/lib/Dnsruby/Config_rb.html +101 -0
- data/doc/files/lib/Dnsruby/DNSSEC_rb.html +101 -0
- data/doc/files/lib/Dnsruby/DNS_rb.html +110 -0
- data/doc/files/lib/Dnsruby/Hosts_rb.html +108 -0
- data/doc/files/lib/Dnsruby/Resolver_rb.html +108 -0
- data/doc/files/lib/Dnsruby/SingleResolver_rb.html +108 -0
- data/doc/files/lib/Dnsruby/TheLog_rb.html +110 -0
- data/doc/files/lib/Dnsruby/code_mapper_rb.html +101 -0
- data/doc/files/lib/Dnsruby/ipv4_rb.html +101 -0
- data/doc/files/lib/Dnsruby/ipv6_rb.html +101 -0
- data/doc/files/lib/Dnsruby/message_rb.html +109 -0
- data/doc/files/lib/Dnsruby/name_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/A_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/CERT_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/IN_rb.html +112 -0
- data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/LOC_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/MX_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/OPT_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/PX_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/RP_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/RT_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/SOA_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/SPF_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/SRV_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +110 -0
- data/doc/files/lib/Dnsruby/resource/TXT_rb.html +108 -0
- data/doc/files/lib/Dnsruby/resource/X25_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +101 -0
- data/doc/files/lib/Dnsruby/resource/generic_rb.html +125 -0
- data/doc/files/lib/Dnsruby/resource/resource_rb.html +110 -0
- data/doc/files/lib/Dnsruby/select_thread_rb.html +111 -0
- data/doc/files/lib/Dnsruby/update_rb.html +101 -0
- data/doc/files/lib/Dnsruby/zone_transfer_rb.html +101 -0
- data/doc/files/lib/dnsruby_rb.html +118 -0
- data/doc/fr_class_index.html +102 -0
- data/doc/fr_file_index.html +68 -0
- data/doc/fr_method_index.html +256 -0
- data/doc/index.html +24 -0
- data/lib/Dnsruby/Config.rb +350 -0
- data/lib/Dnsruby/DNS.rb +253 -0
- data/lib/Dnsruby/DNSSEC.rb +29 -0
- data/lib/Dnsruby/Hosts.rb +119 -0
- data/lib/Dnsruby/Resolver.rb +618 -0
- data/lib/Dnsruby/SingleResolver.rb +312 -0
- data/lib/Dnsruby/TheLog.rb +61 -0
- data/lib/Dnsruby/code_mapper.rb +164 -0
- data/lib/Dnsruby/ipv4.rb +83 -0
- data/lib/Dnsruby/ipv6.rb +142 -0
- data/lib/Dnsruby/message.rb +819 -0
- data/lib/Dnsruby/name.rb +325 -0
- data/lib/Dnsruby/resource/A.rb +56 -0
- data/lib/Dnsruby/resource/AAAA.rb +54 -0
- data/lib/Dnsruby/resource/AFSDB.rb +68 -0
- data/lib/Dnsruby/resource/CERT.rb +89 -0
- data/lib/Dnsruby/resource/HINFO.rb +52 -0
- data/lib/Dnsruby/resource/IN.rb +69 -0
- data/lib/Dnsruby/resource/ISDN.rb +54 -0
- data/lib/Dnsruby/resource/LOC.rb +255 -0
- data/lib/Dnsruby/resource/MINFO.rb +66 -0
- data/lib/Dnsruby/resource/MX.rb +66 -0
- data/lib/Dnsruby/resource/NAPTR.rb +90 -0
- data/lib/Dnsruby/resource/NSAP.rb +172 -0
- data/lib/Dnsruby/resource/OPT.rb +153 -0
- data/lib/Dnsruby/resource/PX.rb +71 -0
- data/lib/Dnsruby/resource/RP.rb +67 -0
- data/lib/Dnsruby/resource/RT.rb +67 -0
- data/lib/Dnsruby/resource/SOA.rb +89 -0
- data/lib/Dnsruby/resource/SPF.rb +29 -0
- data/lib/Dnsruby/resource/SRV.rb +108 -0
- data/lib/Dnsruby/resource/TKEY.rb +160 -0
- data/lib/Dnsruby/resource/TSIG.rb +328 -0
- data/lib/Dnsruby/resource/TXT.rb +76 -0
- data/lib/Dnsruby/resource/X25.rb +53 -0
- data/lib/Dnsruby/resource/domain_name.rb +58 -0
- data/lib/Dnsruby/resource/generic.rb +142 -0
- data/lib/Dnsruby/resource/resource.rb +444 -0
- data/lib/Dnsruby/select_thread.rb +474 -0
- data/lib/Dnsruby/update.rb +263 -0
- data/lib/Dnsruby/zone_transfer.rb +296 -0
- data/lib/dnsruby.rb +468 -0
- data/test/custom.txt +4 -0
- data/test/resolv.conf +4 -0
- data/test/tc_axfr.rb +42 -0
- data/test/tc_dns.rb +231 -0
- data/test/tc_dnsruby.rb +42 -0
- data/test/tc_escapedchars.rb +510 -0
- data/test/tc_header.rb +104 -0
- data/test/tc_misc.rb +139 -0
- data/test/tc_name.rb +53 -0
- data/test/tc_packet.rb +158 -0
- data/test/tc_packet_unique_push.rb +102 -0
- data/test/tc_question.rb +52 -0
- data/test/tc_res_config.rb +92 -0
- data/test/tc_res_env.rb +62 -0
- data/test/tc_res_file.rb +42 -0
- data/test/tc_res_opt.rb +185 -0
- data/test/tc_resolver.rb +177 -0
- data/test/tc_rr-opt.rb +42 -0
- data/test/tc_rr-txt.rb +137 -0
- data/test/tc_rr-unknown.rb +99 -0
- data/test/tc_rr.rb +259 -0
- data/test/tc_single_resolver.rb +153 -0
- data/test/tc_soak.rb +310 -0
- data/test/tc_tcp.rb +35 -0
- data/test/tc_tkey.rb +106 -0
- data/test/tc_update.rb +215 -0
- data/test/ts_dnsruby.rb +17 -0
- data/test/ts_offline.rb +35 -0
- data/test/ts_online.rb +40 -0
- metadata +512 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
#Class for DNS Network Service Access Point (NSAP) resource records.
|
|
19
|
+
#RFC 1706.
|
|
20
|
+
class NSAP < RR
|
|
21
|
+
ClassValue = nil #:nodoc: all
|
|
22
|
+
TypeValue= Types::NSAP #:nodoc: all
|
|
23
|
+
#The RR's authority and format identifier. Dnsruby
|
|
24
|
+
#currently supports only AFI 47 (GOSIP Version 2).
|
|
25
|
+
attr_accessor :afi
|
|
26
|
+
#The RR's initial domain identifier.
|
|
27
|
+
attr_accessor :idi
|
|
28
|
+
#The RR's DSP format identifier.
|
|
29
|
+
attr_accessor :dfi
|
|
30
|
+
#The RR's administrative authority.
|
|
31
|
+
attr_accessor :aa
|
|
32
|
+
#The RR's routing domain identifier.
|
|
33
|
+
attr_accessor :rd
|
|
34
|
+
#The RR's area identifier.
|
|
35
|
+
attr_accessor :area
|
|
36
|
+
#The RR's system identifier.
|
|
37
|
+
attr_accessor :id
|
|
38
|
+
#The RR's NSAP selector.
|
|
39
|
+
attr_accessor :sel
|
|
40
|
+
|
|
41
|
+
#The RR's reserved field.
|
|
42
|
+
attr_writer :rsvd
|
|
43
|
+
|
|
44
|
+
#The RR's initial domain part (the AFI and IDI fields).
|
|
45
|
+
def idp
|
|
46
|
+
ret = [@afi, @idi].join('')
|
|
47
|
+
return ret
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
#The RR's domain specific part (the DFI, AA, Rsvd, RD, Area,
|
|
51
|
+
#ID, and SEL fields).
|
|
52
|
+
def dsp
|
|
53
|
+
ret = [@dfi,@aa,rsvd,@rd,@area,@id,@sel].join('')
|
|
54
|
+
return ret
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def rsvd
|
|
58
|
+
if (@rsvd==nil)
|
|
59
|
+
return "0000"
|
|
60
|
+
else
|
|
61
|
+
return @rsvd
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
#------------------------------------------------------------------------------
|
|
66
|
+
# Usage: str2bcd(STRING, NUM_BYTES)
|
|
67
|
+
#
|
|
68
|
+
# Takes a string representing a hex number of arbitrary length and
|
|
69
|
+
# returns an equivalent BCD string of NUM_BYTES length (with
|
|
70
|
+
# NUM_BYTES * 2 digits), adding leading zeros if necessary.
|
|
71
|
+
#------------------------------------------------------------------------------
|
|
72
|
+
def str2bcd(s, bytes)
|
|
73
|
+
retval = "";
|
|
74
|
+
|
|
75
|
+
digits = bytes * 2;
|
|
76
|
+
string = sprintf("%#{digits}s", s);
|
|
77
|
+
string.tr!(" ","0");
|
|
78
|
+
|
|
79
|
+
i=0;
|
|
80
|
+
bytes.times do
|
|
81
|
+
bcd = string[i*2, 2];
|
|
82
|
+
retval += [bcd.to_i(16)].pack("C");
|
|
83
|
+
i+=1
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
return retval;
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def from_data(data) #:nodoc: all
|
|
91
|
+
@afi, @idi, @dfi, @aa, @rsvd, @rd, @area, @id, @sel = data
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def from_string(s) #:nodoc: all
|
|
95
|
+
if (s)
|
|
96
|
+
string = s.gsub(/\./, ""); # remove all dots.
|
|
97
|
+
string.gsub!(/^0x/,""); # remove leading 0x
|
|
98
|
+
|
|
99
|
+
if (string =~ /^[a-zA-Z0-9]{40}$/)
|
|
100
|
+
(@afi, @idi, @dfi, @aa, @rsvd, @rd, @area, @id, @sel) = string.unpack("A2A4A2A6A4A4A4A12A2")
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def rdata_to_string #:nodoc: all
|
|
107
|
+
rdatastr=""
|
|
108
|
+
|
|
109
|
+
if (defined?@afi)
|
|
110
|
+
if (@afi == "47")
|
|
111
|
+
rdatastr = [idp, dsp].join('')
|
|
112
|
+
else
|
|
113
|
+
rdatastr = "; AFI #{@afi} not supported"
|
|
114
|
+
end
|
|
115
|
+
else
|
|
116
|
+
rdatastr = ''
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
return rdatastr
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def encode_rdata(msg) #:nodoc: all
|
|
123
|
+
if (defined?@afi)
|
|
124
|
+
msg.put_pack("C", @afi.to_i(16))
|
|
125
|
+
|
|
126
|
+
if (@afi == "47")
|
|
127
|
+
msg.put_bytes(str2bcd(@idi, 2))
|
|
128
|
+
msg.put_bytes(str2bcd(@dfi, 1))
|
|
129
|
+
msg.put_bytes(str2bcd(@aa, 3))
|
|
130
|
+
msg.put_bytes(str2bcd(0, 2)) # rsvd)
|
|
131
|
+
msg.put_bytes(str2bcd(@rd, 2))
|
|
132
|
+
msg.put_bytes(str2bcd(@area, 2))
|
|
133
|
+
msg.put_bytes(str2bcd(@id, 6))
|
|
134
|
+
msg.put_bytes(str2bcd(@sel, 1))
|
|
135
|
+
end
|
|
136
|
+
# Checks for other versions would go here.
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
return rdata
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def self.decode_rdata(msg) #:nodoc: all
|
|
143
|
+
afi = msg.get_unpack("C")[0]
|
|
144
|
+
afi = sprintf("%02x", afi)
|
|
145
|
+
|
|
146
|
+
if (afi == "47")
|
|
147
|
+
idi = msg.get_unpack("CC")
|
|
148
|
+
dfi = msg.get_unpack("C")[0]
|
|
149
|
+
aa = msg.get_unpack("CCC")
|
|
150
|
+
rsvd = msg.get_unpack("CC")
|
|
151
|
+
rd = msg.get_unpack("CC")
|
|
152
|
+
area = msg.get_unpack("CC")
|
|
153
|
+
id = msg.get_unpack("CCCCCC")
|
|
154
|
+
sel = msg.get_unpack("C")[0]
|
|
155
|
+
|
|
156
|
+
idi = sprintf("%02x%02x", idi[0], idi[1])
|
|
157
|
+
dfi = sprintf("%02x", dfi)
|
|
158
|
+
aa = sprintf("%02x%02x%02x", aa[0], aa[1], aa[2])
|
|
159
|
+
rsvd = sprintf("%02x%02x", rsvd[0],rsvd[1])
|
|
160
|
+
rd = sprintf("%02x%02x", rd[0],rd[1])
|
|
161
|
+
area = sprintf("%02x%02x", area[0],area[1])
|
|
162
|
+
id = sprintf("%02x%02x%02x%02x%02x%02x", id[0],id[1],id[2],id[3],id[4],id[5])
|
|
163
|
+
sel = sprintf("%02x", sel)
|
|
164
|
+
|
|
165
|
+
else
|
|
166
|
+
# What to do for unsupported versions?
|
|
167
|
+
end
|
|
168
|
+
return self.new([afi, idi, dfi, aa, rsvd, rd, area, id, sel])
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
end
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
#Class for EDNS pseudo resource record OPT.
|
|
19
|
+
#This class is effectively internal to Dnsruby
|
|
20
|
+
#See RFC 2671, RFC 2435 Section 3
|
|
21
|
+
class OPT < RR #:nodoc: all
|
|
22
|
+
ClassValue = nil #:nodoc: all
|
|
23
|
+
TypeValue = Types::OPT #:nodoc: all
|
|
24
|
+
DO_BIT = 0x8000
|
|
25
|
+
attr_accessor :options
|
|
26
|
+
|
|
27
|
+
# From RFC 2671 :
|
|
28
|
+
# 4.3. The fixed part of an OPT RR is structured as follows:
|
|
29
|
+
#
|
|
30
|
+
# Field Name Field Type Description
|
|
31
|
+
# ------------------------------------------------------
|
|
32
|
+
# NAME domain name empty (root domain)
|
|
33
|
+
# TYPE u_int16_t OPT
|
|
34
|
+
# CLASS u_int16_t sender's UDP payload size
|
|
35
|
+
# TTL u_int32_t extended RCODE and flags
|
|
36
|
+
# RDLEN u_int16_t describes RDATA
|
|
37
|
+
# RDATA octet stream {attribute,value} pairs
|
|
38
|
+
|
|
39
|
+
def flags_from_ttl
|
|
40
|
+
if (@ttl)
|
|
41
|
+
return [@ttl].pack("N")
|
|
42
|
+
else
|
|
43
|
+
return [0].pack("N")
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def xrcode
|
|
48
|
+
return flags_from_ttl[0, 1].unpack("C")[0]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def xrcode=(code)
|
|
52
|
+
@ttl = (code << 24) + (version() << 16) + flags()
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def version
|
|
56
|
+
return flags_from_ttl[1, 1].unpack("C")[0]
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def version=(code)
|
|
60
|
+
@ttl = (xrcode() << 24) + (code << 16) + flags()
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def flags
|
|
64
|
+
return flags_from_ttl[2, 2].unpack("n")[0]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def flags=(code)
|
|
68
|
+
set_flags(code)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def set_flags(code)
|
|
72
|
+
@ttl = (xrcode() << 24) + (version() << 16) + code
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def d_o
|
|
76
|
+
return ((flags() & DO_BIT) == DO_BIT)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def d_o= (on)
|
|
80
|
+
if (on)
|
|
81
|
+
set_flags(flags() | DO_BIT)
|
|
82
|
+
else
|
|
83
|
+
set_flags(flags() & (~DO_BIT))
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
attr_accessor :class
|
|
88
|
+
|
|
89
|
+
def payloadsize
|
|
90
|
+
return @class
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def payloadsize=(size)
|
|
94
|
+
@class=size
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def options(args)
|
|
98
|
+
if (args==nil)
|
|
99
|
+
return @options
|
|
100
|
+
elsif args.kind_of?Fixnum
|
|
101
|
+
#@todo@ return list of options with that code
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def from_data(data)
|
|
106
|
+
@options = data
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def from_string(input)
|
|
110
|
+
if input
|
|
111
|
+
@options = input.split(" ")
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def rdata_to_string
|
|
116
|
+
ret = ""
|
|
117
|
+
if @options
|
|
118
|
+
@options.each do |opt|
|
|
119
|
+
ret = ret + opt.to_s + " "
|
|
120
|
+
end
|
|
121
|
+
ret.chomp!
|
|
122
|
+
end
|
|
123
|
+
return ret
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def encode_rdata(msg)
|
|
127
|
+
options.each do |opt|
|
|
128
|
+
msg.pack('n', opt.code)
|
|
129
|
+
msg.pack('n', opt.data.length)
|
|
130
|
+
msg.put_bytes(opt.data)
|
|
131
|
+
end
|
|
132
|
+
msg.put_array(@options)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def self.decode_rdata(msg)
|
|
136
|
+
if (msg.has_remaining)
|
|
137
|
+
options = new ArrayList();
|
|
138
|
+
while (msg.has_remaining) do
|
|
139
|
+
code = msg.unpack('n');
|
|
140
|
+
len = msg.unpack('n');
|
|
141
|
+
data = msg.get_bytes(len);
|
|
142
|
+
options.add(Option.new(code, data));
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
return self.new([options])
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
class Option
|
|
149
|
+
attr_accessor :code, :data
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
module IN
|
|
19
|
+
class PX < RR
|
|
20
|
+
ClassHash[[TypeValue = Types::PX, ClassValue = Classes.IN.code]] = self #:nodoc: all
|
|
21
|
+
|
|
22
|
+
#The preference given to this RR.
|
|
23
|
+
attr_accessor :preference
|
|
24
|
+
#The RFC822 part of the RFC1327 mapping information.
|
|
25
|
+
attr_accessor :map822
|
|
26
|
+
#The X.400 part of the RFC1327 mapping information.
|
|
27
|
+
attr_accessor :mapx400
|
|
28
|
+
|
|
29
|
+
def from_hash(hash) #:nodoc: all
|
|
30
|
+
@preference = hash[:preference]
|
|
31
|
+
@map822 = Name.create(hash[:map822])
|
|
32
|
+
@mapx400 = Name.create(hash[:mapx400])
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def from_data(data) #:nodoc: all
|
|
36
|
+
@preference, @map822, @mapx400 = data
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def from_string(input) #:nodoc: all
|
|
40
|
+
if (input.length > 0)
|
|
41
|
+
names = input.split(" ")
|
|
42
|
+
@preference = names[0]
|
|
43
|
+
@map822 = Name.create(names[1])
|
|
44
|
+
@mapx400 = Name.create(names[2])
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def rdata_to_string #:nodoc: all
|
|
49
|
+
if (@preference!=nil)
|
|
50
|
+
return "#{@preference} #{@map822} #{@mapx400}"
|
|
51
|
+
else
|
|
52
|
+
return ""
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def encode_rdata(msg, canonical=false) #:nodoc: all
|
|
57
|
+
msg.put_pack('n', @preference)
|
|
58
|
+
msg.put_name(@map822, canonical)
|
|
59
|
+
msg.put_name(@mapx400, canonical)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.decode_rdata(msg) #:nodoc: all
|
|
63
|
+
preference = msg.get_unpack('n')
|
|
64
|
+
map822 = msg.get_name
|
|
65
|
+
mapx400 = msg.get_name
|
|
66
|
+
return self.new([preference, map822, mapx400])
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
#Class for DNS Responsible Person (RP) resource records.
|
|
19
|
+
#RFC 1183 Section 2.2
|
|
20
|
+
class RP < RR
|
|
21
|
+
ClassValue = nil #:nodoc: all
|
|
22
|
+
TypeValue = Types::RP #:nodoc: all
|
|
23
|
+
|
|
24
|
+
#Returns a domain name that specifies the mailbox for the responsible person.
|
|
25
|
+
attr_accessor :mailbox
|
|
26
|
+
#A domain name that specifies a TXT record containing further
|
|
27
|
+
#information about the responsible person.
|
|
28
|
+
attr_accessor :txtdomain
|
|
29
|
+
|
|
30
|
+
def from_hash(hash)
|
|
31
|
+
@mailbox = Name.create(hash[:mailbox])
|
|
32
|
+
@txtdomain = Name.create(hash[:txtdomain])
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def from_data(data) #:nodoc: all
|
|
36
|
+
@mailbox, @txtdomain= data
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def from_string(input) #:nodoc: all
|
|
40
|
+
if (input.length > 0)
|
|
41
|
+
names = input.split(" ")
|
|
42
|
+
@mailbox = Name.create(names[0])
|
|
43
|
+
@txtdomain = Name.create(names[1])
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def rdata_to_string #:nodoc: all
|
|
48
|
+
if (@mailbox!=nil)
|
|
49
|
+
return "#{@mailbox} #{@txtdomain}"
|
|
50
|
+
else
|
|
51
|
+
return ""
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def encode_rdata(msg, canonical=false) #:nodoc: all
|
|
56
|
+
msg.put_name(@mailbox, canonical)
|
|
57
|
+
msg.put_name(@txtdomain, canonical)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self.decode_rdata(msg) #:nodoc: all
|
|
61
|
+
mailbox = msg.get_name
|
|
62
|
+
txtdomain = msg.get_name
|
|
63
|
+
return self.new([mailbox, txtdomain])
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
#Class for DNS Route Through (RT) resource records.
|
|
19
|
+
#RFC 1183 Section 3.3
|
|
20
|
+
class RT < RR
|
|
21
|
+
ClassValue = nil #:nodoc: all
|
|
22
|
+
TypeValue = Types::RT #:nodoc: all
|
|
23
|
+
|
|
24
|
+
#The preference for this route.
|
|
25
|
+
attr_accessor :preference
|
|
26
|
+
|
|
27
|
+
#The domain name of the intermediate host.
|
|
28
|
+
attr_accessor :intermediate
|
|
29
|
+
|
|
30
|
+
def from_hash(hash) #:nodoc: all
|
|
31
|
+
@preference = hash[:preference]
|
|
32
|
+
@intermediate = Name.create(hash[:intermediate])
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def from_data(data) #:nodoc: all
|
|
36
|
+
@preference, @intermediate = data
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def from_string(input) #:nodoc: all
|
|
40
|
+
if (input.length > 0)
|
|
41
|
+
names = input.split(" ")
|
|
42
|
+
@preference = names[0]
|
|
43
|
+
@intermediate = Name.create(names[1])
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def rdata_to_string #:nodoc: all
|
|
48
|
+
if (@preference!=nil)
|
|
49
|
+
return "#{@preference} #{@intermediate}"
|
|
50
|
+
else
|
|
51
|
+
return ""
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def encode_rdata(msg, canonical = false) #:nodoc: all
|
|
56
|
+
msg.put_pack('n', @preference)
|
|
57
|
+
msg.put_name(@intermediate, canonical)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self.decode_rdata(msg) #:nodoc: all
|
|
61
|
+
preference = msg.get_unpack('n')
|
|
62
|
+
intermediate = msg.get_name
|
|
63
|
+
return self.new([preference, intermediate])
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
class SOA < RR
|
|
19
|
+
ClassValue = nil #:nodoc: all
|
|
20
|
+
TypeValue = Types::SOA #:nodoc: all
|
|
21
|
+
|
|
22
|
+
#The domain name of the original or primary nameserver for
|
|
23
|
+
#this zone.
|
|
24
|
+
attr_accessor :mname
|
|
25
|
+
#A domain name that specifies the mailbox for the person
|
|
26
|
+
#responsible for this zone.
|
|
27
|
+
attr_accessor :rname
|
|
28
|
+
#The zone's serial number.
|
|
29
|
+
attr_accessor :serial
|
|
30
|
+
#The zone's refresh interval.
|
|
31
|
+
attr_accessor :refresh
|
|
32
|
+
#The zone's retry interval.
|
|
33
|
+
attr_accessor :retry
|
|
34
|
+
#The zone's expire interval.
|
|
35
|
+
attr_accessor :expire
|
|
36
|
+
#The minimum (default) TTL for records in this zone.
|
|
37
|
+
attr_accessor :minimum
|
|
38
|
+
|
|
39
|
+
def from_data(data) #:nodoc: all
|
|
40
|
+
@mname, @rname, @serial, @refresh, @retry, @expire, @minimum = data
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def from_hash(hash)
|
|
44
|
+
@mname = Name.create(hash[:mname])
|
|
45
|
+
@rname = Name.create(hash[:rname])
|
|
46
|
+
@serial = hash[:serial]
|
|
47
|
+
@refresh = hash[:refresh]
|
|
48
|
+
@retry = hash[:retry]
|
|
49
|
+
@expire = hash[:expire]
|
|
50
|
+
@minimum = hash[:minimum]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def from_string(input)
|
|
54
|
+
if (input.length > 0)
|
|
55
|
+
names = input.split(" ")
|
|
56
|
+
@mname = Name.create(names[0])
|
|
57
|
+
@rname = Name.create(names[1])
|
|
58
|
+
@serial = names[2].to_i
|
|
59
|
+
@refresh = names[3].to_i
|
|
60
|
+
@retry = names[4].to_i
|
|
61
|
+
@expire = names[5].to_i
|
|
62
|
+
@minimum = names[6].to_i
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def rdata_to_string #:nodoc: all
|
|
67
|
+
if (@mname!=nil)
|
|
68
|
+
return "#{@mname} #{@rname} #{@serial} #{@refresh} #{@retry} #{@expire} #{@minimum}"
|
|
69
|
+
else
|
|
70
|
+
return ""
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def encode_rdata(msg, canonical=false) #:nodoc: all
|
|
75
|
+
msg.put_name(@mname, canonical)
|
|
76
|
+
msg.put_name(@rname, canonical)
|
|
77
|
+
msg.put_pack('NNNNN', @serial, @refresh, @retry, @expire, @minimum)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.decode_rdata(msg) #:nodoc: all
|
|
81
|
+
mname = msg.get_name
|
|
82
|
+
rname = msg.get_name
|
|
83
|
+
serial, refresh, retry_, expire, minimum = msg.get_unpack('NNNNN')
|
|
84
|
+
return self.new(
|
|
85
|
+
[mname, rname, serial, refresh, retry_, expire, minimum])
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#--
|
|
2
|
+
#Copyright 2007 Nominet UK
|
|
3
|
+
#
|
|
4
|
+
#Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
#you may not use this file except in compliance with the License.
|
|
6
|
+
#You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
#Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
#distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
#See the License for the specific language governing permissions and
|
|
14
|
+
#limitations under the License.
|
|
15
|
+
#++
|
|
16
|
+
module Dnsruby
|
|
17
|
+
class RR
|
|
18
|
+
#DNS SPF resource record
|
|
19
|
+
|
|
20
|
+
#This is a clone of the TXT record. This class therfore completely inherits
|
|
21
|
+
#all properties of the Dnsruby::Resource::TXT class.
|
|
22
|
+
#
|
|
23
|
+
#Please see the Dnsruby::Resource::TXT documentation for details
|
|
24
|
+
#RFC 1035 Section 3.3.14, draft-schlitt-ospf-classic-02.txt
|
|
25
|
+
class SPF < TXT
|
|
26
|
+
TypeValue = Types::SPF #:nodoc: all
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|