info-gnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Libidn 1.26 released


From: Simon Josefsson
Subject: Libidn 1.26 released
Date: Wed, 12 Dec 2012 09:54:49 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux)

GNU Libidn is a fully documented implementation of the Stringprep,
Punycode and IDNA specifications.  Libidn's purpose is to encode and
decode internationalized domain name strings.  There are native C, C#
and Java libraries.

Noteworthy changes since the last release (from NEWS file):

* Version 1.26 (released 2012-12-11) [stable]

** libidn, idna_to_ascii: Propagate error on malloc failure.
Reported by Sarat Chandra Addepalli <address@hidden>.

** libidn, tld_get_4: Fix out of bounds read access violation.

** i18n: Added Croatian translation.  Updated Vietnamese translation.
Thanks to Tomislav Krznar and Trần Ngọc Quân.

** java: Permit usage by Apache projects.
Thanks to Oliver Hitz and Angus Turner.

** tests: Improve tld self-tests.

** API and ABI is backwards compatible with the previous version.

The C library contains a generic Stringprep implementation.  Profiles
for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 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.

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.  The TLD API
consists of one set of functions to extract the TLD name from a domain
string, one set of functions to locate the proper TLD table to use
based on the TLD name, and core functions to validate a string against
a TLD table, and some utility wrappers to perform all the steps in one
call.

Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
platforms (including Solaris, IRIX, AIX, and Tru64) and Windows.  The
library is written in C and (parts of) the API is also accessible from
C++, Emacs Lisp, Python and Java.  A native Java and C# port is
included.

Also included is a command line tool, several self tests, code
examples, and more.

Improving Libidn is costly, but you can help!  We are looking for
organizations that find Libidn useful and wish to contribute back.
You can contribute by reporting bugs, improve the software, or donate
money or equipment.

Commercial support contracts for Libidn are available, and they help
finance continued maintenance.  Simon Josefsson Datakonsult AB, a
Stockholm based privately held company, is currently funding Libidn
maintenance.  We are always looking for interesting development
projects.  See http://josefsson.org/ for more details.

The project page of the library is available at:
  https://www.gnu.org/software/libidn/

All manual formats are available from:
  https://www.gnu.org/software/libidn/manual/

Specifically, the following formats are available.

The main manual:
  https://www.gnu.org/software/libidn/manual/libidn.html - HTML format
  https://www.gnu.org/software/libidn/manual/libidn.pdf - PDF format

API Reference manual:
  https://www.gnu.org/software/libidn/reference/intro.html - GTK-DOC HTML
  https://www.gnu.org/software/libidn/reference/libidn.pdf - GTK-DOC PDF

Doxygen documentation:
  https://www.gnu.org/software/libidn/doxygen/index.html - HTML format
  https://www.gnu.org/software/libidn/doxygen/libidn.pdf - PDF format

JavaDoc output for the Java API:
  https://www.gnu.org/software/libidn/javadoc/

If you need help to use Libidn, or want to help others, you are
invited to join our help-libidn mailing list, see:
  https://lists.gnu.org/mailman/listinfo/help-libidn

Here are the compressed sources (3.3MB):
  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26.tar.gz
  http://ftp.gnu.org/gnu/libidn/libidn-1.26.tar.gz

Here are GPG detached signatures:
  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26.tar.gz.sig
  http://ftp.gnu.org/gnu/libidn/libidn-1.26.tar.gz.sig

Here are the SHA-1 and SHA-224 signatures:

b1cb40646a96dadbfc41d060d23dfb382eec1128  libidn-1.26.tar.gz
415440efbe97f87e1a0f33fd42bec25a8197922c9d1d8e3c20585b17  libidn-1.26.tar.gz

We also provide Windows binaries built using MinGW-w64 with the build
script windows/libidn4win.mk, for 32-bit and 64-bit x86 architecures:

  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26-win32.zip
  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26-win32.zip.sig
  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26-win64.zip
  ftp://ftp.gnu.org/gnu/libidn/libidn-1.26-win64.zip.sig

Here are the SHA-1 and SHA-224 signatures:

aca7f2f7bb8832cfbef96dd5af4e293bd3c475c9  libidn-1.26-win32.zip
fd8d06defc9de9b549ad6c39e14d906bd8cc490ce110421f8b0dfc64  libidn-1.26-win32.zip

c883f0dae9cb4cea658615f2e411c554435312f4  libidn-1.26-win64.zip
ad83ecb5b32f6fb1bd664378db09d94390ec2df0285f98860ed8aeac  libidn-1.26-win64.zip

The software is cryptographically signed by the author using an OpenPGP
key identified by the following information:

pub   1280R/B565716F 2002-05-05 [expires: 2013-05-10]
      Key fingerprint = 0424 D4EE 81A0 E3D1 19C6  F835 EDA2 1E94 B565 716F
uid                  Simon Josefsson <address@hidden>
sub   1280R/4D5D40AE 2002-05-05 [expires: 2013-05-10]

The key is available from:
  http://josefsson.org/key.txt
  dns:b565716f.josefsson.org?TYPE=CERT

Code coverage, clang-analyzer output, and cyclomatic code complexity charts:
  https://www.gnu.org/software/libidn/coverage/
  https://www.gnu.org/software/libidn/clang-analyzer/
  https://www.gnu.org/software/libidn/cyclo/

Happy hacking,
Simon

Attachment: pgpQu_066S6Jy.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]