Scroll to navigation

DNS::LDNS::Packet(3) User Contributed Perl Documentation DNS::LDNS::Packet(3)

NAME

DNS::LDNS::Packet - DNS packet

SYNOPSIS

  use DNS::LDNS ':all'
  my pkt = new DNS::LDNS::Packet(name => rdata, type => LDNS_RR_TYPE_...,
    class => LDNS_RR_CLASS_..., flags => ...)
  my pkt = new DNS::LDNS::Packet
  pkt2 = pkt->clone
  pkt->to_string
  rrlist = pkt->question
  pkt->set_question(rrlist)
'
  rrlist = pkt->answer
  pkt->set_answer(rrlist)
  rrlist = pkt->authority
  pkt->set_authority(rrlist)
  rrlist = pkt->additional
  pkt->set_additional(rrlist)
  rrlist = pkt->all
  rrlist = pkt->all_noquestion
  for (qw/qr aa tc rd cd ra ad/) {
    bool = pkt->$_
    pkt->set_$_(bool)
  }
  id = pkt->id
  pkt->set_id(id)
  pkt->set_random_id
  count = pkt->qdcount
  count = pkt->ancount
  count = pkt->nscount
  count = pkt->arcount
  opcode = pkt->opcode
  pkt->set_opcode(opcode)
  rcode = pkt->rcode                  # Response code
  pkt->set_rcode(rcode)
  size = pkt->size
  epoch = pkt->querytime
  pkt->set_querytime(epoch)
  rdata = pkt->answerfrom
  pkt->set_answerfrom(rdata)
  (sec, usec) = pkt->timestamp
  pkt->set_timestamp(sec, usec)
  bool = pkt->edns
  size = pkt->edns_udp_size
  pkt->set_edns_udp_size(size)
  rcode = pkt->edns_extended_rcode
  pkt->set_edns_extended_rcode(rcode)
  v = pkt->edns_version
  pkt->set_edns_version(v)
  z = pkt->edns_z
  pkt->set_edns_z(z)
  do = pkt->edns_do
  pkt->set_edns_do(do)
  rdata = pkt->edns_data
  pkt->set_edns_data(rdata)
  pkt->set_flags(flags)
  rrlist = pkt->rr_list_by_name(rdata, section)
  rrlist = pkt->rr_list_by_type(type, section)
  rrlist = pkt->rr_list_by_name_and_type(rdata, type, section)
  bool = pkt->rr(section, rr)       # Check if rr exists
  pkt->push_rr(section, rr)
  pkt->safe_push_rr(section, rr)
  count = pkt->section_count(section)
  bool = pkt->empty
  rr = pkt->tsig
  pkt->set_tsig(rr)
  type = pkt->reply_type
  rrlist = pkt->get_rrsigs_for_name_and_type(rdata, rrtype)
  rrlist = pkt->get_rrsigs_for_type(rrtype)

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.

2022-09-02 perl v5.38.2