{
    "content": [
        {
            "type": "text",
            "text": "# Net::DNS::RR::NSEC3 (perldoc)\n\n## NAME\n\nNet::DNS::RR::NSEC3 - DNS NSEC3 resource record\n\n## SYNOPSIS\n\nuse Net::DNS;\n$rr = Net::DNS::RR->new('name NSEC3 algorithm flags iterations salt hnxtname');\n\n## DESCRIPTION\n\nClass for DNSSEC NSEC3 resource records.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS** (8 subsections)\n- **COPYRIGHT**\n- **LICENSE**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Net::DNS::RR::NSEC3",
        "section": "",
        "mode": "perldoc",
        "summary": "Net::DNS::RR::NSEC3 - DNS NSEC3 resource record",
        "synopsis": "use Net::DNS;\n$rr = Net::DNS::RR->new('name NSEC3 algorithm flags iterations salt hnxtname');",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 13,
                "subsections": [
                    {
                        "name": "algorithm",
                        "lines": 49
                    },
                    {
                        "name": "typelist",
                        "lines": 5
                    },
                    {
                        "name": "typemap",
                        "lines": 5
                    },
                    {
                        "name": "match",
                        "lines": 5
                    },
                    {
                        "name": "covers",
                        "lines": 6
                    },
                    {
                        "name": "encloser",
                        "lines": 2
                    },
                    {
                        "name": "nextcloser",
                        "lines": 2
                    },
                    {
                        "name": "wildcard",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "COPYRIGHT",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 12,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 4,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Net::DNS::RR::NSEC3 - DNS NSEC3 resource record\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Net::DNS;\n$rr = Net::DNS::RR->new('name NSEC3 algorithm flags iterations salt hnxtname');\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Class for DNSSEC NSEC3 resource records.\n\nThe NSEC3 Resource Record (RR) provides authenticated denial of existence for DNS Resource\nRecord Sets.\n\nThe NSEC3 RR lists RR types present at the original owner name of the NSEC3 RR. It includes the\nnext hashed owner name in the hash order of the zone. The complete set of NSEC3 RRs in a zone\nindicates which RRSets exist for the original owner name of the RR and form a chain of hashed\nowner names in the zone.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "The available methods are those inherited from the base class augmented by the type-specific\nmethods defined in this package.\n\nUse of undocumented package features or direct access to internal data structures is discouraged\nand could result in program termination or other unpredictable behaviour.\n\nalgorithm\n$algorithm = $rr->algorithm;\n$rr->algorithm( $algorithm );\n\nThe Hash Algorithm field is represented as an unsigned decimal integer. The value has a maximum\nof 255.\n",
                "subsections": [
                    {
                        "name": "algorithm",
                        "content": "numeric code translation.\n\nflags\n$flags = $rr->flags;\n$rr->flags( $flags );\n\nThe Flags field is an unsigned decimal integer interpreted as eight concatenated Boolean values.\n\noptout\n$rr->optout(1);\n\nif ( $rr->optout ) {\n...\n}\n\nBoolean Opt Out flag.\n\niterations\n$iterations = $rr->iterations;\n$rr->iterations( $iterations );\n\nThe Iterations field is represented as an unsigned decimal integer. The value is between 0 and\n65535, inclusive.\n\nsalt\n$salt = $rr->salt;\n$rr->salt( $salt );\n\nThe Salt field is represented as a contiguous sequence of hexadecimal digits. A \"-\" (unquoted)\nis used in string format to indicate that the salt field is absent.\n\nsaltbin\n$saltbin = $rr->saltbin;\n$rr->saltbin( $saltbin );\n\nThe Salt field as a sequence of octets.\n\nhnxtname\n$hnxtname = $rr->hnxtname;\n$rr->hnxtname( $hnxtname );\n\nThe Next Hashed Owner Name field points to the next node that has authoritative data or contains\na delegation point NS RRset.\n\ntypelist\n@typelist = $rr->typelist;\n$typelist = $rr->typelist;\n$rr->typelist( @typelist );\n"
                    },
                    {
                        "name": "typelist",
                        "content": "When called in scalar context, the list is interpolated into a string.\n\ntypemap\n$exists = $rr->typemap($rrtype);\n"
                    },
                    {
                        "name": "typemap",
                        "content": "NSEC3 record.\n\nmatch\n$matched = $rr->match( 'example.foo' );\n"
                    },
                    {
                        "name": "match",
                        "content": "owner name of the NSEC3 RR.\n\ncovers\n$covered = $rr->covers( 'example.foo' );\n"
                    },
                    {
                        "name": "covers",
                        "content": "that name, falls between the owner name and the next hashed owner name of the NSEC3 RR.\n\nencloser, nextcloser, wildcard\n$encloser = $rr->encloser( 'example.foo' );\nprint \"encloser: $encloser\\n\" if $encloser;\n"
                    },
                    {
                        "name": "encloser",
                        "content": "NSEC3 RR.\n"
                    },
                    {
                        "name": "nextcloser",
                        "content": "This is only valid after encloser() has returned a valid domain name.\n"
                    },
                    {
                        "name": "wildcard",
                        "content": "synthesised. This is only valid after encloser() has returned a valid domain name.\n"
                    }
                ]
            },
            "COPYRIGHT": {
                "content": "Copyright (c)2017,2018 Dick Franks\n\nPortions Copyright (c)2007,2008 NLnet Labs. Author Olaf M. Kolkman\n\nAll rights reserved.\n\nPackage template (c)2009,2012 O.M.Kolkman and R.W.Franks.\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "Permission to use, copy, modify, and distribute this software and its documentation for any\npurpose and without fee is hereby granted, provided that the original copyright notices appear\nin all copies and that both copyright notice and this permission notice appear in supporting\ndocumentation, and that the name of the author not be used in advertising or publicity\npertaining to distribution of the software without specific prior written permission.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\nBUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "perl, Net::DNS, Net::DNS::RR, RFC5155, RFC9077\n\nHash Algorithms <http://www.iana.org/assignments/dnssec-nsec3-parameters>\n",
                "subsections": []
            }
        }
    }
}