Dnsruby 0.6.0 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>apply (Dnsruby::RR::TSIG)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 46</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apply</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">original_request</span>=<span class="ruby-keyword kw">nil</span>)
|
15
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">signed?</span>)
|
16
|
+
<span class="ruby-identifier">tsig_rr</span> = <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">original_request</span>)
|
17
|
+
<span class="ruby-identifier">message</span>.<span class="ruby-identifier">add_additional</span>(<span class="ruby-identifier">tsig_rr</span>)
|
18
|
+
<span class="ruby-identifier">message</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Signed</span>
|
19
|
+
<span class="ruby-ivar">@query</span> = <span class="ruby-identifier">message</span>
|
20
|
+
<span class="ruby-identifier">tsig_rr</span>.<span class="ruby-identifier">query</span> = <span class="ruby-identifier">message</span>
|
21
|
+
<span class="ruby-keyword kw">end</span>
|
22
|
+
<span class="ruby-keyword kw">end</span></pre>
|
23
|
+
</body>
|
24
|
+
</html>
|
@@ -5,17 +5,49 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>verify (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 160</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>, <span class="ruby-identifier">buf</span>=<span class="ruby-value str">""</span>)
|
15
|
+
<span class="ruby-comment cmt"># 4.6. Client processing of answer</span>
|
16
|
+
<span class="ruby-comment cmt">#</span>
|
17
|
+
<span class="ruby-comment cmt"># When a client receives a response from a server and expects to see a</span>
|
18
|
+
<span class="ruby-comment cmt"># TSIG, it first checks if the TSIG RR is present in the response.</span>
|
19
|
+
<span class="ruby-comment cmt"># Otherwise, the response is treated as having a format error and</span>
|
20
|
+
<span class="ruby-comment cmt"># discarded. The client then extracts the TSIG, adjusts the ARCOUNT,</span>
|
21
|
+
<span class="ruby-comment cmt"># and calculates the keyed digest in the same way as the server. If</span>
|
22
|
+
<span class="ruby-comment cmt"># the TSIG does not validate, that response MUST be discarded, unless</span>
|
23
|
+
<span class="ruby-comment cmt"># the RCODE is 9 (NOTAUTH), in which case the client SHOULD attempt to</span>
|
24
|
+
<span class="ruby-comment cmt"># verify the response as if it were a TSIG Error response, as specified</span>
|
25
|
+
<span class="ruby-comment cmt"># in [4.3]. A message containing an unsigned TSIG record or a TSIG</span>
|
26
|
+
<span class="ruby-comment cmt"># record which fails verification SHOULD not be considered an</span>
|
27
|
+
<span class="ruby-comment cmt"># acceptable response; the client SHOULD log an error and continue to</span>
|
28
|
+
<span class="ruby-comment cmt"># wait for a signed response until the request times out.</span>
|
29
|
+
|
30
|
+
<span class="ruby-comment cmt"># So, this verify method should simply remove the TSIG RR and calculate</span>
|
31
|
+
<span class="ruby-comment cmt"># the MAC (using original request MAC if required).</span>
|
32
|
+
<span class="ruby-comment cmt"># Should set tsigstate on packet appropriately, and return error.</span>
|
33
|
+
<span class="ruby-comment cmt"># Side effect is packet is stripped of TSIG.</span>
|
34
|
+
<span class="ruby-comment cmt"># Resolver (or client) can then decide what to do...</span>
|
35
|
+
|
36
|
+
<span class="ruby-identifier">msg_tsig_rr</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>
|
37
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">verify_common</span>(<span class="ruby-identifier">response</span>))
|
38
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
39
|
+
<span class="ruby-keyword kw">end</span>
|
40
|
+
|
41
|
+
<span class="ruby-identifier">new_msg_tsig_rr</span> = <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">buf</span>, <span class="ruby-identifier">response_bytes</span>, <span class="ruby-identifier">msg_tsig_rr</span>)
|
42
|
+
|
43
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">msg_tsig_rr</span>.<span class="ruby-identifier">mac</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">new_msg_tsig_rr</span>.<span class="ruby-identifier">mac</span>)
|
44
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Verified</span>
|
45
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
|
46
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
|
47
|
+
<span class="ruby-keyword kw">else</span>
|
48
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
|
49
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">BADSIG</span>
|
50
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
19
51
|
<span class="ruby-keyword kw">end</span>
|
20
52
|
<span class="ruby-keyword kw">end</span></pre>
|
21
53
|
</body>
|
@@ -5,67 +5,129 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>verify_envelope (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
<span class="ruby-
|
18
|
-
<span class="ruby-
|
19
|
-
<span class="ruby-
|
20
|
-
|
21
|
-
<span class="ruby-
|
22
|
-
|
23
|
-
<span class="ruby-
|
24
|
-
|
25
|
-
<span class="ruby-
|
26
|
-
<span class="ruby-
|
27
|
-
|
28
|
-
<span class="ruby-
|
29
|
-
<span class="ruby-
|
30
|
-
|
31
|
-
<span class="ruby-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 248</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verify_envelope</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>)
|
15
|
+
<span class="ruby-comment cmt">#RFC2845 Section 4.4</span>
|
16
|
+
<span class="ruby-comment cmt">#-----</span>
|
17
|
+
<span class="ruby-comment cmt">#A DNS TCP session can include multiple DNS envelopes. This is, for</span>
|
18
|
+
<span class="ruby-comment cmt">#example, commonly used by zone transfer. Using TSIG on such a</span>
|
19
|
+
<span class="ruby-comment cmt">#connection can protect the connection from hijacking and provide data</span>
|
20
|
+
<span class="ruby-comment cmt">#integrity. The TSIG MUST be included on the first and last DNS</span>
|
21
|
+
<span class="ruby-comment cmt">#envelopes. It can be optionally placed on any intermediary</span>
|
22
|
+
<span class="ruby-comment cmt">#envelopes. It is expensive to include it on every envelopes, but it</span>
|
23
|
+
<span class="ruby-comment cmt">#MUST be placed on at least every 100'th envelope. The first envelope</span>
|
24
|
+
<span class="ruby-comment cmt">#is processed as a standard answer, and subsequent messages have the</span>
|
25
|
+
<span class="ruby-comment cmt">#following digest components:</span>
|
26
|
+
<span class="ruby-comment cmt">#</span>
|
27
|
+
<span class="ruby-comment cmt">#* Prior Digest (running)</span>
|
28
|
+
<span class="ruby-comment cmt">#* DNS Messages (any unsigned messages since the last TSIG)</span>
|
29
|
+
<span class="ruby-comment cmt">#* TSIG Timers (current message)</span>
|
30
|
+
<span class="ruby-comment cmt">#</span>
|
31
|
+
<span class="ruby-comment cmt">#This allows the client to rapidly detect when the session has been</span>
|
32
|
+
<span class="ruby-comment cmt">#altered; at which point it can close the connection and retry. If a</span>
|
33
|
+
<span class="ruby-comment cmt">#client TSIG verification fails, the client MUST close the connection.</span>
|
34
|
+
<span class="ruby-comment cmt">#If the client does not receive TSIG records frequently enough (as</span>
|
35
|
+
<span class="ruby-comment cmt">#specified above) it SHOULD assume the connection has been hijacked</span>
|
36
|
+
<span class="ruby-comment cmt">#and it SHOULD close the connection. The client SHOULD treat this the</span>
|
37
|
+
<span class="ruby-comment cmt">#same way as they would any other interrupted transfer (although the</span>
|
38
|
+
<span class="ruby-comment cmt">#exact behavior is not specified).</span>
|
39
|
+
<span class="ruby-comment cmt">#-----</span>
|
40
|
+
<span class="ruby-comment cmt">#</span>
|
41
|
+
<span class="ruby-comment cmt"># Each time a new envelope comes in, this method is called on the QUERY TSIG RR.</span>
|
42
|
+
<span class="ruby-comment cmt"># It will set the response tsigstate to :Verified :Intermediate or :Failed</span>
|
43
|
+
<span class="ruby-comment cmt"># as appropriate.</span>
|
32
44
|
|
33
|
-
<span class="ruby-
|
34
|
-
|
35
|
-
<span class="ruby-
|
36
|
-
<span class="ruby-
|
37
|
-
|
38
|
-
<span class="ruby-
|
45
|
+
<span class="ruby-comment cmt"># Keep digest going of messages as they come in (and mark them intermediate)</span>
|
46
|
+
<span class="ruby-comment cmt"># When TSIG comes in, work out what key should be and check. If OK, mark </span>
|
47
|
+
<span class="ruby-comment cmt"># verified. Can reset digest then.</span>
|
48
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-ivar">@buf</span>)
|
49
|
+
<span class="ruby-ivar">@num_envelopes</span> = <span class="ruby-value">0</span>
|
50
|
+
<span class="ruby-ivar">@last_signed</span> = <span class="ruby-value">0</span>
|
39
51
|
<span class="ruby-keyword kw">end</span>
|
40
|
-
<span class="ruby-
|
41
|
-
|
42
|
-
<span class="ruby-
|
43
|
-
|
44
|
-
|
45
|
-
<span class="ruby-
|
46
|
-
<span class="ruby-
|
52
|
+
<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
53
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>)
|
54
|
+
<span class="ruby-keyword kw">if</span> ((<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>) <span class="ruby-operator">&&</span> (<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_signed</span> <span class="ruby-operator"><</span> <span class="ruby-value">100</span>))
|
55
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">"Receiving intermediate envelope in TSIG TCP session"</span>)
|
56
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Intermediate</span>
|
57
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
|
58
|
+
<span class="ruby-ivar">@buf</span> = <span class="ruby-ivar">@buf</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">response_bytes</span>
|
59
|
+
<span class="ruby-keyword kw">return</span>
|
60
|
+
<span class="ruby-keyword kw">else</span>
|
61
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
|
62
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">"Expecting signed packet"</span>)
|
63
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
64
|
+
<span class="ruby-keyword kw">end</span>
|
47
65
|
<span class="ruby-keyword kw">end</span>
|
66
|
+
<span class="ruby-ivar">@last_signed</span> = <span class="ruby-ivar">@num_envelopes</span>
|
48
67
|
|
49
|
-
<span class="ruby-
|
50
|
-
<span class="ruby-identifier">
|
51
|
-
|
52
|
-
|
53
|
-
<span class="ruby-
|
68
|
+
<span class="ruby-comment cmt"># We have a TSIG - process it!</span>
|
69
|
+
<span class="ruby-identifier">tsig</span> = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsig</span>
|
70
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@num_envelopes</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>)
|
71
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">"First response in TSIG TCP session - verifying normally"</span>)
|
72
|
+
<span class="ruby-comment cmt"># Process it as a standard answer</span>
|
73
|
+
<span class="ruby-identifier">ok</span> = <span class="ruby-identifier">verify</span>(<span class="ruby-ivar">@query</span>, <span class="ruby-identifier">response</span>, <span class="ruby-identifier">response_bytes</span>)
|
74
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span>)
|
75
|
+
<span class="ruby-identifier">mac_bytes</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
76
|
+
<span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac_size</span>)
|
77
|
+
<span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_bytes</span>(<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac</span>)
|
78
|
+
}.<span class="ruby-identifier">to_s</span>
|
79
|
+
<span class="ruby-ivar">@buf</span> = <span class="ruby-identifier">mac_bytes</span>
|
80
|
+
<span class="ruby-keyword kw">else</span>
|
81
|
+
<span class="ruby-keyword kw">end</span>
|
82
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ok</span>
|
83
|
+
<span class="ruby-keyword kw">end</span>
|
84
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">"Processing TSIG on TSIG TCP session"</span>)
|
85
|
+
|
86
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">verify_common</span>(<span class="ruby-identifier">response</span>))
|
87
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
54
88
|
<span class="ruby-keyword kw">end</span>
|
55
89
|
|
56
|
-
<span class="ruby-
|
57
|
-
<span class="ruby-identifier">
|
58
|
-
|
59
|
-
<span class="ruby-ivar">@mac</span> = <span class="ruby-identifier">hmac</span>.<span class="ruby-identifier">digest</span>
|
60
|
-
<span class="ruby-ivar">@mac_size</span> = <span class="ruby-ivar">@mac</span>.<span class="ruby-identifier">length</span>
|
90
|
+
<span class="ruby-comment cmt"># Now add the current message data - remember to frig the arcount</span>
|
91
|
+
<span class="ruby-identifier">response_bytes</span> = <span class="ruby-constant">Header</span>.<span class="ruby-identifier">decrement_arcount_encoded</span>(<span class="ruby-identifier">response_bytes</span>)
|
92
|
+
<span class="ruby-ivar">@buf</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">response_bytes</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstart</span>]
|
61
93
|
|
62
|
-
<span class="ruby-
|
94
|
+
<span class="ruby-comment cmt"># Let's add the timers</span>
|
95
|
+
<span class="ruby-identifier">timers_data</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">msg</span><span class="ruby-operator">|</span>
|
96
|
+
<span class="ruby-identifier">time_high</span> = (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">time_signed</span> <span class="ruby-operator">>></span> <span class="ruby-value">32</span>)
|
97
|
+
<span class="ruby-identifier">time_low</span> = (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">time_signed</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x</span><span class="ruby-constant">FFFFFFFF</span>)
|
98
|
+
<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'nN'</span>, <span class="ruby-identifier">time_high</span>, <span class="ruby-identifier">time_low</span>)
|
99
|
+
<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">fudge</span>)
|
100
|
+
}.<span class="ruby-identifier">to_s</span>
|
101
|
+
<span class="ruby-ivar">@buf</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">timers_data</span>
|
63
102
|
|
64
|
-
<span class="ruby-
|
65
|
-
|
103
|
+
<span class="ruby-identifier">mac</span> = <span class="ruby-keyword kw">nil</span>
|
104
|
+
<span class="ruby-identifier">key</span> = <span class="ruby-ivar">@key</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">" "</span>, <span class="ruby-value str">""</span>)
|
105
|
+
<span class="ruby-identifier">key</span> = <span class="ruby-constant">Base64</span><span class="ruby-operator">::</span><span class="ruby-identifier">decode64</span>(<span class="ruby-identifier">key</span>)
|
106
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_MD5</span>)
|
107
|
+
<span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">MD5</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
|
108
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA1</span>)
|
109
|
+
<span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
|
110
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">algorithm</span> <span class="ruby-operator">==</span> <span class="ruby-constant">HMAC_SHA256</span>)
|
111
|
+
<span class="ruby-identifier">mac</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">HMAC</span>.<span class="ruby-identifier">digest</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA256</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">key</span>, <span class="ruby-ivar">@buf</span>)
|
112
|
+
<span class="ruby-keyword kw">else</span>
|
113
|
+
<span class="ruby-comment cmt"># Should we allow client to pass in their own signing function?</span>
|
114
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Algorithm #{tsig.algorithm} unsupported by TSIG"</span>)
|
66
115
|
<span class="ruby-keyword kw">end</span>
|
67
|
-
|
68
|
-
|
116
|
+
|
117
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">mac</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">tsig</span>.<span class="ruby-identifier">mac</span>)
|
118
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">"TSIG Verify error on TSIG TCP session"</span>)
|
119
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Failed</span>
|
120
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
121
|
+
<span class="ruby-keyword kw">end</span>
|
122
|
+
<span class="ruby-identifier">mac_bytes</span> = <span class="ruby-constant">MessageEncoder</span>.<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
123
|
+
<span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_pack</span>(<span class="ruby-value str">'n'</span>, <span class="ruby-identifier">mac</span>.<span class="ruby-identifier">length</span>)
|
124
|
+
<span class="ruby-identifier">m</span>.<span class="ruby-identifier">put_bytes</span>(<span class="ruby-identifier">mac</span>)
|
125
|
+
}.<span class="ruby-identifier">to_s</span>
|
126
|
+
<span class="ruby-ivar">@buf</span>=<span class="ruby-identifier">mac_bytes</span>
|
127
|
+
|
128
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigstate</span> = <span class="ruby-identifier">:Verified</span>
|
129
|
+
<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tsigerror</span> = <span class="ruby-constant">RCode</span>.<span class="ruby-constant">NOERROR</span>
|
130
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
|
69
131
|
<span class="ruby-keyword kw">end</span></pre>
|
70
132
|
</body>
|
71
133
|
</html>
|
@@ -5,30 +5,29 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>init_defaults (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
}.<span class="ruby-identifier">to_s</span>
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 448</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_defaults</span>
|
15
|
+
<span class="ruby-comment cmt"># @TODO@ Have new() method which takes key_name and key?</span>
|
16
|
+
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">DEFAULT_ALGORITHM</span>
|
17
|
+
<span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
|
18
|
+
<span class="ruby-ivar">@mac_size</span> = <span class="ruby-value">0</span>
|
19
|
+
<span class="ruby-ivar">@mac</span> = <span class="ruby-value str">""</span>
|
20
|
+
<span class="ruby-ivar">@original_id</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-value">65536</span>)
|
21
|
+
<span class="ruby-ivar">@error</span> = <span class="ruby-value">0</span>
|
22
|
+
<span class="ruby-ivar">@other_size</span> = <span class="ruby-value">0</span>
|
23
|
+
<span class="ruby-ivar">@other_data</span> = <span class="ruby-value str">""</span>
|
24
|
+
<span class="ruby-ivar">@time_signed</span> = <span class="ruby-keyword kw">nil</span>
|
25
|
+
<span class="ruby-ivar">@buf</span> = <span class="ruby-keyword kw">nil</span>
|
26
|
+
|
27
|
+
<span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
|
28
|
+
<span class="ruby-ivar">@klass</span> = <span class="ruby-value str">"ANY"</span>
|
29
|
+
|
30
|
+
<span class="ruby-ivar">@ttl</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># RFC 2845 Section 2.3</span>
|
32
31
|
<span class="ruby-keyword kw">end</span></pre>
|
33
32
|
</body>
|
34
33
|
</html>
|
@@ -5,33 +5,21 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>name= (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
<span class="ruby-
|
18
|
-
<span class="ruby-
|
19
|
-
|
20
|
-
<span class="ruby-
|
21
|
-
|
22
|
-
<span class="ruby-
|
23
|
-
<span class="ruby-comment cmt"># Message, and decremented out of the DNS message header's ARCOUNT. At</span>
|
24
|
-
<span class="ruby-comment cmt"># this point the keyed message digest operation is performed. If the</span>
|
25
|
-
<span class="ruby-comment cmt"># algorithm name or key name is unknown to the recipient, or if the</span>
|
26
|
-
<span class="ruby-comment cmt"># message digests do not match, the whole DNS message MUST be</span>
|
27
|
-
<span class="ruby-comment cmt"># discarded. If the message is a query, a response with RCODE 9</span>
|
28
|
-
<span class="ruby-comment cmt"># (NOTAUTH) MUST be sent back to the originator with TSIG ERROR 17</span>
|
29
|
-
<span class="ruby-comment cmt"># (BADKEY) or TSIG ERROR 16 (BADSIG). If no key is available to sign</span>
|
30
|
-
<span class="ruby-comment cmt"># this message it MUST be sent unsigned (MAC size == 0 and empty MAC).</span>
|
31
|
-
<span class="ruby-comment cmt"># A message to the system operations log SHOULD be generated, to warn</span>
|
32
|
-
<span class="ruby-comment cmt"># the operations staff of a possible security incident in progress.</span>
|
33
|
-
<span class="ruby-comment cmt"># Care should be taken to ensure that logging of this type of event</span>
|
34
|
-
<span class="ruby-comment cmt"># does not open the system to a denial of service attack. </span>
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 471</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">n</span>)
|
15
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">n</span>.<span class="ruby-identifier">instance_of?</span><span class="ruby-constant">String</span>)
|
16
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-constant">Name</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">n</span>)
|
17
|
+
<span class="ruby-keyword kw">end</span>
|
18
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">n</span>.<span class="ruby-identifier">absolute?</span>)
|
19
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-constant">Name</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"."</span>)
|
20
|
+
<span class="ruby-keyword kw">else</span>
|
21
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">n</span>
|
22
|
+
<span class="ruby-keyword kw">end</span>
|
35
23
|
<span class="ruby-keyword kw">end</span></pre>
|
36
24
|
</body>
|
37
25
|
</html>
|
@@ -5,27 +5,32 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>algorithm= (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
<span class="ruby-
|
26
|
-
|
27
|
-
|
28
|
-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 500</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">algorithm=</span>(<span class="ruby-identifier">alg</span>)
|
15
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>)
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">"hmac-md5"</span>)
|
17
|
+
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_MD5</span>;
|
18
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">"hmac-sha1"</span>)
|
19
|
+
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA1</span>;
|
20
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">"hmac-sha256"</span>)
|
21
|
+
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA256</span>;
|
22
|
+
<span class="ruby-keyword kw">else</span>
|
23
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Invalid TSIG algorithm"</span>)
|
24
|
+
<span class="ruby-keyword kw">end</span>
|
25
|
+
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">alg</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Name</span>)
|
26
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_MD5</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA256</span>)
|
27
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Invalid TSIG algorithm"</span>)
|
28
|
+
<span class="ruby-keyword kw">end</span>
|
29
|
+
<span class="ruby-ivar">@algorithm</span>=<span class="ruby-identifier">alg</span>
|
30
|
+
<span class="ruby-keyword kw">else</span>
|
31
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{alg.class} not valid type for Dnsruby::RR::TSIG#algorithm= - use String or Name"</span>)
|
32
|
+
<span class="ruby-keyword kw">end</span>
|
33
|
+
<span class="ruby-constant">TheLog</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Using #{@algorithm.to_s} algorithm"</span>)
|
29
34
|
<span class="ruby-keyword kw">end</span></pre>
|
30
35
|
</body>
|
31
36
|
</html>
|
@@ -5,29 +5,17 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>fudge= (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-keyword kw">
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">algorithm</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">"hmac-sha1"</span>)
|
20
|
-
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA1</span>;
|
21
|
-
<span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">algorithm</span>.<span class="ruby-identifier">downcase</span><span class="ruby-operator">==</span><span class="ruby-value str">"hmac-sha256"</span>)
|
22
|
-
<span class="ruby-ivar">@algorithm</span> = <span class="ruby-constant">HMAC_SHA256</span>;
|
23
|
-
<span class="ruby-keyword kw">else</span>
|
24
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Invalid TSIG algorithm"</span>)
|
25
|
-
<span class="ruby-keyword kw">end</span>
|
26
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">Name</span>
|
27
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_MD5</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">alg!</span>=<span class="ruby-constant">HMAC_SHA256</span>)
|
28
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentException</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Invalid TSIG algorithm"</span>)
|
29
|
-
<span class="ruby-keyword kw">end</span>
|
30
|
-
<span class="ruby-ivar">@algorithm</span>=<span class="ruby-identifier">alg</span>
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 522</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fudge=</span>(<span class="ruby-identifier">f</span>)
|
15
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">f</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">></span> <span class="ruby-value">0x7</span><span class="ruby-constant">FFF</span>)
|
16
|
+
<span class="ruby-ivar">@fudge</span> = <span class="ruby-constant">DEFAULT_FUDGE</span>
|
17
|
+
<span class="ruby-keyword kw">else</span>
|
18
|
+
<span class="ruby-ivar">@fudge</span> = <span class="ruby-identifier">f</span>
|
31
19
|
<span class="ruby-keyword kw">end</span>
|
32
20
|
<span class="ruby-keyword kw">end</span></pre>
|
33
21
|
</body>
|
@@ -5,18 +5,25 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>rdata_to_string (Dnsruby::RR::TSIG)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
|
18
|
-
<span class="ruby-
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/Dnsruby/resource/TSIG.rb, line 530</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rdata_to_string</span>
|
15
|
+
<span class="ruby-identifier">rdatastr</span>=<span class="ruby-value str">""</span>
|
16
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@algorithm!</span>=<span class="ruby-keyword kw">nil</span>)
|
17
|
+
<span class="ruby-identifier">error</span> = <span class="ruby-ivar">@error</span>
|
18
|
+
<span class="ruby-identifier">error</span> = <span class="ruby-value str">"UNDEFINED"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">error!</span>=<span class="ruby-keyword kw">nil</span>
|
19
|
+
<span class="ruby-identifier">rdatastr</span> = <span class="ruby-node">"#{@original_id} #{@time_signed} #{@algorithm}. #{error}"</span>;
|
20
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@other_size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@other_data!</span>=<span class="ruby-keyword kw">nil</span>)
|
21
|
+
<span class="ruby-identifier">rdatastr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">" #{@other_data}"</span>
|
22
|
+
<span class="ruby-keyword kw">end</span>
|
23
|
+
<span class="ruby-identifier">rdatastr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">" "</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">mac</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">"H*"</span>).<span class="ruby-identifier">to_s</span>
|
19
24
|
<span class="ruby-keyword kw">end</span>
|
25
|
+
|
26
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rdatastr</span>
|
20
27
|
<span class="ruby-keyword kw">end</span></pre>
|
21
28
|
</body>
|
22
29
|
</html>
|