�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!AUTHORS000064400000142621152526503060005626 0ustar00Libidn AUTHORS -- Information about the authors. Copyright (C) 2002-2016 Simon Josefsson See the end for copying conditions. Simon Josefsson Designed and implemented libidn. Thomas Jacob Contributed TLD support. Oliver Hitz Contributed Java implementation. Stefan Larsson Optimized Java implementation. Added Maven support. Alexander Gnauck Contributed C# port. Adam Strzelecki Contributed Windows Visual Studio project files. Tim Ruehsen Added fuzzing and OSS-Fuzz integration. Fixed bugs and performance issues found by fuzzing. Modernized GTK-Doc build. Fixed build issues. -----BEGIN PGP PUBLIC KEY BLOCK----- URL: http://josefsson.org/54265e8c.txt Comment: This 0x54265e8c key is used to sign releases of Libidn. mQHhBFOnKoEBDqCoGZ7KIeZI1cbNFHIVxywetihLsA24nv3bJa/kd7kgkjfxdlcl JNlJZPbQIttl4HE7M+mxPUVtvlJeIggI2xd6uyv/XrM9Wdy48hskNHX5umZ55yIP C+T1VYXIJYhFFJgTaahtfCrf6/gQKnC0TNhYiWw4GP33S1UgVTz5IBEr85W/QmN/ iUtM75wyq12ntRR+LSxSEmnEF5pzoP5SgVUXdAZAJQVvLcu8L9opAdHj4C3IcvvS HKvp4h2zvnOwRwjjiObKxRTtNaxHO8Sfofxw5aiifL39bxAKuJl6Rrhd09xKIvqb qu/m8GqWiSyO6N8tTDgxBKGfgba3D1AQ+J+VkFj31Obm3R3GEpFRo1i1mQLgKqbq Gs0aoZqVMkP3fItzkw+pOuldgL4P94IoXJsWjt0x7F0ojX0CWYbQ9rYHrBCe01Mn Rgn6j8glZj6hQs7sSMW5eGA0HNew6g0WEYGC2IsDQV2rGpsLnbx7r9P/qIA+q42o VjxxNMaa6WXfQf6eBiOSYa/9HsophhdK4+eJOoD/n85Vb4qvT0yEjQQurfBnbGte bIsakyX+eLpfwD6RpDAe7irZaBSOBKWdKOlbCdIezblK8JuSJS/LLMAfPVsasgMA EQEAAbQiU2ltb24gSm9zZWZzc29uIDxzaW1vbkB5dWJpY28uY29tPohGBBARCAAG BQJT7K3xAAoJEHgwLEuNv+wv3PsAoLDsmoJ0NKV45c8lSsnhSeuBSlktAKCJbs8J tU/rKvwO5sJpihacJBg3sohGBBARCgAGBQJT2DVuAAoJEHIENnC95fHuZdgAnjKf vwLDgfsr3bt4jgavytp6Gy/5AJ0ZoFCsnYdIX4TVzqms0Ve9I3UMPoi8BBABAgAG BQJTpzKjAAoJEO2iHpS1ZXFvlnwFAKajFYcoF/HVza29tvcJ5ZVqpypshxq1cNUZ PeX1z1Q6GAlLBxcZXxuXCC4SyRsqhq1eYB5ttHM5lxWZJix0+ZQtqdq+gjOcx+PO efmAdX+YFpiaayvQ6oU77okElkZd2Suup7+Halt1V8S+kbMtcA2iEj1g8r1WoUFO gxAUmILR7HoDpGT8dqHV0JShFFvyL0uL/mpKJVbOGsTKOS+THjKJARsEEAEIAAYF AlOoLMkACgkQvKAP1LIWjAr58gf4vZp3EyzzC+5b08QKSmEdbPkkjpwIEmuUd22l rXEZmeKitkVl5i66+HdSY8DAzqS+LHZkmmWoPVvkxwyRf/em9ba2A/ap1cwOOq6Q uDmFj5Wq2MkG01N/Nvz/DXOgpUNGkcYG0JK5p0Orlggz2eWkk0tT3S+Ay0tAV++w Kko6JpGdCmj42yLGvXE5slIGmtjDp2s4WBB5z2mjEFl3krzruvbECcfRXQyQXwdW gq83n5j4C2r4vIjzunjWT9DS3Dqp53nZw4+jD0dIgukMT6JLhZhgc3UlnrKKwF2A ywqN1Zg7/PnPHCAvuk3CsHhza2aL76uKig7NTy+dJR/0w/gbiQEcBBABCAAGBQJU rmkwAAoJEPBDZwlvupXoiGsH/RBaSKxGHCpkgtBbubmVs+QQjZVzswtqrzxe9z3X qY3JG3sVUSEJLgjKi6PhFN1mAbGUMAeR7hpd8eL/S88EwwtjmUrY0Wm3IIlrjocA 5f+J+eRdPfb7IuzQxSRm1oVxWGS5hG4mo4mWMOqL2goj56598N3Da0HP1Klt1++H Nggo5UfksgtEk25clKWz2VjzKvZtk8YroiKXhHy3RM13AFRmd4OO7X6axFx/BmkQ ladFyKRAWJ/jGBQPxxzcjBgGwD/fdDojDMRH4VJMQ/r39WC3hhg+IS96R13x/0s3 /CYV7hflgZKi4LkwJSFO1x9CCDsC6+Cg00IjPnlv4KoUhqCJAg4EEwEKACQCGwMI CwkIBw0MCwoFFQoJCAsCHgECF4AFAlP8niAFCQEbNJMACgkQBmSnaVQmXow0Zg6e OAJIELzrNXq1dPYlcWYBKDSkqRUM3fFEApIwB9NVMBxGYtm0JdHOla+Nx+mQzV0I wcbF2BaoB55B5c1Th9Fr4efTfJZcqKpk90SFJdW+wZtsSLe62/Mo6oleUj8UkVPq 9ZY/u3jJuevZcCvqN3+CYlfo2VlSoKXXLZU5lHPVFQCRpLXCvNdC5oMCt17CZAVN mRgKUpMIAOdoqJL8NXfAnkZdz7Quu763XSs0ocOg16zsG8dPGJsyCjuj8WUjVyYN 04Wxpot7XI1eyLJVplid8Us92n2zXvaySKd3lIHZrnu1nXKp75SXyNtqCw6E/X1r qriGE+ChMJVSyr2X525WSskfAymlTfMn+n2hMsu7ZVpB7TjWqQcag4cU9Ctw1DCQ ic7Gv9xaeFHgWxJMLZ3Fn+D/D9ilKwPUmA783tkRYuXT9+ri8oR4TcIktJgJCBRC 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 olYAad79y0zRxag= =iuh9 -----END PGP PUBLIC KEY BLOCK----- ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. THANKS000064400000005614152526503060005471 0ustar00Libidn THANKS -- Acknowledgements. Copyright (C) 2002-2016 Simon Josefsson See the end for copying conditions. The punycode code was taken from the IETF IDN Punycode specification, by Adam M. Costello. The TLD code was contributed by Thomas Jacob. The Java implementation was contributed by Oliver Hitz. The C# implementation was contributed by Alexander Gnauck. The Unicode tables were provided by Unicode, Inc. Functions for dealing with Unicode (see lib/nfkc.c) are borrowed from GLib downloaded from www.gtk.org. Gnulib is used to simplify portability and to improve readability of the code. Suggestions, bug reports, patches, translations, test vectors or other contributions were also received from or written by the people mentioned below. If you have contributed and aren't mentioned here, please let us know! Stephane Bortzmeyer Seungho Lee Waldo Bastian Travis Shirk Hugo Salgado H. Leonard Stiles Ryan M. Golbeck Joe Hildebrand Thiago Macieira Ienup Sung Wim Lewis Robert Norris Patrik Wallstrom Marcos Sanz Gerrit P. Haase Adam M. Costello Trond Haugen Marco d'Itri Arkadiusz Miskiewicz Noah Levitt Paul Hoffman / JDNA Oden Eriksson Kai Schaetzl Graydon Hoare Jan-Hendrik Heuing Chris Moore Niels Möller Thomas Jacob Ulrich Drepper Jakub Bogusz Aleksandar Jelenak Michel Robitaille Morten Bo Johansen Oliver Hitz Jørgen Thomsen Roland Illig Elros Cyriatan Martin Waitz Laurentiu Buzdugan Joe Orton Daniel Stenberg Gisle Vanem Robert Scheck Benjamin Reed Edmund GRIMLEY EVANS Stephan Kulow Andreas Schwab Eric S. Raymond Matt Tucker Marco Colombo Linus Nordberg Simon Walter Clytie Siddall Meng Jie Carsten Lohrke Wim Lewis Yaakov S Alexander Gnauck Bernard Leak Kirill Ponomarew Paul Howarth Stephane Mikaty Petteri Räty Petr Pisar Christian Ehrlicher Remko van der Vossen Erik van der Poel Mike Frysinger Adam Strzelecki Benno Schulenberg John McGowan Sisyphus Jens Rehsack Dagobert Michelsen Guus der Kinderen Guenter Knauf Stepan Golosunov "Andrew O. Shadoura" Roman Mamedov Waqas Hussain Guido Trentalancia Volker Grabsch Olga Limburg Bittner Ede René Berber Jon Nelson Bartosz Brachaczek Sarat Chandra Addepalli Jeffrey Frey Thijs Alkemade Nikos Mavrogiannopoulos Gustavo Grieco Adam Sampson Hanno Böck ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. README000064400000002266152526503060005436 0ustar00Libidn README -- Important introductory notes. Copyright (C) 2002-2016 Simon Josefsson See the end for copying conditions. Libidn is a package for internationalized string handling based on the Stringprep, Punycode, IDNA and TLD specifications. Libidn is a GNU project. See the file COPYING for licensing information. Read INSTALL for installation instructions, and doc/libidn.* for the manual in various formats (including Info, HTML, PostScript, and PDF). Libidn will not be stable without your help. Report bugs, proof read the manual, or make a monetary donation. If you need help to use Libidn, or wish to help others, you are invited to join our mailing list help-libidn@gnu.org, see . For more information, see . For any copyright year range specified as YYYY-ZZZZ in this package note that the range specifies every single year in that closed interval. ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. NEWS000064400000154246152526503060005263 0ustar00Libidn NEWS -- History of user-visible changes. -*- outline -*- Copyright (C) 2002-2018 Simon Josefsson See the end for copying conditions. * Version 1.34 (2018-03-31) ** libidn: Fix integer overflow in combine_hangul() Found by fuzzing. ** libidn: Fix integer overflow in punycode decoder Found by fuzzing, fix for the fix reported by Christian Weisgerber ** libidn: Fix performance issue in idna_to_unicode_internal() Found by fuzzing. ** libidn: Fix performance issue in stringprep functions. Found by fuzzing. ** libidn: Fix NULL pointer dereference in g_utf8_normalize() Found by fuzzing. ** libidn: Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize() Found by fuzzing. ** libidn: Increase performance of stringprep functions Found by fuzzing. ** testing: Add OSS-fuzz integration and regression testing ** build: Update gnulib files ** build: Modernize GTK-Doc build ** build: Fix parallel builds ** build: Add configure flag --disable-doc ** build: Add configure flag --enable-ubsan (enable UB Sanitizer) ** build: Add configure flag --enable-asan (enable Address Sanitizer) ** build: Fix compiler warnings ** build: Fix build for gcc-7 ** i18n: Added Swedish translation. Thanks to Josef Andersson. ** API and ABI is backwards compatible with the previous version. * Version 1.33 (released 2016-07-20) [beta] ** libidn: Fix out-of-bounds stack read in idna_to_ascii_4i. See tests/tst_toascii64oob.c for regression check (and the comment in it how to use it). Reported by Hanno Böck . ** idn: Solve out-of-bounds-read when reading one zero byte as input. Also replaced fgets with getline. Reported by Hanno Böck . ** libidn: stringprep_utf8_nfkc_normalize reject invalid UTF-8. It was always documented to only accept UTF-8 data, but now it doesn't crash when presented with such data. Reported by Hanno Böck. ** Dropped valgrind suppressions file, should no longer be needed. ** API and ABI is backwards compatible with the previous version. * Version 1.32 (released 2015-08-01) [beta] ** libidn: Fix crash in idna_to_unicode_8z8z and idna_to_unicode_8zlz. This problem was introduced in 1.31. Reported by Adam Sampson. ** API and ABI is backwards compatible with the previous version. * Version 1.31 (released 2015-07-08) [beta] ** libidn: stringprep_utf8_to_ucs4 now rejects invalid UTF-8. CVE-2015-2059 This function has always been documented to not validate that the input UTF-8 string is actually valid UTF-8. Like the rest of the API, when you call a function that works on UTF-8 data, you have to pass it valid UTF-8 data. Application writers appear to have difficulties using interfaces designed like that, as bugs triggered by invalid UTF-8 has been identified in a number of projects (jabberd2, gnutls, wget, and curl). While we could introduce a new API to perform UTF-8 validation, so that applications can easily implement the proper checks, this appear error prone because there is a risk that the check will be forgotten. Instead, we took the more radical approach of modifying the documentation and the implementation of the API. The intention is that all functions that accepts UTF-8 data should validate it before use. This will solve the problem for applications, without needing to change them. This change has the unfortunate side-effect that Surrogate codes (see section 5.5 of RFC 3454) no longer trigger the STRINGPREP_CONTAINS_PROHIBITED error code but instead will trigger the newly introduced STRINGPREP_ICONV_ERROR error code, as the gnulib/libunistring-based code that we use to test UTF-8-compliance rejects Surrogate codes. We hope that this is an acceptable cost to live with in order to improve application security. We welcome feedback on this solution, and we are marking this release as beta rather than stable to signal that we may reconsider this approach if people disagree. Reported by several people including Thijs Alkemade, Gustavo Grieco, Daniel Stenberg, and Nikos Mavrogiannopoulos. ** libidn: Added STRINGPREP_ICONV_ERROR error code. ** libidn: Workaround valgrind/gcc/glibc issue. Valgrind reported a 'Invalid read of size 4' that was caused by optimized strlen implementation. Reported and patch by Alessandro Ghedini . ** build: Use LOG_COMPILER instead of TESTS_ENVIRONMENT to fix valgrind use. Errors caught by valgrind did not always trigger 'make check' failures before. ** i18n: Updated Danish translation. Thanks to Joe Hansen. ** API and ABI is backwards compatible with the previous version. See discussion above on slight change in semantics of functions. * Version 1.30 (released 2015-03-02) [stable] ** libidn: The punycode.{c,h} files were re-imported from RFC 3492bis. A comment explaining the origin and what was changed was added. ** Bump gettext to 0.19.3. ** Use LT_INIT instead of AC_LIBTOOL_WIN32_DLL. ** i18n: Added Hungarian translation. Updated some other languages. Thanks to Balázs Úr. ** API and ABI is backwards compatible with the previous version. * Version 1.29 (released 2014-08-10) [stable] ** libidn: Mark internal variable "g_utf8_skip" as static. Reported by Thomas Dineen . ** idn: Flush stdout to simplify for tools that buffer too heavily. Tiny patch from Hugh Daschbach . ** i18n: Added Brazilian Portuguese translation. Thanks to Rafael Ferreira. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 1.28 (released 2013-07-10) [stable] ** idn: Don't crash when string conversion from UTF-8 to locale fails. Reported by Jeffrey Frey . ** java: Fix build failures. ** java: TestIDNA -a and -u logic was reversed, now fixed. ** API and ABI is backwards compatible with the previous version. * Version 1.27 (released 2013-06-05) [stable] ** Java library can be built using Maven. Speed improvements. Thanks to several patches from Stefan Larsson. Testing indicate 70-90 times faster node/name/resource-prep. ** Update gnulib files and translations. ** API and ABI is backwards compatible with the previous version. * Version 1.26 (released 2012-12-11) [stable] ** libidn, idna_to_ascii: Propagate error on malloc failure. Reported by Sarat Chandra Addepalli . ** 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. * Version 1.25 (released 2012-05-23) [stable] ** MSVC: Build fixes related to _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE. Reported by Bartosz Brachaczek . ** examples: Fix compiler warning about ignoring return value from fgets. ** tests: Ship with a valgrind suppressions file for the strlen issue. See tests/libidn.supp and bottom of HACKING for discussion. ** Update gnulib files and translations. ** API and ABI is backwards compatible with the previous version. * Version 1.24 (released 2012-01-10) [stable] ** Libraries are re-licensed from LGPLv2+ to dual-GPLv2+|LGPLv3+. ** build: Fix parallel Windows builds. Reported by René Berber . ** libidn: Fix potential infloop in pr29 code. Reported by Jon Nelson in . ** libidn: Add 'const' keyword to 'stringprep_ucs4_nfkc_normalize' function. ** Sync glib NFKC code and improve copyright/license statements. ** Update gnulib files and translations. ** API and ABI is backwards compatible with the previous version. * Version 1.23 (released 2011-11-25) [stable] ** stringprep.h: Now #include's sys/types.h instead of unistd.h for ssize_t. Some systems (e.g., Mingw with MSVC 9) does not have unistd.h. ** idn-free.h: Protect prototypes with 'extern "C"' marker. Reported by Bittner Ede . ** doc: Update link to experimental TLD tables. The new link is . ** Update gnulib files and translations. ** QA: Improved cyclo output. Update GTK-DOC files. Various bugfixes. ** API and ABI is backwards compatible with the previous version. * Version 1.22 (released 2011-05-04) [stable] ** libidn: Add -liconv as static library requirement in libidn.pc, for MinGW. Reported by Volker Grabsch . ** libidn: Fix memory leak in idna_to_ascii_4z when idna_to_ascii_4i fails. Reported by and tiny patch from Olga Limburg . ** libidn: Ran clang-analyze on the code. Fixed some dead assignments/initializations. ** build: Really distribute win32/libidn4win.mk. ** API and ABI is backwards compatible with the previous version. * Version 1.21 (released 2011-04-24) [stable] ** build/gettext: Demand gettext >= 0.18.1 in order to get newer M4 files. The old M4 files associated with 0.17 caused problems on Solaris, hopefully now fixed. Reported by Dagobert Michelsen in . ** build: Improve MinGW cross-compile makefile, see win32/libidn4win.mk. ** build: Visual Studio files fixed to define LIBIDN_BUILDING. Tiny patch from Waqas Hussain . ** API and ABI is backwards compatible with the previous version. * Version 1.20 (released 2011-03-01) [stable] ** libidn: Fix bug in ToUnicode to compare 'xn--' case-insensitively. The problem is typically noticed when an upper ACE case string is converted to Unicode. Before, this would return the input rather than converting the ACE form to Unicode. Reported by Stepan Golosunov in . ** tests: Added self-test tst_idna3 to catch any regression of problem above. ** idn: Only print copyright and license blurb when used interactively. Reported by "Andrew O. Shadoura" and Roman Mamedov in and respectively. ** Update gnulib files and translations. ** API and ABI is backwards compatible with the previous version. * Version 1.19 (released 2010-05-22) [stable] ** doc: Typo fixes. Added PDF version of API reference manual. See doc/reference/libidn.pdf. ** build: Update gnulib files. ** build: Use valgrind -q to reduce verbosity. ** API and ABI is backwards compatible with the previous version. * Version 1.18 (released 2010-02-15) [stable] ** libidn: Put forgotten symbols under old namespace. Reverts one unnecessary change introduced in 1.17. Suggested by Marco d'Itri . ** API and ABI is backwards compatible with the previous version. * Version 1.17 (released 2010-02-05) [alpha] ** libidn: Fix symbol export problem for a few variables. Applications (that use these rarely used variables) built against versions before 1.13 did not work with libidn versions 1.13 to 1.16. Symbol versioning was introduced in version 1.13 but by accident some symbols that were visible before that release were not exported, and the consequence was that those symbols were not available in version 1.13 to 1.16. This release fixes the problem, so the symbols are visible again, making this release backwards compatible with all earlier releases. The affected symbols are the following variables: stringprep_iscsi_prohibit, stringprep_rfc3454_A_1, stringprep_rfc3454_B_1, stringprep_rfc3454_B_2, stringprep_rfc3454_B_3, stringprep_rfc3454_C_1_1, stringprep_rfc3454_C_1_2, stringprep_rfc3454_C_2_1, stringprep_rfc3454_C_2_2, stringprep_rfc3454_C_3, stringprep_rfc3454_C_4, stringprep_rfc3454_C_5, stringprep_rfc3454_C_6, stringprep_rfc3454_C_7, stringprep_rfc3454_C_8, stringprep_rfc3454_C_9, stringprep_rfc3454_D_1, stringprep_rfc3454_D_2, stringprep_saslprep_space_map. Thanks to Marco d'Itri for reporting that led to discovering this problem. ** Really fix the link error of self-tests on MinGW. ** API and ABI is backwards compatible with the previous version. * Version 1.16 (released 2010-01-12) ** java: Add a Maven pom.xml project file. Contributed by Guus der Kinderen . ** Fix a link error on MinGW. ** API and ABI is backwards compatible with the previous version. * Version 1.15 (released 2009-06-08) ** libidn: Use c_strcasecmp instead of strcasecmp. For portability to NetWare CLIB. The specification requires a ASCII comparison, so it is also more appropriate to use c_strcasecmp. Reported by Guenter Knauf . ** java: Fix some Java compiler warnings. ** doc: Improved sections for the info manual. We now follow the advice given by the texinfo manual on which directory categories to use. In particular, libidn moved from the 'GNU Libraries' section to the 'Software libraries' and 'Invoking idn' moved from 'GNU utilities' to 'Localization'. ** New configure parameters to set packaging specific information. The parameters are --with-packager, --with-packager-version, and --with-packager-bug-reports. See for more details. ** API and ABI is backwards compatible with the previous version. * Version 1.14 (released 2009-04-03) ** libidn: Install a libidn-*.def file when building under MinGW. The file is useful if you develop programs in Visual Studio that links to libidn. ** tests/tst_toutf8: Don't crash if stringprep_utf8_to_locale returns NULL. Reported by Dagobert Michelsen in . ** API and ABI is backwards compatible with the previous version. * Version 1.13 (released 2009-03-06) ** libidn: Use a LD version script on platforms where it is supported. Currently only GNU LD and the Solaris linker supports it. This helps Debian package tools to produce better dependencies. Before we used Libtool -export-symbols-regex that created an anonymous version tag. Libidn uses -export-symbols-regex if the system does not support LD version scripts, but that only affect symbol visibility. ** libidn: Compiled with -fvisibility=hidden by default if supported. Currently only GCC supports it for ELF targets. This hides internal symbols and has other advantages, see . ** libidn: Compiled with warning flags only when GCC is used. This avoids the problem that some flags confuse non-GCC compilers, for example -fdiagnostics-show-option. Reported by jens.rehsack@bayerbbs.com. ** doc: The idn_free function is now documented. Suggested by "Sisyphus" . ** API and ABI is backwards compatible with the previous version. * Version 1.12 (released 2009-01-23) ** idn: New parameter --no-tld to deprecate the old parameter --tld. The new parameter --no-tld disable TLD checking of the input string. The --tld parameter was broken; it behaved opposite to its documented behaviour. To avoid confusion over what --tld means, we decided to deprecate it. Now --tld is not printed in the idn --help output, but will continue to work as before. ** doc: Modernize doxygen configuration. ** doc: Change license on the manual to GFDLv1.3+. ** doc: Improve JavaDoc output. ** Update gnulib files and translations. ** Build with more warnings. ** API and ABI is backwards compatible with the previous version. * Version 1.11 (released 2008-10-28) ** libidn: New WARN_CFLAGS configure variable. It is used internally to add -Werror and other warnings flags, to catch coding mistakes before releases. ** Win32: Perl is no longer required to build Libidn in Visual Studio. ** Win32: Functions in idna.h are also exported. Reported by Adam Strzelecki . ** doc: Included cyclomatic code complexity charts of the library code. See doc/cyclo/. ** tests: Add more self-tests to get more self-test code coverage. ** tests: New 'make coverage' command to generate code coverage reports. The output is created in doc/coverage/. Requires the LCOV tools. See http://www.gnu.org/software/libidn/coverage/ for a pre-generated copy. ** Clarify copyright and license for gdoc, man pages, and C# port. ** Update gnulib files and translations. ** API and ABI is backwards compatible with the previous version. * Version 1.10 (released 2008-08-27) ** idn: accept -n as short form for --nfkc. Before '-k' was used as the short form, but all documentation has said '-n'. We now accept both short forms, and -n remains the documented short form. Reported by John McGowan in . ** Fix compiler warnings. ** Update gnulib files. ** Update translations. ** API and ABI is backwards compatible with the previous version. * Version 1.9 (released 2008-07-01) ** idn: fix error message when NFKC fails, and some other translation fixes. Reported by Benno Schulenberg . ** C# Libidn.dll: Work around bug that cause a failure during C# compilation. See . ** Remove more non-free text from doc/specifications/rfc3454.txt. The remaining data tables are not copyrightable. ** Update gnulib files, and include gnulib self-tests. ** Update translations. ** API and ABI is backwards compatible with the previous version. * Version 1.8 (released 2008-04-23) ** Translations files not stored directly in git to avoid merge conflicts. This allows us to avoid use of --no-location which makes the translation teams happier. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 1.7 (released 2008-04-10) ** idn: new parameter --nfkc to process string with Unicode v3.2 NFKC. ** Minor build fix for native Win32 builds. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 1.6 (released 2008-03-19) ** Add native Windows Visual Studio project files. Contributed by Adam Strzelecki . ** Remove non-free portions of RFC 3454 in doc/specifications/rfc3454.txt. ** Update gnulib files. ** Doc fixes in IDNA to clarify that some functions operate on ** just one domain labels and some operate on domain name (which ** can contain several domain labels). ** API and ABI is backwards compatible with the previous version. * Version 1.5 (released 2008-02-19) ** Don't include wchar.h in idn-int.h. Fixes problems on uClibc systems which lack a wchar.h. Reported by Mike Frysinger , see . ** Added appendix 'On Label Separators' to the manual. Thanks to Erik van der Poel for bringing the issue to our attention and for discussing the matter. See . ** Improved rendering of non-ASCII in the info manual. Done by adding a @documentencoding UTF-8. This affect how the examples are encoded, the files examples/*.c are now encoded using UTF-8 instead of a mix of ISO-8859-1 and ISO-8859-15. ** Fix non-portable use of brace expansion in makefiles. ** Update translations. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 1.4 (released 2008-01-09) ** Fixes to make the C# port compile under Mono. ** Update gnulib files. ** Improve idn --version and --help output to conform to GNU standards. This also enables translations of --help output. ** Update translations. Added Finish translation, thanks to Jorma Karvonen. Updated Dutch and Vietnamese. ** API and ABI is backwards compatible with the previous version. * Version 1.3 (released 2007-12-11) ** Some hints on Windows installation in the manual. ** Update translations. Added Czech translation, thanks to Petr Pisar. ** Use gettext 0.17. ** Update gnulib files. Top-level gnulib files are now distributed under GPLv3+. (The gnulib files used by the core library are still under LGPLv2.1+.) ** API and ABI is backwards compatible with the previous version. * Version 1.2 (released 2007-10-01) ** Development git tree moved to savannah. See . ** Update gnulib files. Including mono detection fixes. ** Update translations. ** API and ABI is backwards compatible with the previous version. * Version 1.1 (released 2007-09-01) ** Fix compilation error in idn-int.h. The error would typically be 'error: no include path in which to search for stdint.h'. Reported by Remko van der Vossen , see and . ** Declare external variables with __declspec(import) for Windows. Apparently this is required for variables in DLL's on Windows. This is enabled if __DECLSPEC_SUPPORTED is defined (MinGW), or if _MSC_VER and_DLL is defined (MSVC). ** Update gnulib files. ** Update translations. ** API and ABI is backwards compatible with the previous version. * Version 1.0 (released 2007-07-31) ** Command-line tools, examples, etc are now licensed under GPL version 3. The library is still licensed under LGPL v2.1 for compatibility reasons (it is included in glibc). ** Updated documentation as per license change. ** Update gnulib files. ** Update translations. ** API and ABI is backwards compatible with the previous version. * Version 0.6.14 (released 2007-05-31) ** Libidn is now developed using Git instead of CVS. A public git mirror is available from . If you have pulled from this repository before this release, you need to erase your clone because it has been re-generated from scratch. ** API and ABI is backwards compatible with the previous version. * Version 0.6.13 (released 2007-05-31) ** Documentation fixes. Clarify that the C# and Java libraries are licensed under the LGPL. Earlier, some places incorrectly said that these were licensed under the GPL. If you encounter other places that still suggest that GPL applies to the C# and Java library, please let me know. ** Updated Polish and Vietnamese translations. Thanks to Jakub Bogusz and Clytie Siddall . ** Install images for the manual in $infodir. This fixes the broken image in the info manual. Image files will be called libidn-*.png to avoid namespace collisions with images from other info manuals. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.12 (released 2007-04-25) ** Use AM_JAVACFLAGS instead of JAVACFLAGS in java/misc/Makefile.am. Reported by Petteri Räty . ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.11 (released 2007-03-13) ** Update of the C# Libidn port, by Alexander Gnauck. The code has been refactored and the namespace has been modified to comply with .NET naming conventions. An IDNA bug was fixed. ** Update gnulib files. We now use the "striconv" module instead of the "iconvme", which causes a slight increase of code size (from 303kb to 319kb with debugging symbols on i386). The reason is the use of a new locale independent strcasecmp, which may cause faster operation in some locales where, e.g., "ASCII" and "ascii" are not treated as the same. ** API and ABI is backwards compatible with the previous version. * Version 0.6.10 (released 2007-01-04) ** Corrected year in copyright notices. ** Update gnulib files. Including the code to convert strings between different encodings (noted in case this introduces problems). ** API and ABI is backwards compatible with the previous version. * Version 0.6.9 (released 2006-11-30) ** The Java code is fixed to properly translate any non-ASCII dot into '.'. Reported and fixed by "Stephane Mikaty" . ** Update gnulib files. ** Bump tool versions to autoconf 2.61, automake 1.10, and gettext 0.16. ** Old versions of iconv.m4, codeset.m4 and lib-link.m4 removed from m4/. Modern versions are part of gnulib. ** API and ABI is backwards compatible with the previous version. * Version 0.6.8 (released 2006-10-18) ** The gnulib directory is separated into two directories. One gnulib directory (lib/gl/) for the LGPL library in lib/, and one gnulib directory (gl/) for the GPL tools in src/. This allows the GPL'd tools to use more gnulib modules than before, since earlier all gnulib files had to be LGPL. ** Update gnulib files. ** Some minor cleanups, like assuming locale.h and setlocale(). ** API and ABI is backwards compatible with the previous version. * Version 0.6.7 (released 2006-09-13) ** Fix build failure of idn-int.h on C99 platforms. Reported by Paul Howarth . ** The manual includes the GPL license, for the command-line tools. ** The function, variable and concept index is moved to the end of the manual. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.6 (released 2006-08-23) ** Instead of AX_CREATE_STDINT_H, use the stdint gnulib module, for idn-int.h. This solves building on some HPPA systems. Note that the generated idn-int.h is specific to the build environment that libidn was built under, and is not generally usable by any other compiler (if any) on the host. This was true before too. ** Update gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.5 (released 2006-06-07) ** Link the library with external libintl, for gettext. This fixes building on FreeBSD, reported by Kirill Ponomarew . ** Update doxygen config file to version 1.4.7. ** API and ABI is backwards compatible with the previous version. * Version 0.6.4 (released 2006-06-07) ** Fix translation of error messages. Thanks to Joe Orton . ** Fix warnings on 64-bit platforms. Thanks to Joe Orton . ** The tests are run under valgrind, if it is installed. Use --disable-valgrind-tests to unconditionally disable this. It is disabled by default for cross compiles. ** API and ABI is backwards compatible with the previous version. * Version 0.6.3 (released 2006-03-08) ** Fixes for the build environment. ** API and ABI is backwards compatible with the previous version. * Version 0.6.2 (released 2006-02-07) ** Fix objdir != srcdir builds for the Java documentation. Thanks to Bernard Leak . ** Update of gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.1 (released 2006-01-20) ** Make it possible to cross-compile to mingw32. You can build Libidn for Windows by invoking `./configure --host=i586-mingw32msvc' (or similar). ** Minor changes in how the C# code is built. ** Update of gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.6.0 (released 2005-12-03) ** A C# port of Libidn has been contributed by Alexander Gnauck. The port resides in the csharp/ directory. Configure will build it if a working C# compiler can be found. Mono's "mcs" compiler is known to work (available in Debian in the "mono-mcs" package), but PNET's "cscc" compiler should also work (available in Debian in the "pnet" package). The port is licensed under the GPL. Some Microsoft Visual Studio project files are also present in the csharp/ directory, which may be useful when building the port under Windows. The C# API is currently not documented, improvements are gratefully accepted. ** Support shared libraries on Cygwin and Mingw32, thanks to Yaakov S. ** Fix memory leak. ** API and ABI is backwards compatible with the previous version. * Version 0.5.20 (released 2005-10-23) ** The header file pr29.h is now installed by 'make install'. ** Translation updates. ** Update of gnulib files. ** API and ABI is backwards compatible with the previous version. * Version 0.5.19 (released 2005-09-19) ** The test for setlocale and nl_langinfo has now been separated. The autoconf script now test for locale.h, setlocale and nl_langinfo(CODESET) independently. ** Gnulib updates, fixes for getopt. ** Java manuals in doc/java/ are now generated by Gjdoc from GNU Classpath. ** Kaffe is used to link the pre-built libidn-*.jar file. ** Translation updates. ** API and ABI is backwards compatible with the previous version. * Version 0.5.18 (released 2005-07-16) ** The macro AX_CREATE_STDINT_H that is used to create idn-int.h ** has been updated. ** Fix use of 'head -1' in configure script (should be 'head -n -1'), ** thanks to Carsten Lohrke. ** Announce the help-libidn mailing list in documentation and README. ** Translation updates. ** API and ABI is backwards compatible with the previous version. * Version 0.5.17 (released 2005-05-26) ** The gnulib portability files were updated. ** The license template in files were updated with the new address. ** Translation updated. ** API and ABI is backwards compatible with the previous version. * Version 0.5.16 (released 2005-05-06) ** Mark static PR29 data tables as 'const', thanks to Joe Orton. ** Kinyarwanda translations added, thanks to Steve Murphy. ** API and ABI is backwards compatible with the previous version. * Version 0.5.15 (released 2005-03-19) ** Improvements to code to convert data between character sets. The license template was changed to the LGPL, from the GPL template that was mistakenly used in the previous two releases. Document here that cleaning up this code has solved memory allocation and arithmetic overflow problems. ** API and ABI is backwards compatible with the previous version. * Version 0.5.14 (released 2005-03-19) ** Building for srcdir != objdir from CVS now work, thanks to Linus Nordberg. ** Simplified Chinese translations added, thanks to Meng Jie. ** Vietnamese translation added, thanks to Clytie Siddall. ** API and ABI is backwards compatible with the previous version. * Version 0.5.13 (released 2005-01-29) ** The code to convert data between character encodings have been cleaned up. The stringprep_convert function has been added to gnulib, under the name iconv_string, and is now used by libidn. This should not have any user-visible consequences, though. ** It is now possible to bootstrap with unmodified Automake installations. ** Italian translation added, thanks to Marco Colombo. ** Swedish translation updated. ** API and ABI is backwards compatible with the previous version. * Version 0.5.12 (released 2004-12-04) ** Java code now support the XMPP NodePrep and ResourcePrep profiles. ** Bug fixes and improvements to Java code. The allowUnassigned flag is now respected properly. The prohibited code points check now works. Arguments are now checked. Convenience method with allowUnassigned set to false was added. ** Update getopt from gnulib. ** API and ABI is backwards compatible with the previous version. * Version 0.5.11 (released 2004-11-21) ** Fix formatting of man pages, based on warnings from Doclifter. ** Update of gnulib files to fix potential getopt problem on ELF systems. ** API and ABI is backwards compatible with the previous version. * Version 0.5.10 (released 2004-11-08) ** Libtool's -export-symbols-regex is now used to only export official APIs. Before, applications might accidentally access internal functions. Note that this is not supported on all platforms, so you must still make sure you are not using undocumented symbols in Libidn. ** API and ABI is backwards compatible with the previous version. * Version 0.5.9 (released 2004-11-07) ** Align GTK-DOC build infrastructure with GTK-DOC official recommendations. This mean that you can now browse the Libidn API manual using Devhelp. ** Update of gnulib files to fix potential problem in getopt on BSD. ** Documentation improvements. ** API and ABI is backwards compatible with the previous version. * Version 0.5.8 (released 2004-10-12) ** BidiMirroring-3.2.0.txt is now included, not only the generated source code. This allow builds to succeed after 'make realclean'. ** Generated files now have consistent 'DO NOT EDIT!' comments. ** API and ABI is backwards compatible with the previous version. * Version 0.5.7 (released 2004-10-12) ** Shared library version incremented, because new APIs were added. This was forgotten in the last release. ** French translation updated. ** Minor bug fixes. ** API and ABI is backwards compatible with the previous version. * Version 0.5.6 (released 2004-10-02) ** Added functions to convert return codes to human readable text. ** Now using GNULib in command line front end (src/) for portability code. See for more information on GNULib. This should make the code easier to read and maintain. ** API and ABI is backwards compatible with the previous version. idna_strerror: ADD. pr29_strerror: ADD. punycode_strerror: ADD. stringprep_strerror: ADD. tld_strerror: ADD. TLD_NO_TLD: ADD. Replaces TLD_NOTLD. TLD_NOTLD: DEPRECATED. Use TLD_NO_TLD instead. * Version 0.5.5 (released 2004-09-13) ** Hide accidentally exported variable g_utf8_skip, by marking it as static. ** Various fixes. ** API and ABI is backwards compatible with the previous version. g_utf8_skip: REMOVED. (But never meant to be used.) * Version 0.5.4 (released 2004-08-08) ** Translation updates. ** API and ABI is backwards compatible with the previous version. * Version 0.5.3 (released 2004-08-05) ** Fix crash in `idn --tld' command line tool. ** API and ABI is backwards compatible with the previous version. * Version 0.5.2 (released 2004-07-14) ** Java "make install" rules are now DESTDIR compatible. ** API and ABI is backwards compatible with the previous version. * Version 0.5.1 (released 2004-07-09) ** Cross compile builds should work. It should work for any sane cross compile target, but the only tested platform is uClibc/uClinux on Motorola Coldfire. ** The example programs now correctly invoke `setlocale (LC_ALL, "")'. ** API and ABI is backwards compatible with the previous version. * Version 0.5.0 (released 2004-06-26) ** Functions to detect "normalization problem sequences" as per PR-29 added. See the new chapter "PR29 Functions" in the manual (doc/libidn.{ps,pdf,html}) for more information and the background story. An external link that discuss the problem is . ** More translations. Added Esperanto (by Edmund GRIMLEY EVANS). ** API and ABI is backwards compatible with the previous version. pr29.h: ADD. Prototypes for PR29 types and functions. pr29_4, pr29_4z, pr29_8z: ADD. New API entry points for PR29 functions. Pr29_rc: ADD. New error code enum type for PR29 functions. * Version 0.4.9 (released 2004-06-11) ** The Java library (java/libidn-*.jar) is included in the distribution. ** JavaDoc manuals (doc/javadoc/) are included. ** API and ABI is backwards compatible with the previous version. * Version 0.4.8 (released 2004-06-01) ** The Java source code is actually included in the distribution. ** API and ABI is backwards compatible with the previous version. * Version 0.4.7 (released 2004-05-31) ** The Java port should now be functional, contributed by Oliver Hitz. See the new section "Java API" in the manual for more information. ** API and ABI is backwards compatible with the previous version. * Version 0.4.6 (released 2004-05-24) ** The header file idn-free.h is actually installed by 'make install'. ** API and ABI is backwards compatible with the previous version. * Version 0.4.5 (released 2004-05-21) ** In IDNA ToUnicode, a `free' on a stale pointer fixed by Ulrich Drepper. ** Several memory leaks fixed by Ulrich Drepper. ** Added more SASLPrep and NFKC test vectors. ** Automake 1.8.4 is used. ** API and ABI is backwards compatible with the previous version. idn_free: ADD. Wrapper around system `free'. idn-free.h: ADD. Prototype for `idn_free'. See idn-free.h for discussion. The interface is currently not documented. Comments and feedback is appreciated. * Version 0.4.4 (released 2004-04-29) ** Fixed two bugs in iSCSI definition, syncing with newly published RFC 3722. The first bug was an omission of prohibiting the characters in C.1.1, C.1.2 and C.7 (space characters and characters that are inappropriate for canonical representation). The second was a bug in the definition of the table, causing the entire table to be skipped, of the special prohibited output character table defined in RFC 3722 (see section 6, the characters in the table are various ASCII characters and U+3002). ** A few test vectors for iSCSI were added. ** The self tests are linked with libtool -no-install to avoid wrapper script. ** Separated self test utilities into a separate library, shared by all tests. ** More translations. Added Romanian (by Laurentiu Buzdugan). ** API and ABI is backwards compatible with the previous version. * Version 0.4.3 (released 2004-04-22) ** Fixed a bug in table processing code to prohibit control characters. The problem was that the code used a code point of 0 to indicate end of table, but if (as for table C.2.1) a range starts with 0, this logic would fail. The end-of-table test is now that both the start and end code points of the range is 0. Table C.2.1 is responsible for prohibiting non-ASCII control characters, i.e. ASCII 0-31 and 127. Before, libidn silently accepted such strings without complaining. ** A few test vectors for SASLprep were added. ** The pkg-config script no longer include a -R parameter. ** More translations. Added Dutch (by Elros Cyriatan), and German (by Roland Illig). ** API and ABI is backwards compatible with the previous version. * Version 0.4.2 (released 2004-03-20) ** A Punycode implementation in Java was added, by Oliver Hitz. Eventually hopefully a StringPrep, Nameprep and IDNA implementation will be added as well. Currently you need to specify --enable-java to enable the Java interface. The Java sources (below java/) are compiled into byte-code (not native code) into a JAR library. ** More translations. Added Danish (by Morten Bo Johansen), French (by Michel Robitaille), Polish (by Jakub Bogusz), and Serbian (by Aleksandar Jelenak). ** Norwegian TLD table added, by Thomas Jacob. ** API and ABI is backwards compatible with the previous version. * Version 0.4.1 (released 2004-03-08) ** The user messages from the command line utility are now translated. Currently English and Swedish is supported. ** Logic of stringprep_locale_charset modified. Future versions will use, in order, $CHARSET iff defined, nl_langinfo (CODESET) iff working, or fall back to returning "ASCII". Earlier it attempted to guess the system locale, in contrast with the current application's locale, via some setlocale save/set/reset magic. This change may require you to invoke setlocale() in your application, which is (should be) required for non-ASCII to work anyway. Based on discussion with Ulrich Drepper. ** The command-line utility now invoke setlocale (LC_ALL, "") at startup. ** Fixed SASLprep tables to prohibit non-ASCII space in output. Non-ASCII space has always been mapped to ASCII space, so it is not clear this really have any effect, but the specification require it. ** Building Libidn as part of GLIBC has been updated. Refer to libc/README for more information. Incidentally, GLIBC in CVS now include a copy of Libidn. ** API and ABI is backwards compatible with the previous version. IDNA_DLOPEN_ERROR: ADD. Only used internally by Libidn in libc. * 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_table: Tld_rc: ADD. New data types. tld_get_4: tld_get_4z: tld_get_z: ADD. New functions to extract TLD from string. tld_get_table: tld_default_table: ADD. New functions to get TLD table from TLD name. tld_check_4t: tld_check_4tz: ADD. New function to provide core TLD operations. tld_check_4: tld_check_4z: tld_check_8z: 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. * Version 0.3.5 (released 2003-12-15) ** The program 'idn' accepts input strings directly on the command line. ** The program 'idn' defaults to --idna-to-ascii if no parameter is given. ** The program 'idn' now print user instructions before waiting for input. ** DocBook HTML output not included any longer. The reason is that the filenames generated by docbook2html appear to be rather random, so it is difficult to maintain the Makefile.am rules for them. ** Autoconf 2.59, automake 1.8 and libtool from CVS is used. ** API and ABI is backwards compatible with the previous version. IDNA_CONTAINS_NON_LDH: ADD. Same integer value as IDNA_CONTAINS_LDH. IDNA_CONTAINS_LDH: DEPRECATED. LDH (letter-digits-hyphens) characters are not an error, but non-LDH characters are, when IDNA_USE_STD3_ASCII_RULES is used. The logic of the mnemonic name of this error constant was reversed. * Version 0.3.4 (released 2003-11-09) ** DocBook manuals in XML, PDF, PostScript, ASCII and HTML formats included. * Version 0.3.3 (released 2003-10-18) ** Fixed list of Stringprep profiles in 'idn --help' and 'idn.php'. ** Fixed debug information in 'idn'. ** Internal improvements. Leads to reduced heap memory usage. Simplified inter-dependency among files in lib/* to make it easier to copy them into your project. ** Debugging stringprep profile 'generic' removed. ** Punycode implementation updated to rfc3492bis-00. ** API and ABI is backwards compatible with the previous version. stringprep_4i: NEW. stringprep_4zi: NEW. stringprep: CHANGED. 'profile' is marked as 'const'. stringprep_profile: CHANGED. 'profile' is marked as 'const'. stringprep_generic: REMOVED. Never meant for public use. * Version 0.3.2 (released 2003-10-07) ** SASL ANONYMOUS stringprep profile "trace" added. It is equivalent to the already supported "plain" SASL ANONYMOUS stringprep profile, except for the name. ** API and ABI is backwards compatible with the previous version. The 'in' parameter to stringprep_profile was changed from 'char*' to 'const char*'. * Version 0.3.1 (released 2003-10-02) ** Fixed handling of implicit and explicit zero-length root labels in ToASCII. ** Fixed support for Hangul Syllables during Unicode NFKC normalization. ** Fixed Unicode NFKC normalization of (some) BMP code points. This was done by syncing the NFKC code with latest GLIB, and may have fixed other bugs in the earlier versions of the updated functions. ** Added more IDNA test vectors. ** Emacs Lisp IDNA implementation now set the UseSTD3ASCIIRules flag. This is the appropriate setting for mail-related uses of IDNA. ** API and ABI is backwards compatible with the previous version. * Version 0.3.0 (released 2003-09-23) ** Ported to Mac OS X. ** Gnulib code removed, we now assume a C89 compatible environment. ** Building libidn as a libc add-on now works again. ** Man pages for all public API functions are included. ** Fixed bug in SASLprep profile. ** API and ABI is NOT backwards compatible with the previous version. All previously labeled (since 0.1.x) obsolete functions have been dropped. The use of 'enum' types instead of 'int' added in 0.2.3 reverted, it confused documentation generators and wasn't all that common practice. * Version 0.2.3 (released 2003-08-26) ** Example 4 was the same as example 3, now changed to demo ToUnicode. ** Documentation improvements. ** Prototype cleanups. The proper enum types (Stringprep_rc, Idna_rc, etc) are now used in several places where plain int where used before. String lengths are handled by (s)size_t instead of int. ** API and ABI is backwards compatible with the previous version. * Version 0.2.2 (released 2003-08-13) ** Fixed problem with strings longer than 4GB in punycode functions. The punycode code cannot handle strings longer than 4GB. The code now return PUNYCODE_BAD_INPUT on too long input, instead of failing in an unknown way. ** The "idn --idna-to-unicode" command now output locale encoded strings. ** Build fixes, bug fixes. ** API and ABI is backwards compatible with the previous version. * Version 0.2.1 (released 2003-07-04) ** Don't reject zero-length trailing labels as in, e.g., "www.example.org.". The IDNA RFC is not clear on this topic, zero-length labels in general are forbidden by the ToASCII algorithm in section 4.1 step 8, but the terminology section define, inside a parenthesis, that the zero-length root label is in fact not considered a label at all in IDNA. ** Bug fixes. ** API and ABI is backwards compatible with the previous version. * Version 0.2.0 (released 2003-06-19) ** Unicode code point data is now uint32_t, defined in "idn-int.h". A header file "idn-int.h" is generated and installed to make sure the "uint32_t" data type is available on all platforms. The reason for this change is that on 64-bit platforms, the application was required to convert 32 bit integers (which is how Unicode code points are typically represented) into 64 bit integers before calling libidn functions. ** New idna_*() functions have improved flags handling. The allowunassigned and usestd3asciirules parameters were collapsed into a flags parameter, that can take on the IDNA_ALLOW_UNASSIGNED and IDNA_USE_STD3_ASCII_RULES values. This allows for easier extensions to support, e.g., Unicode 4.0 or RFC 952 ASCII rules checking. Note that the old entry points are unmodified (in this regard), and new entry points with this modification were added. ** The manual was moved into a separate directory doc/. ** Bugfixes. ** API and ABI is not backwards compatible. In punycode.h and stringprep.h the "unsigned long" data type was changed into "uint32_t", which cause a API and ABI missmatch. For idna.h, the old entry points that used "unsigned long" still exist, and new entry points that uses "uint32_t" was added. To update your application, you probably only need to change "unsigned long" to "uint32_t". As a result of these changes, the shared object version has been increased. * Version 0.1.15 (released 2003-06-07) ** Bugfixes. ** API and ABI is backwards compatible with the previous version. * Version 0.1.14 (released 2003-05-10) ** Experimental documentation generation in contrib/doxygen/. Simply invoke "doxygen" in that directory and it should build the documentation. ** Lisp API bug fixes. ** API and ABI is backwards compatible with the previous version. * Version 0.1.13 (released 2003-03-13) ** Unfinished Java *.class files implementing the libidn API. See the contrib/java/ directory. It is implemented using the Java Native Interface, and light initial testing indicate interoperability between GCJ, IBM's JDK and Sun's JDK. ** Building is now silent when gengetopt is not present. ** Bug fixes. ** API and ABI is backwards compatible with the previous version. * Version 0.1.12 (released 2003-03-06) ** Building libidn doesn't require gengetopt. Warnings are still printed though. Gengetopt will be replaced by argp eventually. ** Command line tool "idn" supports stringprep too. ** New stringprep API entry point: stringprep_profile(). It takes a name of the stringprep profile as an argument instead of the stringprep table structure. ** stringprep_*.h are deprecated and will be removed in the future. All symbols have been moved to stringprep.h. The reasons are that (1) the files typically only defined one CPP macro and exported one symbol definition, which is wasteful as it generates too much work in the manual, and (2) using one header file for all profiles allows easier access to all stringprep profiles during runtime. Note that the files are still installed, but they only #include stringprep.h now, for backwards compatibility. ** GNU Libc add-on build instructions updated to GNU Libc 2.3.2. ** SASLprep stringprep profile added. ** An online interface to libidn written in PHP added to contrib/web/. ** API and ABI is backwards compatible with the previous version. * Version 0.1.11 (released 2003-02-26) ** Command line application "idn" is included. A simple wrapper around the library that allows you to invoke punycode encoding/decoding and IDNA ToASCII/ToUnicode on the command line. ** Emacs Lisp interface for punycode and IDNA included. See punycode.el and idna.el. ** API and ABI is backwards compatible with the previous version. * Version 0.1.10 (released 2003-02-21) ** idna_*_to_ace() and idna_*ace_to_*() are deprecated in favor of ** idna_to_ascii_from_*() and idna_to_unicode_*_from_*() respectively. The reason was that the old interfaces did not accept the AllowUnassigned and UseSTD3ASCIIRules flags. Note that the old functions are not removed, but will be in the future. ** IPS iSCSI stringprep profile added. ** A new contrib/ directory added. Currently it contains a Python interface to Libidn, contributed by Stephane Bortzmeyer. ** idna.h and punycode.h are now installed by "make install". ** API and ABI is backwards compatible with the previous version. * Version 0.1.9 (released 2003-02-20) ** SASL ANONYMOUS "plain" stringprep profile added. ** XMPP nodeprep profile fixed. ** API and ABI is backwards compatible with the previous version. For future releases, the NEWS entry will specifically mention whether the C header API or library ABI backwards compatibility is affected. * Version 0.1.8 (released 2003-02-14) ** Portability fixes. This includes not building the API Reference Manual with GTK-DOC by default, if you want it use configure parameter --enable-gtk-doc after making sure your gtkdoc-mkdb accept the --tmpl-dir parameter. ** The type for string length variables is now (s)size_t. Unfortunately this means binary shared library binary backwards compatible is lost. ** New nameprep test vectors. * Version 0.1.7 (released 2003-02-12) ** Uses official IDNA ACE prefix. * Version 0.1.6 (released 2003-02-11) ** Uses tentative IDNA ACE prefix. ** Added XMPP Node/Resource Identifiers stringprep profiles. ** Fixed prohibited character checks for bidi. * Version 0.1.5 (released 2003-01-28) ** The library can now be built as part of GNU Libc. This is experimental and only tested against GNU Libc version 2.3.1. See the libc/ directory, and libc/README in particular. ** Bug fixes. * Version 0.1.4 (released 2003-01-15) ** Documentation fixes. ** Portability fixes. ** Bug fixes. * Version 0.1.3 (released 2003-01-15) ** Added texinfo manual. * Version 0.1.2 (released 2003-01-08) ** Added high-level IDNA API. ** Added example3.c and example4.c demonstrating the high-level IDNA API. * Version 0.1.1 (released 2003-01-08) ** Added documentation using GTK-DOC. ** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed. By accident it was never removed in 0.1.0. * Version 0.1.0 (released 2003-01-05) ** Official GNU project. ** Renamed from libstringprep to libidn. ** Supports punycode and IDNA. Caveat emptor: I don't use it myself. ** Uses "unsigned long" for Unicode code points instead of "long". Long is guaranteed to be at least 32 bits by C standards so it is always sufficiently large, no need to use uint32_t and the like. ** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed. * Version 0.0.8 (released 2002-12-13) ** Portability fixes (now works under Cygwin on Windows 2000). ** Bug fixes. * Version 0.0.7 (released 2002-12-09) ** Apply all tables to entire strings, not just first hit. ** Fix bidi infloop. * Version 0.0.5 (released 2002-12-07) ** Fix prohibited characters handling. ** Fix bidi. ** Renamed type (struct) stringprep_table_element to Stringprep_table_element. ** Renamed type stringprep_profile to Stringprep_profile. ** Renamed type (struct) stringprep_table to Stringprep_table. ** Added more self-tests. * Version 0.0.4 (released 2002-12-06) ** Add unassigned code point handling, including self test cases. ** Portability fixes. * Version 0.0.3 (released 2002-11-30) ** Exported utility function `stringprep_utf8_to_unichar', complementary to existing `stringprep_unichar_to_utf8'. ** Renamed `stringprep_utf8_to_ucs4_fast' to `stringprep_utf8_to_ucs4' to clean up API. The old entry point is maintained for binary backwards compatibility though. ** The distribution is from now on signed using GnuPG. ** Bug fixes. * Version 0.0.2 (released 2002-11-07) ** NFKC self test. ** Bug fixes. * Version 0.0.1 (released 2002-11-06) ** Add utility functions stringprep_locale_charset(), stringprep_convert() and stringprep_locale_to_utf8 () that can be used to convert text from system's locale into UTF-8, which should be done before invoking stringprep(). The functions requires iconv() in the operating system. ** An example program (example.c) that illustrates how libstringprep can be used is included. ** The pkg-config --libs output should now include necessary -R options. * Version 0.0.0 (released 2002-11-05) ** Initial release ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. FAQ000064400000004206152526503060005104 0ustar00Libidn FAQ -- Anticipated Frequently Asked Questions. Copyright (C) 2002-2016 Simon Josefsson See the end for copying conditions. Q#1: Why doesn't Libidn use a separate library for the Unicode operations? A#1: Separate libraries (Glib, QT, libiconv) seldom mark the Unicode tables with the corresponding Unicode version they implement, nor do they provide a interface where a specific version can be requested. This violates the stringprep specification which requires that a specific version must be used. Also, some of these third party libraries depend on non-portable behavior (e.g. threads). Q#2: Why do Libidn include several stringprep profiles? They waste space! A#2: The stringprep profiles included are usually derived from the generic stringprep tables, and doesn't waste more than say a few hundred bytes (see profiles.c). The Unicode normalization tables and the generic stringprep tables are roughly equivalent in size, although the latter tables can surely be compressed much further. They occupy about 100 kilobytes on typical platforms. However, if in the future several large Stringprep profiles are added, configure options will be added to help reduce size. Q#3: I thought GNU was encouraging libraries to be licensed under the GPL? A#3: The reasoning for this was for libraries that provide unique functionality to encourage more free programs. Since there are several IDN libraries out there, using the GPL for Libidn would only encourage people not to use Libidn which would not help the spread of free software. Q#4: How do I add a new stringprep profile? A#4: Add the profile definition to profiles.c, export the symbol and optionally add a CPP macro in stringprep.h (and document it in stringprep.c). If you want to add self tests, do it through tst_stringprep.c. Mention it in NEWS. ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.