Class Dnsruby::RR::TSIG
In: lib/Dnsruby/resource/TSIG.rb
Parent: RR

Methods

algorithm=   apply   fudge=   generate   new   rdata_to_string   sig_data   verify  

Constants

HMAC_MD5 = Name.create("HMAC-MD5.SIG-ALG.REG.INT")
HMAC_SHA1 = Name.create("hmac-sha1.")
HMAC_SHA256 = Name.create("hmac-sha256.")
DEFAULT_FUDGE = 300
DEFAULT_ALGORITHM = HMAC_MD5

Attributes

algorithm  [RW]  Gets or sets the domain name that specifies the name of the algorithm. The only algorithm currently supported is HMAC-MD5.SIG-ALG.REG.INT.
    rr.algorithm=(algorithm_name)
    print "algorithm = ", rr.algorithm, "\n"
error  [W]  Returns the RCODE covering TSIG processing. Common values are NOERROR, BADSIG, BADKEY, and BADTIME. See RFC 2845 for details.
    print "error = ", rr.error, "\n"
fudge  [RW]  Gets or sets the "fudge", i.e., the seconds of error permitted in the signing time.

The default fudge is 300 seconds.

    rr.fudge=(60)
    print "fudge = ", rr.fudge, "\n"
key  [RW] 
mac  [RW]  Returns the message authentication code (MAC) as a string of hex characters. The programmer must call a Net::DNS::Packet object‘s data method before this will return anything meaningful.
    print "MAC = ", rr.mac, "\n"
mac_size  [W]  Returns the number of octets in the message authentication code (MAC). The programmer must call a Net::DNS::Packet object‘s data method before this will return anything meaningful.
    print "MAC size = ", rr.mac_size, "\n"
original_id  [RW]  Gets or sets the original message ID.
    rr.original_id(12345)
    print "original ID = ", rr.original_id, "\n"
other_data  [RW]  Returns the Other Data. This field should be empty unless the error is BADTIME, in which case it will contain the server‘s time as the number of seconds since 1 Jan 1970 00:00:00 UTC.
    print "other data = ", rr.other_data, "\n"
other_size  [RW]  Returns the length of the Other Data. Should be zero unless the error is BADTIME.
    print "other len = ", rr.other_size, "\n"
time_signed  [RW]  Gets or sets the signing time as the number of seconds since 1 Jan 1970 00:00:00 UTC.

The default signing time is the current time.

    rr.time_signed=(time)
    print "time signed = ", rr.time_signed, "\n"

Public Class methods

Public Instance methods

Generates a TSIG record and adds it to the message.

Generates a TSIG record

[Validate]