Class Dnsruby::RR::TKEY
In: lib/Dnsruby/resource/TKEY.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

RFC2930

Methods

Constants

TypeValue = Types::TKEY #:nodoc: all

Attributes

algorithm  [RW]  Gets or sets the domain name that specifies the name of the algorithm. The default algorithm is gss.microsoft.com
    rr.algorithm=(algorithm_name)
    print "algorithm = ", rr.algorithm, "\n"
error  [RW]  Returns the RCODE covering TKEY processing. See RFC 2930 for details.
    print "error = ", rr.error, "\n"
expiration  [RW]  Gets or sets the expiration time as the number of seconds since 1 Jan 1970 00:00:00 UTC.

The default expiration time is the current time plus 1 day.

    rr.expiration=(time)
    print "expiration = ", rr.expiration, "\n"
inception  [RW]  Gets or sets the inception time as the number of seconds since 1 Jan 1970 00:00:00 UTC.

The default inception time is the current time.

    rr.inception=(time)
    print "inception = ", rr.inception, "\n"
key  [RW] 
key_size  [R] 
mode  [RW]  Sets the key mode (see rfc2930). The default is 3 which corresponds to GSSAPI
    rr.mode=(3)
    print "mode = ", rr.mode, "\n"
other_data  [R]  Returns the Other Data. This field should be empty.
    print "other data = ", rr.other_data, "\n"
other_size  [R]  Returns the length of the Other Data. Should be zero.
    print "other size = ", rr.other_size, "\n"

Public Class methods

[Source]

     # File lib/Dnsruby/resource/TKEY.rb, line 97
 97:       def initialize
 98:         @algorithm   = "gss.microsoft.com"
 99:         @inception   = Time.now
100:         @expiration  = Time.now + 24*60*60
101:         @mode        = Modes.GSSAPI
102:         @error       = 0
103:         @other_size   = 0
104:         @other_data  = ""
105:         
106:         # RFC 2845 Section 2.3

107:         @klass = Classes.ANY
108:         # RFC 2845 Section 2.3

109:         @ttl = 0 
110:       end

Public Instance methods

[Source]

     # File lib/Dnsruby/resource/TKEY.rb, line 112
112:       def from_hash(hash)
113:         super(hash)
114:         if (algorithm)
115:         @algorithm = Name.create(hash[:algorithm])
116:         end
117:       end

[Source]

    # File lib/Dnsruby/resource/TKEY.rb, line 92
92:       def other_data=(od)
93:         @other_data=od
94:         @other_size=@other_data.length
95:       end

[Source]

     # File lib/Dnsruby/resource/TKEY.rb, line 128
128:       def rdata_to_string     
129:         rdatastr=""
130:         
131:         if (@algorithm!=nil)
132:           error = @error
133:           error = "UNDEFINED" unless error!=nil
134:           rdatastr = "#{@algorithm.to_s(true)} #{error}"
135:           if (@other_size != nil && @other_size >0 && @other_data!=nil)
136:             rdatastr += " #{@other_data}"
137:           end
138:         end
139:         
140:         return rdatastr
141:       end

[Validate]