DNS-LDNS

 view release on metacpan or  search on metacpan

lib/DNS/LDNS/Zone.pm  view on Meta::CPAN

sub soa {
    my $self = shift;
    return DNS::LDNS::GC::own($self->_soa, $self);
}

sub set_soa {
    my ($self, $soa) = @_;
    DNS::LDNS::GC::disown(my $old = $self->soa);
    $self->_set_soa(my $copy = $soa->clone);
    return DNS::LDNS::GC::own($copy, $self);
}

sub rrs {
    my $self = shift;
    return DNS::LDNS::GC::own($self->_rrs, $self);
}

sub set_rrs {
    my ($self, $list) = @_;
    DNS::LDNS::GC::disown(my $old = $self->rrs);
    $self->_set_rrs(my $copy = $list->clone);
    return DNS::LDNS::GC::own($copy, $self);
}

sub DESTROY {
    DNS::LDNS::GC::free($_[0]);
}

1;
__END__

=head1 NAME

DNS::LDNS::Zone - Parsed zonefile

=head1 SYNOPSIS

  use DNS::LDNS ();

  my z = DNS::LDNS::Zone->new(
    filename => '/path/to/myzone',
    origin => DNS::LDNS::RData->new(LDNS_RDF_TYPE_DNAME, 'myzone'), #optional
    default_ttl => 3600, #optional
    class => LDNS_RR_CLASS_IN, #optional
  )
  my z = DNS::LDNS::Zone->new(
    file => \*FILE,
    origin => ..., default_ttl => ..., class => ...
  )
  my z = DNS::LDNS::Zone->new

  z->to_string
  z->print(\*FILE)
  z->canonicalize
  z->sort
  rr = z->soa
  z->set_soa(rr)
  rrlist = z->rrs
  z->set_rrs(rrlist)
  z->sign(keylist)
  z->sign_nsec3(keylist, algorithm, flags, iterations, salt)

=head1 SEE ALSO

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

=head1 AUTHOR

Erik Pihl Ostlyngen, E<lt>erik.ostlyngen@uninett.noE<gt>

=head1 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.

=cut



( run in 2.280 seconds using v1.01-cache-2.11-cpan-354807fb38d )