Net::DN...R::CSYNC(3)

πŸ’… Net::DNS::RR::CSYNC β€” bestie's guide to the DNS CSYNC resource record πŸŽ€

okay so this page lives in the User Contributed Perl Documentation section (that's the 3 in Net::DN...R::CSYNC(3), iykyk), and it's literally all about the Net::DNS::RR::CSYNC class. yes that's the title. we're doing this. ✨


🌸 NAME 🌸

Net::DNS::RR::CSYNC β€” the DNS CSYNC resource record. that's it. that's the vibe. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

like, here's the whole thing in action:

use Net::DNS;
$rr = Net::DNS::RR->new('name CSYNC SOAserial flags typelist');

yes bestie, one line and you've got yourself a CSYNC record. slay. πŸ”₯


✨ DESCRIPTION ✨

this is the class for DNSSEC CSYNC resource records. iconic of it, honestly. πŸ‘‘


πŸ’œ METHODS πŸ’œ

okay so here's the tea β€” the methods you get are the ones inherited from the base class, plus the type-specific glow-up methods defined in this package. so you're not starting from scratch, you're building on a legacy. main character energy fr fr. 🫢

⚠️ also, real talk: using undocumented package features or poking directly at the internal data structures is discouraged and could literally result in program termination or other unpredictable behaviour. don't do it bestie. just don't. 😭

πŸŽ€ SOAserial / soaserial πŸŽ€

$soaserial = $rr->soaserial;
$rr->soaserial( $soaserial );

the SOA Serial field is holding a copy of the 32-bit SOA serial number from the child zone. a little souvenir from the child zone, if you will. πŸ’…

🌈 flags 🌈

$flags = $rr->flags;
$rr->flags( $flags );

the flags field? 16 bits of boolean flags, no cap β€” and they define the operations that affect how the CSYNC record gets processed. so like, they matter. πŸ”₯

⭐ immediate ⭐

$rr->immediate(1);

if ( $rr->immediate ) {
        ...
}

if this is not set, a parental agent must not process the CSYNC record until the zone administrator approves the operation through an out-of-band mechanism. so it just sits there. waiting. respectfully. πŸ™ˆ

πŸ“ soaminimum πŸ“

$rr->soaminimum(1);

if ( $rr->soaminimum ) {
        ...
}

if this one is set, a parental agent querying child authoritative servers must not act on data from zones advertising an SOA serial number less than the SOAserial value. it's giving quality control. it's giving standards. we love a boundary. 🧚

πŸ¦„ typelist πŸ¦„

@typelist = $rr->typelist;
$typelist = $rr->typelist;

the type list is the whole point β€” it indicates the record types that the parental agent should process. and ooh, sneaky detail: when you call it in scalar context, the list gets interpolated into a string. context matters bestie, always has. πŸ’–


Copyright (c)2015 Dick Franks

All rights reserved. (yes, all of them.)

Package template (c)2009,2012 O.M.Kolkman and R.W.Franks. πŸŽ€


πŸ’€ LICENSE πŸ’€

okay so legally speaking β€” and we are speaking legally β€” permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that:

  • the original copyright notices appear in all copies
  • both the copyright notice and this permission notice appear in supporting documentation
  • the name of the author is not used in advertising or publicity pertaining to distribution of the software without specific prior written permission

like, respect the author's name, don't be weird about it. 🫢

🚨 and now the loud part, in all caps because the original said so and it's serious: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

no cap, that's the whole disclaimer. read it, don't skip it, it's not decorative. πŸ’€


🌟 SEE ALSO 🌟

go touch some other docs, bestie:


and that's the page!! πŸ¦‹βœ¨ this little manual page was brought to you by perl v5.42.0, dated 2026-09-02 β€” mwah, kisses, go build something iconic with your CSYNC records πŸ’…πŸ’–πŸŽ€

πŸ“¦ where this page comes from