Class Dnsruby::RR::IPSECKEY
In: lib/Dnsruby/resource/IPSECKEY.rb
Parent: RR
Message Update ResolvError EncodeError OtherResolvError ServFail FormErr DecodeError NXRRSet YXDomain NotImp NXDomain VerifyError NotAuth YXRRSet NotZone Refused TsigError CodeMapper Types MetaTypes QTypes Nsec3HashAlgorithms Algorithms OpCode Classes ExtendedRCode Modes RCode Comparable Name RRSet TsigNotSignedResponseError Resolver SingleResolver StandardError TimeoutError ResolvTimeout DNS Dnssec Hosts RR\n[lib/Dnsruby/resource/A.rb\nlib/Dnsruby/resource/AAAA.rb\nlib/Dnsruby/resource/AFSDB.rb\nlib/Dnsruby/resource/CERT.rb\nlib/Dnsruby/resource/DHCID.rb\nlib/Dnsruby/resource/DLV.rb\nlib/Dnsruby/resource/DNSKEY.rb\nlib/Dnsruby/resource/DS.rb\nlib/Dnsruby/resource/HINFO.rb\nlib/Dnsruby/resource/HIP.rb\nlib/Dnsruby/resource/IN.rb\nlib/Dnsruby/resource/IPSECKEY.rb\nlib/Dnsruby/resource/ISDN.rb\nlib/Dnsruby/resource/KX.rb\nlib/Dnsruby/resource/LOC.rb\nlib/Dnsruby/resource/MINFO.rb\nlib/Dnsruby/resource/MX.rb\nlib/Dnsruby/resource/NAPTR.rb\nlib/Dnsruby/resource/NSAP.rb\nlib/Dnsruby/resource/NSEC.rb\nlib/Dnsruby/resource/NSEC3.rb\nlib/Dnsruby/resource/NSEC3PARAM.rb\nlib/Dnsruby/resource/OPT.rb\nlib/Dnsruby/resource/PX.rb\nlib/Dnsruby/resource/RP.rb\nlib/Dnsruby/resource/RRSIG.rb\nlib/Dnsruby/resource/RT.rb\nlib/Dnsruby/resource/SOA.rb\nlib/Dnsruby/resource/SPF.rb\nlib/Dnsruby/resource/SRV.rb\nlib/Dnsruby/resource/SSHFP.rb\nlib/Dnsruby/resource/TKEY.rb\nlib/Dnsruby/resource/TSIG.rb\nlib/Dnsruby/resource/TXT.rb\nlib/Dnsruby/resource/X25.rb\nlib/Dnsruby/resource/domain_name.rb\nlib/Dnsruby/resource/generic.rb\nlib/Dnsruby/resource/resource.rb] Recursor IPv6 IPv4 ZoneTransfer MessageDecoder MessageEncoder Question Header TheLog ValidatorThread PacketSender ResolverRuby Config KeyCache Cache SingleVerifier SelectThread Resolv ZoneReader lib/Dnsruby/DNS.rb lib/Dnsruby/dnssec.rb lib/Dnsruby/Hosts.rb lib/Dnsruby/resource/generic.rb lib/Dnsruby/Recursor.rb lib/Dnsruby/update.rb lib/Dnsruby/ipv6.rb lib/Dnsruby/ipv4.rb lib/Dnsruby/code_mapper.rb lib/Dnsruby/zone_transfer.rb lib/Dnsruby/message.rb lib/Dnsruby/TheLog.rb lib/Dnsruby/resource/resource.rb lib/Dnsruby/validator_thread.rb lib/Dnsruby/PacketSender.rb lib/Dnsruby/Resolver.rb lib/Dnsruby/Config.rb lib/Dnsruby/key_cache.rb lib/Dnsruby/Cache.rb lib/Dnsruby/single_verifier.rb lib/Dnsruby/SingleResolver.rb lib/Dnsruby/select_thread.rb lib/Dnsruby/name.rb lib/dnsruby.rb lib/Dnsruby/resource/TKEY.rb lib/Dnsruby/zone_reader.rb Dnsruby dot/m_61_0.png

Methods

Constants

TypeValue = Types::IPSECKEY #:nodoc: all

Attributes

algorithm  [RW]  The algorithm used by this key :
 0 - no key present
 1 - DSA key present
 2 - RSA key present
gateway  [RW]  The gateway. May either be a 32-bit network order IPv4 address, or a 128-bit IPv6 address, or a domain name, or may not be present.
gateway_type  [RW]  Specifies the type of gateway :
 0 - no gateway present
 1 - 4 byte IPv4 address present
 2 - 16 byte IPv6 address present
 3 - wire-encoded domain name present
precedence  [RW]  An 8-bit precedence for this field. Lower values are preferred.

Public Instance methods

[Source]

    # File lib/Dnsruby/resource/IPSECKEY.rb, line 53
53:       def from_hash(hash)
54:         @precedence = hash[:precedence]
55:         @gateway_type = hash[:gateway_type]
56:         @algorithm = hash[:algorithm]
57:         @gateway = load_gateway_from_string(@gateway_type, hash[:gateway])
58:         @public_key = hash[:public_key]
59:       end

[Source]

     # File lib/Dnsruby/resource/IPSECKEY.rb, line 88
 88:       def from_string(input)
 89:         if (input.length > 0)
 90:           split = input.split(" ")
 91: 
 92:           @precedence = split[0].to_i
 93:           @gateway_type = split[1].to_i
 94:           @algorithm = split[2].to_i
 95: 
 96:           @gateway = load_gateway_from_string(@gateway_type, split[3])
 97: 
 98:           @public_key = public_key_from_string(split[4])
 99:         end
100:       end

[Source]

    # File lib/Dnsruby/resource/IPSECKEY.rb, line 61
61:       def load_gateway_from_string(gateway_type, s)
62:         gateway = nil
63:         if (gateway_type == 0)
64:           gateway = nil
65:         elsif (gateway_type == 1)
66:           # Load IPv4 gateway
67:           gateway = IPv4.create(s)
68:         elsif (gateway_type == 2)
69:           # Load IPv6 gateway
70:           gateway = IPv6.create(s)
71:         else
72:           # Load gateway domain name
73:           gateway = Name.create(s)
74:         end
75:         return gateway        
76:       end

[Source]

    # File lib/Dnsruby/resource/IPSECKEY.rb, line 82
82:       def public_key_from_string(key_text)
83:         key_text.gsub!(/\n/, "")
84:         key_text.gsub!(/ /, "")
85:         return key_text.unpack("m*")[0]
86:       end

[Source]

    # File lib/Dnsruby/resource/IPSECKEY.rb, line 78
78:       def public_key_string
79:         [@public_key.to_s].pack("m*").gsub("\n", "")
80:       end

[Validate]