NAME

DNS::LDNS::RR - Resource record

SYNOPSIS

use DNS::LDNS ();

my rr = DNS::LDNS::RR->new('mylabel 3600 IN A 168.10.10.10')
my rr = DNS::LDNS::RR->new(
  str => 'mylabel 3600 IN A 168.10.10.10',
  default_ttl => 3600,     # optional
  origin => $origin_rdata, # optional
  prev => \$prev_rdata,    # optional
)
my rr = DNS::LDNS::RR->new(
  filename => '/path/to/rr',
  default_ttl => \$ttl,     # optional
  origin => \$origin_rdata, # optional
  prev => \$prev_rdata)     # optional
my rr = DNS::LDNS::RR->new(
  file => \*FILE,
  default_ttl => \$ttl,     # optional
  origin => \$origin_rdata, # optional
  prev => \$prev_rdata)     # optional
my rr = DNS::LDNS::RR->new(
  type => LDNS_RR_TYPE_A,
  rdata => [DNS::LDNS::RData->new(...), DNS::LDNS::RData->new(...), ...],
  class => LDNS_RR_CLASS_IN, # optional
  ttl => 3600, # optional
  owner => DNS::LDNS::RData->new(LDNS_RDF_TYPE_DNAME, 'mylabel'), # optional)
my rr = DNS::LDNS::RR->new

rr2 = rr->clone

rr->print(\*FILE)
rr->to_string

ttl = rr->ttl
rr->set_ttl(ttl)

type = rr->type
rr->set_type(type)

class = rr->class
rr->set_class(class)

rdata = rr->owner
rr->set_owner(rdata)
str = rr->dname

count = rr->rd_count
rdata = rr->rdata(index)
rr->set_rdata(rd1, rd2, rd3, ...)
rr->push_rdata(rd1, rd2, rd3, ...)
rdata = rr->pop_rdata

rr->compare(rr2)
rr->compare_dname(rr2)
rr->compare_no_rdata(rr2)
rr->compare_ds(rr2)

hash = rr->hash_name_from_nsec3(dname)

status = rr->verify_denial(nsecs, rrsigs)
status = rr->verify_denial_nsec3(nsecs, rrsigs, packet_rcode, packet_qtype, packet_nodata)
match = rr->verify_denial_nsec3_match(nsecs, rrsigs, packet_rcode, packet_qtype, packet_nodata)

rr->nsec3_add_param_rdfs(algorithm, flags, iterations, salt)
a = rr->nsec3_algorithm
f = rr->nsec3_flags
o = rr->nsec3_optout
i = rr->nsec3_iterations
rdata = rr->nsec3_next_owner
rdata = rr->nsec3_bitmap
rdata = rr->nsec3_salt

rdata = rr->rrsig_keytag
bool = rr->rrsig_set_keytag(rdata)
rdata = rr->rrsig_signame
bool = rr->rrsig_set_signame(rdata)
rdata = rr->rrsig_sig
bool = rr->rrsig_set_sig(rdata)
rdata = rr->rrsig_algorithm
bool = rr->rrsig_set_algorithm(rdata)
rdata = rr->rrsig_inception
bool = rr->rrsig_set_inception(rdata)
rdata = rr->rrsig_expiration
bool = rr->rrsig_set_expiration(rdata)
rdata = rr->rrsig_labels
bool = rr->rrsig_set_labels(rdata)
rdata = rr->rrsig_origttl
bool = rr->rrsig_set_origttl(rdata)
key = rr->get_dnskey_for_rrsig(rrlist)

rdata = rr->dnskey_algorithm
bool = rr->dnskey_set_algorithm(rdata)
rdata = rr->dnskey_flags
bool = rr->dnskey_set_flags(rdata)
rdata = rr->dnskey_protocol
bool = rr->dnskey_set_protocol(rdata)
rdata = rr->dnskey_key
bool = rr->dnskey_set_key(rdata)
bits = rr->dnskey_key_size
tag = rr->calc_keytag
ds = rr->key_to_ds(hash)

rr->is_question

SEE ALSO

http://www.nlnetlabs.nl/projects/ldns

AUTHOR

Erik Pihl Ostlyngen, <erik.ostlyngen@uninett.no>

COPYRIGHT AND LICENSE

Copyright (C) 2013 by UNINETT Norid AS

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.