---
name: "Zonemaster::Engine::Constants"
section: "3pm"
platform: "linux"
package: "libzonemaster-perl"
version: "7.1.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Zonemaster::Engine::Constants"
---

# Zonemaster::Engine::Constants(3pm)

module holding constants used in Test modules

## NAME

Zonemaster::Engine::Constants - module holding constants used in Test modules

## SYNOPSIS

```
   use Zonemaster::Engine::Constants ':all';
```

## EXPORTED GROUPS

- all

  All exportable names.

- algo

  DNSSEC algorithms.

- cname

  CNAME records.

- name

  Label and name lengths.

- ip

  IP version constants.

- soa

  SOA values limits.

- misc

  Other, uncategorized export names, e.g. UDP payload limit and minimum number of name servers per zone.

- addresses

  Address classes for IPv4 and IPv6.

## EXPORTED NAMES

- •

  `$ALGO_STATUS_DEPRECATED`

- •

  `$ALGO_STATUS_PRIVATE`

- •

  `$ALGO_STATUS_RESERVED`

- •

  `$ALGO_STATUS_UNASSIGNED`

- •

  `$ALGO_STATUS_OTHER`

- •

  `$ALGO_STATUS_NOT_RECOMMENDED`

- •

  `$ALGO_STATUS_NOT_ZONE_SIGN`

- •

  `$BLACKLISTING_ENABLED`

  A boolean, used to enable the name server blacklisting mechanism.

- •

  `$CNAME_MAX_CHAIN_LENGTH`

  An integer, used to define the maximum length of a CNAME chain when doing consecutive recursive lookups.

- •

  `$CNAME_MAX_RECORDS`

  An integer, used to define the maximum number of CNAME records in a response.

- •

  `$DURATION_5_MINUTES_IN_SECONDS`

- •

  `$DURATION_1_HOUR_IN_SECONDS`

- •

  `$DURATION_4_HOURS_IN_SECONDS`

- •

  `$DURATION_12_HOURS_IN_SECONDS`

- •

  `$DURATION_1_DAY_IN_SECONDS`

- •

  `$DURATION_1_WEEK_IN_SECONDS`

- •

  `$DURATION_180_DAYS_IN_SECONDS`

- •

  `$FQDN_MAX_LENGTH`

- •

  `$LABEL_MAX_LENGTH`

- •

  `$IP_VERSION_4`

- •

  `$IP_VERSION_6`

- •

  `$SERIAL_BITS`

  An integer, used to define the size of the serial number space, as defined in RFC1982, section 2.

- •

  `$SERIAL_MAX_VARIATION`

- •

  `$MINIMUM_NUMBER_OF_NAMESERVERS`

- •

  `$UDP_PAYLOAD_LIMIT`

- •

  `$EDNS_UDP_PAYLOAD_DEFAULT`

  An integer, used to define the EDNS0 UDP packet size in non-DNSSEC EDNS queries.

- •

  `$EDNS_UDP_PAYLOAD_COMMON_LIMIT`

- •

  `$EDNS_UDP_PAYLOAD_DNSSEC_DEFAULT`

  An integer, used to define the EDNS0 UDP packet size in DNSSEC queries.

- •

  `@IPV4_SPECIAL_ADDRESSES`

- •

  `@IPV6_SPECIAL_ADDRESSES`

## METHODS

- **\_extract\_iana\_ip\_blocks()**

  ```
      my @array = _extract_iana_ip_blocks( $ip_version );
  ```

  Internal method that is used to extract IP blocks details from IANA files for a given IP version (i.e. 4 or 6).

  Takes an integer (IP version).

  Returns a list of hashes - the keys of which are `"ip"` (Net::IP::XS object), `"name"` (string) and `"reference"` (string).
