# Package org.minidns.dnslabel

DNS label parsing and validation utilities.

See: Description

- Class Summary
  Class | Description
  --- | ---
  ALabel | Represents an ASCII label in DNS.
  DnsLabel | A DNS label is an individual component of a DNS name.
  FakeALabel | Represents a fake A-label in DNS labels. A fake A-label is a special type of XN-label used for handling certain edge cases in internationalized domain names.
  LdhLabel | A LDH (Letters, Digits, Hyphen) label, which is the classical label form.
  LeadingOrTrailingHyphenLabel | A DNS label with a leading or trailing hyphen ('-').
  NonLdhLabel | A DNS label which contains more than just letters, digits and a hyphen.
  NonReservedLdhLabel | A Non-Reserved LDH label (NR-LDH label), which do not have "--" in the third and fourth position.
  OtherNonLdhLabel | A Non-LDH label which does not begin with an underscore ('_'), hyphen ('-') or ends with an hyphen.
  ReservedLdhLabel | A reserved LDH label (R-LDH label), which have the property that they contain "--" in the third and fourth characters.
  UnderscoreLabel | A DNS label which begins with an underscore ('_').
  XnLabel | A label that begins with "xn--" and follows the LDH rule.

- Exception Summary
  Exception | Description
  --- | ---
  DnsLabel.LabelToLongException | Exception thrown when a DNS label exceeds the maximum allowed length. DNS labels are limited to 63 characters according to RFC 1035.

## Package org.minidns.dnslabel Description

DNS label parsing and validation utilities.

This package provides classes for handling DNS labels, which are the individual components of domain names. It includes functionality for parsing, validating, and converting between different DNS label formats including internationalized domain names.

Features include:

- Label length validation and restrictions
- Character set validation for different label types
- Internationalized domain name (IDN) support
- Punycode encoding/decoding for non-ASCII labels
- Canonical label representation