libidn 1.33

libidn 1.33

TestsTested
LangLanguage CC
License Custom
ReleasedLast Release Feb 2017

Maintained by Chris Ballinger.


Downloads

Total422,052
Week0
Month19,304

Installs

Apps2,875
Test Targets245
Watch Apps2
powered by Segment

GitHub

Stars2
Watchers2
Forks3
Issues0
Contributors1
Pull Requests0

Code

Files11
LOCLines of Code 15,920


libidn 1.33

  • By
  • Simon Josefsson and Chris Ballinger (podspec maintainer)

libidn-framework

From GNU IDN Library - Libidn

GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names. The native C, C# and Java libraries are available under the GNU Lesser General Public License version 2.1 or later.

The 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.

This podspec uses a fork of libidn to fix a few minor issues related to CocoaPods integration.

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

libidn is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "libidn"

Maintenance Notes

Upgrading libidn:

# Install build dependencies
$ brew install automake autoconf libtool gettext gtk-doc gengetopt
$ export PATH=${PATH}:/usr/local/opt/gettext/bin

$ cd libidn # This is the submodule containing upstream source
$ git remote add upstream git://git.savannah.gnu.org/libidn.git
$ git fetch upstream
$ git checkout <newest upstream tag>
$ git checkout -b <newest upstream tag>-framework
$ git stash && git clean -f -dx
$ make bootstrap
$ ./configure --disable-dependency-tracking
$ make
$ git cherry-pick f37ce6fd7c1cdc4376c3a618dc2c0674f73551f6 429663138867992f5c716fa8c3578912e24f4005 55b9b9533816f1e049d789fb2218de3e997d8a45 42f5ab2dc63c857d664d713d899961371ed58c12

For future reference, libidn includes duplicates of system headers that confuses the build system. We gotta remove them.

Authors

License

libidn is available under the LGPL license, but the podspec and example code in this repo is MIT. See LICENSE for more details.