Dnsruby 0.6.0 → 1.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/EVENTMACHINE +1 -1
- data/README +36 -7
- data/doc/classes/Dnsruby.html +49 -18
- data/doc/classes/Dnsruby/Classes.html +10 -10
- data/doc/classes/Dnsruby/Classes.src/{M000158.html → M000156.html} +1 -1
- data/doc/classes/Dnsruby/Classes.src/M000157.html +5 -9
- data/doc/classes/Dnsruby/CodeMapper.html +55 -55
- data/doc/classes/Dnsruby/CodeMapper.src/M000133.html +4 -7
- data/doc/classes/Dnsruby/CodeMapper.src/M000134.html +19 -5
- data/doc/classes/Dnsruby/CodeMapper.src/M000135.html +7 -5
- data/doc/classes/Dnsruby/CodeMapper.src/M000136.html +5 -4
- data/doc/classes/Dnsruby/CodeMapper.src/M000137.html +5 -8
- data/doc/classes/Dnsruby/CodeMapper.src/M000138.html +4 -8
- data/doc/classes/Dnsruby/CodeMapper.src/M000139.html +6 -6
- data/doc/classes/Dnsruby/CodeMapper.src/M000140.html +7 -16
- data/doc/classes/Dnsruby/CodeMapper.src/M000141.html +8 -5
- data/doc/classes/Dnsruby/CodeMapper.src/{M000167.html → M000142.html} +0 -0
- data/doc/classes/Dnsruby/CodeMapper.src/{M000168.html → M000143.html} +0 -0
- data/doc/classes/Dnsruby/Config.html +66 -63
- data/doc/classes/Dnsruby/Config.src/{M000125.html → M000097.html} +1 -1
- data/doc/classes/Dnsruby/Config.src/M000098.html +5 -4
- data/doc/classes/Dnsruby/Config.src/M000099.html +5 -5
- data/doc/classes/Dnsruby/Config.src/M000100.html +11 -5
- data/doc/classes/Dnsruby/Config.src/M000101.html +6 -6
- data/doc/classes/Dnsruby/Config.src/M000102.html +23 -6
- data/doc/classes/Dnsruby/Config.src/M000103.html +10 -22
- data/doc/classes/Dnsruby/Config.src/M000104.html +7 -11
- data/doc/classes/Dnsruby/Config.src/M000105.html +13 -8
- data/doc/classes/Dnsruby/Config.src/M000106.html +7 -12
- data/doc/classes/Dnsruby/Config.src/M000107.html +6 -7
- data/doc/classes/Dnsruby/DNS.html +220 -118
- data/doc/classes/Dnsruby/DNS.src/{M000224.html → M000190.html} +1 -1
- data/doc/classes/Dnsruby/DNS.src/{M000225.html → M000191.html} +1 -1
- data/doc/classes/Dnsruby/DNS.src/{M000226.html → M000192.html} +1 -1
- data/doc/classes/Dnsruby/DNS.src/M000193.html +24 -0
- data/doc/classes/Dnsruby/{SingleResolver.src/M000152.html → DNS.src/M000194.html} +3 -3
- data/doc/classes/Dnsruby/{IPv4.src/M000156.html → DNS.src/M000195.html} +4 -4
- data/doc/classes/Dnsruby/DNS.src/M000196.html +6 -10
- data/doc/classes/Dnsruby/DNS.src/M000197.html +5 -10
- data/doc/classes/Dnsruby/DNS.src/M000198.html +6 -4
- data/doc/classes/Dnsruby/DNS.src/M000199.html +4 -4
- data/doc/classes/Dnsruby/DNS.src/M000200.html +5 -6
- data/doc/classes/Dnsruby/DNS.src/M000201.html +6 -5
- data/doc/classes/Dnsruby/DNS.src/M000202.html +14 -6
- data/doc/classes/Dnsruby/DNS.src/M000203.html +5 -4
- data/doc/classes/Dnsruby/DNS.src/M000204.html +6 -5
- data/doc/classes/Dnsruby/DNS.src/M000205.html +17 -6
- data/doc/classes/Dnsruby/DecodeError.html +11 -0
- data/doc/classes/Dnsruby/EncodeError.html +11 -0
- data/doc/classes/Dnsruby/FormErr.html +6 -0
- data/doc/classes/Dnsruby/Header.html +51 -66
- data/doc/classes/Dnsruby/Header.src/{M000196.html → M000167.html} +1 -1
- data/doc/classes/Dnsruby/Header.src/M000168.html +4 -21
- data/doc/classes/Dnsruby/Header.src/M000169.html +4 -21
- data/doc/classes/Dnsruby/Header.src/M000170.html +21 -4
- data/doc/classes/Dnsruby/Header.src/M000171.html +4 -4
- data/doc/classes/Dnsruby/Header.src/M000172.html +4 -7
- data/doc/classes/Dnsruby/Header.src/M000173.html +7 -6
- data/doc/classes/Dnsruby/Header.src/M000174.html +6 -18
- data/doc/classes/Dnsruby/Header.src/M000175.html +18 -12
- data/doc/classes/Dnsruby/Header.src/M000176.html +13 -33
- data/doc/classes/Dnsruby/Header.src/M000177.html +12 -14
- data/doc/classes/Dnsruby/Header.src/M000178.html +33 -4
- data/doc/classes/Dnsruby/Header.src/M000179.html +14 -4
- data/doc/classes/Dnsruby/Header.src/M000180.html +1 -1
- data/doc/classes/Dnsruby/Hosts.html +65 -54
- data/doc/classes/Dnsruby/Hosts.src/M000144.html +6 -5
- data/doc/classes/Dnsruby/Hosts.src/M000145.html +5 -6
- data/doc/classes/Dnsruby/Hosts.src/M000146.html +6 -7
- data/doc/classes/Dnsruby/Hosts.src/M000147.html +7 -5
- data/doc/classes/Dnsruby/Hosts.src/M000148.html +4 -5
- data/doc/classes/Dnsruby/Hosts.src/M000149.html +5 -6
- data/doc/classes/Dnsruby/Hosts.src/{M000176.html → M000150.html} +1 -1
- data/doc/classes/Dnsruby/IPv4.html +28 -93
- data/doc/classes/Dnsruby/IPv4.src/M000151.html +17 -6
- data/doc/classes/Dnsruby/IPv4.src/M000152.html +5 -4
- data/doc/classes/Dnsruby/IPv4.src/M000153.html +3 -3
- data/doc/classes/Dnsruby/IPv4.src/M000154.html +3 -4
- data/doc/classes/Dnsruby/IPv4.src/M000155.html +4 -4
- data/doc/classes/Dnsruby/IPv6.html +59 -96
- data/doc/classes/Dnsruby/IPv6.src/{M000208.html → M000178.html} +2 -2
- data/doc/classes/Dnsruby/IPv6.src/{M000210.html → M000179.html} +0 -0
- data/doc/classes/Dnsruby/IPv6.src/M000180.html +6 -46
- data/doc/classes/Dnsruby/IPv6.src/M000181.html +2 -2
- data/doc/classes/Dnsruby/IPv6.src/M000182.html +7 -6
- data/doc/classes/Dnsruby/IPv6.src/M000183.html +6 -8
- data/doc/classes/Dnsruby/IPv6.src/M000184.html +4 -4
- data/doc/classes/Dnsruby/Message.html +216 -123
- data/doc/classes/Dnsruby/Message.src/M000071.html +38 -0
- data/doc/classes/Dnsruby/Message.src/M000072.html +26 -0
- data/doc/classes/Dnsruby/Message.src/M000073.html +22 -0
- data/doc/classes/Dnsruby/{Header.src/M000198.html → Message.src/M000074.html} +6 -4
- data/doc/classes/Dnsruby/{Header.src/M000197.html → Message.src/M000075.html} +6 -4
- data/doc/classes/Dnsruby/Message.src/M000076.html +6 -20
- data/doc/classes/Dnsruby/Message.src/M000077.html +6 -12
- data/doc/classes/Dnsruby/Message.src/M000078.html +6 -8
- data/doc/classes/Dnsruby/Message.src/M000079.html +9 -6
- data/doc/classes/Dnsruby/Message.src/M000080.html +16 -6
- data/doc/classes/Dnsruby/Message.src/M000081.html +6 -6
- data/doc/classes/Dnsruby/Message.src/M000082.html +4 -6
- data/doc/classes/Dnsruby/Message.src/M000083.html +40 -6
- data/doc/classes/Dnsruby/Message.src/M000084.html +10 -6
- data/doc/classes/Dnsruby/Message.src/M000085.html +29 -6
- data/doc/classes/Dnsruby/Message.src/M000086.html +32 -4
- data/doc/classes/Dnsruby/NXDomain.html +6 -0
- data/doc/classes/Dnsruby/Name.html +60 -87
- data/doc/classes/Dnsruby/Name.src/M000056.html +28 -0
- data/doc/classes/Dnsruby/Name.src/M000057.html +6 -14
- data/doc/classes/Dnsruby/Name.src/M000058.html +4 -6
- data/doc/classes/Dnsruby/Name.src/M000059.html +7 -4
- data/doc/classes/Dnsruby/Name.src/M000060.html +8 -4
- data/doc/classes/Dnsruby/Name.src/M000061.html +5 -7
- data/doc/classes/Dnsruby/Name/Label.html +45 -45
- data/doc/classes/Dnsruby/Name/Label.src/M000062.html +21 -0
- data/doc/classes/Dnsruby/Name/Label.src/{M000075.html → M000063.html} +4 -4
- data/doc/classes/Dnsruby/Name/Label.src/{M000076.html → M000064.html} +1 -1
- data/doc/classes/Dnsruby/Name/Label.src/{M000077.html → M000065.html} +1 -1
- data/doc/classes/Dnsruby/Name/Label.src/{M000078.html → M000066.html} +1 -1
- data/doc/classes/Dnsruby/Name/Label.src/M000067.html +4 -7
- data/doc/classes/Dnsruby/Name/Label.src/M000068.html +4 -4
- data/doc/classes/Dnsruby/Name/Label.src/M000069.html +4 -8
- data/doc/classes/Dnsruby/Name/Label.src/M000070.html +4 -4
- data/doc/classes/Dnsruby/NotImp.html +6 -0
- data/doc/classes/Dnsruby/OtherResolvError.html +6 -0
- data/doc/classes/Dnsruby/Question.html +53 -8
- data/doc/classes/Dnsruby/Question.src/{M000194.html → M000165.html} +1 -1
- data/doc/classes/Dnsruby/Question.src/M000166.html +4 -33
- data/doc/classes/Dnsruby/Question.src/M000167.html +4 -33
- data/doc/classes/Dnsruby/Question.src/M000168.html +18 -4
- data/doc/classes/Dnsruby/Question.src/{M000195.html → M000169.html} +1 -1
- data/doc/classes/Dnsruby/RR.html +62 -64
- data/doc/classes/Dnsruby/RR.src/M000004.html +1 -1
- data/doc/classes/Dnsruby/RR.src/M000005.html +1 -1
- data/doc/classes/Dnsruby/RR.src/M000006.html +4 -22
- data/doc/classes/Dnsruby/RR.src/M000007.html +22 -86
- data/doc/classes/Dnsruby/RR.src/M000008.html +86 -4
- data/doc/classes/Dnsruby/RR.src/M000009.html +4 -4
- data/doc/classes/Dnsruby/RR.src/M000010.html +4 -8
- data/doc/classes/Dnsruby/RR.src/M000011.html +8 -8
- data/doc/classes/Dnsruby/RR.src/M000012.html +15 -4
- data/doc/classes/Dnsruby/RR.src/M000013.html +10 -8
- data/doc/classes/Dnsruby/RR/ANY.html +1 -1
- data/doc/classes/Dnsruby/RR/CNAME.html +2 -1
- data/doc/classes/Dnsruby/RR/DomainName.html +10 -10
- data/doc/classes/Dnsruby/RR/DomainName.src/{M000051.html → M000050.html} +0 -4
- data/doc/classes/Dnsruby/RR/Generic.html +4 -27
- data/doc/classes/Dnsruby/RR/IN.html +1 -1
- data/doc/classes/Dnsruby/RR/IN/A.html +17 -16
- data/doc/classes/Dnsruby/RR/IN/A.src/{M000025.html → M000017.html} +0 -0
- data/doc/classes/Dnsruby/RR/IN/A.src/M000018.html +4 -4
- data/doc/classes/Dnsruby/RR/IN/A.src/M000019.html +4 -4
- data/doc/classes/Dnsruby/RR/IN/AAAA.html +2 -1
- data/doc/classes/Dnsruby/RR/IN/SRV.html +43 -48
- data/doc/classes/Dnsruby/RR/IN/SRV.src/{M000022.html → M000014.html} +1 -1
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000015.html +11 -14
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000016.html +7 -11
- data/doc/classes/Dnsruby/RR/IN/WKS.html +5 -5
- data/doc/classes/Dnsruby/RR/IN/WKS.src/{M000021.html → M000020.html} +0 -0
- data/doc/classes/Dnsruby/RR/NS.html +2 -1
- data/doc/classes/Dnsruby/RR/NSAP.html +20 -20
- data/doc/classes/Dnsruby/RR/NSAP.src/{M000060.html → M000052.html} +0 -0
- data/doc/classes/Dnsruby/RR/NSAP.src/M000053.html +4 -4
- data/doc/classes/Dnsruby/RR/NSAP.src/M000054.html +8 -5
- data/doc/classes/Dnsruby/RR/NSAP.src/M000055.html +16 -7
- data/doc/classes/Dnsruby/RR/RP.html +5 -5
- data/doc/classes/Dnsruby/RR/RP.src/{M000050.html → M000049.html} +0 -0
- data/doc/classes/Dnsruby/RR/SOA.html +6 -3
- data/doc/classes/Dnsruby/RR/SOA.src/M000039.html +1 -1
- data/doc/classes/Dnsruby/RR/SOA.src/M000040.html +1 -1
- data/doc/classes/Dnsruby/RR/TKEY.html +39 -11
- data/doc/classes/Dnsruby/RR/TKEY.src/{M000029.html → M000021.html} +1 -1
- data/doc/classes/Dnsruby/RR/TKEY.src/M000022.html +15 -5
- data/doc/classes/Dnsruby/RR/TKEY.src/M000023.html +7 -15
- data/doc/classes/Dnsruby/RR/TKEY.src/M000024.html +1 -1
- data/doc/classes/Dnsruby/RR/TSIG.html +128 -56
- data/doc/classes/Dnsruby/RR/TSIG.src/M000041.html +24 -0
- data/doc/classes/Dnsruby/RR/TSIG.src/M000042.html +39 -7
- data/doc/classes/Dnsruby/RR/TSIG.src/M000043.html +110 -48
- data/doc/classes/Dnsruby/RR/TSIG.src/M000044.html +19 -20
- data/doc/classes/Dnsruby/RR/TSIG.src/M000045.html +11 -23
- data/doc/classes/Dnsruby/RR/TSIG.src/M000046.html +22 -17
- data/doc/classes/Dnsruby/RR/TSIG.src/M000047.html +7 -19
- data/doc/classes/Dnsruby/RR/TSIG.src/M000048.html +14 -7
- data/doc/classes/Dnsruby/RRSet.html +39 -39
- data/doc/classes/Dnsruby/RRSet.src/{M000187.html → M000158.html} +0 -0
- data/doc/classes/Dnsruby/RRSet.src/M000159.html +30 -4
- data/doc/classes/Dnsruby/RRSet.src/M000160.html +4 -4
- data/doc/classes/Dnsruby/RRSet.src/M000161.html +5 -29
- data/doc/classes/Dnsruby/RRSet.src/M000162.html +4 -4
- data/doc/classes/Dnsruby/RRSet.src/M000163.html +4 -6
- data/doc/classes/Dnsruby/RRSet.src/M000164.html +4 -4
- data/doc/classes/Dnsruby/Refused.html +6 -0
- data/doc/classes/Dnsruby/Resolv.html +120 -119
- data/doc/classes/Dnsruby/Resolv.src/{M000136.html → M000108.html} +1 -1
- data/doc/classes/Dnsruby/Resolv.src/M000109.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000110.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000111.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000112.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000113.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000114.html +4 -4
- data/doc/classes/Dnsruby/Resolv.src/M000115.html +5 -4
- data/doc/classes/Dnsruby/Resolv.src/M000116.html +6 -5
- data/doc/classes/Dnsruby/Resolv.src/M000117.html +15 -6
- data/doc/classes/Dnsruby/Resolv.src/M000118.html +5 -15
- data/doc/classes/Dnsruby/Resolv.src/M000119.html +6 -5
- data/doc/classes/Dnsruby/Resolv.src/M000120.html +11 -6
- data/doc/classes/Dnsruby/ResolvError.html +6 -0
- data/doc/classes/Dnsruby/ResolvTimeout.html +6 -0
- data/doc/classes/Dnsruby/Resolver.html +292 -179
- data/doc/classes/Dnsruby/Resolver.src/{M000239.html → M000203.html} +1 -1
- data/doc/classes/Dnsruby/Resolver.src/{M000240.html → M000204.html} +2 -2
- data/doc/classes/Dnsruby/Resolver.src/{M000241.html → M000205.html} +1 -1
- data/doc/classes/Dnsruby/{SingleResolver.src/M000153.html → Resolver.src/M000206.html} +2 -2
- data/doc/classes/Dnsruby/{SingleResolver.src/M000154.html → Resolver.src/M000207.html} +8 -6
- data/doc/classes/Dnsruby/Resolver.src/M000208.html +28 -0
- data/doc/classes/Dnsruby/Resolver.src/{M000242.html → M000209.html} +1 -1
- data/doc/classes/Dnsruby/Resolver.src/{M000243.html → M000210.html} +5 -2
- data/doc/classes/Dnsruby/Resolver.src/M000211.html +7 -7
- data/doc/classes/Dnsruby/Resolver.src/M000212.html +8 -7
- data/doc/classes/Dnsruby/Resolver.src/M000213.html +4 -13
- data/doc/classes/Dnsruby/Resolver.src/M000214.html +6 -14
- data/doc/classes/Dnsruby/Resolver.src/M000215.html +5 -4
- data/doc/classes/Dnsruby/Resolver.src/M000216.html +4 -33
- data/doc/classes/Dnsruby/Resolver.src/M000217.html +5 -7
- data/doc/classes/Dnsruby/Resolver.src/M000218.html +5 -8
- data/doc/classes/Dnsruby/Resolver.src/M000219.html +5 -4
- data/doc/classes/Dnsruby/Resolver.src/M000220.html +5 -6
- data/doc/classes/Dnsruby/Resolver.src/M000221.html +4 -4
- data/doc/classes/Dnsruby/Resolver.src/M000222.html +4 -4
- data/doc/classes/Dnsruby/Resolver.src/M000223.html +4 -4
- data/doc/classes/Dnsruby/Resolver.src/M000224.html +4 -4
- data/doc/classes/Dnsruby/Resolver.src/M000225.html +4 -4
- data/doc/classes/Dnsruby/Resolver.src/M000226.html +12 -5
- data/doc/classes/Dnsruby/Resolver.src/M000227.html +4 -5
- data/doc/classes/Dnsruby/Resolver.src/M000228.html +9 -5
- data/doc/classes/Dnsruby/Resolver.src/M000229.html +4 -5
- data/doc/classes/Dnsruby/ServFail.html +6 -0
- data/doc/classes/Dnsruby/SingleResolver.html +182 -77
- data/doc/classes/Dnsruby/SingleResolver.src/{M000149.html → M000121.html} +4 -4
- data/doc/classes/Dnsruby/SingleResolver.src/M000122.html +22 -4
- data/doc/classes/Dnsruby/SingleResolver.src/M000123.html +4 -5
- data/doc/classes/Dnsruby/SingleResolver.src/M000124.html +5 -35
- data/doc/classes/Dnsruby/SingleResolver.src/M000125.html +36 -4
- data/doc/classes/Dnsruby/SingleResolver.src/M000126.html +4 -7
- data/doc/classes/Dnsruby/SingleResolver.src/M000127.html +7 -11
- data/doc/classes/Dnsruby/SingleResolver.src/M000128.html +9 -35
- data/doc/classes/Dnsruby/SingleResolver.src/M000129.html +39 -11
- data/doc/classes/Dnsruby/SingleResolver.src/M000130.html +13 -7
- data/doc/classes/Dnsruby/SingleResolver.src/M000131.html +35 -0
- data/doc/classes/Dnsruby/SingleResolver.src/{M000157.html → M000132.html} +1 -1
- data/doc/classes/Dnsruby/TheLog.html +17 -17
- data/doc/classes/Dnsruby/TheLog.src/{M000188.html → M000182.html} +0 -0
- data/doc/classes/Dnsruby/TheLog.src/{M000190.html → M000183.html} +0 -0
- data/doc/classes/Dnsruby/TheLog.src/{M000191.html → M000184.html} +0 -0
- data/doc/classes/Dnsruby/TheLog.src/{M000189.html → M000185.html} +0 -0
- data/doc/classes/Dnsruby/TheLog.src/{M000217.html → M000186.html} +0 -0
- data/doc/classes/Dnsruby/TheLog.src/{M000218.html → M000187.html} +0 -0
- data/doc/classes/Dnsruby/Update.html +34 -34
- data/doc/classes/Dnsruby/Update.src/{M000219.html → M000185.html} +0 -0
- data/doc/classes/Dnsruby/Update.src/{M000193.html → M000186.html} +0 -1
- data/doc/classes/Dnsruby/Update.src/{M000194.html → M000187.html} +1 -1
- data/doc/classes/Dnsruby/Update.src/M000188.html +32 -0
- data/doc/classes/Dnsruby/Update.src/{M000220.html → M000189.html} +0 -1
- data/doc/classes/Dnsruby/Update.src/{M000221.html → M000190.html} +1 -1
- data/doc/classes/Dnsruby/Update.src/M000191.html +26 -17
- data/doc/classes/Dnsruby/Update.src/M000192.html +19 -17
- data/doc/classes/Dnsruby/ZoneTransfer.html +65 -13
- data/doc/classes/Dnsruby/{CodeMapper.src/M000163.html → ZoneTransfer.src/M000092.html} +4 -4
- data/doc/classes/Dnsruby/ZoneTransfer.src/{M000095.html → M000093.html} +3 -1
- data/doc/classes/Dnsruby/ZoneTransfer.src/{M000103.html → M000094.html} +1 -1
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.html +22 -5
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/{M000104.html → M000095.html} +1 -1
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000096.html +19 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/Dnsruby/Config_rb.html +1 -1
- data/doc/files/lib/Dnsruby/DNSSEC_rb.html +1 -1
- data/doc/files/lib/Dnsruby/DNS_rb.html +1 -1
- data/doc/files/lib/Dnsruby/Hosts_rb.html +1 -1
- data/doc/files/lib/Dnsruby/Resolver_rb.html +1 -1
- data/doc/files/lib/Dnsruby/SingleResolver_rb.html +1 -1
- data/doc/files/lib/Dnsruby/TheLog_rb.html +1 -1
- data/doc/files/lib/Dnsruby/code_mapper_rb.html +1 -1
- data/doc/files/lib/Dnsruby/event_machine_interface_rb.html +1 -1
- data/doc/files/lib/Dnsruby/ipv4_rb.html +1 -1
- data/doc/files/lib/Dnsruby/ipv6_rb.html +1 -1
- data/doc/files/lib/Dnsruby/message_rb.html +1 -1
- data/doc/files/lib/Dnsruby/name_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/AAAA_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/AFSDB_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/A_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/CERT_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/HINFO_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/IN_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/ISDN_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/LOC_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/MINFO_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/MX_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/NAPTR_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/NSAP_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/OPT_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/PX_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/RP_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/RT_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/SOA_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/SPF_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/SRV_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/TKEY_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/TSIG_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/TXT_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/X25_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/domain_name_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/generic_rb.html +1 -1
- data/doc/files/lib/Dnsruby/resource/resource_rb.html +1 -1
- data/doc/files/lib/Dnsruby/select_thread_rb.html +1 -1
- data/doc/files/lib/Dnsruby/update_rb.html +1 -1
- data/doc/files/lib/Dnsruby/zone_transfer_rb.html +1 -1
- data/doc/files/lib/dnsruby_rb.html +1 -1
- data/doc/fr_class_index.html +0 -2
- data/doc/fr_method_index.html +207 -213
- data/doc/index.html +1 -1
- data/lib/Dnsruby/Config.rb +11 -5
- data/lib/Dnsruby/DNS.rb +97 -50
- data/lib/Dnsruby/Hosts.rb +9 -2
- data/lib/Dnsruby/Resolver.rb +116 -31
- data/lib/Dnsruby/SingleResolver.rb +131 -75
- data/lib/Dnsruby/TheLog.rb +1 -2
- data/lib/Dnsruby/event_machine_interface.rb +9 -9
- data/lib/Dnsruby/ipv4.rb +6 -15
- data/lib/Dnsruby/ipv6.rb +23 -21
- data/lib/Dnsruby/message.rb +141 -56
- data/lib/Dnsruby/name.rb +15 -7
- data/lib/Dnsruby/resource/A.rb +1 -1
- data/lib/Dnsruby/resource/AAAA.rb +1 -1
- data/lib/Dnsruby/resource/IN.rb +5 -5
- data/lib/Dnsruby/resource/MINFO.rb +6 -2
- data/lib/Dnsruby/resource/OPT.rb +76 -19
- data/lib/Dnsruby/resource/SOA.rb +6 -0
- data/lib/Dnsruby/resource/SRV.rb +25 -21
- data/lib/Dnsruby/resource/TKEY.rb +14 -6
- data/lib/Dnsruby/resource/TSIG.rb +367 -120
- data/lib/Dnsruby/resource/domain_name.rb +1 -5
- data/lib/Dnsruby/resource/generic.rb +5 -2
- data/lib/Dnsruby/resource/resource.rb +35 -17
- data/lib/Dnsruby/select_thread.rb +33 -26
- data/lib/Dnsruby/update.rb +3 -4
- data/lib/Dnsruby/zone_transfer.rb +46 -12
- data/lib/dnsruby.rb +56 -44
- data/test/tc_axfr.rb +45 -7
- data/test/tc_dns.rb +1 -2
- data/test/tc_em_deferrable.rb +7 -16
- data/test/tc_escapedchars.rb +5 -21
- data/test/tc_event_machine_deferrable.rb +1 -1
- data/test/tc_event_machine_res.rb +1 -1
- data/test/tc_event_machine_single_res.rb +4 -4
- data/test/tc_event_machine_soak.rb +1 -1
- data/test/tc_packet_unique_push.rb +1 -1
- data/test/tc_question.rb +16 -17
- data/test/tc_res_config.rb +1 -1
- data/test/tc_res_opt.rb +4 -0
- data/test/tc_resolver.rb +0 -1
- data/test/tc_rr-opt.rb +45 -6
- data/test/tc_single_resolver.rb +1 -3
- data/test/tc_soak.rb +1 -5
- data/test/tc_soak_base.rb +1 -1
- data/test/tc_tcp.rb +1 -1
- data/test/tc_tkey.rb +1 -32
- data/test/tc_tsig.rb +196 -0
- data/test/ts_offline.rb +3 -2
- data/test/ts_online.rb +59 -14
- metadata +69 -318
- data/doc/classes/Dnsruby/Classes.src/M000159.html +0 -19
- data/doc/classes/Dnsruby/Classes.src/M000185.html +0 -23
- data/doc/classes/Dnsruby/Classes.src/M000186.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.src/M000130.html +0 -18
- data/doc/classes/Dnsruby/CodeMapper.src/M000131.html +0 -18
- data/doc/classes/Dnsruby/CodeMapper.src/M000132.html +0 -33
- data/doc/classes/Dnsruby/CodeMapper.src/M000158.html +0 -18
- data/doc/classes/Dnsruby/CodeMapper.src/M000159.html +0 -33
- data/doc/classes/Dnsruby/CodeMapper.src/M000160.html +0 -21
- data/doc/classes/Dnsruby/CodeMapper.src/M000161.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.src/M000162.html +0 -19
- data/doc/classes/Dnsruby/CodeMapper.src/M000164.html +0 -22
- data/doc/classes/Dnsruby/CodeMapper.src/M000165.html +0 -22
- data/doc/classes/Dnsruby/CodeMapper.src/M000166.html +0 -22
- data/doc/classes/Dnsruby/Config.src/M000108.html +0 -21
- data/doc/classes/Dnsruby/Config.src/M000126.html +0 -19
- data/doc/classes/Dnsruby/Config.src/M000127.html +0 -19
- data/doc/classes/Dnsruby/Config.src/M000128.html +0 -21
- data/doc/classes/Dnsruby/Config.src/M000129.html +0 -21
- data/doc/classes/Dnsruby/Config.src/M000130.html +0 -38
- data/doc/classes/Dnsruby/Config.src/M000131.html +0 -26
- data/doc/classes/Dnsruby/Config.src/M000132.html +0 -22
- data/doc/classes/Dnsruby/Config.src/M000133.html +0 -27
- data/doc/classes/Dnsruby/Config.src/M000134.html +0 -22
- data/doc/classes/Dnsruby/Config.src/M000135.html +0 -21
- data/doc/classes/Dnsruby/DNS.src/M000206.html +0 -28
- data/doc/classes/Dnsruby/DNS.src/M000207.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000208.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000209.html +0 -41
- data/doc/classes/Dnsruby/DNS.src/M000210.html +0 -32
- data/doc/classes/Dnsruby/DNS.src/M000211.html +0 -50
- data/doc/classes/Dnsruby/DNS.src/M000227.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000228.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000229.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000230.html +0 -18
- data/doc/classes/Dnsruby/DNS.src/M000231.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000232.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000233.html +0 -28
- data/doc/classes/Dnsruby/DNS.src/M000234.html +0 -19
- data/doc/classes/Dnsruby/DNS.src/M000235.html +0 -20
- data/doc/classes/Dnsruby/DNS.src/M000236.html +0 -41
- data/doc/classes/Dnsruby/DNS.src/M000237.html +0 -32
- data/doc/classes/Dnsruby/DNS.src/M000238.html +0 -50
- data/doc/classes/Dnsruby/DNS/DecodeError.html +0 -111
- data/doc/classes/Dnsruby/DNS/EncodeError.html +0 -111
- data/doc/classes/Dnsruby/EventMachineInterface.html +0 -327
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000105.html +0 -32
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000106.html +0 -25
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000107.html +0 -29
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000108.html +0 -21
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000109.html +0 -35
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000110.html +0 -19
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000111.html +0 -23
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000112.html +0 -18
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000113.html +0 -28
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000114.html +0 -41
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000115.html +0 -28
- data/doc/classes/Dnsruby/EventMachineInterface.src/M000116.html +0 -24
- data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.html +0 -154
- data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000123.html +0 -20
- data/doc/classes/Dnsruby/EventMachineInterface/EmTcpHandler.src/M000124.html +0 -32
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.html +0 -237
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000117.html +0 -18
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000118.html +0 -19
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000119.html +0 -35
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000120.html +0 -30
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000121.html +0 -19
- data/doc/classes/Dnsruby/EventMachineInterface/EmUdpHandler.src/M000122.html +0 -23
- data/doc/classes/Dnsruby/Header.src/M000199.html +0 -21
- data/doc/classes/Dnsruby/Header.src/M000200.html +0 -20
- data/doc/classes/Dnsruby/Header.src/M000201.html +0 -32
- data/doc/classes/Dnsruby/Header.src/M000202.html +0 -26
- data/doc/classes/Dnsruby/Header.src/M000203.html +0 -47
- data/doc/classes/Dnsruby/Header.src/M000204.html +0 -28
- data/doc/classes/Dnsruby/Header.src/M000205.html +0 -18
- data/doc/classes/Dnsruby/Header.src/M000206.html +0 -18
- data/doc/classes/Dnsruby/Header.src/M000207.html +0 -30
- data/doc/classes/Dnsruby/Hosts.src/M000141.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000142.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000143.html +0 -49
- data/doc/classes/Dnsruby/Hosts.src/M000169.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000170.html +0 -49
- data/doc/classes/Dnsruby/Hosts.src/M000171.html +0 -19
- data/doc/classes/Dnsruby/Hosts.src/M000172.html +0 -20
- data/doc/classes/Dnsruby/Hosts.src/M000173.html +0 -21
- data/doc/classes/Dnsruby/Hosts.src/M000174.html +0 -19
- data/doc/classes/Dnsruby/Hosts.src/M000175.html +0 -20
- data/doc/classes/Dnsruby/IPv4.src/M000149.html +0 -32
- data/doc/classes/Dnsruby/IPv4.src/M000150.html +0 -32
- data/doc/classes/Dnsruby/IPv4.src/M000157.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000177.html +0 -32
- data/doc/classes/Dnsruby/IPv4.src/M000178.html +0 -21
- data/doc/classes/Dnsruby/IPv4.src/M000179.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000180.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000181.html +0 -19
- data/doc/classes/Dnsruby/IPv4.src/M000182.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000183.html +0 -18
- data/doc/classes/Dnsruby/IPv4.src/M000184.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000185.html +0 -21
- data/doc/classes/Dnsruby/IPv6.src/M000186.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000187.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000188.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000209.html +0 -21
- data/doc/classes/Dnsruby/IPv6.src/M000211.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000212.html +0 -21
- data/doc/classes/Dnsruby/IPv6.src/M000213.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000214.html +0 -18
- data/doc/classes/Dnsruby/IPv6.src/M000215.html +0 -18
- data/doc/classes/Dnsruby/Message.src/M000087.html +0 -54
- data/doc/classes/Dnsruby/Message.src/M000088.html +0 -42
- data/doc/classes/Dnsruby/Message.src/M000089.html +0 -45
- data/doc/classes/Dnsruby/Message.src/M000090.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000091.html +0 -21
- data/doc/classes/Dnsruby/Message.src/M000092.html +0 -20
- data/doc/classes/Dnsruby/Message.src/M000093.html +0 -18
- data/doc/classes/Dnsruby/Message.src/M000094.html +0 -54
- data/doc/classes/Dnsruby/Message.src/M000095.html +0 -42
- data/doc/classes/Dnsruby/Message.src/M000096.html +0 -45
- data/doc/classes/Dnsruby/Name.src/M000062.html +0 -19
- data/doc/classes/Dnsruby/Name.src/M000064.html +0 -22
- data/doc/classes/Dnsruby/Name.src/M000065.html +0 -18
- data/doc/classes/Dnsruby/Name.src/M000066.html +0 -20
- data/doc/classes/Dnsruby/Name.src/M000067.html +0 -18
- data/doc/classes/Dnsruby/Name.src/M000068.html +0 -21
- data/doc/classes/Dnsruby/Name.src/M000069.html +0 -19
- data/doc/classes/Dnsruby/Name.src/M000071.html +0 -22
- data/doc/classes/Dnsruby/Name.src/M000072.html +0 -18
- data/doc/classes/Dnsruby/Name.src/M000073.html +0 -20
- data/doc/classes/Dnsruby/Name/Label.src/M000071.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000072.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000073.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000074.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000079.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000080.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000081.html +0 -18
- data/doc/classes/Dnsruby/Name/Label.src/M000082.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000014.html +0 -24
- data/doc/classes/Dnsruby/RR.src/M000015.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000016.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000017.html +0 -22
- data/doc/classes/Dnsruby/RR.src/M000018.html +0 -22
- data/doc/classes/Dnsruby/RR.src/M000019.html +0 -18
- data/doc/classes/Dnsruby/RR.src/M000020.html +0 -22
- data/doc/classes/Dnsruby/RR.src/M000021.html +0 -24
- data/doc/classes/Dnsruby/RR/DomainName.src/M000058.html +0 -22
- data/doc/classes/Dnsruby/RR/Generic.src/M000041.html +0 -25
- data/doc/classes/Dnsruby/RR/Generic.src/M000048.html +0 -25
- data/doc/classes/Dnsruby/RR/IN/A.src/M000020.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/A.src/M000026.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/A.src/M000027.html +0 -18
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000017.html +0 -22
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000023.html +0 -26
- data/doc/classes/Dnsruby/RR/IN/SRV.src/M000024.html +0 -22
- data/doc/classes/Dnsruby/RR/IN/WKS.src/M000028.html +0 -20
- data/doc/classes/Dnsruby/RR/LOC.src/M000032.html +0 -32
- data/doc/classes/Dnsruby/RR/LOC.src/M000033.html +0 -23
- data/doc/classes/Dnsruby/RR/LOC.src/M000034.html +0 -25
- data/doc/classes/Dnsruby/RR/LOC.src/M000035.html +0 -21
- data/doc/classes/Dnsruby/RR/LOC.src/M000036.html +0 -20
- data/doc/classes/Dnsruby/RR/LOC.src/M000037.html +0 -23
- data/doc/classes/Dnsruby/RR/NSAP.src/M000056.html +0 -31
- data/doc/classes/Dnsruby/RR/NSAP.src/M000061.html +0 -19
- data/doc/classes/Dnsruby/RR/NSAP.src/M000062.html +0 -22
- data/doc/classes/Dnsruby/RR/NSAP.src/M000063.html +0 -31
- data/doc/classes/Dnsruby/RR/RP.src/M000057.html +0 -19
- data/doc/classes/Dnsruby/RR/SOA.src/M000046.html +0 -24
- data/doc/classes/Dnsruby/RR/SOA.src/M000047.html +0 -27
- data/doc/classes/Dnsruby/RR/TKEY.src/M000030.html +0 -29
- data/doc/classes/Dnsruby/RR/TKEY.src/M000031.html +0 -30
- data/doc/classes/Dnsruby/RR/TSIG.src/M000049.html +0 -29
- data/doc/classes/Dnsruby/RR/TSIG.src/M000050.html +0 -71
- data/doc/classes/Dnsruby/RR/TSIG.src/M000051.html +0 -34
- data/doc/classes/Dnsruby/RR/TSIG.src/M000052.html +0 -37
- data/doc/classes/Dnsruby/RR/TSIG.src/M000053.html +0 -31
- data/doc/classes/Dnsruby/RR/TSIG.src/M000054.html +0 -34
- data/doc/classes/Dnsruby/RR/TSIG.src/M000055.html +0 -22
- data/doc/classes/Dnsruby/RR/TSIG.src/M000056.html +0 -29
- data/doc/classes/Dnsruby/RR/TXT.src/M000041.html +0 -18
- data/doc/classes/Dnsruby/RR/TXT.src/M000042.html +0 -18
- data/doc/classes/Dnsruby/RR/TXT.src/M000043.html +0 -20
- data/doc/classes/Dnsruby/RR/TXT.src/M000044.html +0 -27
- data/doc/classes/Dnsruby/RR/TXT.src/M000045.html +0 -25
- data/doc/classes/Dnsruby/RR/X25.src/M000038.html +0 -18
- data/doc/classes/Dnsruby/RR/X25.src/M000039.html +0 -18
- data/doc/classes/Dnsruby/RR/X25.src/M000040.html +0 -22
- data/doc/classes/Dnsruby/RRSet.src/M000165.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000166.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000188.html +0 -44
- data/doc/classes/Dnsruby/RRSet.src/M000189.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000190.html +0 -20
- data/doc/classes/Dnsruby/RRSet.src/M000191.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000192.html +0 -18
- data/doc/classes/Dnsruby/RRSet.src/M000193.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000121.html +0 -25
- data/doc/classes/Dnsruby/Resolv.src/M000137.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000138.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000139.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000140.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000141.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000142.html +0 -18
- data/doc/classes/Dnsruby/Resolv.src/M000143.html +0 -19
- data/doc/classes/Dnsruby/Resolv.src/M000144.html +0 -20
- data/doc/classes/Dnsruby/Resolv.src/M000145.html +0 -29
- data/doc/classes/Dnsruby/Resolv.src/M000146.html +0 -19
- data/doc/classes/Dnsruby/Resolv.src/M000147.html +0 -20
- data/doc/classes/Dnsruby/Resolv.src/M000148.html +0 -25
- data/doc/classes/Dnsruby/Resolver.src/M000230.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000231.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000232.html +0 -26
- data/doc/classes/Dnsruby/Resolver.src/M000233.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000234.html +0 -23
- data/doc/classes/Dnsruby/Resolver.src/M000235.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000236.html +0 -42
- data/doc/classes/Dnsruby/Resolver.src/M000244.html +0 -21
- data/doc/classes/Dnsruby/Resolver.src/M000245.html +0 -22
- data/doc/classes/Dnsruby/Resolver.src/M000246.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000247.html +0 -20
- data/doc/classes/Dnsruby/Resolver.src/M000248.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000249.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000250.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000251.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000252.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000253.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000254.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000255.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000256.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000257.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000258.html +0 -19
- data/doc/classes/Dnsruby/Resolver.src/M000259.html +0 -26
- data/doc/classes/Dnsruby/Resolver.src/M000260.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000261.html +0 -23
- data/doc/classes/Dnsruby/Resolver.src/M000262.html +0 -18
- data/doc/classes/Dnsruby/Resolver.src/M000263.html +0 -42
- data/doc/classes/Dnsruby/SelectInterface.html +0 -236
- data/doc/classes/Dnsruby/SelectInterface.src/M000001.html +0 -19
- data/doc/classes/Dnsruby/SelectInterface.src/M000002.html +0 -18
- data/doc/classes/Dnsruby/SelectInterface.src/M000003.html +0 -18
- data/doc/classes/Dnsruby/SelectInterface.src/M000004.html +0 -18
- data/doc/classes/Dnsruby/SelectInterface.src/M000005.html +0 -21
- data/doc/classes/Dnsruby/SelectInterface.src/M000006.html +0 -19
- data/doc/classes/Dnsruby/SelectInterface.src/M000007.html +0 -18
- data/doc/classes/Dnsruby/SingleResolver.src/M000150.html +0 -19
- data/doc/classes/Dnsruby/SingleResolver.src/M000151.html +0 -49
- data/doc/classes/Dnsruby/SingleResolver.src/M000155.html +0 -51
- data/doc/classes/Dnsruby/SingleResolver.src/M000156.html +0 -26
- data/doc/classes/Dnsruby/TheLog.src/M000216.html +0 -20
- data/doc/classes/Dnsruby/Update.src/M000195.html +0 -41
- data/doc/classes/Dnsruby/Update.src/M000196.html +0 -34
- data/doc/classes/Dnsruby/Update.src/M000222.html +0 -41
- data/doc/classes/Dnsruby/Update.src/M000223.html +0 -34
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000096.html +0 -35
- data/doc/classes/Dnsruby/ZoneTransfer.src/M000102.html +0 -22
- data/doc/classes/Dnsruby/ZoneTransfer/Delta.src/M000097.html +0 -19
- data/doc/files/lib/Dnsruby/SelectInterface_rb.html +0 -108
data/lib/Dnsruby/ipv4.rb
CHANGED
|
@@ -14,19 +14,8 @@
|
|
|
14
14
|
#limitations under the License.
|
|
15
15
|
#++
|
|
16
16
|
module Dnsruby
|
|
17
|
-
#== Dnsruby::IPv4 class
|
|
18
|
-
#=== class methods
|
|
19
|
-
#* Dnsruby::IPv4.create(address)
|
|
20
|
-
#
|
|
21
|
-
#=== methods
|
|
22
|
-
#* Dnsruby::IPv4#to_s
|
|
23
|
-
#* Dnsruby::IPv4#to_name
|
|
24
|
-
#
|
|
25
|
-
#=== constants
|
|
26
|
-
#* Dnsruby::IPv4::Regex
|
|
27
|
-
# regular expression for IPv4 address.
|
|
28
|
-
#
|
|
29
17
|
class IPv4
|
|
18
|
+
# Regular expression IPv4 addresses must match
|
|
30
19
|
Regex = /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/
|
|
31
20
|
|
|
32
21
|
def self.create(arg)
|
|
@@ -47,19 +36,21 @@ module Dnsruby
|
|
|
47
36
|
end
|
|
48
37
|
end
|
|
49
38
|
|
|
50
|
-
def initialize(address)
|
|
39
|
+
def initialize(address) #:nodoc:
|
|
51
40
|
unless address.kind_of?(String) && address.length == 4
|
|
52
41
|
raise ArgumentError.new('IPv4 address must be 4 bytes')
|
|
53
42
|
end
|
|
54
43
|
@address = address
|
|
55
44
|
end
|
|
45
|
+
|
|
46
|
+
# A String representation of thi IPv4 address.
|
|
56
47
|
attr_reader :address
|
|
57
48
|
|
|
58
|
-
def to_s
|
|
49
|
+
def to_s #:nodoc:
|
|
59
50
|
return sprintf("%d.%d.%d.%d", *@address.unpack("CCCC"))
|
|
60
51
|
end
|
|
61
52
|
|
|
62
|
-
def inspect
|
|
53
|
+
def inspect #:nodoc:
|
|
63
54
|
return "#<#{self.class} #{self.to_s}>"
|
|
64
55
|
end
|
|
65
56
|
|
data/lib/Dnsruby/ipv6.rb
CHANGED
|
@@ -14,47 +14,45 @@
|
|
|
14
14
|
#limitations under the License.
|
|
15
15
|
#++
|
|
16
16
|
module Dnsruby
|
|
17
|
-
|
|
18
|
-
#=== class methods
|
|
19
|
-
#* Dnsruby::IPv6.create(address)
|
|
20
|
-
#
|
|
21
|
-
#=== methods
|
|
22
|
-
#* Dnsruby::IPv6#to_s
|
|
23
|
-
#* Dnsruby::IPv6#to_name
|
|
24
|
-
#
|
|
25
|
-
#=== constants
|
|
26
|
-
#* Dnsruby::IPv6::Regex
|
|
27
|
-
# regular expression for IPv6 address.
|
|
28
|
-
#
|
|
17
|
+
#Dnsruby::IPv6 class
|
|
29
18
|
class IPv6
|
|
19
|
+
#IPv6 address format a:b:c:d:e:f:g:h
|
|
30
20
|
Regex_8Hex = /\A
|
|
31
21
|
(?:[0-9A-Fa-f]{1,4}:){7}
|
|
32
22
|
[0-9A-Fa-f]{1,4}
|
|
33
23
|
\z/x
|
|
34
24
|
|
|
25
|
+
#Compresses IPv6 format a::b
|
|
35
26
|
Regex_CompressedHex = /\A
|
|
36
27
|
((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::
|
|
37
28
|
((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)
|
|
38
29
|
\z/x
|
|
39
30
|
|
|
31
|
+
# IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z
|
|
40
32
|
Regex_6Hex4Dec = /\A
|
|
41
33
|
((?:[0-9A-Fa-f]{1,4}:){6,6})
|
|
42
34
|
(\d+)\.(\d+)\.(\d+)\.(\d+)
|
|
43
35
|
\z/x
|
|
44
36
|
|
|
37
|
+
# Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z
|
|
45
38
|
Regex_CompressedHex4Dec = /\A
|
|
46
39
|
((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?) ::
|
|
47
40
|
((?:[0-9A-Fa-f]{1,4}:)*)
|
|
48
41
|
(\d+)\.(\d+)\.(\d+)\.(\d+)
|
|
49
42
|
\z/x
|
|
50
43
|
|
|
44
|
+
# A composite IPv6 address RegExp
|
|
51
45
|
Regex = /
|
|
52
46
|
(?:#{Regex_8Hex}) |
|
|
53
47
|
(?:#{Regex_CompressedHex}) |
|
|
54
48
|
(?:#{Regex_6Hex4Dec}) |
|
|
55
49
|
(?:#{Regex_CompressedHex4Dec})/x
|
|
56
50
|
|
|
57
|
-
|
|
51
|
+
# Created a new IPv6 address from +arg+ which may be:
|
|
52
|
+
#
|
|
53
|
+
#* IPv6:: returns +arg+
|
|
54
|
+
#* String:: +arg+ must match one of the IPv6::Regex* constants
|
|
55
|
+
def self.create(arg)
|
|
58
56
|
case arg
|
|
59
57
|
when IPv6
|
|
60
58
|
return arg
|
|
@@ -100,12 +98,14 @@ module Dnsruby
|
|
|
100
98
|
end
|
|
101
99
|
end
|
|
102
100
|
|
|
103
|
-
def initialize(address)
|
|
101
|
+
def initialize(address) #:nodoc:
|
|
104
102
|
unless address.kind_of?(String) && address.length == 16
|
|
105
103
|
raise ArgumentError.new('IPv6 address must be 16 bytes')
|
|
106
104
|
end
|
|
107
105
|
@address = address
|
|
108
106
|
end
|
|
107
|
+
|
|
108
|
+
# The raw IPv6 address as a String
|
|
109
109
|
attr_reader :address
|
|
110
110
|
|
|
111
111
|
def to_s
|
|
@@ -116,22 +116,24 @@ module Dnsruby
|
|
|
116
116
|
return address
|
|
117
117
|
end
|
|
118
118
|
|
|
119
|
-
def inspect
|
|
119
|
+
def inspect #:nodoc:
|
|
120
120
|
return "#<#{self.class} #{self.to_s}>"
|
|
121
121
|
end
|
|
122
|
-
|
|
122
|
+
|
|
123
|
+
#Turns this IPv6 address into a Dnsruby::Name
|
|
124
|
+
#--
|
|
125
|
+
# ip6.arpa should be searched too. [RFC3152]
|
|
123
126
|
def to_name
|
|
124
|
-
# ip6.arpa should be searched too. [RFC3152]
|
|
125
127
|
return Name.create(
|
|
126
|
-
# @address.unpack("H32")[0].split(//).reverse + ['ip6', 'arpa'])
|
|
127
|
-
|
|
128
|
+
# @address.unpack("H32")[0].split(//).reverse + ['ip6', 'arpa'])
|
|
129
|
+
@address.unpack("H32")[0].split(//).reverse.join(".") + ".ip6.arpa")
|
|
128
130
|
end
|
|
129
131
|
|
|
130
|
-
def ==(other)
|
|
132
|
+
def ==(other) #:nodoc:
|
|
131
133
|
return @address == other.address
|
|
132
134
|
end
|
|
133
135
|
|
|
134
|
-
def eql?(other)
|
|
136
|
+
def eql?(other) #:nodoc:
|
|
135
137
|
return self == other
|
|
136
138
|
end
|
|
137
139
|
|
data/lib/Dnsruby/message.rb
CHANGED
|
@@ -59,13 +59,13 @@ module Dnsruby
|
|
|
59
59
|
# Dnsruby::Message#encode
|
|
60
60
|
# Dnsruby::Message::decode(data)
|
|
61
61
|
class Message
|
|
62
|
-
#
|
|
62
|
+
#Create a new Message. Takes optional name, type and class
|
|
63
63
|
#
|
|
64
|
-
#
|
|
64
|
+
#type defaults to A, and klass defaults to IN
|
|
65
65
|
#
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
#* Dnsruby::Message.new("example.com") # defaults to A, IN
|
|
67
|
+
#* Dnsruby::Message.new("example.com", 'AAAA')
|
|
68
|
+
#* Dnsruby::Message.new("example.com", Dnsruby::Types.PTR, "HS")
|
|
69
69
|
#
|
|
70
70
|
def initialize(*args)
|
|
71
71
|
@header = Header.new()
|
|
@@ -73,6 +73,10 @@ module Dnsruby
|
|
|
73
73
|
@answer = []
|
|
74
74
|
@authority = []
|
|
75
75
|
@additional = []
|
|
76
|
+
@tsigstate = :Unsigned
|
|
77
|
+
@signing = false
|
|
78
|
+
@tsigkey = nil
|
|
79
|
+
@answerfrom = nil
|
|
76
80
|
type = Types.A
|
|
77
81
|
klass = Classes.IN
|
|
78
82
|
if (args.length > 0)
|
|
@@ -87,31 +91,41 @@ module Dnsruby
|
|
|
87
91
|
end
|
|
88
92
|
end
|
|
89
93
|
|
|
90
|
-
#
|
|
94
|
+
#The question section, an array of Dnsruby::Question objects.
|
|
91
95
|
attr_reader :question
|
|
92
96
|
|
|
93
|
-
#
|
|
97
|
+
#The answer section, an array of Dnsruby::RR objects.
|
|
94
98
|
attr_reader :answer
|
|
95
|
-
#
|
|
99
|
+
#The authority section, an array of Dnsruby::RR objects.
|
|
96
100
|
attr_reader :authority
|
|
97
|
-
#
|
|
101
|
+
#The additional section, an array of Dnsruby::RR objects.
|
|
98
102
|
attr_reader :additional
|
|
99
|
-
#
|
|
103
|
+
#The header section, a Dnsruby::Header object.
|
|
100
104
|
attr_accessor :header
|
|
101
105
|
|
|
102
|
-
#
|
|
106
|
+
#If this Message is a response from a server, then answerfrom contains the address of the server
|
|
103
107
|
attr_accessor :answerfrom
|
|
104
108
|
|
|
105
|
-
#
|
|
109
|
+
#If this Message is a response from a server, then answersize contains the size of the response
|
|
106
110
|
attr_accessor :answersize
|
|
107
111
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
#If this message has been verified using a TSIG RR then tsigerror contains
|
|
113
|
+
#the error code returned by the TSIG verification. The error will be an RCode
|
|
114
|
+
attr_accessor :tsigerror
|
|
115
|
+
|
|
116
|
+
#Can be
|
|
117
|
+
#* :Unsigned - the default state
|
|
118
|
+
#* :Signed - the outgoing message has been signed
|
|
119
|
+
#* :Verified - the incoming message has been verified
|
|
120
|
+
#* :Intermediate - the incoming message is an intermediate envelope in a TCP session
|
|
121
|
+
#in which only every 100th envelope must be signed
|
|
122
|
+
#* :Failed - the incoming response failed verification
|
|
113
123
|
attr_accessor :tsigstate
|
|
114
124
|
|
|
125
|
+
#--
|
|
126
|
+
attr_accessor :tsigstart
|
|
127
|
+
#++
|
|
128
|
+
|
|
115
129
|
def ==(other)
|
|
116
130
|
ret = false
|
|
117
131
|
if (other.kind_of?Message)
|
|
@@ -124,12 +138,12 @@ module Dnsruby
|
|
|
124
138
|
return ret
|
|
125
139
|
end
|
|
126
140
|
|
|
127
|
-
#
|
|
128
|
-
#
|
|
141
|
+
#Add a new Question to the Message. Takes either a Question,
|
|
142
|
+
#or a name, and an optional type and class.
|
|
129
143
|
#
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
144
|
+
#* msg.add_question(Question.new("example.com", 'MX'))
|
|
145
|
+
#* msg.add_question("example.com") # defaults to Types.A, Classes.IN
|
|
146
|
+
#* msg.add_question("example.com", Types.LOC)
|
|
133
147
|
def add_question(question, type=Types.A, klass=Classes.IN)
|
|
134
148
|
if (!question.kind_of?Question)
|
|
135
149
|
question = Question.new(question, type, klass)
|
|
@@ -193,22 +207,43 @@ module Dnsruby
|
|
|
193
207
|
|
|
194
208
|
# Returns the TSIG record from the ADDITIONAL section, if one is present.
|
|
195
209
|
def tsig
|
|
196
|
-
if (@additional.last
|
|
197
|
-
|
|
210
|
+
if (@additional.last)
|
|
211
|
+
if (@additional.last.rr_type == Types.TSIG)
|
|
212
|
+
return @additional.last
|
|
213
|
+
end
|
|
198
214
|
end
|
|
199
215
|
return nil
|
|
200
216
|
end
|
|
201
217
|
|
|
202
|
-
#
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
218
|
+
#Sets the TSIG to sign this message with. Can either be a Dnsruby::RR::TSIG
|
|
219
|
+
#object, or it can be a (name, key) tuple, or it can be a hash which takes
|
|
220
|
+
#Dnsruby::RR::TSIG attributes (e.g. name, key, fudge, etc.)
|
|
221
|
+
def set_tsig(*args)
|
|
222
|
+
if (args.length == 1)
|
|
223
|
+
if (args[0].instance_of?RR::TSIG)
|
|
224
|
+
@tsigkey = args[0]
|
|
225
|
+
elsif (args[0].instance_of?Hash)
|
|
226
|
+
@tsigkey = RR.create({:type=>'TSIG', :klass=>'ANY'}.merge(args[0]))
|
|
227
|
+
else
|
|
228
|
+
raise ArgumentError.new("Wrong type of argument to Dnsruby::Message#set_tsig - should be TSIG or Hash")
|
|
229
|
+
end
|
|
230
|
+
elsif (args.length == 2)
|
|
231
|
+
@tsigkey = RR.create({:type=>'TSIG', :klass=>'ANY', :name=>args[0], :key=>args[1]})
|
|
232
|
+
else
|
|
233
|
+
raise ArgumentError.new("Wrong number of arguments to Dnsruby::Message#set_tsig")
|
|
234
|
+
end
|
|
207
235
|
end
|
|
208
236
|
|
|
209
|
-
#
|
|
210
|
-
def
|
|
211
|
-
return (tsigstate == :
|
|
237
|
+
#Was this message signed by a TSIG?
|
|
238
|
+
def signed?
|
|
239
|
+
return (@tsigstate == :Signed ||
|
|
240
|
+
@tsigstate == :Verified ||
|
|
241
|
+
@tsigstate == :Failed)
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
#If this message was signed by a TSIG, was the TSIG verified?
|
|
245
|
+
def verified?
|
|
246
|
+
return (@tsigstate == :Verified)
|
|
212
247
|
end
|
|
213
248
|
|
|
214
249
|
def to_s
|
|
@@ -251,13 +286,32 @@ module Dnsruby
|
|
|
251
286
|
return retval;
|
|
252
287
|
end
|
|
253
288
|
|
|
289
|
+
#Signs the message. If used with no arguments, then the message must have already
|
|
290
|
+
#been set (set_tsig). Otherwise, the arguments can either be a Dnsruby::RR::TSIG
|
|
291
|
+
#object, or a (name, key) tuple, or a hash which takes
|
|
292
|
+
#Dnsruby::RR::TSIG attributes (e.g. name, key, fudge, etc.)
|
|
293
|
+
def sign!(*args)
|
|
294
|
+
if (args.length > 0)
|
|
295
|
+
set_tsig(*args)
|
|
296
|
+
sign!
|
|
297
|
+
else
|
|
298
|
+
if ((@tsigkey) && @tsigstate == :Unsigned)
|
|
299
|
+
@tsigkey.apply(self)
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
254
304
|
#Return the encoded form of the message
|
|
305
|
+
# If there is a TSIG record present and the record has not been signed
|
|
306
|
+
# then sign it
|
|
255
307
|
def encode
|
|
308
|
+
if ((@tsigkey) && @tsigstate == :Unsigned && !@signing)
|
|
309
|
+
@signing = true
|
|
310
|
+
sign!
|
|
311
|
+
@signing = false
|
|
312
|
+
end
|
|
256
313
|
return MessageEncoder.new {|msg|
|
|
257
314
|
header = @header
|
|
258
|
-
if (@tsigkey)
|
|
259
|
-
header.arcount += 1
|
|
260
|
-
end
|
|
261
315
|
header.encode(msg)
|
|
262
316
|
@question.each {|q|
|
|
263
317
|
msg.put_name(q.qname)
|
|
@@ -265,18 +319,17 @@ module Dnsruby
|
|
|
265
319
|
}
|
|
266
320
|
[@answer, @authority, @additional].each {|rr|
|
|
267
321
|
rr.each {|r|
|
|
268
|
-
# name, ttl, data = r
|
|
269
322
|
name = r.name
|
|
270
323
|
ttl = r.ttl
|
|
271
|
-
|
|
324
|
+
if (r.type == Types.TSIG)
|
|
325
|
+
msg.put_name(name, true)
|
|
326
|
+
else
|
|
327
|
+
msg.put_name(name)
|
|
328
|
+
end
|
|
272
329
|
msg.put_pack('nnN', r.type.code, r.klass.code, ttl)
|
|
273
330
|
msg.put_length16 {r.encode_rdata(msg)}
|
|
274
331
|
}
|
|
275
332
|
}
|
|
276
|
-
if (@tsigkey)
|
|
277
|
-
tsigrec = @tsigkey.generate(this, msg, tsigerror, querytsig)
|
|
278
|
-
tsigrec.encode(msg, Section.ADDITIONAL, c)
|
|
279
|
-
end
|
|
280
333
|
}.to_s
|
|
281
334
|
end
|
|
282
335
|
|
|
@@ -298,13 +351,14 @@ module Dnsruby
|
|
|
298
351
|
o.authority << rr
|
|
299
352
|
}
|
|
300
353
|
o.header.arcount.times { |count|
|
|
354
|
+
start = msg.index
|
|
301
355
|
rr = msg.get_rr
|
|
302
356
|
if (rr.type == Types.TSIG)
|
|
303
357
|
if (count!=o.header.arcount-1)
|
|
304
358
|
TheLog.Error("Incoming message has TSIG record before last record")
|
|
359
|
+
raise DecodeError.new("TSIG record present before last record")
|
|
305
360
|
end
|
|
306
|
-
#
|
|
307
|
-
# o.tsigstart = pos
|
|
361
|
+
o.tsigstart = start # needed for TSIG verification
|
|
308
362
|
end
|
|
309
363
|
o.additional << rr
|
|
310
364
|
}
|
|
@@ -341,7 +395,6 @@ module Dnsruby
|
|
|
341
395
|
#
|
|
342
396
|
#RFC 1035 Section 4.1.1
|
|
343
397
|
class Header
|
|
344
|
-
@@identifier = -1
|
|
345
398
|
MAX_ID = 65535
|
|
346
399
|
|
|
347
400
|
# The header ID
|
|
@@ -415,7 +468,7 @@ module Dnsruby
|
|
|
415
468
|
end
|
|
416
469
|
|
|
417
470
|
def opcode=(op)
|
|
418
|
-
@opcode =
|
|
471
|
+
@opcode = OpCode.new(op)
|
|
419
472
|
end
|
|
420
473
|
|
|
421
474
|
def rcode=(rcode)
|
|
@@ -453,6 +506,19 @@ module Dnsruby
|
|
|
453
506
|
@arcount)
|
|
454
507
|
end
|
|
455
508
|
|
|
509
|
+
def Header.decrement_arcount_encoded(bytes)
|
|
510
|
+
header = Header.new
|
|
511
|
+
header_end = 0
|
|
512
|
+
MessageDecoder.new(bytes) {|msg|
|
|
513
|
+
header.decode(msg)
|
|
514
|
+
header_end = msg.index
|
|
515
|
+
}
|
|
516
|
+
header.arcount = header.arcount - 1
|
|
517
|
+
bytes[0,header_end]=MessageEncoder.new {|msg|
|
|
518
|
+
header.encode(msg)}.to_s
|
|
519
|
+
return bytes
|
|
520
|
+
end
|
|
521
|
+
|
|
456
522
|
def ==(other)
|
|
457
523
|
return @qr == other.qr &&
|
|
458
524
|
@opcode == other.opcode &&
|
|
@@ -512,14 +578,6 @@ module Dnsruby
|
|
|
512
578
|
@rcode = RCode.new(flag & 15)
|
|
513
579
|
end
|
|
514
580
|
|
|
515
|
-
def rcode=(newcode)
|
|
516
|
-
@rcode = RCode.new(newcode)
|
|
517
|
-
end
|
|
518
|
-
|
|
519
|
-
def opcode=(newcode)
|
|
520
|
-
@opcode = OpCode.new(newcode)
|
|
521
|
-
end
|
|
522
|
-
|
|
523
581
|
def get_exception
|
|
524
582
|
exception = nil
|
|
525
583
|
if (@rcode==RCode.NXDOMAIN)
|
|
@@ -551,6 +609,7 @@ module Dnsruby
|
|
|
551
609
|
end
|
|
552
610
|
|
|
553
611
|
class MessageDecoder #:nodoc: all
|
|
612
|
+
attr_reader :index
|
|
554
613
|
def initialize(data)
|
|
555
614
|
@data = data
|
|
556
615
|
@index = 0
|
|
@@ -660,12 +719,12 @@ module Dnsruby
|
|
|
660
719
|
type, klass = self.get_unpack("nn")
|
|
661
720
|
q = Question.new(name, type, klass)
|
|
662
721
|
return q
|
|
663
|
-
# return name, RR.get_class(type, klass)
|
|
664
722
|
end
|
|
665
723
|
|
|
666
724
|
def get_rr
|
|
667
725
|
name = self.get_name
|
|
668
726
|
type, klass, ttl = self.get_unpack('nnN')
|
|
727
|
+
klass = Classes.new(klass)
|
|
669
728
|
typeclass = RR.get_class(type, klass)
|
|
670
729
|
# @TODO@ Trap decode errors here, and somehow mark the record as bad.
|
|
671
730
|
# Need some way to represent raw data only
|
|
@@ -745,7 +804,7 @@ module Dnsruby
|
|
|
745
804
|
|
|
746
805
|
def put_label(d)
|
|
747
806
|
s, = Name.encode(d)
|
|
748
|
-
raise RuntimeError, "length of #{s} is #{s.string.length} (larger than 63 octets)" if s.string.length > 63
|
|
807
|
+
raise RuntimeError, "length of #{s} is #{s.string.length} (larger than 63 octets)" if s.string.length > 63
|
|
749
808
|
self.put_string(s.string)
|
|
750
809
|
end
|
|
751
810
|
end
|
|
@@ -753,7 +812,7 @@ module Dnsruby
|
|
|
753
812
|
class EncodeError < StandardError
|
|
754
813
|
end
|
|
755
814
|
|
|
756
|
-
#A
|
|
815
|
+
#A Dnsruby::Question object represents a record in the
|
|
757
816
|
#question section of a DNS packet.
|
|
758
817
|
#
|
|
759
818
|
#RFC 1035 Section 4.1.2
|
|
@@ -804,6 +863,32 @@ module Dnsruby
|
|
|
804
863
|
end
|
|
805
864
|
end
|
|
806
865
|
|
|
866
|
+
def qtype=(qtype)
|
|
867
|
+
@qtype = Types.new(qtype)
|
|
868
|
+
end
|
|
869
|
+
|
|
870
|
+
def qclass=(qclass)
|
|
871
|
+
@qclass = Classes.new(qclass)
|
|
872
|
+
end
|
|
873
|
+
|
|
874
|
+
def qname=(qname)
|
|
875
|
+
case qname
|
|
876
|
+
when IPv4::Regex
|
|
877
|
+
@qname = IPv4.create(qname).to_name
|
|
878
|
+
@qtype = Types.PTR
|
|
879
|
+
when IPv6::Regex
|
|
880
|
+
@qname = IPv6.create(qname).to_name
|
|
881
|
+
@qtype = Types.PTR
|
|
882
|
+
when Name
|
|
883
|
+
when IPv6
|
|
884
|
+
@qtype = Types.PTR
|
|
885
|
+
when IPv4
|
|
886
|
+
@qtype = Types.PTR
|
|
887
|
+
else
|
|
888
|
+
@qname = Name.create(qname)
|
|
889
|
+
end
|
|
890
|
+
end
|
|
891
|
+
|
|
807
892
|
#Returns a string representation of the question record.
|
|
808
893
|
def to_s
|
|
809
894
|
return "#{@qname}.\t#{@qclass.string}\t#{@qtype.string}";
|