Section: User Contributed Perl Documentation (3pm)
Return to Main Contents
Net::DNS::RR::SOA - DNS SOA resource record
$rr = new Net::DNS::RR('name SOA mname rname 0 14400 3600 1814400 3600');
Class for DNS
Start of Authority (SOA
) resource records.
The available methods are those inherited from the base class augmented
by the type-specific methods defined in this package.
Use of undocumented package features or direct access to internal data
structures is discouraged and could result in program termination or
other unpredictable behaviour.
$mname = $rr->mname;
$rr->mname( $mname );
The domain name of the name server that was the
original or primary source of data for this zone.
$rname = $rr->rname;
$rr->rname( $rname );
The mailbox which identifies the person responsible
for maintaining this zone.
$serial = $rr->serial;
$serial = $rr->serial(value);
Unsigned 32 bit version number of the original copy of the zone.
Zone transfers preserve this value.
RFC1982 defines a strict (irreflexive) partial ordering for zone
serial numbers. The serial number will be incremented unless the
replacement value argument satisfies the ordering constraint.
$refresh = $rr->refresh;
$rr->refresh( $refresh );
A 32 bit time interval before the zone should be refreshed.
$retry = $rr->retry;
$rr->retry( $retry );
A 32 bit time interval that should elapse before a
failed refresh should be retried.
$expire = $rr->expire;
$rr->expire( $expire );
A 32 bit time value that specifies the upper limit on
the time interval that can elapse before the zone is no
$minimum = $rr->minimum;
$rr->minimum( $minimum );
The unsigned 32 bit minimum TTL field that should be
exported with any RR from this zone.
Zone Serial Number Management
The internal logic of the serial()
method offers support for several
widely used zone serial numbering policies.
$successor = $soa->serial( SEQUENTIAL );
The existing serial number is incremented modulo 2**32 because the
value returned by the auxiliary SEQUENTIAL() function can never
satisfy the serial number ordering constraint.
$successor = $soa->serial( YYYYMMDDxx );
The 32 bit value returned by the auxiliary YYYYMMDDxx() function will
be used if it satisfies the ordering constraint, otherwise the serial
number will be incremented as above.
Serial number increments must be limited to 100 per day for the date
information to remain useful.
$successor = $soa->serial( UNIXTIME );
The 32 bit value returned by the auxiliary UNIXTIME() function will
used if it satisfies the ordering constraint, otherwise the existing
serial number will be incremented as above.
Copyright (c)1997-2002 Michael Fuhr.
Portions Copyright (c)2002-2004 Chris Reinhardt.
Portions Copyright (c)2010,2012 Dick Franks.
All rights reserved.
This program is free software; you may redistribute it and/or
modify it under the same terms as Perl itself.
Package template (c)2009,2012 O.M.Kolkman and R.W.Franks.
perl, Net::DNS, Net::DNS::RR, RFC1035
Section 3.3.13, RFC1982
- Zone Serial Number Management
- Strictly Sequential
- Date Encoded
- Time Encoded
- SEE ALSO