GNU Libidn is an implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group, used for internationalized domain names.
The library contains a generic Stringprep implementation that does Unicode 3.2 NFKC normalization, mapping and prohibitation of characters, and bidirectional character handling. Profiles for iSCSI, Kerberos 5, Nameprep, SASL and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.
The Stringprep API consists of two main functions, one for converting data from the system's native representation into UTF-8, and one function to perform the Stringprep processing. Adding a new Stringprep profile for your application within the API is straightforward. The Punycode API consists of one encoding function and one decoding function. The IDNA API consists of the ToASCII and ToUnicode functions, as well as an high-level interface for converting entire domain names to and from the ACE encoded form.
Project information
- Licence:
- GNU GPL v3, GNU LGPL v2.1
View full history Series and milestones
main series is the current focus of development.
All packages Packages in Distributions
-
libidn source package in Xenial
Version 1.32-3ubuntu1.2 uploaded -
libidn source package in Trusty
Version 1.28-1ubuntu2.2 uploaded -
libidn source package in Squeeze
Version 1.15-2 uploaded -
libidn source package in Precise
Version 1.23-2ubuntu0.2 uploaded -
libidn source package in Oneiric based series for Ubuntu LEB
Version 1.22-2 uploaded