Linux Today: Linux News On Internet Time.

Release Digest: GNU, February 29, 2004

Mar 01, 2004, 05:00 (0 Talkback[s])

GNU Libidn 0.4.0 alpha

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 Nameprep, iSCSI, SASL and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported. A mechanism to define Top-Level Domain (TLD) specific validation tables, and to compare strings against those tables, is included. Default tables for some TLDs are also included.

Here are the compressed sources:
ftp://alpha.gnu.org/gnu/libidn/libidn-0.4.0.tar.gz (1.6)
http://josefsson.org/libidn/releases/libidn-0.4.0.tar.gz (1.6MB)

Here are GPG detached signatures:

Here are the build reports for various platforms:

Here are the MD5 and SHA1 signatures:

71f3db9892848073c0c76b4d3326fd9a libidn-0.4.0.tar.gz
61c126e7a889ab571b62a547505ead02b0f5b84c libidn-0.4.0.tar.gz

Noteworthy changes since version 0.3.5 (last version announced here):

  • Version 0.4.0 (released 2004-02-28)
    • Support for TLD restrictions on IDN strings, contributed by Thomas Jacob. Many TLDs restrict the set of characters that can be used, from the full Unicode 3.2 range that is normally available. This contribution make it possible for you to test strings for TLD conformance locally. The code can be disabled by --disable-tld. If enabled (the default), the new API "tld.h" is installed which can be used to check a string for conformance to TLD specific rules. This add a new self test, and a new chapter in the manual. People responsible for maintaining TLD tables are hereby encouraged to contribute them (under reasonable licensing terms) for inclusion in future versions of Libidn. Be warned that the API for TLD checking may change throughout the 0.4.x series as we get feedback on it.
    • Kerberos 5 stringprep profile macro is no longer documented. The macro itself will probably be removed in the future, if the specification is dropped from the Kerberos WG agenda.
    • API and ABI is backwards compatible with the previous version. stringprep_kerberos5: DEPRECATED. Tld_table_element:
      Tld_rc: ADD. New data types.
      tld_get_z: ADD. New functions to extract TLD from string.
      tld_default_table: ADD. New functions to get TLD table from TLD name.
      tld_check_4tz: ADD. New function to provide core TLD operations.
      tld_check_lz: ADD. New functions that combine all TLD operations in one call.
  • Version 0.3.7 (released 2004-01-22)
    • The command line parameter '--' idiom is documented.
    • The iSCSI stringprep profile now recognized as "iSCSI". The earlier name "ISCSIprep" is still recognized, for backwards compatibility.
    • DocBook manuals no longer included (the tools are too unstable).
    • API and ABI is backwards compatible with the previous version.
  • Version 0.3.6 (released 2004-01-06)
    • The manual now contain a troubleshooting section for the command line tool.
    • The PHP interface pass the string directly on the command line.
    • The macro that create 'idn-int.h' has been updated to latest version.
    • API and ABI is backwards compatible with the previous version.


A new release of GNU arch, tla-1.2, is now officially available.

GNU arch is a distributed, changeset-oriented revision control system: an alternative to CVS and to proprietary tools such as those used to maintain the Linux kernel.

It can be obtained from any of:


The tar bundle is called tla-1.2.tar.gz/. Accompanying the distribution is a gpg detached signature (tla-1.2.tar.gz.sig) and my public key is attached to this message. The MD5 checksum of the tar bundle is 1fbc9cd83c37ad6e88e9e6a5f0b62871.

This release contains a number of significant performance and feature enhancements and reflects the contributions of an active community of volunteer developers, reviewers, enlightening critics, kibitzers, and testers.

Of particular interest to many will be the new support (relative to 1.1) for "archive signing and integrity checking" -- a facility by which the integrity of a publicly accessible archive can be verified.

Visit the GNU arch home-page at:


for links to more information.

Thank you for your support,
- - -t


The arch project is financially supported entirely by contributions from the general public. Financial help, if you are able to provide, is both very much needed and very much appreciated. You can find more information about this at:

or http://arch.quackerhead.com/~lord

The arch project is also, significantly, supported by contributions of labor by a substantial number of volunteers (listed in the ChangeLog and in the =THANKS file -- both of which, I fear, are doomed to be an incomplete record). A community of contributors has helped arch to advance far more rapidly than would otherwise have been possible.