glib2 2.2.5-x64-mingw32 → 3.0.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +53 -8
- data/ext/glib2/extconf.rb +1 -1
- data/ext/glib2/glib2.def +8 -0
- data/ext/glib2/rbglib-variant-type.c +296 -0
- data/ext/glib2/rbglib-variant.c +132 -0
- data/ext/glib2/rbglib.c +16 -1
- data/ext/glib2/rbglib.h +18 -7
- data/ext/glib2/rbglib2conversions.h +6 -1
- data/ext/glib2/rbglib_fileutils.c +3 -3
- data/ext/glib2/rbglib_maincontext.c +35 -5
- data/ext/glib2/rbgobj_binding.c +48 -0
- data/ext/glib2/rbgobj_boxed.c +6 -2
- data/ext/glib2/rbgobj_enums.c +55 -12
- data/ext/glib2/rbgobj_flags.c +114 -70
- data/ext/glib2/rbgobj_object.c +91 -77
- data/ext/glib2/rbgobj_type.c +1 -1
- data/ext/glib2/rbgobj_typeinstance.c +8 -2
- data/ext/glib2/rbgobj_value.c +20 -12
- data/ext/glib2/rbgobject.c +2 -0
- data/ext/glib2/rbgobject.h +4 -2
- data/ext/glib2/rbgprivate.h +4 -3
- data/ext/glib2/rbgutil.c +36 -8
- data/ext/glib2/rbgutil.h +3 -1
- data/ext/glib2/rbgutil_list.c +97 -1
- data/ext/glib2/rbgutil_list.h +10 -1
- data/lib/2.0/glib2.so +0 -0
- data/lib/2.1/glib2.so +0 -0
- data/lib/2.2/glib2.so +0 -0
- data/lib/glib2/deprecatable.rb +20 -5
- data/lib/gnome2/rake/native-binary-build-task.rb +1 -1
- data/lib/gnome2/rake/windows-binary-build-task.rb +12 -15
- data/lib/mkmf-gnome2.rb +10 -11
- data/test/test-binding.rb +97 -0
- data/test/test-variant-type.rb +357 -0
- data/test/test_enum.rb +5 -8
- data/test/test_file_utils.rb +30 -8
- data/test/test_source.rb +11 -0
- data/test/test_value.rb +5 -0
- data/vendor/local/bin/asn1Coding.exe +0 -0
- data/vendor/local/bin/asn1Decoding.exe +0 -0
- data/vendor/local/bin/asn1Parser.exe +0 -0
- data/vendor/local/bin/envsubst.exe +0 -0
- data/vendor/local/bin/gdbus.exe +0 -0
- data/vendor/local/bin/gettext.exe +0 -0
- data/vendor/local/bin/gettext.sh +3 -2
- data/vendor/local/bin/gio-querymodules.exe +0 -0
- data/vendor/local/bin/glib-compile-resources.exe +0 -0
- data/vendor/local/bin/glib-compile-schemas.exe +0 -0
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +1 -1
- data/vendor/local/bin/glib-mkenums +1 -1
- data/vendor/local/bin/gobject-query.exe +0 -0
- data/vendor/local/bin/gresource.exe +0 -0
- data/vendor/local/bin/gsettings.exe +0 -0
- data/vendor/local/bin/gspawn-win64-helper-console.exe +0 -0
- data/vendor/local/bin/gspawn-win64-helper.exe +0 -0
- data/vendor/local/bin/iconv.exe +0 -0
- data/vendor/local/bin/idn.exe +0 -0
- data/vendor/local/bin/libasprintf-0.dll +0 -0
- data/vendor/local/bin/libcharset-1.dll +0 -0
- data/vendor/local/bin/libffi-6.dll +0 -0
- data/vendor/local/bin/libgio-2.0-0.dll +0 -0
- data/vendor/local/bin/libglib-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmp-10.dll +0 -0
- data/vendor/local/bin/libgnutls-30.def +1047 -0
- data/vendor/local/bin/libgnutls-30.dll +0 -0
- data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
- data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
- data/vendor/local/bin/libhogweed-4-1.dll +0 -0
- data/vendor/local/bin/libiconv-2.dll +0 -0
- data/vendor/local/bin/libidn-11.def +77 -0
- data/vendor/local/bin/libidn-11.dll +0 -0
- data/vendor/local/bin/libintl-8.dll +0 -0
- data/vendor/local/bin/libnettle-6-1.dll +0 -0
- data/vendor/local/bin/libp11-kit-0.dll +0 -0
- data/vendor/local/bin/libtasn1-6.dll +0 -0
- data/vendor/local/bin/nettle-hash.exe +0 -0
- data/vendor/local/bin/nettle-lfib-stream.exe +0 -0
- data/vendor/local/bin/nettle-pbkdf2.exe +0 -0
- data/vendor/local/bin/ngettext.exe +0 -0
- data/vendor/local/bin/p11-kit.exe +0 -0
- data/vendor/local/bin/pkcs1-conv.exe +0 -0
- data/vendor/local/bin/sexp-conv.exe +0 -0
- data/vendor/local/bin/trust.exe +0 -0
- data/vendor/local/etc/pkcs11/pkcs11.conf.example +9 -0
- data/vendor/local/include/autosprintf.h +1 -1
- data/vendor/local/include/gio-win32-2.0/gio/gwin32inputstream.h +2 -0
- data/vendor/local/include/gio-win32-2.0/gio/gwin32outputstream.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gappinfo.h +1 -0
- data/vendor/local/include/glib-2.0/gio/gapplication.h +12 -5
- data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +11 -1
- data/vendor/local/include/glib-2.0/gio/gfile.h +3 -0
- data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +8 -0
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +2 -2
- data/vendor/local/include/glib-2.0/gio/gicon.h +1 -0
- data/vendor/local/include/glib-2.0/gio/ginputstream.h +15 -0
- data/vendor/local/include/glib-2.0/gio/gio-autocleanups.h +148 -0
- data/vendor/local/include/glib-2.0/gio/gio.h +5 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +34 -2
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +2 -0
- data/vendor/local/include/glib-2.0/gio/giotypes.h +36 -0
- data/vendor/local/include/glib-2.0/gio/glistmodel.h +72 -0
- data/vendor/local/include/glib-2.0/gio/gliststore.h +72 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gnetworking.h +1 -1
- data/vendor/local/include/glib-2.0/gio/gnetworkmonitor.h +25 -22
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +16 -0
- data/vendor/local/include/glib-2.0/gio/gresource.h +1 -0
- data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +16 -0
- data/vendor/local/include/glib-2.0/gio/gsettingsschema.h +5 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleaction.h +4 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleiostream.h +45 -0
- data/vendor/local/include/glib-2.0/gio/gsocket.h +9 -0
- data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gsocketservice.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gtask.h +2 -0
- data/vendor/local/include/glib-2.0/gio/gtlsclientconnection.h +8 -0
- data/vendor/local/include/glib-2.0/gio/gtlspassword.h +9 -0
- data/vendor/local/include/glib-2.0/gio/gtlsserverconnection.h +8 -0
- data/vendor/local/include/glib-2.0/glib-object.h +2 -0
- data/vendor/local/include/glib-2.0/glib.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gconvert.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gdir.h +2 -0
- data/vendor/local/include/glib-2.0/glib/genviron.h +2 -1
- data/vendor/local/include/glib-2.0/glib/gfileutils.h +2 -0
- data/vendor/local/include/glib-2.0/glib/giochannel.h +2 -0
- data/vendor/local/include/glib-2.0/glib/glib-autocleanups.h +81 -0
- data/vendor/local/include/glib-2.0/glib/gmacros.h +53 -0
- data/vendor/local/include/glib-2.0/glib/gmem.h +72 -1
- data/vendor/local/include/glib-2.0/glib/goption.h +13 -3
- data/vendor/local/include/glib-2.0/glib/gslice.h +6 -5
- data/vendor/local/include/glib-2.0/glib/gspawn.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +4 -0
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +45 -27
- data/vendor/local/include/glib-2.0/glib/gthread.h +70 -0
- data/vendor/local/include/glib-2.0/glib/gunicode.h +2 -2
- data/vendor/local/include/glib-2.0/glib/gversionmacros.h +24 -0
- data/vendor/local/include/glib-2.0/glib/gwin32.h +31 -6
- data/vendor/local/include/glib-2.0/gobject/gclosure.h +19 -0
- data/vendor/local/include/glib-2.0/gobject/glib-types.h +11 -0
- data/vendor/local/include/glib-2.0/gobject/gobject-autocleanups.h +27 -0
- data/vendor/local/include/glib-2.0/gobject/gobject.h +65 -2
- data/vendor/local/include/glib-2.0/gobject/gparam.h +3 -2
- data/vendor/local/include/glib-2.0/gobject/gtype.h +257 -4
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +14 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +7 -0
- data/vendor/local/include/gnutls/abstract.h +131 -51
- data/vendor/local/include/gnutls/compat.h +12 -171
- data/vendor/local/include/gnutls/crypto.h +113 -0
- data/vendor/local/include/gnutls/gnutls.h +336 -79
- data/vendor/local/include/gnutls/ocsp.h +11 -1
- data/vendor/local/include/gnutls/openpgp.h +14 -0
- data/vendor/local/include/gnutls/pkcs11.h +171 -55
- data/vendor/local/include/gnutls/pkcs12.h +13 -0
- data/vendor/local/include/gnutls/pkcs7.h +134 -0
- data/vendor/local/include/gnutls/self-test.h +38 -0
- data/vendor/local/include/gnutls/system-keys.h +63 -0
- data/vendor/local/include/gnutls/urls.h +77 -0
- data/vendor/local/include/gnutls/x509-ext.h +194 -0
- data/vendor/local/include/gnutls/x509.h +304 -66
- data/vendor/local/include/idn-free.h +74 -0
- data/vendor/local/include/idn-int.h +1 -0
- data/vendor/local/include/idna.h +123 -0
- data/vendor/local/include/libintl.h +3 -2
- data/vendor/local/include/libtasn1.h +402 -0
- data/vendor/local/include/nettle/aes.h +126 -34
- data/vendor/local/include/nettle/arcfour.h +38 -25
- data/vendor/local/include/nettle/arctwo.h +51 -30
- data/vendor/local/include/nettle/asn1.h +35 -27
- data/vendor/local/include/nettle/base16.h +39 -35
- data/vendor/local/include/nettle/base64.h +59 -42
- data/vendor/local/include/nettle/bignum.h +57 -35
- data/vendor/local/include/nettle/blowfish.h +41 -28
- data/vendor/local/include/nettle/buffer.h +37 -29
- data/vendor/local/include/nettle/camellia.h +114 -53
- data/vendor/local/include/nettle/cast128.h +46 -37
- data/vendor/local/include/nettle/cbc.h +45 -35
- data/vendor/local/include/nettle/ccm.h +302 -0
- data/vendor/local/include/nettle/chacha-poly1305.h +98 -0
- data/vendor/local/include/nettle/chacha.h +96 -0
- data/vendor/local/include/nettle/ctr.h +39 -30
- data/vendor/local/include/nettle/curve25519.h +57 -0
- data/vendor/local/include/nettle/des-compat.h +31 -23
- data/vendor/local/include/nettle/des.h +37 -28
- data/vendor/local/include/nettle/dsa-compat.h +183 -0
- data/vendor/local/include/nettle/dsa.h +95 -172
- data/vendor/local/include/nettle/eax.h +185 -0
- data/vendor/local/include/nettle/ecc-curve.h +31 -22
- data/vendor/local/include/nettle/ecc.h +44 -146
- data/vendor/local/include/nettle/ecdsa.h +33 -24
- data/vendor/local/include/nettle/eddsa.h +149 -0
- data/vendor/local/include/nettle/gcm.h +216 -75
- data/vendor/local/include/nettle/gosthash94.h +37 -27
- data/vendor/local/include/nettle/hmac.h +53 -45
- data/vendor/local/include/nettle/knuth-lfib.h +32 -27
- data/vendor/local/include/nettle/macros.h +40 -33
- data/vendor/local/include/nettle/md2.h +39 -29
- data/vendor/local/include/nettle/md4.h +39 -29
- data/vendor/local/include/nettle/md5-compat.h +31 -23
- data/vendor/local/include/nettle/md5.h +38 -28
- data/vendor/local/include/nettle/memxor.h +6 -3
- data/vendor/local/include/nettle/nettle-meta.h +70 -72
- data/vendor/local/include/nettle/nettle-stdint.h +2 -2
- data/vendor/local/include/nettle/nettle-types.h +60 -42
- data/vendor/local/include/nettle/pbkdf2.h +40 -32
- data/vendor/local/include/nettle/pgp.h +31 -23
- data/vendor/local/include/nettle/pkcs1.h +46 -38
- data/vendor/local/include/nettle/poly1305.h +128 -0
- data/vendor/local/include/nettle/realloc.h +29 -22
- data/vendor/local/include/nettle/ripemd160.h +38 -28
- data/vendor/local/include/nettle/rsa.h +42 -34
- data/vendor/local/include/nettle/salsa20.h +56 -35
- data/vendor/local/include/nettle/serpent.h +46 -25
- data/vendor/local/include/nettle/sexp.h +44 -37
- data/vendor/local/include/nettle/sha.h +33 -25
- data/vendor/local/include/nettle/sha1.h +38 -28
- data/vendor/local/include/nettle/sha2.h +86 -36
- data/vendor/local/include/nettle/sha3.h +53 -40
- data/vendor/local/include/nettle/twofish.h +45 -25
- data/vendor/local/include/nettle/umac.h +53 -41
- data/vendor/local/include/nettle/version.h +57 -0
- data/vendor/local/include/nettle/yarrow.h +35 -27
- data/vendor/local/include/p11-kit-1/p11-kit/deprecated.h +97 -0
- data/vendor/local/include/p11-kit-1/p11-kit/iter.h +115 -0
- data/vendor/local/include/p11-kit-1/p11-kit/p11-kit.h +121 -0
- data/vendor/local/include/p11-kit-1/p11-kit/pin.h +107 -0
- data/vendor/local/include/p11-kit-1/p11-kit/pkcs11.h +1398 -0
- data/vendor/local/include/p11-kit-1/p11-kit/pkcs11x.h +149 -0
- data/vendor/local/include/p11-kit-1/p11-kit/remote.h +56 -0
- data/vendor/local/include/p11-kit-1/p11-kit/uri.h +167 -0
- data/vendor/local/include/pr29.h +73 -0
- data/vendor/local/include/punycode.h +239 -0
- data/vendor/local/include/stringprep.h +242 -0
- data/vendor/local/include/tld.h +135 -0
- data/vendor/local/lib/gio/modules/libgiognutls.a +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.dll +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.dll.a +0 -0
- data/vendor/local/lib/gio/modules/libgiognutls.la +2 -2
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +1 -1
- data/vendor/local/lib/libasprintf.a +0 -0
- data/vendor/local/lib/libasprintf.dll.a +0 -0
- data/vendor/local/lib/libasprintf.la +2 -2
- data/vendor/local/lib/libcharset.a +0 -0
- data/vendor/local/lib/libcharset.dll.a +0 -0
- data/vendor/local/lib/libffi.a +0 -0
- data/vendor/local/lib/libffi.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.la +4 -4
- data/vendor/local/lib/libglib-2.0.dll.a +0 -0
- data/vendor/local/lib/libglib-2.0.la +4 -4
- data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
- data/vendor/local/lib/libgmodule-2.0.la +4 -4
- data/vendor/local/lib/libgmp.dll.a +0 -0
- data/vendor/local/lib/libgnutls.dll.a +0 -0
- data/vendor/local/lib/libgnutls.la +8 -8
- data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
- data/vendor/local/lib/libgobject-2.0.la +4 -4
- data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
- data/vendor/local/lib/libgthread-2.0.la +4 -4
- data/vendor/local/lib/libhogweed.a +0 -0
- data/vendor/local/lib/libhogweed.dll.a +0 -0
- data/vendor/local/lib/libiconv.dll.a +0 -0
- data/vendor/local/lib/libidn.a +0 -0
- data/vendor/local/lib/libidn.dll.a +0 -0
- data/vendor/local/lib/libidn.la +41 -0
- data/vendor/local/lib/libintl.a +0 -0
- data/vendor/local/lib/libintl.dll.a +0 -0
- data/vendor/local/lib/libintl.la +5 -5
- data/vendor/local/lib/libnettle.a +0 -0
- data/vendor/local/lib/libnettle.dll.a +0 -0
- data/vendor/local/lib/libp11-kit.dll.a +0 -0
- data/vendor/local/lib/libp11-kit.la +41 -0
- data/vendor/local/lib/libtasn1.a +0 -0
- data/vendor/local/lib/libtasn1.dll.a +0 -0
- data/vendor/local/lib/libtasn1.la +41 -0
- data/vendor/local/lib/p11-kit/p11-kit-remote.exe +0 -0
- data/vendor/local/lib/p11-kit/trust-extract-compat +32 -0
- data/vendor/local/lib/pkcs11/p11-kit-trust.dll +0 -0
- data/vendor/local/lib/pkcs11/p11-kit-trust.dll.a +0 -0
- data/vendor/local/lib/pkcs11/p11-kit-trust.la +41 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gnutls.pc +3 -3
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/hogweed.pc +5 -4
- data/vendor/local/lib/pkgconfig/libidn.pc +23 -0
- data/vendor/local/lib/pkgconfig/libtasn1.pc +30 -0
- data/vendor/local/lib/pkgconfig/nettle.pc +1 -1
- data/vendor/local/lib/pkgconfig/p11-kit-1.pc +22 -0
- data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +1 -1
- data/vendor/local/share/doc/gettext/bindtextdomain.3.html +1 -1
- data/vendor/local/share/doc/gettext/envsubst.1.html +1 -1
- data/vendor/local/share/doc/gettext/gettext.1.html +1 -1
- data/vendor/local/share/doc/gettext/gettext.3.html +1 -1
- data/vendor/local/share/doc/gettext/ngettext.1.html +1 -1
- data/vendor/local/share/doc/gettext/ngettext.3.html +1 -1
- data/vendor/local/share/doc/gettext/textdomain.3.html +1 -1
- data/vendor/local/share/doc/libasprintf/autosprintf_all.html +1 -1
- data/vendor/local/share/emacs/site-lisp/idna.el +192 -0
- data/vendor/local/share/emacs/site-lisp/punycode.el +182 -0
- data/vendor/local/share/gdb/auto-load/{libglib-2.0.so.0.4200.1-gdb.py → libglib-2.0.so.0.4400.1-gdb.py} +0 -0
- data/vendor/local/share/gdb/auto-load/{libgobject-2.0.so.0.4200.1-gdb.py → libgobject-2.0.so.0.4400.1-gdb.py} +0 -0
- data/vendor/local/share/gettext/ABOUT-NLS +1194 -1066
- data/vendor/local/share/glib-2.0/codegen/__init__.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/__init__.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_main.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/codegen_main.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/config.py +1 -1
- data/vendor/local/share/glib-2.0/codegen/config.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/config.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/dbustypes.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/dbustypes.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/parser.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/parser.pyo +0 -0
- data/vendor/local/share/glib-2.0/codegen/utils.pyc +0 -0
- data/vendor/local/share/glib-2.0/codegen/utils.pyo +0 -0
- data/vendor/local/share/gtk-doc/html/gio/ExampleAnimal.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/ExampleCat.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ExampleObject.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ExampleObjectManagerClient.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GAction.html +25 -23
- data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +38 -36
- data/vendor/local/share/gtk-doc/html/gio/GActionMap.html +10 -8
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +83 -12
- data/vendor/local/share/gtk-doc/html/gio/GAppInfoMonitor.html +22 -25
- data/vendor/local/share/gtk-doc/html/gio/GApplication.html +235 -79
- data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +100 -25
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +21 -21
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +11 -11
- data/vendor/local/share/gtk-doc/html/gio/GBytesIcon.html +202 -0
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +12 -9
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusActionGroup.html +5 -3
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +18 -12
- data/vendor/local/share/gtk-doc/html/gio/GDBusInterface.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusInterfaceSkeleton.html +4 -6
- data/vendor/local/share/gtk-doc/html/gio/GDBusMenuModel.html +7 -5
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusObject.html +7 -5
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManager.html +11 -9
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerClient.html +6 -8
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerServer.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectProxy.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GDBusObjectSkeleton.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +9 -11
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +4 -6
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +44 -44
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +22 -22
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +9 -9
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +40 -31
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +45 -5
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +136 -20
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +17 -17
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +4 -3
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GInetAddressMask.html +509 -0
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +180 -32
- data/vendor/local/share/gtk-doc/html/gio/GListModel.html +532 -0
- data/vendor/local/share/gtk-doc/html/gio/GListStore.html +490 -0
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +15 -15
- data/vendor/local/share/gtk-doc/html/gio/GMenu.html +41 -41
- data/vendor/local/share/gtk-doc/html/gio/GMenuModel.html +51 -38
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +14 -16
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +144 -92
- data/vendor/local/share/gtk-doc/html/gio/GNetworkMonitor.html +172 -5
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GNotification.html +778 -0
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +199 -42
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +10 -10
- data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +10 -10
- data/vendor/local/share/gtk-doc/html/gio/GPropertyAction.html +318 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +3 -1
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +41 -1
- data/vendor/local/share/gtk-doc/html/gio/GRemoteActionGroup.html +8 -6
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +83 -8
- data/vendor/local/share/gtk-doc/html/gio/GResource.html +1161 -0
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +34 -21
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +69 -3
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAction.html +58 -15
- data/vendor/local/share/gtk-doc/html/gio/GSimpleActionGroup.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSimpleIOStream.html +189 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSimpleProxyResolver.html +1 -59
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +267 -83
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSrvTarget.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GSubprocess.html +6 -8
- data/vendor/local/share/gtk-doc/html/gio/GSubprocessLauncher.html +963 -0
- data/vendor/local/share/gtk-doc/html/gio/GTask.html +125 -53
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTcpWrapperConnection.html +3 -1
- data/vendor/local/share/gtk-doc/html/gio/GTestDBus.html +14 -16
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +2 -1
- data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +47 -18
- data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +34 -7
- data/vendor/local/share/gtk-doc/html/gio/GTlsConnection.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GTlsDatabase.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GTlsFileDatabase.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GTlsInteraction.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GTlsPassword.html +36 -4
- data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +18 -1
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +3 -1
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +3 -1
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +3 -1
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +13 -13
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +25 -25
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +9 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +13 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-28.html +5 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-30.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-32.html +36 -43
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-34.html +5 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-36.html +17 -1
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-38.html +33 -5
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-40.html +30 -34
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-42.html +11 -4
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-44.html +215 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +22 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +342 -82
- data/vendor/local/share/gtk-doc/html/gio/application.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/async.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -2
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/ch31.html +26 -168
- data/vendor/local/share/gtk-doc/html/gio/ch32.html +184 -23
- data/vendor/local/share/gtk-doc/html/gio/ch32s02.html +12 -30
- data/vendor/local/share/gtk-doc/html/gio/ch32s03.html +13 -133
- data/vendor/local/share/gtk-doc/html/gio/ch33.html +23 -83
- data/vendor/local/share/gtk-doc/html/gio/ch33s02.html +34 -117
- data/vendor/local/share/gtk-doc/html/gio/ch33s03.html +129 -172
- data/vendor/local/share/gtk-doc/html/gio/ch33s04.html +16 -67
- data/vendor/local/share/gtk-doc/html/gio/ch33s05.html +21 -904
- data/vendor/local/share/gtk-doc/html/gio/ch33s06.html +278 -0
- data/vendor/local/share/gtk-doc/html/gio/ch33s07.html +160 -0
- data/vendor/local/share/gtk-doc/html/gio/ch34.html +116 -0
- data/vendor/local/share/gtk-doc/html/gio/ch34s02.html +142 -0
- data/vendor/local/share/gtk-doc/html/gio/ch34s03.html +202 -0
- data/vendor/local/share/gtk-doc/html/gio/ch34s04.html +97 -0
- data/vendor/local/share/gtk-doc/html/gio/ch34s05.html +931 -0
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/data-models.html +38 -0
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/extending.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gapplication-tool.html +9 -9
- data/vendor/local/share/gtk-doc/html/gio/gdbus-codegen.html +14 -14
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Animal.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Cat.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +7 -7
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +47 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +124 -47
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +26 -22
- data/vendor/local/share/gtk-doc/html/gio/gio-GActionGroup-exporter.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +50 -43
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +21 -3
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-GMenuModel-exporter.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html +161 -104
- data/vendor/local/share/gtk-doc/html/gio/gio-GWin32InputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/gio-GWin32OutputStream.html +8 -8
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +1 -3
- data/vendor/local/share/gtk-doc/html/gio/gio-TLS-Overview.html +5 -12
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +56 -18
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +1 -3
- data/vendor/local/share/gtk-doc/html/gio/gio-gnetworking.h.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/gio-gpollableutils.html +13 -13
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +52 -53
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +561 -116
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-resources.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/gresource-tool.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/icons.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/index.html +39 -26
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +620 -121
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +21 -21
- data/vendor/local/share/gtk-doc/html/gio/networking.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +19 -7
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/resources.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/running-gio-apps.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/settings.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +4 -1
- data/vendor/local/share/gtk-doc/html/gio/subprocesses.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/testing.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/tls.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/tools.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/types.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/utils.html +1 -1
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +8 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-28.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-30.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-32.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-34.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-36.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-38.html +12 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-40.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-42.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-44.html +117 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +14 -3
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +109 -25
- data/vendor/local/share/gtk-doc/html/glib/deprecated.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +17 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +4 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +210 -39
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-HMACs.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Deprecated-Thread-APIs.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +14 -10
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +21 -9
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +10 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +7 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +10 -10
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +33 -11
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +43 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +27 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +136 -10
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +134 -18
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +7 -7
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +437 -20
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +4 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +64 -11
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +160 -28
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +19 -15
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +197 -54
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html +1 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +10 -10
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +17 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +141 -18
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-programming.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +633 -2
- data/vendor/local/share/gtk-doc/html/glib/glib.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +1 -1
- data/vendor/local/share/gtk-doc/html/glib/index.html +2 -1
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +631 -0
- data/vendor/local/share/gtk-doc/html/glib/tools.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +6 -7
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +35 -1
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +8 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-28.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-30.html +5 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-32.html +5 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-34.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-36.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-38.html +9 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-40.html +5 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-42.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-44.html +61 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +50 -18
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +32 -12
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +137 -56
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +210 -93
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +14 -5
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +92 -37
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +63 -24
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +64 -25
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +26 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +1847 -241
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +30 -1
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +28 -3
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +44 -4
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +8 -3
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +154 -65
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +602 -197
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +3 -4
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +29 -4
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +60 -27
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +24 -11
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +57 -4
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +68 -27
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +200 -83
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +295 -125
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +58 -27
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +36 -15
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +56 -22
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +39 -17
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +123 -53
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +308 -137
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +111 -131
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +144 -60
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-override.html +138 -58
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-prerequisite.html +126 -53
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +157 -70
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +112 -47
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +77 -30
- data/vendor/local/share/gtk-doc/html/gobject/index.html +2 -1
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +53 -0
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +154 -60
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +37 -17
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +1 -1
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +1 -1
- data/vendor/local/share/gtk-doc/html/p11-kit/config-example.html +73 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/config-files.html +39 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/config.html +49 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-building-style.html +58 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-building.html +182 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-commands.html +45 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-debugging.html +35 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-paths.html +60 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel-testing.html +47 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/devel.html +59 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/gtk-doc.css +476 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/index.html +101 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/index.sgml +167 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Deprecated.html +473 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Future.html +973 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Modules.html +798 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-PIN-Callbacks.html +906 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-URIs.html +1138 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Utilities.html +277 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.devhelp2 +155 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.html +115 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/pkcs11-conf.html +261 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/reference.html +482 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/sharing-managed.html +79 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/sharing.html +49 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/style.css +116 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/tools.html +41 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-disable.html +45 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-glib-networking.html +35 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-module.html +96 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/trust-nss.html +41 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/trust.html +389 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/p11-kit/up.png +0 -0
- data/vendor/local/share/info/autosprintf.info +6 -6
- data/vendor/local/share/info/dir +11 -17
- data/vendor/local/share/info/libidn-components.png +0 -0
- data/vendor/local/share/info/libidn.info +4404 -0
- data/vendor/local/share/info/libtasn1.info +2123 -0
- data/vendor/local/share/license/gnutls/AUTHORS +3 -42
- data/vendor/local/share/license/libidn/AUTHORS +794 -0
- data/vendor/local/share/license/libidn/COPYING +30 -0
- data/vendor/local/share/license/libtasn1/AUTHORS +12 -0
- data/vendor/local/share/license/libtasn1/COPYING +674 -0
- data/vendor/local/share/license/libtasn1/COPYING.LIB +502 -0
- data/vendor/local/share/license/p11-kit/AUTHORS +1 -0
- data/vendor/local/share/license/p11-kit/COPYING +27 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/glib-networking.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/fur/LC_MESSAGES/glib-networking.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/locale.alias +13 -3
- data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ms/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gnutls.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/libidn.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/asn1Coding.1 +50 -0
- data/vendor/local/share/man/man1/asn1Decoding.1 +48 -0
- data/vendor/local/share/man/man1/asn1Parser.1 +53 -0
- data/vendor/local/share/man/man1/envsubst.1 +1 -1
- data/vendor/local/share/man/man1/gapplication.1 +293 -0
- data/vendor/local/share/man/man1/gdbus-codegen.1 +760 -0
- data/vendor/local/share/man/man1/gdbus.1 +324 -0
- data/vendor/local/share/man/man1/gettext.1 +1 -1
- data/vendor/local/share/man/man1/gio-querymodules.1 +44 -0
- data/vendor/local/share/man/man1/glib-compile-resources.1 +167 -0
- data/vendor/local/share/man/man1/glib-compile-schemas.1 +91 -0
- data/vendor/local/share/man/man1/glib-genmarshal.1 +335 -0
- data/vendor/local/share/man/man1/glib-gettextize.1 +79 -0
- data/vendor/local/share/man/man1/glib-mkenums.1 +224 -0
- data/vendor/local/share/man/man1/gobject-query.1 +90 -0
- data/vendor/local/share/man/man1/gresource.1 +95 -0
- data/vendor/local/share/man/man1/gsettings.1 +167 -0
- data/vendor/local/share/man/man1/gtester-report.1 +57 -0
- data/vendor/local/share/man/man1/gtester.1 +141 -0
- data/vendor/local/share/man/man1/idn.1 +92 -0
- data/vendor/local/share/man/man1/ngettext.1 +1 -1
- data/vendor/local/share/man/man3/asn1_array2tree.3 +47 -0
- data/vendor/local/share/man/man3/asn1_bit_der.3 +51 -0
- data/vendor/local/share/man/man3/asn1_check_version.3 +43 -0
- data/vendor/local/share/man/man3/asn1_copy_node.3 +44 -0
- data/vendor/local/share/man/man3/asn1_create_element.3 +46 -0
- data/vendor/local/share/man/man3/asn1_decode_simple_ber.3 +49 -0
- data/vendor/local/share/man/man3/asn1_decode_simple_der.3 +46 -0
- data/vendor/local/share/man/man3/asn1_delete_element.3 +41 -0
- data/vendor/local/share/man/man3/asn1_delete_structure.3 +39 -0
- data/vendor/local/share/man/man3/asn1_delete_structure2.3 +41 -0
- data/vendor/local/share/man/man3/asn1_der_coding.3 +53 -0
- data/vendor/local/share/man/man3/asn1_der_decoding.3 +52 -0
- data/vendor/local/share/man/man3/asn1_der_decoding2.3 +59 -0
- data/vendor/local/share/man/man3/asn1_der_decoding_element.3 +57 -0
- data/vendor/local/share/man/man3/asn1_der_decoding_startEnd.3 +62 -0
- data/vendor/local/share/man/man3/asn1_dup_node.3 +40 -0
- data/vendor/local/share/man/man3/asn1_encode_simple_der.3 +50 -0
- data/vendor/local/share/man/man3/asn1_expand_any_defined_by.3 +46 -0
- data/vendor/local/share/man/man3/asn1_expand_octet_string.3 +50 -0
- data/vendor/local/share/man/man3/asn1_find_node.3 +42 -0
- data/vendor/local/share/man/man3/asn1_find_structure_from_oid.3 +41 -0
- data/vendor/local/share/man/man3/asn1_get_bit_der.3 +47 -0
- data/vendor/local/share/man/man3/asn1_get_length_ber.3 +46 -0
- data/vendor/local/share/man/man3/asn1_get_length_der.3 +43 -0
- data/vendor/local/share/man/man3/asn1_get_object_id_der.3 +45 -0
- data/vendor/local/share/man/man3/asn1_get_octet_der.3 +47 -0
- data/vendor/local/share/man/man3/asn1_get_tag_der.3 +45 -0
- data/vendor/local/share/man/man3/asn1_length_der.3 +43 -0
- data/vendor/local/share/man/man3/asn1_number_of_elements.3 +43 -0
- data/vendor/local/share/man/man3/asn1_octet_der.3 +49 -0
- data/vendor/local/share/man/man3/asn1_parser2array.3 +57 -0
- data/vendor/local/share/man/man3/asn1_parser2tree.3 +52 -0
- data/vendor/local/share/man/man3/asn1_perror.3 +39 -0
- data/vendor/local/share/man/man3/asn1_print_structure.3 +44 -0
- data/vendor/local/share/man/man3/asn1_read_node_value.3 +40 -0
- data/vendor/local/share/man/man3/asn1_read_tag.3 +47 -0
- data/vendor/local/share/man/man3/asn1_read_value.3 +97 -0
- data/vendor/local/share/man/man3/asn1_read_value_type.3 +99 -0
- data/vendor/local/share/man/man3/asn1_strerror.3 +42 -0
- data/vendor/local/share/man/man3/asn1_write_value.3 +138 -0
- data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +1 -1
- data/vendor/local/share/man/man3/bindtextdomain.3 +1 -1
- data/vendor/local/share/man/man3/gettext.3 +1 -1
- data/vendor/local/share/man/man3/idn_free.3 +49 -0
- data/vendor/local/share/man/man3/idna_strerror.3 +80 -0
- data/vendor/local/share/man/man3/idna_to_ascii_4i.3 +70 -0
- data/vendor/local/share/man/man3/idna_to_ascii_4z.3 +51 -0
- data/vendor/local/share/man/man3/idna_to_ascii_8z.3 +51 -0
- data/vendor/local/share/man/man3/idna_to_ascii_lz.3 +52 -0
- data/vendor/local/share/man/man3/idna_to_unicode_44i.3 +75 -0
- data/vendor/local/share/man/man3/idna_to_unicode_4z4z.3 +52 -0
- data/vendor/local/share/man/man3/idna_to_unicode_8z4z.3 +52 -0
- data/vendor/local/share/man/man3/idna_to_unicode_8z8z.3 +52 -0
- data/vendor/local/share/man/man3/idna_to_unicode_8zlz.3 +53 -0
- data/vendor/local/share/man/man3/idna_to_unicode_lzlz.3 +54 -0
- data/vendor/local/share/man/man3/ngettext.3 +1 -1
- data/vendor/local/share/man/man3/pr29_4.3 +51 -0
- data/vendor/local/share/man/man3/pr29_4z.3 +49 -0
- data/vendor/local/share/man/man3/pr29_8z.3 +50 -0
- data/vendor/local/share/man/man3/pr29_strerror.3 +55 -0
- data/vendor/local/share/man/man3/punycode_decode.3 +73 -0
- data/vendor/local/share/man/man3/punycode_encode.3 +76 -0
- data/vendor/local/share/man/man3/punycode_strerror.3 +56 -0
- data/vendor/local/share/man/man3/stringprep.3 +65 -0
- data/vendor/local/share/man/man3/stringprep_4i.3 +70 -0
- data/vendor/local/share/man/man3/stringprep_4zi.3 +62 -0
- data/vendor/local/share/man/man3/stringprep_check_version.3 +50 -0
- data/vendor/local/share/man/man3/stringprep_convert.3 +50 -0
- data/vendor/local/share/man/man3/stringprep_locale_charset.3 +57 -0
- data/vendor/local/share/man/man3/stringprep_locale_to_utf8.3 +46 -0
- data/vendor/local/share/man/man3/stringprep_profile.3 +63 -0
- data/vendor/local/share/man/man3/stringprep_strerror.3 +86 -0
- data/vendor/local/share/man/man3/stringprep_ucs4_nfkc_normalize.3 +48 -0
- data/vendor/local/share/man/man3/stringprep_ucs4_to_utf8.3 +56 -0
- data/vendor/local/share/man/man3/stringprep_unichar_to_utf8.3 +48 -0
- data/vendor/local/share/man/man3/stringprep_utf8_nfkc_normalize.3 +59 -0
- data/vendor/local/share/man/man3/stringprep_utf8_to_locale.3 +46 -0
- data/vendor/local/share/man/man3/stringprep_utf8_to_ucs4.3 +54 -0
- data/vendor/local/share/man/man3/stringprep_utf8_to_unichar.3 +46 -0
- data/vendor/local/share/man/man3/textdomain.3 +1 -1
- data/vendor/local/share/man/man3/tld_check_4.3 +62 -0
- data/vendor/local/share/man/man3/tld_check_4t.3 +58 -0
- data/vendor/local/share/man/man3/tld_check_4tz.3 +55 -0
- data/vendor/local/share/man/man3/tld_check_4z.3 +59 -0
- data/vendor/local/share/man/man3/tld_check_8z.3 +61 -0
- data/vendor/local/share/man/man3/tld_check_lz.3 +61 -0
- data/vendor/local/share/man/man3/tld_default_table.3 +51 -0
- data/vendor/local/share/man/man3/tld_get_4.3 +51 -0
- data/vendor/local/share/man/man3/tld_get_4z.3 +48 -0
- data/vendor/local/share/man/man3/tld_get_table.3 +49 -0
- data/vendor/local/share/man/man3/tld_get_z.3 +49 -0
- data/vendor/local/share/man/man3/tld_strerror.3 +60 -0
- data/vendor/local/share/p11-kit/modules/p11-kit-trust.module +17 -0
- metadata +276 -943
- data/README +0 -40
- data/vendor/local/bin/certtool.exe +0 -0
- data/vendor/local/bin/danetool.exe +0 -0
- data/vendor/local/bin/gnutls-cli-debug.exe +0 -0
- data/vendor/local/bin/gnutls-cli.exe +0 -0
- data/vendor/local/bin/gnutls-serv.exe +0 -0
- data/vendor/local/bin/libgnutls-28.def +0 -861
- data/vendor/local/bin/libgnutls-28.dll +0 -0
- data/vendor/local/bin/libgnutls-openssl-27.dll +0 -0
- data/vendor/local/bin/libgnutls-openssl-28.def +0 -228
- data/vendor/local/bin/libgnutls-xssl-0.dll +0 -0
- data/vendor/local/bin/libgnutls-xssl-28.def +0 -13
- data/vendor/local/bin/libhogweed-2-5.dll +0 -0
- data/vendor/local/bin/libnettle-4-7.dll +0 -0
- data/vendor/local/bin/ocsptool.exe +0 -0
- data/vendor/local/bin/psktool.exe +0 -0
- data/vendor/local/bin/srptool.exe +0 -0
- data/vendor/local/include/gnutls/openssl.h +0 -329
- data/vendor/local/include/gnutls/xssl.h +0 -125
- data/vendor/local/include/nettle/rsa-compat.h +0 -131
- data/vendor/local/lib/libgnutls-openssl.a +0 -0
- data/vendor/local/lib/libgnutls-openssl.dll.a +0 -0
- data/vendor/local/lib/libgnutls-openssl.la +0 -41
- data/vendor/local/lib/libgnutls-xssl.a +0 -0
- data/vendor/local/lib/libgnutls-xssl.dll.a +0 -0
- data/vendor/local/lib/libgnutls-xssl.la +0 -41
- data/vendor/local/lib/libgnutls.a +0 -0
- data/vendor/local/share/gtk-doc/html/gio/ch30.html +0 -75
- data/vendor/local/share/gtk-doc/html/gio/ch31s02.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/ch31s03.html +0 -39
- data/vendor/local/share/gtk-doc/html/gio/ch32s04.html +0 -46
- data/vendor/local/share/gtk-doc/html/gio/ch32s05.html +0 -48
- data/vendor/local/share/gtk-doc/html/gio/ch32s06.html +0 -278
- data/vendor/local/share/gtk-doc/html/gio/ch32s07.html +0 -160
- data/vendor/local/share/gtk-doc/html/gio/gio-GBytesIcon.html +0 -162
- data/vendor/local/share/gtk-doc/html/gio/gio-GInetAddressMask.html +0 -443
- data/vendor/local/share/gtk-doc/html/gio/gio-GNotification.html +0 -670
- data/vendor/local/share/gtk-doc/html/gio/gio-GPropertyAction.html +0 -177
- data/vendor/local/share/gtk-doc/html/gio/gio-GResource.html +0 -1141
- data/vendor/local/share/gtk-doc/html/gio/gio-GSubprocessLauncher.html +0 -931
- data/vendor/local/share/info/gnutls-client-server-use-case.png +0 -0
- data/vendor/local/share/info/gnutls-guile.info +0 -1589
- data/vendor/local/share/info/gnutls-handshake-sequence.png +0 -0
- data/vendor/local/share/info/gnutls-handshake-state.png +0 -0
- data/vendor/local/share/info/gnutls-internals.png +0 -0
- data/vendor/local/share/info/gnutls-layers.png +0 -0
- data/vendor/local/share/info/gnutls-logo.png +0 -0
- data/vendor/local/share/info/gnutls-modauth.png +0 -0
- data/vendor/local/share/info/gnutls-pgp.png +0 -0
- data/vendor/local/share/info/gnutls-x509.png +0 -0
- data/vendor/local/share/info/gnutls.info +0 -1371
- data/vendor/local/share/info/gnutls.info-1 +0 -7371
- data/vendor/local/share/info/gnutls.info-2 +0 -7842
- data/vendor/local/share/info/gnutls.info-3 +0 -11715
- data/vendor/local/share/info/gnutls.info-4 +0 -6737
- data/vendor/local/share/info/gnutls.info-5 +0 -2308
- data/vendor/local/share/info/pkcs11-vision.png +0 -0
- data/vendor/local/share/license/nettle/COPYING.LIB +0 -510
- data/vendor/local/share/man/man1/certtool.1 +0 -741
- data/vendor/local/share/man/man1/gnutls-cli-debug.1 +0 -165
- data/vendor/local/share/man/man1/gnutls-cli.1 +0 -420
- data/vendor/local/share/man/man1/gnutls-serv.1 +0 -453
- data/vendor/local/share/man/man1/ocsptool.1 +0 -335
- data/vendor/local/share/man/man1/p11tool.1 +0 -320
- data/vendor/local/share/man/man1/psktool.1 +0 -129
- data/vendor/local/share/man/man1/srptool.1 +0 -164
- data/vendor/local/share/man/man1/tpmtool.1 +0 -223
- data/vendor/local/share/man/man3/gnutls_alert_get.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_alert_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_alert_get_strname.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_alert_send.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_alert_send_appropriate.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_alpn_get_selected_protocol.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_alpn_set_protocols.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_anon_allocate_client_credentials.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_anon_allocate_server_credentials.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_anon_free_client_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_anon_free_server_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_anon_set_params_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_anon_set_server_dh_params.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_anon_set_server_params_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_auth_client_get_type.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_auth_get_type.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_auth_server_get_type.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_bye.3 +0 -60
- data/vendor/local/share/man/man3/gnutls_certificate_activation_time_peers.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_certificate_allocate_credentials.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_certificate_client_get_request_status.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_client_set_retrieve_function.3 +0 -62
- data/vendor/local/share/man/man3/gnutls_certificate_expiration_time_peers.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_free_ca_names.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_certificate_free_cas.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_certificate_free_credentials.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_certificate_free_crls.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_certificate_free_keys.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_certificate_get_crt_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_certificate_get_issuer.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_certificate_get_ours.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_certificate_get_peers.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_certificate_get_peers_subkey_id.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_certificate_send_x509_rdn_sequence.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_certificate_server_set_request.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_certificate_server_set_retrieve_function.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_certificate_set_dh_params.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_certificate_set_key.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_certificate_set_ocsp_status_request_file.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_certificate_set_ocsp_status_request_function.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file2.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem2.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_file.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_mem.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_certificate_set_params_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_set_pin_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_certificate_set_retrieve_function.3 +0 -65
- data/vendor/local/share/man/man3/gnutls_certificate_set_retrieve_function2.3 +0 -68
- data/vendor/local/share/man/man3/gnutls_certificate_set_rsa_export_params.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_set_trust_list.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_certificate_set_verify_flags.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_set_verify_function.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_certificate_set_verify_limits.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_file.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_mem.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_file.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_file2.3 +0 -62
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_mem.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_mem2.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_simple_pkcs12_file.3 +0 -63
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_simple_pkcs12_mem.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_system_trust.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_file.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_mem.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_certificate_type_get.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_certificate_type_get_id.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_certificate_type_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_certificate_type_list.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_certificate_type_set_priority.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_certificate_verification_status_print.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_certificate_verify_peers2.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_certificate_verify_peers3.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_check_version.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_cipher_add_auth.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_cipher_decrypt.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_cipher_decrypt2.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_cipher_deinit.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_cipher_encrypt.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_cipher_encrypt2.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_cipher_get.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_cipher_get_block_size.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_cipher_get_id.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_cipher_get_iv_size.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_cipher_get_key_size.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_cipher_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_cipher_get_tag_size.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_cipher_init.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_cipher_list.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_cipher_set_iv.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_cipher_set_priority.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_cipher_suite_get_name.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_cipher_suite_info.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_cipher_tag.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_compression_get.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_compression_get_id.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_compression_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_compression_list.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_compression_set_priority.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_credentials_clear.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_credentials_set.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_db_check_entry.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_db_check_entry_time.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_db_get_default_cache_expiration.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_db_get_ptr.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_db_remove_session.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_db_set_cache_expiration.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_db_set_ptr.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_db_set_remove_function.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_db_set_retrieve_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_db_set_store_function.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_dh_get_group.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_dh_get_peers_public_bits.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_dh_get_prime_bits.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_dh_get_pubkey.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_dh_get_secret_bits.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_dh_params_cpy.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_dh_params_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_dh_params_export2_pkcs3.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_dh_params_export_pkcs3.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_dh_params_export_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_dh_params_generate2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_dh_params_import_pkcs3.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_dh_params_import_raw.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_dh_params_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_dh_set_prime_bits.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_digest_get_id.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_digest_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_digest_list.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_dtls_cookie_send.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_dtls_cookie_verify.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_dtls_get_data_mtu.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_dtls_get_mtu.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_dtls_get_timeout.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_dtls_prestate_set.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_dtls_set_data_mtu.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_dtls_set_mtu.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_dtls_set_timeouts.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_ecc_curve_get.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_ecc_curve_get_name.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_ecc_curve_get_size.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_ecc_curve_list.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_error_is_fatal.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_error_to_alert.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_est_record_overhead_size.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_fingerprint.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_global_deinit.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_global_init.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_global_set_audit_log_function.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_global_set_log_function.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_global_set_log_level.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_global_set_mem_functions.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_global_set_mutex.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_global_set_time_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_handshake.3 +0 -61
- data/vendor/local/share/man/man3/gnutls_handshake_description_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_handshake_get_last_in.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_handshake_get_last_out.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_handshake_set_hook_function.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_handshake_set_max_packet_length.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_handshake_set_post_client_hello_function.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_handshake_set_private_extensions.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_handshake_set_random.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_handshake_set_timeout.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_hash.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_hash_deinit.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_hash_fast.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_hash_get_len.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_hash_init.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_hash_output.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_heartbeat_allowed.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_heartbeat_enable.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_heartbeat_get_timeout.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_heartbeat_ping.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_heartbeat_pong.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_heartbeat_set_timeouts.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_hex2bin.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_hex_decode.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_hex_encode.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_hmac.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_hmac_deinit.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_hmac_fast.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_hmac_get_len.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_hmac_init.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_hmac_output.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_hmac_set_nonce.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_init.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_key_generate.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_kx_get.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_kx_get_id.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_kx_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_kx_list.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_kx_set_priority.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_load_file.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_mac_get.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_mac_get_id.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_mac_get_key_size.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_mac_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_mac_get_nonce_size.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_mac_list.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_mac_set_priority.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_ocsp_req_add_cert.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_ocsp_req_add_cert_id.3 +0 -57
- data/vendor/local/share/man/man3/gnutls_ocsp_req_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_ocsp_req_export.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_ocsp_req_get_cert_id.3 +0 -61
- data/vendor/local/share/man/man3/gnutls_ocsp_req_get_extension.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_ocsp_req_get_nonce.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_ocsp_req_get_version.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_ocsp_req_import.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_ocsp_req_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_ocsp_req_print.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_ocsp_req_randomize_nonce.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_ocsp_req_set_extension.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_ocsp_req_set_nonce.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_check_crt.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_export.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_certs.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_extension.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_nonce.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_produced.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_responder.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_response.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_signature.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_signature_algorithm.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_single.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_status.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_version.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_import.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_print.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_verify.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_ocsp_resp_verify_direct.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_ocsp_status_request_enable_client.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_ocsp_status_request_get.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_ocsp_status_request_is_checked.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_check_hostname.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_export.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_export2.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_auth_subkey.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_creation_time.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_expiration_time.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_fingerprint.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_id.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_usage.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_name.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_algorithm.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_dsa_raw.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_rsa_raw.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_preferred_key_id.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_revoked_status.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_count.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_creation_time.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_expiration_time.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_fingerprint.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_id.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_idx.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_revoked_status.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_usage.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_version.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_import.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_init.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_print.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_set_preferred_key_id.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_ring.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_self.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_check_id.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt_count.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_import.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_openpgp_keyring_init.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export2.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_dsa_raw.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_rsa_raw.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_fingerprint.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_key_id.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_pk_algorithm.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_preferred_key_id.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_revoked_status.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_count.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_creation_time.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_expiration_time.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_fingerprint.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_id.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_idx.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_revoked_status.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_import.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_init.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_sec_param.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_set_preferred_key_id.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_openpgp_privkey_sign_hash.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_openpgp_send_cert.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_openpgp_set_recv_key_function.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pcert_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_pcert_import_openpgp.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pcert_import_openpgp_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pcert_import_x509.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pcert_import_x509_raw.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pcert_list_import_x509_raw.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_pem_base64_decode.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pem_base64_decode_alloc.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pem_base64_encode.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pem_base64_encode_alloc.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_perror.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_pk_algorithm_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_pk_bits_to_sec_param.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pk_get_id.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pk_get_name.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pk_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pk_to_sign.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_add_provider.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs11_copy_secret_key.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pkcs11_copy_x509_crt.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pkcs11_copy_x509_privkey.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pkcs11_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_pkcs11_delete_url.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pkcs11_get_pin_function.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_get_raw_issuer.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_pkcs11_init.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export2.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export3.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export_url.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_get_info.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_get_type.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_import_url.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_list_import_url.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_list_import_url2.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pkcs11_obj_set_pin_function.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_export_url.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_generate.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_generate2.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_get_info.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_get_pk_algorithm.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_import_url.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_set_pin_function.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_status.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_reinit.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pkcs11_set_pin_function.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs11_set_token_function.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_flags.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_info.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_mechanism.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_random.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_url.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_init.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs11_token_set_pin.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pkcs11_type_get_name.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_decrypt.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_encrypt.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_count.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_data.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_friendly_name.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_key_id.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_type.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crl.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crt.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_data.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_friendly_name.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_key_id.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pkcs12_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_pkcs12_export.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_pkcs12_export2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pkcs12_generate_mac.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs12_get_bag.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pkcs12_import.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pkcs12_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs12_set_bag.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs12_simple_parse.3 +0 -84
- data/vendor/local/share/man/man3/gnutls_pkcs12_verify_mac.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs7_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crl.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crt.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs7_export.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_pkcs7_export2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_count.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_count.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_raw.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_pkcs7_import.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pkcs7_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl_raw.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt_raw.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_prf.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_prf_raw.3 +0 -62
- data/vendor/local/share/man/man3/gnutls_priority_certificate_type_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_cipher_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_compression_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_priority_ecc_curve_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_get_cipher_suite_index.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_priority_init.3 +0 -102
- data/vendor/local/share/man/man3/gnutls_priority_kx_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_mac_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_protocol_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_priority_set.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_priority_set_direct.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_priority_sign_list.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_privkey_decrypt_data.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_privkey_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_privkey_get_pk_algorithm.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_privkey_get_type.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_privkey_import_ext.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_privkey_import_ext2.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_privkey_import_openpgp.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_privkey_import_openpgp_raw.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_privkey_import_pkcs11.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_privkey_import_pkcs11_url.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_privkey_import_tpm_raw.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_privkey_import_tpm_url.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_privkey_import_url.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_privkey_import_x509.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_privkey_import_x509_raw.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_privkey_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_privkey_set_pin_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_privkey_sign_data.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_privkey_sign_hash.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_privkey_sign_raw_data.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_privkey_status.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_protocol_get_id.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_protocol_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_protocol_get_version.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_protocol_list.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_protocol_set_priority.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_psk_allocate_client_credentials.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_psk_allocate_server_credentials.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_psk_client_get_hint.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_psk_free_client_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_psk_free_server_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_psk_server_get_username.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials_function.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_psk_set_params_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_file.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_function.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_hint.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_psk_set_server_dh_params.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_psk_set_server_params_function.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_pubkey_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_pubkey_encrypt_data.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_export.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_pubkey_export2.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_pubkey_get_key_id.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_pubkey_get_key_usage.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_pubkey_get_openpgp_key_id.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_algorithm.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_dsa_raw.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_ecc_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_ecc_x962.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_rsa_raw.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_get_preferred_hash_algorithm.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pubkey_get_verify_algorithm.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_pubkey_import_dsa_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pubkey_import_ecc_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_import_ecc_x962.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_openpgp.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_import_openpgp_raw.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pubkey_import_pkcs11.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_pkcs11_url.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_privkey.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_import_rsa_raw.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_tpm_raw.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_pubkey_import_tpm_url.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_pubkey_import_url.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_x509.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_x509_crq.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_pubkey_import_x509_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_pubkey_init.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_pubkey_print.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pubkey_set_key_usage.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_pubkey_set_pin_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_pubkey_verify_data.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pubkey_verify_data2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_pubkey_verify_hash.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_pubkey_verify_hash2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_random_art.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_range_split.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_record_can_use_length_hiding.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_record_check_corked.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_record_check_pending.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_record_cork.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_record_disable_padding.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_record_get_direction.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_record_get_discarded.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_record_get_max_size.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_record_overhead_size.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_record_recv.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_record_recv_seq.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_record_send.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_record_send_range.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_record_set_max_empty_records.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_record_set_max_size.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_record_set_timeout.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_record_uncork.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_rehandshake.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_rnd.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_rnd_refresh.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_rsa_export_get_modulus_bits.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_rsa_export_get_pubkey.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_rsa_params_cpy.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_rsa_params_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_rsa_params_export_pkcs1.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_rsa_params_export_raw.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_rsa_params_generate2.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_rsa_params_import_pkcs1.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_rsa_params_import_raw.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_rsa_params_init.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_safe_renegotiation_status.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_sec_param_get_name.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_sec_param_to_pk_bits.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_server_name_get.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_server_name_set.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_session_channel_binding.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_session_enable_compatibility_mode.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_session_force_valid.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_session_get_data.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_session_get_data2.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_session_get_desc.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_session_get_id.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_session_get_id2.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_session_get_ptr.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_session_get_random.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_session_is_resumed.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_session_resumption_requested.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_session_set_data.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_session_set_id.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_session_set_premaster.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_session_set_ptr.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_session_ticket_enable_client.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_session_ticket_enable_server.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_session_ticket_key_generate.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_set_default_export_priority.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_set_default_priority.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_sign_algorithm_get.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_sign_algorithm_get_client.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_sign_algorithm_get_requested.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_sign_callback_get.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_sign_callback_set.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_sign_get_hash_algorithm.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_sign_get_id.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_sign_get_name.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_sign_get_pk_algorithm.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_sign_is_secure.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_sign_list.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_srp_allocate_client_credentials.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_srp_allocate_server_credentials.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_srp_base64_decode.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_srp_base64_decode_alloc.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_srp_base64_encode.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_srp_base64_encode_alloc.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_srp_free_client_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_srp_free_server_credentials.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_srp_server_get_username.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials_function.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_srp_set_prime_bits.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_file.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_function.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_srp_verifier.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_srtp_get_keys.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_srtp_get_mki.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_srtp_get_profile_id.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_srtp_get_profile_name.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_srtp_get_selected_profile.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_srtp_set_mki.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_srtp_set_profile.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_srtp_set_profile_direct.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_store_commitment.3 +0 -60
- data/vendor/local/share/man/man3/gnutls_store_pubkey.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_strerror.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_strerror_name.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_supplemental_get_name.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_tdb_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_tdb_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_tdb_set_store_commitment_func.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_tdb_set_store_func.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_tdb_set_verify_func.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_tpm_get_registered.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_tpm_key_list_deinit.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_tpm_key_list_get_url.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_tpm_privkey_delete.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_tpm_privkey_generate.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_transport_get_int.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_transport_get_int2.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_transport_get_ptr.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_transport_get_ptr2.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_transport_set_errno.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_transport_set_errno_function.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_transport_set_int.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_transport_set_int2.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_transport_set_ptr.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_transport_set_ptr2.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_transport_set_pull_function.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_transport_set_pull_timeout_function.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_transport_set_push_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_transport_set_vec_push_function.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_url_is_supported.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_verify_stored_pubkey.3 +0 -67
- data/vendor/local/share/man/man3/gnutls_x509_crl_check_issuer.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crl_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_x509_crl_export.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_crl_export2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_authority_key_gn_serial.3 +0 -57
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_authority_key_id.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_count.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_serial.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_dn_oid.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_data.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_info.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_oid.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn2.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn_by_oid.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_next_update.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_number.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_raw_issuer_dn.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature_algorithm.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_this_update.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_x509_crl_get_version.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_x509_crl_import.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crl_init.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crl_list_import.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_crl_list_import2.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crl_print.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crl_privkey_sign.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_authority_key_id.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt_serial.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_next_update.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_number.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_this_update.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_x509_crl_set_version.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crl_sign.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crl_sign2.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crl_verify.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_crq_deinit.3 +0 -34
- data/vendor/local/share/man/man3/gnutls_x509_crq_export.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_crq_export2.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_by_oid.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_data.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_info.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_basic_constraints.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_challenge_password.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn2.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_by_oid.3 +0 -57
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_oid.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_by_oid.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_data.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_info.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_id.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_purpose_oid.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_rsa_raw.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_usage.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_pk_algorithm.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_private_key_usage_period.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_subject_alt_name.3 +0 -60
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_subject_alt_othername_oid.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_crq_get_version.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_crq_import.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crq_init.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_crq_print.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crq_privkey_sign.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_attribute_by_oid.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_basic_constraints.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_challenge_password.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_dn.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_dn_by_oid.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_key.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_purpose_oid.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_rsa_raw.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_usage.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_private_key_usage_period.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_pubkey.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_subject_alt_name.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crq_set_version.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crq_sign.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crq_sign2.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crq_verify.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_check_hostname.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crt_check_issuer.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_check_revocation.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_cpy_crl_dist_points.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_x509_crt_export.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crt_export2.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_activation_time.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_info_access.3 +0 -100
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_key_gn_serial.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_key_id.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_basic_constraints.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_ca_status.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_crl_dist_points.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn2.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_by_oid.3 +0 -60
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_oid.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_expiration_time.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_by_oid.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_data.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_info.3 +0 -55
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_oid.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_fingerprint.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_name.3 +0 -64
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_name2.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_othername_oid.3 +0 -61
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn2.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_by_oid.3 +0 -60
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_oid.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_unique_id.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_id.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_purpose_oid.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_usage.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_algorithm.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_dsa_raw.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_rsa_raw.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_policy.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_preferred_hash_algorithm.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_private_key_usage_period.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_proxy.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_dn.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_issuer_dn.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_serial.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature_algorithm.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name.3 +0 -61
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name2.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_othername_oid.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_key_id.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_unique_id.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_verify_algorithm.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_get_version.3 +0 -35
- data/vendor/local/share/man/man3/gnutls_x509_crt_import.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_import_pkcs11.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_import_pkcs11_url.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_crt_list_import.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_x509_crt_list_import2.3 +0 -53
- data/vendor/local/share/man/man3/gnutls_x509_crt_list_import_pkcs11.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_list_verify.3 +0 -62
- data/vendor/local/share/man/man3/gnutls_x509_crt_print.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_privkey_sign.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_activation_time.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_authority_info_access.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_authority_key_id.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_basic_constraints.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_ca_status.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_crl_dist_points.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_crl_dist_points2.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_crq.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_crq_extensions.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_dn.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_dn_by_oid.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_expiration_time.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_extension_by_oid.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_issuer_dn.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_issuer_dn_by_oid.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_key.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_purpose_oid.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_usage.3 +0 -38
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_pin_function.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_policy.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_private_key_usage_period.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy_dn.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_pubkey.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_serial.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_alt_name.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_alternative_name.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_key_id.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_set_version.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_crt_sign.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_crt_sign2.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_crt_verify.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_verify_data.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_crt_verify_hash.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_dn_deinit.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_dn_export.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_dn_export2.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_dn_get_rdn_ava.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_dn_import.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_dn_init.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_dn_oid_known.3 +0 -41
- data/vendor/local/share/man/man3/gnutls_x509_dn_oid_name.3 +0 -42
- data/vendor/local/share/man/man3/gnutls_x509_policy_release.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_privkey_cpy.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_privkey_deinit.3 +0 -33
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export2.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export2_pkcs8.3 +0 -58
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export_dsa_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export_ecc_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export_pkcs8.3 +0 -61
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export_rsa_raw.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_privkey_export_rsa_raw2.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_privkey_fix.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_privkey_generate.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_privkey_get_key_id.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_privkey_get_pk_algorithm.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_privkey_get_pk_algorithm2.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import2.3 +0 -52
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_dsa_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_ecc_raw.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_openssl.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_pkcs8.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_rsa_raw.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_privkey_import_rsa_raw2.3 +0 -54
- data/vendor/local/share/man/man3/gnutls_x509_privkey_init.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_privkey_sec_param.3 +0 -39
- data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_data.3 +0 -59
- data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_hash.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_privkey_verify_params.3 +0 -36
- data/vendor/local/share/man/man3/gnutls_x509_rdn_get.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_rdn_get_by_oid.3 +0 -51
- data/vendor/local/share/man/man3/gnutls_x509_rdn_get_oid.3 +0 -47
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_cas.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_crls.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_named_crt.3 +0 -56
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_system_trust.3 +0 -43
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_trust_file.3 +0 -49
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_trust_mem.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_deinit.3 +0 -37
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_get_issuer.3 +0 -45
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_init.3 +0 -40
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_cas.3 +0 -48
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_trust_file.3 +0 -46
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_trust_mem.3 +0 -44
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_verify_crt.3 +0 -50
- data/vendor/local/share/man/man3/gnutls_x509_trust_list_verify_named_crt.3 +0 -53
- data/vendor/local/share/man/man3/xssl_client_init.3 +0 -56
- data/vendor/local/share/man/man3/xssl_cred_deinit.3 +0 -37
- data/vendor/local/share/man/man3/xssl_cred_init.3 +0 -48
- data/vendor/local/share/man/man3/xssl_deinit.3 +0 -36
- data/vendor/local/share/man/man3/xssl_flush.3 +0 -39
- data/vendor/local/share/man/man3/xssl_get_session.3 +0 -35
- data/vendor/local/share/man/man3/xssl_getdelim.3 +0 -49
- data/vendor/local/share/man/man3/xssl_printf.3 +0 -45
- data/vendor/local/share/man/man3/xssl_read.3 +0 -43
- data/vendor/local/share/man/man3/xssl_server_init.3 +0 -50
- data/vendor/local/share/man/man3/xssl_sinit.3 +0 -44
- data/vendor/local/share/man/man3/xssl_write.3 +0 -47
data/vendor/local/share/info/dir
CHANGED
@@ -20,24 +20,18 @@ C++ libraries
|
|
20
20
|
Development
|
21
21
|
* libffi: (libffi). Portable foreign-function interface library.
|
22
22
|
|
23
|
+
Emacs
|
24
|
+
* IDN Library: (libidn)Emacs API.
|
25
|
+
Emacs API for IDN functions.
|
26
|
+
|
23
27
|
GNU libraries
|
24
28
|
* gmp: (gmp). GNU Multiple Precision Arithmetic Library.
|
25
29
|
|
30
|
+
Localization
|
31
|
+
* idn: (libidn)Invoking idn. Internationalized Domain Name (IDN) string
|
32
|
+
conversion.
|
33
|
+
|
26
34
|
Software libraries
|
27
|
-
*
|
28
|
-
*
|
29
|
-
|
30
|
-
|
31
|
-
System Administration
|
32
|
-
* certtool: (gnutls)Invoking certtool.
|
33
|
-
Manipulate certificates and keys.
|
34
|
-
* gnutls-cli-debug: (gnutls)Invoking gnutls-cli-debug.
|
35
|
-
GnuTLS debug client.
|
36
|
-
* gnutls-cli: (gnutls)Invoking gnutls-cli.
|
37
|
-
GnuTLS test client.
|
38
|
-
* gnutls-serv: (gnutls)Invoking gnutls-serv.
|
39
|
-
GnuTLS test server.
|
40
|
-
* psktool: (gnutls)Invoking psktool.
|
41
|
-
Simple TLS-Pre-Shared-Keys manager.
|
42
|
-
* srptool: (gnutls)Invoking srptool.
|
43
|
-
Simple SRP password tool.
|
35
|
+
* libidn: (libidn). Internationalized string processing library.
|
36
|
+
* libtasn1: (libtasn1). Library for Abstract Syntax Notation One
|
37
|
+
(ASN.1).
|
Binary file
|
@@ -0,0 +1,4404 @@
|
|
1
|
+
This is libidn.info, produced by makeinfo version 5.2 from libidn.texi.
|
2
|
+
|
3
|
+
This manual is last updated 7 July 2015 for version 1.32 of GNU Libidn.
|
4
|
+
|
5
|
+
Copyright © 2002-2015 Simon Josefsson.
|
6
|
+
|
7
|
+
Permission is granted to copy, distribute and/or modify this
|
8
|
+
document under the terms of the GNU Free Documentation License,
|
9
|
+
Version 1.3 or any later version published by the Free Software
|
10
|
+
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
11
|
+
no Back-Cover Texts. A copy of the license is included in the
|
12
|
+
section entitled “GNU Free Documentation License”.
|
13
|
+
INFO-DIR-SECTION Software libraries
|
14
|
+
START-INFO-DIR-ENTRY
|
15
|
+
* libidn: (libidn). Internationalized string processing library.
|
16
|
+
END-INFO-DIR-ENTRY
|
17
|
+
|
18
|
+
INFO-DIR-SECTION Localization
|
19
|
+
START-INFO-DIR-ENTRY
|
20
|
+
* idn: (libidn)Invoking idn. Internationalized Domain Name (IDN) string conversion.
|
21
|
+
END-INFO-DIR-ENTRY
|
22
|
+
|
23
|
+
INFO-DIR-SECTION Emacs
|
24
|
+
START-INFO-DIR-ENTRY
|
25
|
+
* IDN Library: (libidn)Emacs API. Emacs API for IDN functions.
|
26
|
+
END-INFO-DIR-ENTRY
|
27
|
+
|
28
|
+
|
29
|
+
File: libidn.info, Node: Top, Next: Introduction, Up: (dir)
|
30
|
+
|
31
|
+
GNU Libidn
|
32
|
+
**********
|
33
|
+
|
34
|
+
This manual is last updated 7 July 2015 for version 1.32 of GNU Libidn.
|
35
|
+
|
36
|
+
Copyright © 2002-2015 Simon Josefsson.
|
37
|
+
|
38
|
+
Permission is granted to copy, distribute and/or modify this
|
39
|
+
document under the terms of the GNU Free Documentation License,
|
40
|
+
Version 1.3 or any later version published by the Free Software
|
41
|
+
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
42
|
+
no Back-Cover Texts. A copy of the license is included in the
|
43
|
+
section entitled “GNU Free Documentation License”.
|
44
|
+
|
45
|
+
* Menu:
|
46
|
+
|
47
|
+
* Introduction:: How to use this manual.
|
48
|
+
* Preparation:: What you should do before using the library.
|
49
|
+
* Utility Functions:: Unicode transformation utility functions.
|
50
|
+
* Stringprep Functions:: Stringprep functions.
|
51
|
+
* Punycode Functions:: Punycode functions.
|
52
|
+
* IDNA Functions:: IDNA functions.
|
53
|
+
* TLD Functions:: TLD functions.
|
54
|
+
* PR29 Functions:: Detect strings non-idempotent under NFKC.
|
55
|
+
* Examples:: Demonstrate how to use the library.
|
56
|
+
* Invoking idn:: Command line interface to the library.
|
57
|
+
* Emacs API:: Emacs Lisp API for Libidn.
|
58
|
+
* Java API:: Notes on the Java port of Libidn.
|
59
|
+
* C# API:: Notes on the C# port of Libidn.
|
60
|
+
* Acknowledgements:: Whom to blame.
|
61
|
+
* History:: Rough outline of development history.
|
62
|
+
|
63
|
+
Appendices
|
64
|
+
|
65
|
+
* PR29 discussion:: Implementation aspects of the PR29 flaw.
|
66
|
+
* On Label Separators:: Discussions of a flaw in the IDNA spec.
|
67
|
+
* Copying Information:: License texts.
|
68
|
+
|
69
|
+
Indices
|
70
|
+
|
71
|
+
* Function and Variable Index::
|
72
|
+
* Concept Index::
|
73
|
+
|
74
|
+
|
75
|
+
File: libidn.info, Node: Introduction, Next: Preparation, Prev: Top, Up: Top
|
76
|
+
|
77
|
+
1 Introduction
|
78
|
+
**************
|
79
|
+
|
80
|
+
GNU Libidn is a fully documented implementation of the Stringprep,
|
81
|
+
Punycode and IDNA specifications. Libidn’s purpose is to encode and
|
82
|
+
decode internationalized domain name strings. There are native C, C#
|
83
|
+
and Java libraries.
|
84
|
+
|
85
|
+
The C library contains a generic Stringprep implementation. Profiles
|
86
|
+
for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included. Punycode
|
87
|
+
and ASCII Compatible Encoding (ACE) via IDNA are supported. A mechanism
|
88
|
+
to define Top-Level Domain (TLD) specific validation tables, and to
|
89
|
+
compare strings against those tables, is included. Default tables for
|
90
|
+
some TLDs are also included.
|
91
|
+
|
92
|
+
The Stringprep API consists of two main functions, one for converting
|
93
|
+
data from the system’s native representation into UTF-8, and one
|
94
|
+
function to perform the Stringprep processing. Adding a new Stringprep
|
95
|
+
profile for your application within the API is straightforward. The
|
96
|
+
Punycode API consists of one encoding function and one decoding
|
97
|
+
function. The IDNA API consists of the ToASCII and ToUnicode functions,
|
98
|
+
as well as an high-level interface for converting entire domain names to
|
99
|
+
and from the ACE encoded form. The TLD API consists of one set of
|
100
|
+
functions to extract the TLD name from a domain string, one set of
|
101
|
+
functions to locate the proper TLD table to use based on the TLD name,
|
102
|
+
and core functions to validate a string against a TLD table, and some
|
103
|
+
utility wrappers to perform all the steps in one call.
|
104
|
+
|
105
|
+
The library is used by, e.g., GNU SASL and Shishi to process user
|
106
|
+
names and passwords. Libidn can be built into GNU Libc to enable a new
|
107
|
+
system-wide getaddrinfo flag for IDN processing.
|
108
|
+
|
109
|
+
Libidn is developed for the GNU/Linux system, but runs on over 20
|
110
|
+
Unix platforms (including Solaris, IRIX, AIX, and Tru64) and Windows.
|
111
|
+
The library is written in C and (parts of) the API is also accessible
|
112
|
+
from C++, Emacs Lisp, Python and Java. A native Java and C# port is
|
113
|
+
included.
|
114
|
+
|
115
|
+
Also included is a command line tool, several self tests, code
|
116
|
+
examples, and more.
|
117
|
+
|
118
|
+
* Menu:
|
119
|
+
|
120
|
+
* Getting Started::
|
121
|
+
* Features::
|
122
|
+
* Library Overview::
|
123
|
+
* Supported Platforms::
|
124
|
+
* Getting help::
|
125
|
+
* Commercial Support::
|
126
|
+
* Downloading and Installing::
|
127
|
+
* Bug Reports::
|
128
|
+
* Contributing::
|
129
|
+
|
130
|
+
|
131
|
+
File: libidn.info, Node: Getting Started, Next: Features, Up: Introduction
|
132
|
+
|
133
|
+
1.1 Getting Started
|
134
|
+
===================
|
135
|
+
|
136
|
+
This manual documents the library programming interface. All functions
|
137
|
+
and data types provided by the library are explained. Included are also
|
138
|
+
examples, and documentation for the command line tool ‘idn’ that provide
|
139
|
+
a quick interface to the library. The Emacs Lisp bindings for the
|
140
|
+
library is also discussed.
|
141
|
+
|
142
|
+
The reader is assumed to possess basic familiarity with
|
143
|
+
internationalization concepts and network programming in C or C++.
|
144
|
+
|
145
|
+
This manual can be used in several ways. If read from the beginning
|
146
|
+
to the end, it gives a good introduction into the library and how it can
|
147
|
+
be used in an application. Forward references are included where
|
148
|
+
necessary. Later on, the manual can be used as a reference manual to
|
149
|
+
get just the information needed about any particular interface of the
|
150
|
+
library. Experienced programmers might want to start looking at the
|
151
|
+
examples at the end of the manual (*note Examples::), and then only read
|
152
|
+
up those parts of the interface which are unclear.
|
153
|
+
|
154
|
+
|
155
|
+
File: libidn.info, Node: Features, Next: Library Overview, Prev: Getting Started, Up: Introduction
|
156
|
+
|
157
|
+
1.2 Features
|
158
|
+
============
|
159
|
+
|
160
|
+
This library might have a couple of advantages over other libraries
|
161
|
+
doing a similar job.
|
162
|
+
|
163
|
+
It’s Free Software
|
164
|
+
Anybody can use, modify, and redistribute it under the terms of a
|
165
|
+
free software license.
|
166
|
+
|
167
|
+
It’s thread-safe
|
168
|
+
No global state is kept in the library. All functions are
|
169
|
+
re-entrant.
|
170
|
+
|
171
|
+
It’s portable
|
172
|
+
The code is intended to be written in pure ANSI C89. It has been
|
173
|
+
tested on many Unix like operating systems, and Windows.
|
174
|
+
|
175
|
+
It’s modularized
|
176
|
+
The library is composed of several modules, and the only
|
177
|
+
interaction between modules is through each modules’ public API. If
|
178
|
+
you only need one piece of functionality, it is possible to take
|
179
|
+
the files you need and incorporate them into your own project.
|
180
|
+
|
181
|
+
It’s not bloated
|
182
|
+
The design of the library is based on the smallest API necessary to
|
183
|
+
implement the basic functionality. It has been carefully extended
|
184
|
+
with a small number of high-level wrappers to make it comfortable
|
185
|
+
to use the library. However, it does not implement additional
|
186
|
+
functionality just for the sake of completeness.
|
187
|
+
|
188
|
+
It’s documented
|
189
|
+
Sadly, not all software comes with documentation these days. This
|
190
|
+
one does.
|
191
|
+
|
192
|
+
|
193
|
+
File: libidn.info, Node: Library Overview, Next: Supported Platforms, Prev: Features, Up: Introduction
|
194
|
+
|
195
|
+
1.3 Library Overview
|
196
|
+
====================
|
197
|
+
|
198
|
+
The following illustration show the components that make up Libidn, and
|
199
|
+
how your application relates to the library. In the illustration,
|
200
|
+
various components are shown as boxes. You see the generic StringPrep
|
201
|
+
component, the various StringPrep profiles including Nameprep, the
|
202
|
+
Punycode component, the IDNA component, and the TLD component. The
|
203
|
+
arrows indicate aggregation, e.g., IDNA uses Punycode and Nameprep, and
|
204
|
+
in turn Nameprep uses the generic StringPrep interface. The interfaces
|
205
|
+
to all components are available for applications, no component within
|
206
|
+
the library is hidden from the application.
|
207
|
+
|
208
|
+
[image src="libidn-components.png"]
|
209
|
+
|
210
|
+
|
211
|
+
File: libidn.info, Node: Supported Platforms, Next: Getting help, Prev: Library Overview, Up: Introduction
|
212
|
+
|
213
|
+
1.4 Supported Platforms
|
214
|
+
=======================
|
215
|
+
|
216
|
+
Libidn has at some point in time been tested on the following platforms.
|
217
|
+
Build reports for each platforms and Libidn version is available at
|
218
|
+
<http://autobuild.josefsson.org/libidn/>.
|
219
|
+
|
220
|
+
1. Debian GNU/Linux 3.0 (Woody)
|
221
|
+
|
222
|
+
GCC 2.95.4 and GNU Make. This is the main development platform.
|
223
|
+
‘alphaev67-unknown-linux-gnu’, ‘alphaev6-unknown-linux-gnu’,
|
224
|
+
‘arm-unknown-linux-gnu’, ‘armv4l-unknown-linux-gnu’,
|
225
|
+
‘hppa-unknown-linux-gnu’, ‘hppa64-unknown-linux-gnu’,
|
226
|
+
‘i686-pc-linux-gnu’, ‘ia64-unknown-linux-gnu’,
|
227
|
+
‘m68k-unknown-linux-gnu’, ‘mips-unknown-linux-gnu’,
|
228
|
+
‘mipsel-unknown-linux-gnu’, ‘powerpc-unknown-linux-gnu’,
|
229
|
+
‘s390-ibm-linux-gnu’, ‘sparc-unknown-linux-gnu’,
|
230
|
+
‘sparc64-unknown-linux-gnu’.
|
231
|
+
|
232
|
+
2. Debian GNU/Linux 2.1
|
233
|
+
|
234
|
+
GCC 2.95.1 and GNU Make. ‘armv4l-unknown-linux-gnu’.
|
235
|
+
|
236
|
+
3. Tru64 UNIX
|
237
|
+
|
238
|
+
Tru64 UNIX C compiler and Tru64 Make. ‘alphaev67-dec-osf5.1’,
|
239
|
+
‘alphaev68-dec-osf5.1’.
|
240
|
+
|
241
|
+
4. SuSE Linux 7.1
|
242
|
+
|
243
|
+
GCC 2.96 and GNU Make. ‘alphaev6-unknown-linux-gnu’,
|
244
|
+
‘alphaev67-unknown-linux-gnu’.
|
245
|
+
|
246
|
+
5. SuSE Linux 7.2a
|
247
|
+
|
248
|
+
GCC 3.0 and GNU Make. ‘ia64-unknown-linux-gnu’.
|
249
|
+
|
250
|
+
6. SuSE Linux
|
251
|
+
|
252
|
+
GCC 3.2.2 and GNU Make. ‘x86_64-unknown-linux-gnu’ (AMD64 Opteron
|
253
|
+
“Melody”).
|
254
|
+
|
255
|
+
7. SuSE Enterprise Server 9 on IBM OpenPower 720
|
256
|
+
|
257
|
+
GCC 3.3.3 and GNU Make. ‘powerpc64-unknown-linux-gnu’.
|
258
|
+
|
259
|
+
8. RedHat Linux 7.2
|
260
|
+
|
261
|
+
GCC 2.96 and GNU Make. ‘alphaev6-unknown-linux-gnu’,
|
262
|
+
‘alphaev67-unknown-linux-gnu’, ‘ia64-unknown-linux-gnu’.
|
263
|
+
|
264
|
+
9. RedHat Linux 8.0
|
265
|
+
|
266
|
+
GCC 3.2 and GNU Make. ‘i686-pc-linux-gnu’.
|
267
|
+
|
268
|
+
10. RedHat Advanced Server 2.1
|
269
|
+
|
270
|
+
GCC 2.96 and GNU Make. ‘i686-pc-linux-gnu’.
|
271
|
+
|
272
|
+
11. Slackware Linux 8.0.01
|
273
|
+
|
274
|
+
GCC 2.95.3 and GNU Make. ‘i686-pc-linux-gnu’.
|
275
|
+
|
276
|
+
12. Mandrake Linux 9.0
|
277
|
+
|
278
|
+
GCC 3.2 and GNU Make. ‘i686-pc-linux-gnu’.
|
279
|
+
|
280
|
+
13. IRIX 6.5
|
281
|
+
|
282
|
+
MIPS C compiler, IRIX Make. ‘mips-sgi-irix6.5’.
|
283
|
+
|
284
|
+
14. AIX 4.3.2
|
285
|
+
|
286
|
+
IBM C for AIX compiler, AIX Make. ‘rs6000-ibm-aix4.3.2.0’.
|
287
|
+
|
288
|
+
15. Microsoft Windows 2000 (Cygwin)
|
289
|
+
|
290
|
+
GCC 3.2, GNU make. ‘i686-pc-cygwin’.
|
291
|
+
|
292
|
+
16. HP-UX 11
|
293
|
+
|
294
|
+
HP-UX C compiler and HP Make. ‘ia64-hp-hpux11.22’,
|
295
|
+
‘hppa2.0w-hp-hpux11.11’.
|
296
|
+
|
297
|
+
17. SUN Solaris 2.7
|
298
|
+
|
299
|
+
GCC 3.0.4 and GNU Make. ‘sparc-sun-solaris2.7’.
|
300
|
+
|
301
|
+
18. SUN Solaris 2.8
|
302
|
+
|
303
|
+
Sun WorkShop Compiler C 6.0 and SUN Make. ‘sparc-sun-solaris2.8’.
|
304
|
+
|
305
|
+
19. SUN Solaris 2.9
|
306
|
+
|
307
|
+
Sun Forte Developer 7 C compiler and GNU Make.
|
308
|
+
‘sparc-sun-solaris2.9’.
|
309
|
+
|
310
|
+
20. NetBSD 1.6
|
311
|
+
|
312
|
+
GCC 2.95.3 and GNU Make. ‘alpha-unknown-netbsd1.6’,
|
313
|
+
‘i386-unknown-netbsdelf1.6’.
|
314
|
+
|
315
|
+
21. OpenBSD 3.1 and 3.2
|
316
|
+
|
317
|
+
GCC 2.95.3 and GNU Make. ‘alpha-unknown-openbsd3.1’,
|
318
|
+
‘i386-unknown-openbsd3.1’.
|
319
|
+
|
320
|
+
22. FreeBSD 4.7 and 4.8
|
321
|
+
|
322
|
+
GCC 2.95.4 and GNU Make. ‘alpha-unknown-freebsd4.7’,
|
323
|
+
‘alpha-unknown-freebsd4.8’, ‘i386-unknown-freebsd4.7’,
|
324
|
+
‘i386-unknown-freebsd4.8’.
|
325
|
+
|
326
|
+
23. MacOS X 10.2 Server Edition
|
327
|
+
|
328
|
+
GCC 3.1 and GNU Make. ‘powerpc-apple-darwin6.5’.
|
329
|
+
|
330
|
+
24. MacOS X 10.4 “Tiger” with Xcode 2.0
|
331
|
+
|
332
|
+
GCC 4.0 and GNU Make. ‘powerpc-apple-darwin8.0’.
|
333
|
+
|
334
|
+
25. Cross compiled to uClinux/uClibc on Motorola Coldfire
|
335
|
+
|
336
|
+
GCC 3.4 and GNU Make ‘m68k-uclinux-elf’.
|
337
|
+
|
338
|
+
26. Cross compiled to ARM using Glibc
|
339
|
+
|
340
|
+
GCC 2.95 and GNU Make ‘arm-linux’.
|
341
|
+
|
342
|
+
27. Cross compiled to Mingw32.
|
343
|
+
|
344
|
+
GCC 3.4.4 and GNU Make ‘i586-mingw32msvc’.
|
345
|
+
|
346
|
+
28. OS/2
|
347
|
+
|
348
|
+
GCC.
|
349
|
+
|
350
|
+
If you use Libidn on, or port Libidn to, a new platform please report
|
351
|
+
it to the author.
|
352
|
+
|
353
|
+
|
354
|
+
File: libidn.info, Node: Getting help, Next: Commercial Support, Prev: Supported Platforms, Up: Introduction
|
355
|
+
|
356
|
+
1.5 Getting help
|
357
|
+
================
|
358
|
+
|
359
|
+
A mailing list where users of Libidn may help each other exists, and you
|
360
|
+
can reach it by sending e-mail to <help-libidn@gnu.org>. Archives of
|
361
|
+
the mailing list discussions, and an interface to manage subscriptions,
|
362
|
+
is available through the World Wide Web at
|
363
|
+
<http://lists.gnu.org/mailman/listinfo/help-libidn>.
|
364
|
+
|
365
|
+
|
366
|
+
File: libidn.info, Node: Commercial Support, Next: Downloading and Installing, Prev: Getting help, Up: Introduction
|
367
|
+
|
368
|
+
1.6 Commercial Support
|
369
|
+
======================
|
370
|
+
|
371
|
+
Commercial support is available for users of GNU Libidn. The kind of
|
372
|
+
support that can be purchased may include:
|
373
|
+
|
374
|
+
• Implement new features. Such as country code specific profiling to
|
375
|
+
support a restricted subset of Unicode.
|
376
|
+
|
377
|
+
• Port Libidn to new platforms. This could include porting Libidn to
|
378
|
+
an embedded platforms that may need memory or size optimization.
|
379
|
+
|
380
|
+
• Integrating IDN support in your existing project.
|
381
|
+
|
382
|
+
• System design of components related to IDN.
|
383
|
+
|
384
|
+
If you are interested, please write to:
|
385
|
+
|
386
|
+
Simon Josefsson Datakonsult AB
|
387
|
+
Hagagatan 24
|
388
|
+
113 47 Stockholm
|
389
|
+
Sweden
|
390
|
+
|
391
|
+
E-mail: simon@josefsson.org
|
392
|
+
|
393
|
+
If your company provides support related to GNU Libidn and would like
|
394
|
+
to be mentioned here, contact the author (*note Bug Reports::).
|
395
|
+
|
396
|
+
|
397
|
+
File: libidn.info, Node: Downloading and Installing, Next: Bug Reports, Prev: Commercial Support, Up: Introduction
|
398
|
+
|
399
|
+
1.7 Downloading and Installing
|
400
|
+
==============================
|
401
|
+
|
402
|
+
The package can be downloaded from several places, including:
|
403
|
+
|
404
|
+
<ftp://alpha.gnu.org/pub/gnu/libidn/>
|
405
|
+
|
406
|
+
The latest version is stored in a file, e.g., ‘libidn-1.32.tar.gz’
|
407
|
+
where the ‘1.32’ value is the highest version number in the directory.
|
408
|
+
|
409
|
+
The package is then extracted, configured and built like many other
|
410
|
+
packages that use Autoconf. For detailed information on configuring and
|
411
|
+
building it, refer to the ‘INSTALL’ file that is part of the
|
412
|
+
distribution archive.
|
413
|
+
|
414
|
+
Here is an example terminal session that download, configure, build
|
415
|
+
and install the package. You will need a few basic tools, such as ‘sh’,
|
416
|
+
‘make’ and ‘cc’.
|
417
|
+
|
418
|
+
$ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.32.tar.gz
|
419
|
+
$ tar xfz libidn-1.32.tar.gz
|
420
|
+
$ cd libidn-1.32/
|
421
|
+
$ ./configure
|
422
|
+
...
|
423
|
+
$ make
|
424
|
+
...
|
425
|
+
$ make install
|
426
|
+
...
|
427
|
+
|
428
|
+
After that Libidn should be properly installed and ready for use.
|
429
|
+
|
430
|
+
A few ‘configure’ options may be relevant, summarized in the table.
|
431
|
+
|
432
|
+
‘--enable-java’
|
433
|
+
Build the Java port into a *.JAR file. *Note Java API::, for more
|
434
|
+
information.
|
435
|
+
|
436
|
+
‘--disable-tld’
|
437
|
+
Disable the TLD module. This would typically only be useful if you
|
438
|
+
are building on a memory restricted platforms. *Note TLD
|
439
|
+
Functions::, for more information.
|
440
|
+
|
441
|
+
‘--enable-csharp[=IMPL]’
|
442
|
+
Build the ‘C#’ port into a ‘*.DLL’ file. *Note C# API::, for more
|
443
|
+
information. Here, ‘IMPL’ is ‘pnet’ or ‘mono’, indicating whether
|
444
|
+
the PNET ‘cscc’ compiler or the Mono ‘mcs’ compiler should be used,
|
445
|
+
respectively.
|
446
|
+
|
447
|
+
‘--disable-valgrind-tests’
|
448
|
+
Disable running the self-checks under Valgrind
|
449
|
+
(<http://valgrind.org/>). Normally Valgrind does not cause
|
450
|
+
problems and can detect some severe memory errors. If you are
|
451
|
+
getting errors from Valgrind that are caused by the compiler or
|
452
|
+
libc (possibly as a result of special optimization flags), you may
|
453
|
+
use this option to disable the use of Valgrind.
|
454
|
+
|
455
|
+
For the complete list, refer to the output from ‘configure --help’.
|
456
|
+
|
457
|
+
* Menu:
|
458
|
+
|
459
|
+
* Installing under Windows:: Windows specific build instructions.
|
460
|
+
|
461
|
+
|
462
|
+
File: libidn.info, Node: Installing under Windows, Up: Downloading and Installing
|
463
|
+
|
464
|
+
1.7.1 Installing under Windows
|
465
|
+
------------------------------
|
466
|
+
|
467
|
+
There are two ways to build Libidn on Windows: via MinGW or via Visual
|
468
|
+
Studio.
|
469
|
+
|
470
|
+
With MinGW, you can build a Libidn DLL and use it from other
|
471
|
+
applications. After installing MinGW (<http://mingw.org/>) follow the
|
472
|
+
generic installation instructions (*note Downloading and Installing::).
|
473
|
+
The DLL is installed by default.
|
474
|
+
|
475
|
+
For information on how to use the DLL in other applications, see:
|
476
|
+
<http://www.mingw.org/mingwfaq.shtml#faq-msvcdll>.
|
477
|
+
|
478
|
+
You can build Libidn as a native Visual Studio C++ project. This
|
479
|
+
allows you to build the code for other platforms that VS supports, such
|
480
|
+
as Windows Mobile. You need Visual Studio 2005 or later.
|
481
|
+
|
482
|
+
First download and unpack the archive as described in the generic
|
483
|
+
installation instructions (*note Downloading and Installing::). Don’t
|
484
|
+
run ‘./configure’. Instead, start Visual Studio and open the project
|
485
|
+
file ‘windows/libidn.sln’ inside the Libidn directory. You should be
|
486
|
+
able to build the project using Build Project.
|
487
|
+
|
488
|
+
Output libraries will be written into the ‘windows/lib’ (or
|
489
|
+
‘windows/lib/debug’ for Debug versions) folder.
|
490
|
+
|
491
|
+
When working with Windows you may want to look into the special
|
492
|
+
memory handling functions that may be needed (*note Memory handling
|
493
|
+
under Windows::).
|
494
|
+
|
495
|
+
|
496
|
+
File: libidn.info, Node: Bug Reports, Next: Contributing, Prev: Downloading and Installing, Up: Introduction
|
497
|
+
|
498
|
+
1.8 Bug Reports
|
499
|
+
===============
|
500
|
+
|
501
|
+
If you think you have found a bug in Libidn, please investigate it and
|
502
|
+
report it.
|
503
|
+
|
504
|
+
• Please make sure that the bug is really in Libidn, and preferably
|
505
|
+
also check that it hasn’t already been fixed in the latest version.
|
506
|
+
|
507
|
+
• You have to send us a test case that makes it possible for us to
|
508
|
+
reproduce the bug.
|
509
|
+
|
510
|
+
• You also have to explain what is wrong; if you get a crash, or if
|
511
|
+
the results printed are not good and in that case, in what way.
|
512
|
+
Make sure that the bug report includes all information you would
|
513
|
+
need to fix this kind of bug for someone else.
|
514
|
+
|
515
|
+
Please make an effort to produce a self-contained report, with
|
516
|
+
something definite that can be tested or debugged. Vague queries or
|
517
|
+
piecemeal messages are difficult to act on and don’t help the
|
518
|
+
development effort.
|
519
|
+
|
520
|
+
If your bug report is good, we will do our best to help you to get a
|
521
|
+
corrected version of the software; if the bug report is poor, we won’t
|
522
|
+
do anything about it (apart from asking you to send better bug reports).
|
523
|
+
|
524
|
+
If you think something in this manual is unclear, or downright
|
525
|
+
incorrect, or if the language needs to be improved, please also send a
|
526
|
+
note.
|
527
|
+
|
528
|
+
Send your bug report to:
|
529
|
+
|
530
|
+
‘bug-libidn@gnu.org’
|
531
|
+
|
532
|
+
|
533
|
+
File: libidn.info, Node: Contributing, Prev: Bug Reports, Up: Introduction
|
534
|
+
|
535
|
+
1.9 Contributing
|
536
|
+
================
|
537
|
+
|
538
|
+
If you want to submit a patch for inclusion – from solve a typo you
|
539
|
+
discovered, up to adding support for a new feature – you should submit
|
540
|
+
it as a bug report (*note Bug Reports::). There are some things that
|
541
|
+
you can do to increase the chances for it to be included in the official
|
542
|
+
package.
|
543
|
+
|
544
|
+
Unless your patch is very small (say, under 10 lines) we require that
|
545
|
+
you assign the copyright of your work to the Free Software Foundation.
|
546
|
+
This is to protect the freedom of the project. If you have not already
|
547
|
+
signed papers, we will send you the necessary information when you
|
548
|
+
submit your contribution.
|
549
|
+
|
550
|
+
For contributions that doesn’t consist of actual programming code,
|
551
|
+
the only guidelines are common sense. Use it.
|
552
|
+
|
553
|
+
For code contributions, a number of style guides will help you:
|
554
|
+
|
555
|
+
• Coding Style. Follow the GNU Standards document (*note GNU Coding
|
556
|
+
Standards: (standards)top.).
|
557
|
+
|
558
|
+
If you normally code using another coding standard, there is no
|
559
|
+
problem, but you should use ‘indent’ to reformat the code (*note
|
560
|
+
GNU Indent: (indent)top.) before submitting your work.
|
561
|
+
|
562
|
+
• Use the unified diff format ‘diff -u’.
|
563
|
+
|
564
|
+
• Return errors. No reason whatsoever should abort the execution of
|
565
|
+
the library. Even memory allocation errors, e.g. when malloc
|
566
|
+
return NULL, should work although result in an error code.
|
567
|
+
|
568
|
+
• Design with thread safety in mind. Don’t use global variables and
|
569
|
+
the like.
|
570
|
+
|
571
|
+
• Avoid using the C math library. It causes problems for embedded
|
572
|
+
implementations, and in most situations it is very easy to avoid
|
573
|
+
using it.
|
574
|
+
|
575
|
+
• Document your functions. Use comments before each function
|
576
|
+
headers, that, if properly formatted, are extracted into GTK-DOC
|
577
|
+
web pages. Don’t forget to update the Texinfo manual as well.
|
578
|
+
|
579
|
+
• Supply a ChangeLog and NEWS entries, where appropriate.
|
580
|
+
|
581
|
+
|
582
|
+
File: libidn.info, Node: Preparation, Next: Utility Functions, Prev: Introduction, Up: Top
|
583
|
+
|
584
|
+
2 Preparation
|
585
|
+
*************
|
586
|
+
|
587
|
+
To use ‘Libidn’, you have to perform some changes to your sources and
|
588
|
+
the build system. The necessary changes are small and explained in the
|
589
|
+
following sections. At the end of this chapter, it is described how the
|
590
|
+
library is initialized, and how the requirements of the library are
|
591
|
+
verified.
|
592
|
+
|
593
|
+
A faster way to find out how to adapt your application for use with
|
594
|
+
‘Libidn’ may be to look at the examples at the end of this manual (*note
|
595
|
+
Examples::).
|
596
|
+
|
597
|
+
* Menu:
|
598
|
+
|
599
|
+
* Header::
|
600
|
+
* Initialization::
|
601
|
+
* Version Check::
|
602
|
+
* Building the source::
|
603
|
+
* Autoconf tests::
|
604
|
+
* Memory handling under Windows::
|
605
|
+
|
606
|
+
|
607
|
+
File: libidn.info, Node: Header, Next: Initialization, Up: Preparation
|
608
|
+
|
609
|
+
2.1 Header
|
610
|
+
==========
|
611
|
+
|
612
|
+
The library contains a few independent parts, and each part export the
|
613
|
+
interfaces (data types and functions) in a header file. You must
|
614
|
+
include the appropriate header files in all programs using the library,
|
615
|
+
either directly or through some other header file, like this:
|
616
|
+
|
617
|
+
#include <stringprep.h>
|
618
|
+
|
619
|
+
The header files and the functions they define are categorized as
|
620
|
+
follows:
|
621
|
+
|
622
|
+
stringprep.h
|
623
|
+
|
624
|
+
The low-level stringprep API entry point. For IDN applications,
|
625
|
+
this is usually invoked via IDNA. Some applications, specifically
|
626
|
+
non-IDN ones, may want to prepare strings directly though, and
|
627
|
+
should include this header file.
|
628
|
+
|
629
|
+
The name space of the stringprep part of Libidn is ‘stringprep*’
|
630
|
+
for function names, ‘Stringprep*’ for data types and ‘STRINGPREP_*’
|
631
|
+
for other symbols. In addition, ‘_stringprep*’ is reserved for
|
632
|
+
internal use and should never be used by applications.
|
633
|
+
|
634
|
+
punycode.h
|
635
|
+
|
636
|
+
The entry point to Punycode encoding and decoding functions.
|
637
|
+
Normally punycode is used via the idna.h interface, but some
|
638
|
+
application may want to perform raw punycode operations.
|
639
|
+
|
640
|
+
The name space of the punycode part of Libidn is ‘punycode_*’ for
|
641
|
+
function names, ‘Punycode*’ for data types and ‘PUNYCODE_*’ for
|
642
|
+
other symbols. In addition, ‘_punycode*’ is reserved for internal
|
643
|
+
use and should never be used by applications.
|
644
|
+
idna.h
|
645
|
+
|
646
|
+
The entry point to the IDNA functions. This is the normal entry
|
647
|
+
point for applications that need IDN functionality.
|
648
|
+
|
649
|
+
The name space of the IDNA part of Libidn is ‘idna_*’ for function
|
650
|
+
names, ‘Idna*’ for data types and ‘IDNA_*’ for other symbols. In
|
651
|
+
addition, ‘_idna*’ is reserved for internal use and should never be
|
652
|
+
used by applications.
|
653
|
+
|
654
|
+
tld.h
|
655
|
+
|
656
|
+
The entry point to the TLD functions. Normal applications are not
|
657
|
+
expected to need this functionality, but it is present for
|
658
|
+
applications that are used by TLDs to validate customer input.
|
659
|
+
|
660
|
+
The name space of the TLD part of Libidn is ‘tld_*’ for function
|
661
|
+
names, ‘Tld_*’ for data types and ‘TLD_*’ for other symbols. In
|
662
|
+
addition, ‘_tld*’ is reserved for internal use and should never be
|
663
|
+
used by applications.
|
664
|
+
|
665
|
+
pr29.h
|
666
|
+
|
667
|
+
The entry point to the PR29 functions. These functions are used to
|
668
|
+
detect “problem sequences” (*note PR29 Functions::), mostly for use
|
669
|
+
in security critical applications.
|
670
|
+
|
671
|
+
The name space of the PR29 part of Libidn is ‘pr29_*’ for function
|
672
|
+
names, ‘Pr29_*’ for data types and ‘PR29_*’ for other symbols. In
|
673
|
+
addition, ‘_pr29*’ is reserved for internal use and should never be
|
674
|
+
used by applications.
|
675
|
+
|
676
|
+
idn-free.h
|
677
|
+
|
678
|
+
The entry point to the Windows memory de-allocation function (*note
|
679
|
+
Memory handling under Windows::). It contains only one function
|
680
|
+
‘idn_free’.
|
681
|
+
|
682
|
+
All header files defined and use the symbol ‘IDNAPI’ to decorate the
|
683
|
+
API functions.
|
684
|
+
|
685
|
+
|
686
|
+
File: libidn.info, Node: Initialization, Next: Version Check, Prev: Header, Up: Preparation
|
687
|
+
|
688
|
+
2.2 Initialization
|
689
|
+
==================
|
690
|
+
|
691
|
+
Libidn is stateless and does not need any initialization.
|
692
|
+
|
693
|
+
|
694
|
+
File: libidn.info, Node: Version Check, Next: Building the source, Prev: Initialization, Up: Preparation
|
695
|
+
|
696
|
+
2.3 Version Check
|
697
|
+
=================
|
698
|
+
|
699
|
+
It is often desirable to check that the version of ‘Libidn’ used is
|
700
|
+
indeed one which fits all requirements. Even with binary compatibility
|
701
|
+
new features may have been introduced but due to problem with the
|
702
|
+
dynamic linker an old version is actually used. So you may want to
|
703
|
+
check that the version is okay right after program startup.
|
704
|
+
|
705
|
+
stringprep_check_version
|
706
|
+
------------------------
|
707
|
+
|
708
|
+
-- Function: const char * stringprep_check_version (const char *
|
709
|
+
REQ_VERSION)
|
710
|
+
REQ_VERSION: Required version number, or NULL.
|
711
|
+
|
712
|
+
Check that the version of the library is at minimum the requested
|
713
|
+
one and return the version string; return NULL if the condition is
|
714
|
+
not satisfied. If a NULL is passed to this function, no check is
|
715
|
+
done, but the version string is simply returned.
|
716
|
+
|
717
|
+
See ‘STRINGPREP_VERSION’ for a suitable ‘req_version’ string.
|
718
|
+
|
719
|
+
Return value: Version string of run-time library, or NULL if the
|
720
|
+
run-time library does not meet the required version number.
|
721
|
+
|
722
|
+
The normal way to use the function is to put something similar to the
|
723
|
+
following first in your ‘main’:
|
724
|
+
|
725
|
+
if (!stringprep_check_version (STRINGPREP_VERSION))
|
726
|
+
{
|
727
|
+
printf ("stringprep_check_version() failed:\n"
|
728
|
+
"Header file incompatible with shared library.\n");
|
729
|
+
exit(EXIT_FAILURE);
|
730
|
+
}
|
731
|
+
|
732
|
+
|
733
|
+
File: libidn.info, Node: Building the source, Next: Autoconf tests, Prev: Version Check, Up: Preparation
|
734
|
+
|
735
|
+
2.4 Building the source
|
736
|
+
=======================
|
737
|
+
|
738
|
+
If you want to compile a source file including e.g. the ‘idna.h’ header
|
739
|
+
file, you must make sure that the compiler can find it in the directory
|
740
|
+
hierarchy. This is accomplished by adding the path to the directory in
|
741
|
+
which the header file is located to the compilers include file search
|
742
|
+
path (via the ‘-I’ option).
|
743
|
+
|
744
|
+
However, the path to the include file is determined at the time the
|
745
|
+
source is configured. To solve this problem, ‘Libidn’ uses the external
|
746
|
+
package ‘pkg-config’ that knows the path to the include file and other
|
747
|
+
configuration options. The options that need to be added to the
|
748
|
+
compiler invocation at compile time are output by the ‘--cflags’ option
|
749
|
+
to ‘pkg-config libidn’. The following example shows how it can be used
|
750
|
+
at the command line:
|
751
|
+
|
752
|
+
gcc -c foo.c `pkg-config libidn --cflags`
|
753
|
+
|
754
|
+
Adding the output of ‘pkg-config libidn --cflags’ to the compilers
|
755
|
+
command line will ensure that the compiler can find e.g. the idna.h
|
756
|
+
header file.
|
757
|
+
|
758
|
+
A similar problem occurs when linking the program with the library.
|
759
|
+
Again, the compiler has to find the library files. For this to work,
|
760
|
+
the path to the library files has to be added to the library search path
|
761
|
+
(via the ‘-L’ option). For this, the option ‘--libs’ to ‘pkg-config
|
762
|
+
libidn’ can be used. For convenience, this option also outputs all
|
763
|
+
other options that are required to link the program with the ‘libidn’
|
764
|
+
library. The example shows how to link ‘foo.o’ with the ‘libidn’
|
765
|
+
library to a program ‘foo’.
|
766
|
+
|
767
|
+
gcc -o foo foo.o `pkg-config libidn --libs`
|
768
|
+
|
769
|
+
Of course you can also combine both examples to a single command by
|
770
|
+
specifying both options to ‘pkg-config’:
|
771
|
+
|
772
|
+
gcc -o foo foo.c `pkg-config libidn --cflags --libs`
|
773
|
+
|
774
|
+
|
775
|
+
File: libidn.info, Node: Autoconf tests, Next: Memory handling under Windows, Prev: Building the source, Up: Preparation
|
776
|
+
|
777
|
+
2.5 Autoconf tests
|
778
|
+
==================
|
779
|
+
|
780
|
+
If your project uses Autoconf (*note GNU Autoconf: (autoconf)top.) to
|
781
|
+
check for installed libraries, you might find the following snippet
|
782
|
+
illustrative. It add a new ‘configure’ parameter ‘--with-libidn’, and
|
783
|
+
check for ‘idna.h’ and ‘-lidn’ (possibly below the directory specified
|
784
|
+
as the optional argument to ‘--with-libidn’), and define the CPP symbol
|
785
|
+
‘LIBIDN’ if the library is found. The default behaviour is to search
|
786
|
+
for the library and enable the functionality (that is, define the
|
787
|
+
symbol) when the library is found, but if you wish to make the default
|
788
|
+
behaviour of your package be that Libidn is not used (even if it is
|
789
|
+
installed on the system), change ‘libidn=yes’ to ‘libidn=no’ on the
|
790
|
+
third line.
|
791
|
+
|
792
|
+
AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
|
793
|
+
[Support IDN (needs GNU Libidn)]),
|
794
|
+
libidn=$withval, libidn=yes)
|
795
|
+
if test "$libidn" != "no"; then
|
796
|
+
if test "$libidn" != "yes"; then
|
797
|
+
LDFLAGS="${LDFLAGS} -L$libidn/lib"
|
798
|
+
CPPFLAGS="${CPPFLAGS} -I$libidn/include"
|
799
|
+
fi
|
800
|
+
AC_CHECK_HEADER(idna.h,
|
801
|
+
AC_CHECK_LIB(idn, stringprep_check_version,
|
802
|
+
[libidn=yes LIBS="${LIBS} -lidn"], libidn=no),
|
803
|
+
libidn=no)
|
804
|
+
fi
|
805
|
+
if test "$libidn" != "no" ; then
|
806
|
+
AC_DEFINE(LIBIDN, 1, [Define to 1 if you want IDN support.])
|
807
|
+
else
|
808
|
+
AC_MSG_WARN([Libidn not found])
|
809
|
+
fi
|
810
|
+
AC_MSG_CHECKING([if Libidn should be used])
|
811
|
+
AC_MSG_RESULT($libidn)
|
812
|
+
|
813
|
+
If you require that your users have installed ‘pkg-config’ (which I
|
814
|
+
cannot recommend generally), the above can be done more easily as
|
815
|
+
follows.
|
816
|
+
|
817
|
+
AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
|
818
|
+
[Support IDN (needs GNU Libidn)]),
|
819
|
+
libidn=$withval, libidn=yes)
|
820
|
+
if test "$libidn" != "no" ; then
|
821
|
+
PKG_CHECK_MODULES(LIBIDN, libidn >= 0.0.0, [libidn=yes], [libidn=no])
|
822
|
+
if test "$libidn" != "yes" ; then
|
823
|
+
libidn=no
|
824
|
+
AC_MSG_WARN([Libidn not found])
|
825
|
+
else
|
826
|
+
libidn=yes
|
827
|
+
AC_DEFINE(LIBIDN, 1, [Define to 1 if you want Libidn.])
|
828
|
+
fi
|
829
|
+
fi
|
830
|
+
AC_MSG_CHECKING([if Libidn should be used])
|
831
|
+
AC_MSG_RESULT($libidn)
|
832
|
+
|
833
|
+
|
834
|
+
File: libidn.info, Node: Memory handling under Windows, Prev: Autoconf tests, Up: Preparation
|
835
|
+
|
836
|
+
2.6 Memory handling under Windows
|
837
|
+
=================================
|
838
|
+
|
839
|
+
Several functions in the library allocates memory. The memory is
|
840
|
+
expected to be de-allocated using the ‘free’ function. Under Windows,
|
841
|
+
it is sometimes necessary to de-allocate memory in the same module that
|
842
|
+
allocated a memory region. The reason is that different modules use
|
843
|
+
separate heap memory regions. To solve this problem we provide a
|
844
|
+
function to de-allocate memory inside the library.
|
845
|
+
|
846
|
+
Note that we do not recommend using this interface generally if you
|
847
|
+
do not care about Windows portability.
|
848
|
+
|
849
|
+
2.7 Header file ‘idn-free.h’
|
850
|
+
============================
|
851
|
+
|
852
|
+
To use the function explained in this chapter, you need to include the
|
853
|
+
file ‘idn-free.h’ using:
|
854
|
+
|
855
|
+
#include <idn-free.h>
|
856
|
+
|
857
|
+
2.8 Memory de-allocation function
|
858
|
+
=================================
|
859
|
+
|
860
|
+
idn_free
|
861
|
+
--------
|
862
|
+
|
863
|
+
-- Function: void idn_free (void * PTR)
|
864
|
+
PTR: memory region to deallocate, or ‘NULL’ .
|
865
|
+
|
866
|
+
Deallocates memory region by calling ‘free()’ . If ‘ptr’ is ‘NULL’
|
867
|
+
no operation is performed.
|
868
|
+
|
869
|
+
Normally applications de-allocate strings allocated by libidn by
|
870
|
+
calling ‘free()’ directly. Under Windows, different parts of the
|
871
|
+
same application may use different heap memory, and then it is
|
872
|
+
important to deallocate memory allocated within the same module
|
873
|
+
that allocated it. This function makes that possible.
|
874
|
+
|
875
|
+
|
876
|
+
File: libidn.info, Node: Utility Functions, Next: Stringprep Functions, Prev: Preparation, Up: Top
|
877
|
+
|
878
|
+
3 Utility Functions
|
879
|
+
*******************
|
880
|
+
|
881
|
+
The rest of this library makes extensive use of Unicode characters. In
|
882
|
+
order to interface this library with the outside world, your application
|
883
|
+
may need to make various Unicode transformations.
|
884
|
+
|
885
|
+
3.1 Header file ‘stringprep.h’
|
886
|
+
==============================
|
887
|
+
|
888
|
+
To use the functions explained in this chapter, you need to include the
|
889
|
+
file ‘stringprep.h’ using:
|
890
|
+
|
891
|
+
#include <stringprep.h>
|
892
|
+
|
893
|
+
3.2 Unicode Encoding Transformation
|
894
|
+
===================================
|
895
|
+
|
896
|
+
stringprep_unichar_to_utf8
|
897
|
+
--------------------------
|
898
|
+
|
899
|
+
-- Function: int stringprep_unichar_to_utf8 (uint32_t C, char * OUTBUF)
|
900
|
+
C: a ISO10646 character code
|
901
|
+
|
902
|
+
OUTBUF: output buffer, must have at least 6 bytes of space. If
|
903
|
+
‘NULL’ , the length will be computed and returned and nothing will
|
904
|
+
be written to ‘outbuf’ .
|
905
|
+
|
906
|
+
Converts a single character to UTF-8.
|
907
|
+
|
908
|
+
Return value: number of bytes written.
|
909
|
+
|
910
|
+
stringprep_utf8_to_unichar
|
911
|
+
--------------------------
|
912
|
+
|
913
|
+
-- Function: uint32_t stringprep_utf8_to_unichar (const char * P)
|
914
|
+
P: a pointer to Unicode character encoded as UTF-8
|
915
|
+
|
916
|
+
Converts a sequence of bytes encoded as UTF-8 to a Unicode
|
917
|
+
character. If ‘p’ does not point to a valid UTF-8 encoded
|
918
|
+
character, results are undefined.
|
919
|
+
|
920
|
+
Return value: the resulting character.
|
921
|
+
|
922
|
+
stringprep_ucs4_to_utf8
|
923
|
+
-----------------------
|
924
|
+
|
925
|
+
-- Function: char * stringprep_ucs4_to_utf8 (const uint32_t * STR,
|
926
|
+
ssize_t LEN, size_t * ITEMS_READ, size_t * ITEMS_WRITTEN)
|
927
|
+
STR: a UCS-4 encoded string
|
928
|
+
|
929
|
+
LEN: the maximum length of ‘str’ to use. If ‘len’ < 0, then the
|
930
|
+
string is terminated with a 0 character.
|
931
|
+
|
932
|
+
ITEMS_READ: location to store number of characters read read, or
|
933
|
+
‘NULL’ .
|
934
|
+
|
935
|
+
ITEMS_WRITTEN: location to store number of bytes written or ‘NULL’
|
936
|
+
. The value here stored does not include the trailing 0 byte.
|
937
|
+
|
938
|
+
Convert a string from a 32-bit fixed width representation as UCS-4.
|
939
|
+
to UTF-8. The result will be terminated with a 0 byte.
|
940
|
+
|
941
|
+
Return value: a pointer to a newly allocated UTF-8 string. This
|
942
|
+
value must be deallocated by the caller. If an error occurs,
|
943
|
+
‘NULL’ will be returned.
|
944
|
+
|
945
|
+
stringprep_utf8_to_ucs4
|
946
|
+
-----------------------
|
947
|
+
|
948
|
+
-- Function: uint32_t * stringprep_utf8_to_ucs4 (const char * STR,
|
949
|
+
ssize_t LEN, size_t * ITEMS_WRITTEN)
|
950
|
+
STR: a UTF-8 encoded string
|
951
|
+
|
952
|
+
LEN: the maximum length of ‘str’ to use. If ‘len’ < 0, then the
|
953
|
+
string is nul-terminated.
|
954
|
+
|
955
|
+
ITEMS_WRITTEN: location to store the number of characters in the
|
956
|
+
result, or ‘NULL’ .
|
957
|
+
|
958
|
+
Convert a string from UTF-8 to a 32-bit fixed width representation
|
959
|
+
as UCS-4. The function now performs error checking to verify that
|
960
|
+
the input is valid UTF-8 (before it was documented to not do error
|
961
|
+
checking).
|
962
|
+
|
963
|
+
Return value: a pointer to a newly allocated UCS-4 string. This
|
964
|
+
value must be deallocated by the caller.
|
965
|
+
|
966
|
+
3.3 Unicode Normalization
|
967
|
+
=========================
|
968
|
+
|
969
|
+
stringprep_ucs4_nfkc_normalize
|
970
|
+
------------------------------
|
971
|
+
|
972
|
+
-- Function: uint32_t * stringprep_ucs4_nfkc_normalize (const uint32_t
|
973
|
+
* STR, ssize_t LEN)
|
974
|
+
STR: a Unicode string.
|
975
|
+
|
976
|
+
LEN: length of ‘str’ array, or -1 if ‘str’ is nul-terminated.
|
977
|
+
|
978
|
+
Converts a UCS4 string into canonical form, see
|
979
|
+
‘stringprep_utf8_nfkc_normalize()’ for more information.
|
980
|
+
|
981
|
+
Return value: a newly allocated Unicode string, that is the NFKC
|
982
|
+
normalized form of ‘str’ .
|
983
|
+
|
984
|
+
stringprep_utf8_nfkc_normalize
|
985
|
+
------------------------------
|
986
|
+
|
987
|
+
-- Function: char * stringprep_utf8_nfkc_normalize (const char * STR,
|
988
|
+
ssize_t LEN)
|
989
|
+
STR: a UTF-8 encoded string.
|
990
|
+
|
991
|
+
LEN: length of ‘str’ , in bytes, or -1 if ‘str’ is nul-terminated.
|
992
|
+
|
993
|
+
Converts a string into canonical form, standardizing such issues as
|
994
|
+
whether a character with an accent is represented as a base
|
995
|
+
character and combining accent or as a single precomposed
|
996
|
+
character.
|
997
|
+
|
998
|
+
The normalization mode is NFKC (ALL COMPOSE). It standardizes
|
999
|
+
differences that do not affect the text content, such as the
|
1000
|
+
above-mentioned accent representation. It standardizes the
|
1001
|
+
"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
|
1002
|
+
the standard forms (in this case DIGIT THREE). Formatting
|
1003
|
+
information may be lost but for most text operations such
|
1004
|
+
characters should be considered the same. It returns a result with
|
1005
|
+
composed forms rather than a maximally decomposed form.
|
1006
|
+
|
1007
|
+
Return value: a newly allocated string, that is the NFKC normalized
|
1008
|
+
form of ‘str’ .
|
1009
|
+
|
1010
|
+
3.4 Character Set Conversion
|
1011
|
+
============================
|
1012
|
+
|
1013
|
+
stringprep_locale_charset
|
1014
|
+
-------------------------
|
1015
|
+
|
1016
|
+
-- Function: const char * stringprep_locale_charset ( VOID)
|
1017
|
+
|
1018
|
+
Find out current locale charset. The function respect the CHARSET
|
1019
|
+
environment variable, but typically uses nl_langinfo(CODESET) when
|
1020
|
+
it is supported. It fall back on "ASCII" if CHARSET isn’t set and
|
1021
|
+
nl_langinfo isn’t supported or return anything.
|
1022
|
+
|
1023
|
+
Note that this function return the application’s locale’s preferred
|
1024
|
+
charset (or thread’s locale’s preffered charset, if your system
|
1025
|
+
support thread-specific locales). It does not return what the
|
1026
|
+
system may be using. Thus, if you receive data from external
|
1027
|
+
sources you cannot in general use this function to guess what
|
1028
|
+
charset it is encoded in. Use stringprep_convert from the external
|
1029
|
+
representation into the charset returned by this function, to have
|
1030
|
+
data in the locale encoding.
|
1031
|
+
|
1032
|
+
Return value: Return the character set used by the current locale.
|
1033
|
+
It will never return NULL, but use "ASCII" as a fallback.
|
1034
|
+
|
1035
|
+
stringprep_convert
|
1036
|
+
------------------
|
1037
|
+
|
1038
|
+
-- Function: char * stringprep_convert (const char * STR, const char *
|
1039
|
+
TO_CODESET, const char * FROM_CODESET)
|
1040
|
+
STR: input zero-terminated string.
|
1041
|
+
|
1042
|
+
TO_CODESET: name of destination character set.
|
1043
|
+
|
1044
|
+
FROM_CODESET: name of origin character set, as used by ‘str’ .
|
1045
|
+
|
1046
|
+
Convert the string from one character set to another using the
|
1047
|
+
system’s ‘iconv()’ function.
|
1048
|
+
|
1049
|
+
Return value: Returns newly allocated zero-terminated string which
|
1050
|
+
is ‘str’ transcoded into to_codeset.
|
1051
|
+
|
1052
|
+
stringprep_locale_to_utf8
|
1053
|
+
-------------------------
|
1054
|
+
|
1055
|
+
-- Function: char * stringprep_locale_to_utf8 (const char * STR)
|
1056
|
+
STR: input zero terminated string.
|
1057
|
+
|
1058
|
+
Convert string encoded in the locale’s character set into UTF-8 by
|
1059
|
+
using ‘stringprep_convert()’ .
|
1060
|
+
|
1061
|
+
Return value: Returns newly allocated zero-terminated string which
|
1062
|
+
is ‘str’ transcoded into UTF-8.
|
1063
|
+
|
1064
|
+
stringprep_utf8_to_locale
|
1065
|
+
-------------------------
|
1066
|
+
|
1067
|
+
-- Function: char * stringprep_utf8_to_locale (const char * STR)
|
1068
|
+
STR: input zero terminated string.
|
1069
|
+
|
1070
|
+
Convert string encoded in UTF-8 into the locale’s character set by
|
1071
|
+
using ‘stringprep_convert()’ .
|
1072
|
+
|
1073
|
+
Return value: Returns newly allocated zero-terminated string which
|
1074
|
+
is ‘str’ transcoded into the locale’s character set.
|
1075
|
+
|
1076
|
+
|
1077
|
+
File: libidn.info, Node: Stringprep Functions, Next: Punycode Functions, Prev: Utility Functions, Up: Top
|
1078
|
+
|
1079
|
+
4 Stringprep Functions
|
1080
|
+
**********************
|
1081
|
+
|
1082
|
+
Stringprep describes a framework for preparing Unicode text strings in
|
1083
|
+
order to increase the likelihood that string input and string comparison
|
1084
|
+
work in ways that make sense for typical users throughout the world.
|
1085
|
+
The stringprep protocol is useful for protocol identifier values,
|
1086
|
+
company and personal names, internationalized domain names, and other
|
1087
|
+
text strings.
|
1088
|
+
|
1089
|
+
4.1 Header file ‘stringprep.h’
|
1090
|
+
==============================
|
1091
|
+
|
1092
|
+
To use the functions explained in this chapter, you need to include the
|
1093
|
+
file ‘stringprep.h’ using:
|
1094
|
+
|
1095
|
+
#include <stringprep.h>
|
1096
|
+
|
1097
|
+
4.2 Defining A Stringprep Profile
|
1098
|
+
=================================
|
1099
|
+
|
1100
|
+
Further types and structures are defined for applications that want to
|
1101
|
+
specify their own stringprep profile. As these are fairly obscure, and
|
1102
|
+
by necessity tied to the implementation, we do not document them here.
|
1103
|
+
Look into the ‘stringprep.h’ header file, and the ‘profiles.c’ source
|
1104
|
+
code for the details.
|
1105
|
+
|
1106
|
+
4.3 Control Flags
|
1107
|
+
=================
|
1108
|
+
|
1109
|
+
-- Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_NFKC
|
1110
|
+
Disable the NFKC normalization, as well as selecting the non-NFKC
|
1111
|
+
case folding tables. Usually the profile specifies BIDI and NFKC
|
1112
|
+
settings, and applications should not override it unless in special
|
1113
|
+
situations.
|
1114
|
+
|
1115
|
+
-- Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_BIDI
|
1116
|
+
Disable the BIDI step. Usually the profile specifies BIDI and NFKC
|
1117
|
+
settings, and applications should not override it unless in special
|
1118
|
+
situations.
|
1119
|
+
|
1120
|
+
-- Stringprep flags: Stringprep_profile_flags STRINGPREP_NO_UNASSIGNED
|
1121
|
+
Make the library return with an error if string contains unassigned
|
1122
|
+
characters according to profile.
|
1123
|
+
|
1124
|
+
4.4 Core Functions
|
1125
|
+
==================
|
1126
|
+
|
1127
|
+
stringprep_4i
|
1128
|
+
-------------
|
1129
|
+
|
1130
|
+
-- Function: int stringprep_4i (uint32_t * UCS4, size_t * LEN, size_t
|
1131
|
+
MAXUCS4LEN, Stringprep_profile_flags FLAGS, const
|
1132
|
+
Stringprep_profile * PROFILE)
|
1133
|
+
UCS4: input/output array with string to prepare.
|
1134
|
+
|
1135
|
+
LEN: on input, length of input array with Unicode code points, on
|
1136
|
+
exit, length of output array with Unicode code points.
|
1137
|
+
|
1138
|
+
MAXUCS4LEN: maximum length of input/output array.
|
1139
|
+
|
1140
|
+
FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
|
1141
|
+
|
1142
|
+
PROFILE: pointer to ‘Stringprep_profile’ to use.
|
1143
|
+
|
1144
|
+
Prepare the input UCS-4 string according to the stringprep profile,
|
1145
|
+
and write back the result to the input string.
|
1146
|
+
|
1147
|
+
The input is not required to be zero terminated ( ‘ucs4’ [ ‘len’ ]
|
1148
|
+
= 0). The output will not be zero terminated unless ‘ucs4’ [ ‘len’
|
1149
|
+
] = 0. Instead, see ‘stringprep_4zi()’ if your input is zero
|
1150
|
+
terminated or if you want the output to be.
|
1151
|
+
|
1152
|
+
Since the stringprep operation can expand the string, ‘maxucs4len’
|
1153
|
+
indicate how large the buffer holding the string is. This function
|
1154
|
+
will not read or write to code points outside that size.
|
1155
|
+
|
1156
|
+
The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
|
1157
|
+
|
1158
|
+
The ‘profile’ contain the ‘Stringprep_profile’ instructions to
|
1159
|
+
perform. Your application can define new profiles, possibly
|
1160
|
+
re-using the generic stringprep tables that always will be part of
|
1161
|
+
the library, or use one of the currently supported profiles.
|
1162
|
+
|
1163
|
+
Return value: Returns ‘STRINGPREP_OK’ iff successful, or an
|
1164
|
+
‘Stringprep_rc’ error code.
|
1165
|
+
|
1166
|
+
stringprep_4zi
|
1167
|
+
--------------
|
1168
|
+
|
1169
|
+
-- Function: int stringprep_4zi (uint32_t * UCS4, size_t MAXUCS4LEN,
|
1170
|
+
Stringprep_profile_flags FLAGS, const Stringprep_profile *
|
1171
|
+
PROFILE)
|
1172
|
+
UCS4: input/output array with zero terminated string to prepare.
|
1173
|
+
|
1174
|
+
MAXUCS4LEN: maximum length of input/output array.
|
1175
|
+
|
1176
|
+
FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
|
1177
|
+
|
1178
|
+
PROFILE: pointer to ‘Stringprep_profile’ to use.
|
1179
|
+
|
1180
|
+
Prepare the input zero terminated UCS-4 string according to the
|
1181
|
+
stringprep profile, and write back the result to the input string.
|
1182
|
+
|
1183
|
+
Since the stringprep operation can expand the string, ‘maxucs4len’
|
1184
|
+
indicate how large the buffer holding the string is. This function
|
1185
|
+
will not read or write to code points outside that size.
|
1186
|
+
|
1187
|
+
The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
|
1188
|
+
|
1189
|
+
The ‘profile’ contain the ‘Stringprep_profile’ instructions to
|
1190
|
+
perform. Your application can define new profiles, possibly
|
1191
|
+
re-using the generic stringprep tables that always will be part of
|
1192
|
+
the library, or use one of the currently supported profiles.
|
1193
|
+
|
1194
|
+
Return value: Returns ‘STRINGPREP_OK’ iff successful, or an
|
1195
|
+
‘Stringprep_rc’ error code.
|
1196
|
+
|
1197
|
+
stringprep
|
1198
|
+
----------
|
1199
|
+
|
1200
|
+
-- Function: int stringprep (char * IN, size_t MAXLEN,
|
1201
|
+
Stringprep_profile_flags FLAGS, const Stringprep_profile *
|
1202
|
+
PROFILE)
|
1203
|
+
IN: input/ouput array with string to prepare.
|
1204
|
+
|
1205
|
+
MAXLEN: maximum length of input/output array.
|
1206
|
+
|
1207
|
+
FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
|
1208
|
+
|
1209
|
+
PROFILE: pointer to ‘Stringprep_profile’ to use.
|
1210
|
+
|
1211
|
+
Prepare the input zero terminated UTF-8 string according to the
|
1212
|
+
stringprep profile, and write back the result to the input string.
|
1213
|
+
|
1214
|
+
Note that you must convert strings entered in the systems locale
|
1215
|
+
into UTF-8 before using this function, see
|
1216
|
+
‘stringprep_locale_to_utf8()’ .
|
1217
|
+
|
1218
|
+
Since the stringprep operation can expand the string, ‘maxlen’
|
1219
|
+
indicate how large the buffer holding the string is. This function
|
1220
|
+
will not read or write to characters outside that size.
|
1221
|
+
|
1222
|
+
The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
|
1223
|
+
|
1224
|
+
The ‘profile’ contain the ‘Stringprep_profile’ instructions to
|
1225
|
+
perform. Your application can define new profiles, possibly
|
1226
|
+
re-using the generic stringprep tables that always will be part of
|
1227
|
+
the library, or use one of the currently supported profiles.
|
1228
|
+
|
1229
|
+
Return value: Returns ‘STRINGPREP_OK’ iff successful, or an error
|
1230
|
+
code.
|
1231
|
+
|
1232
|
+
stringprep_profile
|
1233
|
+
------------------
|
1234
|
+
|
1235
|
+
-- Function: int stringprep_profile (const char * IN, char ** OUT,
|
1236
|
+
const char * PROFILE, Stringprep_profile_flags FLAGS)
|
1237
|
+
IN: input array with UTF-8 string to prepare.
|
1238
|
+
|
1239
|
+
OUT: output variable with pointer to newly allocate string.
|
1240
|
+
|
1241
|
+
PROFILE: name of stringprep profile to use.
|
1242
|
+
|
1243
|
+
FLAGS: a ‘Stringprep_profile_flags’ value, or 0.
|
1244
|
+
|
1245
|
+
Prepare the input zero terminated UTF-8 string according to the
|
1246
|
+
stringprep profile, and return the result in a newly allocated
|
1247
|
+
variable.
|
1248
|
+
|
1249
|
+
Note that you must convert strings entered in the systems locale
|
1250
|
+
into UTF-8 before using this function, see
|
1251
|
+
‘stringprep_locale_to_utf8()’ .
|
1252
|
+
|
1253
|
+
The output ‘out’ variable must be deallocated by the caller.
|
1254
|
+
|
1255
|
+
The ‘flags’ are one of ‘Stringprep_profile_flags’ values, or 0.
|
1256
|
+
|
1257
|
+
The ‘profile’ specifies the name of the stringprep profile to use.
|
1258
|
+
It must be one of the internally supported stringprep profiles.
|
1259
|
+
|
1260
|
+
Return value: Returns ‘STRINGPREP_OK’ iff successful, or an error
|
1261
|
+
code.
|
1262
|
+
|
1263
|
+
4.5 Error Handling
|
1264
|
+
==================
|
1265
|
+
|
1266
|
+
stringprep_strerror
|
1267
|
+
-------------------
|
1268
|
+
|
1269
|
+
-- Function: const char * stringprep_strerror (Stringprep_rc RC)
|
1270
|
+
RC: a ‘Stringprep_rc’ return code.
|
1271
|
+
|
1272
|
+
Convert a return code integer to a text string. This string can be
|
1273
|
+
used to output a diagnostic message to the user.
|
1274
|
+
|
1275
|
+
*STRINGPREP_OK:* Successful operation. This value is guaranteed to
|
1276
|
+
always be zero, the remaining ones are only guaranteed to hold
|
1277
|
+
non-zero values, for logical comparison purposes.
|
1278
|
+
|
1279
|
+
*STRINGPREP_CONTAINS_UNASSIGNED:* String contain unassigned Unicode
|
1280
|
+
code points, which is forbidden by the profile.
|
1281
|
+
|
1282
|
+
*STRINGPREP_CONTAINS_PROHIBITED:* String contain code points
|
1283
|
+
prohibited by the profile.
|
1284
|
+
|
1285
|
+
*STRINGPREP_BIDI_BOTH_L_AND_RAL:* String contain code points with
|
1286
|
+
conflicting bidirection category.
|
1287
|
+
|
1288
|
+
*STRINGPREP_BIDI_LEADTRAIL_NOT_RAL:* Leading and trailing character
|
1289
|
+
in string not of proper bidirectional category.
|
1290
|
+
|
1291
|
+
*STRINGPREP_BIDI_CONTAINS_PROHIBITED:* Contains prohibited code
|
1292
|
+
points detected by bidirectional code.
|
1293
|
+
|
1294
|
+
*STRINGPREP_TOO_SMALL_BUFFER:* Buffer handed to function was too
|
1295
|
+
small. This usually indicate a problem in the calling application.
|
1296
|
+
|
1297
|
+
*STRINGPREP_PROFILE_ERROR:* The stringprep profile was
|
1298
|
+
inconsistent. This usually indicate an internal error in the
|
1299
|
+
library.
|
1300
|
+
|
1301
|
+
*STRINGPREP_FLAG_ERROR:* The supplied flag conflicted with profile.
|
1302
|
+
This usually indicate a problem in the calling application.
|
1303
|
+
|
1304
|
+
*STRINGPREP_UNKNOWN_PROFILE:* The supplied profile name was not
|
1305
|
+
known to the library.
|
1306
|
+
|
1307
|
+
*STRINGPREP_ICONV_ERROR:* Could not convert string in locale
|
1308
|
+
encoding.
|
1309
|
+
|
1310
|
+
*STRINGPREP_NFKC_FAILED:* The Unicode NFKC operation failed. This
|
1311
|
+
usually indicate an internal error in the library.
|
1312
|
+
|
1313
|
+
*STRINGPREP_MALLOC_ERROR:* The ‘malloc()’ was out of memory. This
|
1314
|
+
is usually a fatal error.
|
1315
|
+
|
1316
|
+
Return value: Returns a pointer to a statically allocated string
|
1317
|
+
containing a description of the error with the return code ‘rc’ .
|
1318
|
+
|
1319
|
+
4.6 Stringprep Profile Macros
|
1320
|
+
=============================
|
1321
|
+
|
1322
|
+
-- Function: int stringprep_nameprep_no_unassigned (char * IN, int
|
1323
|
+
MAXLEN)
|
1324
|
+
|
1325
|
+
IN: input/ouput array with string to prepare.
|
1326
|
+
|
1327
|
+
MAXLEN: maximum length of input/output array.
|
1328
|
+
|
1329
|
+
Prepare the input UTF-8 string according to the nameprep profile.
|
1330
|
+
The AllowUnassigned flag is false, use ‘stringprep_nameprep’ for
|
1331
|
+
true AllowUnassigned. Returns 0 iff successful, or an error code.
|
1332
|
+
|
1333
|
+
-- Function: int stringprep_iscsi (char * IN, int MAXLEN)
|
1334
|
+
|
1335
|
+
IN: input/ouput array with string to prepare.
|
1336
|
+
|
1337
|
+
MAXLEN: maximum length of input/output array.
|
1338
|
+
|
1339
|
+
Prepare the input UTF-8 string according to the draft iSCSI
|
1340
|
+
stringprep profile. Returns 0 iff successful, or an error code.
|
1341
|
+
|
1342
|
+
-- Function: int stringprep_plain (char * IN, int MAXLEN)
|
1343
|
+
|
1344
|
+
IN: input/ouput array with string to prepare.
|
1345
|
+
|
1346
|
+
MAXLEN: maximum length of input/output array.
|
1347
|
+
|
1348
|
+
Prepare the input UTF-8 string according to the draft SASL
|
1349
|
+
ANONYMOUS profile. Returns 0 iff successful, or an error code.
|
1350
|
+
|
1351
|
+
-- Function: int stringprep_xmpp_nodeprep (char * IN, int MAXLEN)
|
1352
|
+
|
1353
|
+
IN: input/ouput array with string to prepare.
|
1354
|
+
|
1355
|
+
MAXLEN: maximum length of input/output array.
|
1356
|
+
|
1357
|
+
Prepare the input UTF-8 string according to the draft XMPP node
|
1358
|
+
identifier profile. Returns 0 iff successful, or an error code.
|
1359
|
+
|
1360
|
+
-- Function: int stringprep_xmpp_resourceprep (char * IN, int MAXLEN)
|
1361
|
+
|
1362
|
+
IN: input/ouput array with string to prepare.
|
1363
|
+
|
1364
|
+
MAXLEN: maximum length of input/output array.
|
1365
|
+
|
1366
|
+
Prepare the input UTF-8 string according to the draft XMPP resource
|
1367
|
+
identifier profile. Returns 0 iff successful, or an error code.
|
1368
|
+
|
1369
|
+
|
1370
|
+
File: libidn.info, Node: Punycode Functions, Next: IDNA Functions, Prev: Stringprep Functions, Up: Top
|
1371
|
+
|
1372
|
+
5 Punycode Functions
|
1373
|
+
********************
|
1374
|
+
|
1375
|
+
Punycode is a simple and efficient transfer encoding syntax designed for
|
1376
|
+
use with Internationalized Domain Names in Applications. It uniquely
|
1377
|
+
and reversibly transforms a Unicode string into an ASCII string. ASCII
|
1378
|
+
characters in the Unicode string are represented literally, and
|
1379
|
+
non-ASCII characters are represented by ASCII characters that are
|
1380
|
+
allowed in host name labels (letters, digits, and hyphens). A general
|
1381
|
+
algorithm called Bootstring allows a string of basic code points to
|
1382
|
+
uniquely represent any string of code points drawn from a larger set.
|
1383
|
+
Punycode is an instance of Bootstring that uses particular parameter
|
1384
|
+
values, appropriate for IDNA.
|
1385
|
+
|
1386
|
+
5.1 Header file ‘punycode.h’
|
1387
|
+
============================
|
1388
|
+
|
1389
|
+
To use the functions explained in this chapter, you need to include the
|
1390
|
+
file ‘punycode.h’ using:
|
1391
|
+
|
1392
|
+
#include <punycode.h>
|
1393
|
+
|
1394
|
+
5.2 Unicode Code Point Data Type
|
1395
|
+
================================
|
1396
|
+
|
1397
|
+
The punycode function uses a special type to denote Unicode code points.
|
1398
|
+
It is guaranteed to always be a 32 bit unsigned integer.
|
1399
|
+
|
1400
|
+
-- Punycode Unicode code point: uint32_t punycode_uint
|
1401
|
+
A unsigned integer that hold Unicode code points.
|
1402
|
+
|
1403
|
+
5.3 Core Functions
|
1404
|
+
==================
|
1405
|
+
|
1406
|
+
Note that the current implementation will fail if the ‘input_length’
|
1407
|
+
exceed 4294967295 (the size of ‘punycode_uint’). This restriction may
|
1408
|
+
be removed in the future. Meanwhile applications are encouraged to not
|
1409
|
+
depend on this problem, and use ‘sizeof’ to initialize ‘input_length’
|
1410
|
+
and ‘output_length’.
|
1411
|
+
|
1412
|
+
The functions provided are the following two entry points:
|
1413
|
+
|
1414
|
+
punycode_encode
|
1415
|
+
---------------
|
1416
|
+
|
1417
|
+
-- Function: int punycode_encode (size_t INPUT_LENGTH, const
|
1418
|
+
punycode_uint [] INPUT, const unsigned char [] CASE_FLAGS,
|
1419
|
+
size_t * OUTPUT_LENGTH, char [] OUTPUT)
|
1420
|
+
INPUT_LENGTH: The number of code points in the ‘input’ array and
|
1421
|
+
the number of flags in the ‘case_flags’ array.
|
1422
|
+
|
1423
|
+
INPUT: An array of code points. They are presumed to be Unicode
|
1424
|
+
code points, but that is not strictly REQUIRED. The array contains
|
1425
|
+
code points, not code units. UTF-16 uses code units D800 through
|
1426
|
+
DFFF to refer to code points 10000..10FFFF. The code points
|
1427
|
+
D800..DFFF do not occur in any valid Unicode string. The code
|
1428
|
+
points that can occur in Unicode strings (0..D7FF and E000..10FFFF)
|
1429
|
+
are also called Unicode scalar values.
|
1430
|
+
|
1431
|
+
CASE_FLAGS: A ‘NULL’ pointer or an array of boolean values parallel
|
1432
|
+
to the ‘input’ array. Nonzero (true, flagged) suggests that the
|
1433
|
+
corresponding Unicode character be forced to uppercase after being
|
1434
|
+
decoded (if possible), and zero (false, unflagged) suggests that it
|
1435
|
+
be forced to lowercase (if possible). ASCII code points (0..7F)
|
1436
|
+
are encoded literally, except that ASCII letters are forced to
|
1437
|
+
uppercase or lowercase according to the corresponding case flags.
|
1438
|
+
If ‘case_flags’ is a ‘NULL’ pointer then ASCII letters are left as
|
1439
|
+
they are, and other code points are treated as unflagged.
|
1440
|
+
|
1441
|
+
OUTPUT_LENGTH: The caller passes in the maximum number of ASCII
|
1442
|
+
code points that it can receive. On successful return it will
|
1443
|
+
contain the number of ASCII code points actually output.
|
1444
|
+
|
1445
|
+
OUTPUT: An array of ASCII code points. It is *not*
|
1446
|
+
null-terminated; it will contain zeros if and only if the ‘input’
|
1447
|
+
contains zeros. (Of course the caller can leave room for a
|
1448
|
+
terminator and add one if needed.)
|
1449
|
+
|
1450
|
+
Converts a sequence of code points (presumed to be Unicode code
|
1451
|
+
points) to Punycode.
|
1452
|
+
|
1453
|
+
Return value: The return value can be any of the ‘Punycode_status’
|
1454
|
+
values defined above except ‘PUNYCODE_BAD_INPUT’ . If not
|
1455
|
+
‘PUNYCODE_SUCCESS’ , then ‘output_size’ and ‘output’ might contain
|
1456
|
+
garbage.
|
1457
|
+
|
1458
|
+
punycode_decode
|
1459
|
+
---------------
|
1460
|
+
|
1461
|
+
-- Function: int punycode_decode (size_t INPUT_LENGTH, const char []
|
1462
|
+
INPUT, size_t * OUTPUT_LENGTH, punycode_uint [] OUTPUT,
|
1463
|
+
unsigned char [] CASE_FLAGS)
|
1464
|
+
INPUT_LENGTH: The number of ASCII code points in the ‘input’ array.
|
1465
|
+
|
1466
|
+
INPUT: An array of ASCII code points (0..7F).
|
1467
|
+
|
1468
|
+
OUTPUT_LENGTH: The caller passes in the maximum number of code
|
1469
|
+
points that it can receive into the ‘output’ array (which is also
|
1470
|
+
the maximum number of flags that it can receive into the
|
1471
|
+
‘case_flags’ array, if ‘case_flags’ is not a ‘NULL’ pointer). On
|
1472
|
+
successful return it will contain the number of code points
|
1473
|
+
actually output (which is also the number of flags actually output,
|
1474
|
+
if case_flags is not a null pointer). The decoder will never need
|
1475
|
+
to output more code points than the number of ASCII code points in
|
1476
|
+
the input, because of the way the encoding is defined. The number
|
1477
|
+
of code points output cannot exceed the maximum possible value of a
|
1478
|
+
punycode_uint, even if the supplied ‘output_length’ is greater than
|
1479
|
+
that.
|
1480
|
+
|
1481
|
+
OUTPUT: An array of code points like the input argument of
|
1482
|
+
‘punycode_encode()’ (see above).
|
1483
|
+
|
1484
|
+
CASE_FLAGS: A ‘NULL’ pointer (if the flags are not needed by the
|
1485
|
+
caller) or an array of boolean values parallel to the ‘output’
|
1486
|
+
array. Nonzero (true, flagged) suggests that the corresponding
|
1487
|
+
Unicode character be forced to uppercase by the caller (if
|
1488
|
+
possible), and zero (false, unflagged) suggests that it be forced
|
1489
|
+
to lowercase (if possible). ASCII code points (0..7F) are output
|
1490
|
+
already in the proper case, but their flags will be set
|
1491
|
+
appropriately so that applying the flags would be harmless.
|
1492
|
+
|
1493
|
+
Converts Punycode to a sequence of code points (presumed to be
|
1494
|
+
Unicode code points).
|
1495
|
+
|
1496
|
+
Return value: The return value can be any of the ‘Punycode_status’
|
1497
|
+
values defined above. If not ‘PUNYCODE_SUCCESS’ , then
|
1498
|
+
‘output_length’ , ‘output’ , and ‘case_flags’ might contain
|
1499
|
+
garbage.
|
1500
|
+
|
1501
|
+
5.4 Error Handling
|
1502
|
+
==================
|
1503
|
+
|
1504
|
+
punycode_strerror
|
1505
|
+
-----------------
|
1506
|
+
|
1507
|
+
-- Function: const char * punycode_strerror (Punycode_status RC)
|
1508
|
+
RC: an ‘Punycode_status’ return code.
|
1509
|
+
|
1510
|
+
Convert a return code integer to a text string. This string can be
|
1511
|
+
used to output a diagnostic message to the user.
|
1512
|
+
|
1513
|
+
*PUNYCODE_SUCCESS:* Successful operation. This value is guaranteed
|
1514
|
+
to always be zero, the remaining ones are only guaranteed to hold
|
1515
|
+
non-zero values, for logical comparison purposes.
|
1516
|
+
|
1517
|
+
*PUNYCODE_BAD_INPUT:* Input is invalid.
|
1518
|
+
|
1519
|
+
*PUNYCODE_BIG_OUTPUT:* Output would exceed the space provided.
|
1520
|
+
|
1521
|
+
*PUNYCODE_OVERFLOW:* Input needs wider integers to process.
|
1522
|
+
|
1523
|
+
Return value: Returns a pointer to a statically allocated string
|
1524
|
+
containing a description of the error with the return code ‘rc’ .
|
1525
|
+
|
1526
|
+
|
1527
|
+
File: libidn.info, Node: IDNA Functions, Next: TLD Functions, Prev: Punycode Functions, Up: Top
|
1528
|
+
|
1529
|
+
6 IDNA Functions
|
1530
|
+
****************
|
1531
|
+
|
1532
|
+
Until now, there has been no standard method for domain names to use
|
1533
|
+
characters outside the ASCII repertoire. The IDNA document defines
|
1534
|
+
internationalized domain names (IDNs) and a mechanism called IDNA for
|
1535
|
+
handling them in a standard fashion. IDNs use characters drawn from a
|
1536
|
+
large repertoire (Unicode), but IDNA allows the non-ASCII characters to
|
1537
|
+
be represented using only the ASCII characters already allowed in
|
1538
|
+
so-called host names today. This backward-compatible representation is
|
1539
|
+
required in existing protocols like DNS, so that IDNs can be introduced
|
1540
|
+
with no changes to the existing infrastructure. IDNA is only meant for
|
1541
|
+
processing domain names, not free text.
|
1542
|
+
|
1543
|
+
6.1 Header file ‘idna.h’
|
1544
|
+
========================
|
1545
|
+
|
1546
|
+
To use the functions explained in this chapter, you need to include the
|
1547
|
+
file ‘idna.h’ using:
|
1548
|
+
|
1549
|
+
#include <idna.h>
|
1550
|
+
|
1551
|
+
6.2 Control Flags
|
1552
|
+
=================
|
1553
|
+
|
1554
|
+
The IDNA ‘flags’ parameter can take on the following values, or a
|
1555
|
+
bit-wise inclusive or of any subset of the parameters:
|
1556
|
+
|
1557
|
+
-- Return code: Idna_flags IDNA_ALLOW_UNASSIGNED
|
1558
|
+
Allow unassigned Unicode code points.
|
1559
|
+
|
1560
|
+
-- Return code: Idna_flags IDNA_USE_STD3_ASCII_RULES
|
1561
|
+
Check output to make sure it is a STD3 conforming host name.
|
1562
|
+
|
1563
|
+
6.3 Prefix String
|
1564
|
+
=================
|
1565
|
+
|
1566
|
+
-- Macro: #define IDNA_ACE_PREFIX
|
1567
|
+
String with the official IDNA prefix, ‘xn--’.
|
1568
|
+
|
1569
|
+
6.4 Core Functions
|
1570
|
+
==================
|
1571
|
+
|
1572
|
+
The idea behind the IDNA function names are as follows: the
|
1573
|
+
‘idna_to_ascii_4i’ and ‘idna_to_unicode_44i’ functions are the core IDNA
|
1574
|
+
primitives. The ‘4’ indicate that the function takes UCS-4 strings
|
1575
|
+
(i.e., Unicode code points encoded in a 32-bit unsigned integer type) of
|
1576
|
+
the specified length. The ‘i’ indicate that the data is written
|
1577
|
+
“inline” into the buffer. This means the caller is responsible for
|
1578
|
+
allocating (and de-allocating) the string, and providing the library
|
1579
|
+
with the allocated length of the string. The output length is written
|
1580
|
+
in the output length variable. The remaining functions all contain the
|
1581
|
+
‘z’ indicator, which means the strings are zero terminated. All output
|
1582
|
+
strings are allocated by the library, and must be de-allocated by the
|
1583
|
+
caller. The ‘4’ indicator again means that the string is UCS-4, the ‘8’
|
1584
|
+
means the strings are UTF-8 and the ‘l’ indicator means the strings are
|
1585
|
+
encoded in the encoding used by the current locale.
|
1586
|
+
|
1587
|
+
The functions provided are the following entry points:
|
1588
|
+
|
1589
|
+
idna_to_ascii_4i
|
1590
|
+
----------------
|
1591
|
+
|
1592
|
+
-- Function: int idna_to_ascii_4i (const uint32_t * IN, size_t INLEN,
|
1593
|
+
char * OUT, int FLAGS)
|
1594
|
+
IN: input array with unicode code points.
|
1595
|
+
|
1596
|
+
INLEN: length of input array with unicode code points.
|
1597
|
+
|
1598
|
+
OUT: output zero terminated string that must have room for at least
|
1599
|
+
63 characters plus the terminating zero.
|
1600
|
+
|
1601
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1602
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1603
|
+
|
1604
|
+
The ToASCII operation takes a sequence of Unicode code points that
|
1605
|
+
make up one domain label and transforms it into a sequence of code
|
1606
|
+
points in the ASCII range (0..7F). If ToASCII succeeds, the
|
1607
|
+
original sequence and the resulting sequence are equivalent labels.
|
1608
|
+
|
1609
|
+
It is important to note that the ToASCII operation can fail.
|
1610
|
+
ToASCII fails if any step of it fails. If any step of the ToASCII
|
1611
|
+
operation fails on any label in a domain name, that domain name
|
1612
|
+
MUST NOT be used as an internationalized domain name. The method
|
1613
|
+
for deadling with this failure is application-specific.
|
1614
|
+
|
1615
|
+
The inputs to ToASCII are a sequence of code points, the
|
1616
|
+
AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output
|
1617
|
+
of ToASCII is either a sequence of ASCII code points or a failure
|
1618
|
+
condition.
|
1619
|
+
|
1620
|
+
ToASCII never alters a sequence of code points that are all in the
|
1621
|
+
ASCII range to begin with (although it could fail). Applying the
|
1622
|
+
ToASCII operation multiple times has exactly the same effect as
|
1623
|
+
applying it just once.
|
1624
|
+
|
1625
|
+
Return value: Returns 0 on success, or an ‘Idna_rc’ error code.
|
1626
|
+
|
1627
|
+
idna_to_unicode_44i
|
1628
|
+
-------------------
|
1629
|
+
|
1630
|
+
-- Function: int idna_to_unicode_44i (const uint32_t * IN, size_t
|
1631
|
+
INLEN, uint32_t * OUT, size_t * OUTLEN, int FLAGS)
|
1632
|
+
IN: input array with unicode code points.
|
1633
|
+
|
1634
|
+
INLEN: length of input array with unicode code points.
|
1635
|
+
|
1636
|
+
OUT: output array with unicode code points.
|
1637
|
+
|
1638
|
+
OUTLEN: on input, maximum size of output array with unicode code
|
1639
|
+
points, on exit, actual size of output array with unicode code
|
1640
|
+
points.
|
1641
|
+
|
1642
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1643
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1644
|
+
|
1645
|
+
The ToUnicode operation takes a sequence of Unicode code points
|
1646
|
+
that make up one domain label and returns a sequence of Unicode
|
1647
|
+
code points. If the input sequence is a label in ACE form, then
|
1648
|
+
the result is an equivalent internationalized label that is not in
|
1649
|
+
ACE form, otherwise the original sequence is returned unaltered.
|
1650
|
+
|
1651
|
+
ToUnicode never fails. If any step fails, then the original input
|
1652
|
+
sequence is returned immediately in that step.
|
1653
|
+
|
1654
|
+
The Punycode decoder can never output more code points than it
|
1655
|
+
inputs, but Nameprep can, and therefore ToUnicode can. Note that
|
1656
|
+
the number of octets needed to represent a sequence of code points
|
1657
|
+
depends on the particular character encoding used.
|
1658
|
+
|
1659
|
+
The inputs to ToUnicode are a sequence of code points, the
|
1660
|
+
AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output
|
1661
|
+
of ToUnicode is always a sequence of Unicode code points.
|
1662
|
+
|
1663
|
+
Return value: Returns ‘Idna_rc’ error condition, but it must only
|
1664
|
+
be used for debugging purposes. The output buffer is always
|
1665
|
+
guaranteed to contain the correct data according to the
|
1666
|
+
specification (sans malloc induced errors). NB! This means that
|
1667
|
+
you normally ignore the return code from this function, as checking
|
1668
|
+
it means breaking the standard.
|
1669
|
+
|
1670
|
+
6.5 Simplified ToASCII Interface
|
1671
|
+
================================
|
1672
|
+
|
1673
|
+
idna_to_ascii_4z
|
1674
|
+
----------------
|
1675
|
+
|
1676
|
+
-- Function: int idna_to_ascii_4z (const uint32_t * INPUT, char **
|
1677
|
+
OUTPUT, int FLAGS)
|
1678
|
+
INPUT: zero terminated input Unicode string.
|
1679
|
+
|
1680
|
+
OUTPUT: pointer to newly allocated output string.
|
1681
|
+
|
1682
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1683
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1684
|
+
|
1685
|
+
Convert UCS-4 domain name to ASCII string. The domain name may
|
1686
|
+
contain several labels, separated by dots. The output buffer must
|
1687
|
+
be deallocated by the caller.
|
1688
|
+
|
1689
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1690
|
+
|
1691
|
+
idna_to_ascii_8z
|
1692
|
+
----------------
|
1693
|
+
|
1694
|
+
-- Function: int idna_to_ascii_8z (const char * INPUT, char ** OUTPUT,
|
1695
|
+
int FLAGS)
|
1696
|
+
INPUT: zero terminated input UTF-8 string.
|
1697
|
+
|
1698
|
+
OUTPUT: pointer to newly allocated output string.
|
1699
|
+
|
1700
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1701
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1702
|
+
|
1703
|
+
Convert UTF-8 domain name to ASCII string. The domain name may
|
1704
|
+
contain several labels, separated by dots. The output buffer must
|
1705
|
+
be deallocated by the caller.
|
1706
|
+
|
1707
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1708
|
+
|
1709
|
+
idna_to_ascii_lz
|
1710
|
+
----------------
|
1711
|
+
|
1712
|
+
-- Function: int idna_to_ascii_lz (const char * INPUT, char ** OUTPUT,
|
1713
|
+
int FLAGS)
|
1714
|
+
INPUT: zero terminated input string encoded in the current locale’s
|
1715
|
+
character set.
|
1716
|
+
|
1717
|
+
OUTPUT: pointer to newly allocated output string.
|
1718
|
+
|
1719
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1720
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1721
|
+
|
1722
|
+
Convert domain name in the locale’s encoding to ASCII string. The
|
1723
|
+
domain name may contain several labels, separated by dots. The
|
1724
|
+
output buffer must be deallocated by the caller.
|
1725
|
+
|
1726
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1727
|
+
|
1728
|
+
6.6 Simplified ToUnicode Interface
|
1729
|
+
==================================
|
1730
|
+
|
1731
|
+
idna_to_unicode_4z4z
|
1732
|
+
--------------------
|
1733
|
+
|
1734
|
+
-- Function: int idna_to_unicode_4z4z (const uint32_t * INPUT, uint32_t
|
1735
|
+
** OUTPUT, int FLAGS)
|
1736
|
+
INPUT: zero-terminated Unicode string.
|
1737
|
+
|
1738
|
+
OUTPUT: pointer to newly allocated output Unicode string.
|
1739
|
+
|
1740
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1741
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1742
|
+
|
1743
|
+
Convert possibly ACE encoded domain name in UCS-4 format into a
|
1744
|
+
UCS-4 string. The domain name may contain several labels,
|
1745
|
+
separated by dots. The output buffer must be deallocated by the
|
1746
|
+
caller.
|
1747
|
+
|
1748
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1749
|
+
|
1750
|
+
idna_to_unicode_8z4z
|
1751
|
+
--------------------
|
1752
|
+
|
1753
|
+
-- Function: int idna_to_unicode_8z4z (const char * INPUT, uint32_t **
|
1754
|
+
OUTPUT, int FLAGS)
|
1755
|
+
INPUT: zero-terminated UTF-8 string.
|
1756
|
+
|
1757
|
+
OUTPUT: pointer to newly allocated output Unicode string.
|
1758
|
+
|
1759
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1760
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1761
|
+
|
1762
|
+
Convert possibly ACE encoded domain name in UTF-8 format into a
|
1763
|
+
UCS-4 string. The domain name may contain several labels,
|
1764
|
+
separated by dots. The output buffer must be deallocated by the
|
1765
|
+
caller.
|
1766
|
+
|
1767
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1768
|
+
|
1769
|
+
idna_to_unicode_8z8z
|
1770
|
+
--------------------
|
1771
|
+
|
1772
|
+
-- Function: int idna_to_unicode_8z8z (const char * INPUT, char **
|
1773
|
+
OUTPUT, int FLAGS)
|
1774
|
+
INPUT: zero-terminated UTF-8 string.
|
1775
|
+
|
1776
|
+
OUTPUT: pointer to newly allocated output UTF-8 string.
|
1777
|
+
|
1778
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1779
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1780
|
+
|
1781
|
+
Convert possibly ACE encoded domain name in UTF-8 format into a
|
1782
|
+
UTF-8 string. The domain name may contain several labels,
|
1783
|
+
separated by dots. The output buffer must be deallocated by the
|
1784
|
+
caller.
|
1785
|
+
|
1786
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1787
|
+
|
1788
|
+
idna_to_unicode_8zlz
|
1789
|
+
--------------------
|
1790
|
+
|
1791
|
+
-- Function: int idna_to_unicode_8zlz (const char * INPUT, char **
|
1792
|
+
OUTPUT, int FLAGS)
|
1793
|
+
INPUT: zero-terminated UTF-8 string.
|
1794
|
+
|
1795
|
+
OUTPUT: pointer to newly allocated output string encoded in the
|
1796
|
+
current locale’s character set.
|
1797
|
+
|
1798
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1799
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1800
|
+
|
1801
|
+
Convert possibly ACE encoded domain name in UTF-8 format into a
|
1802
|
+
string encoded in the current locale’s character set. The domain
|
1803
|
+
name may contain several labels, separated by dots. The output
|
1804
|
+
buffer must be deallocated by the caller.
|
1805
|
+
|
1806
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1807
|
+
|
1808
|
+
idna_to_unicode_lzlz
|
1809
|
+
--------------------
|
1810
|
+
|
1811
|
+
-- Function: int idna_to_unicode_lzlz (const char * INPUT, char **
|
1812
|
+
OUTPUT, int FLAGS)
|
1813
|
+
INPUT: zero-terminated string encoded in the current locale’s
|
1814
|
+
character set.
|
1815
|
+
|
1816
|
+
OUTPUT: pointer to newly allocated output string encoded in the
|
1817
|
+
current locale’s character set.
|
1818
|
+
|
1819
|
+
FLAGS: an ‘Idna_flags’ value, e.g., ‘IDNA_ALLOW_UNASSIGNED’ or
|
1820
|
+
‘IDNA_USE_STD3_ASCII_RULES’ .
|
1821
|
+
|
1822
|
+
Convert possibly ACE encoded domain name in the locale’s character
|
1823
|
+
set into a string encoded in the current locale’s character set.
|
1824
|
+
The domain name may contain several labels, separated by dots. The
|
1825
|
+
output buffer must be deallocated by the caller.
|
1826
|
+
|
1827
|
+
Return value: Returns ‘IDNA_SUCCESS’ on success, or error code.
|
1828
|
+
|
1829
|
+
6.7 Error Handling
|
1830
|
+
==================
|
1831
|
+
|
1832
|
+
idna_strerror
|
1833
|
+
-------------
|
1834
|
+
|
1835
|
+
-- Function: const char * idna_strerror (Idna_rc RC)
|
1836
|
+
RC: an ‘Idna_rc’ return code.
|
1837
|
+
|
1838
|
+
Convert a return code integer to a text string. This string can be
|
1839
|
+
used to output a diagnostic message to the user.
|
1840
|
+
|
1841
|
+
*IDNA_SUCCESS:* Successful operation. This value is guaranteed to
|
1842
|
+
always be zero, the remaining ones are only guaranteed to hold
|
1843
|
+
non-zero values, for logical comparison purposes.
|
1844
|
+
|
1845
|
+
*IDNA_STRINGPREP_ERROR:* Error during string preparation.
|
1846
|
+
|
1847
|
+
*IDNA_PUNYCODE_ERROR:* Error during punycode operation.
|
1848
|
+
|
1849
|
+
*IDNA_CONTAINS_NON_LDH:* For IDNA_USE_STD3_ASCII_RULES, indicate
|
1850
|
+
that the string contains non-LDH ASCII characters.
|
1851
|
+
|
1852
|
+
*IDNA_CONTAINS_MINUS:* For IDNA_USE_STD3_ASCII_RULES, indicate that
|
1853
|
+
the string contains a leading or trailing hyphen-minus (U+002D).
|
1854
|
+
|
1855
|
+
*IDNA_INVALID_LENGTH:* The final output string is not within the
|
1856
|
+
(inclusive) range 1 to 63 characters.
|
1857
|
+
|
1858
|
+
*IDNA_NO_ACE_PREFIX:* The string does not contain the ACE prefix
|
1859
|
+
(for ToUnicode).
|
1860
|
+
|
1861
|
+
*IDNA_ROUNDTRIP_VERIFY_ERROR:* The ToASCII operation on output
|
1862
|
+
string does not equal the input.
|
1863
|
+
|
1864
|
+
*IDNA_CONTAINS_ACE_PREFIX:* The input contains the ACE prefix (for
|
1865
|
+
ToASCII).
|
1866
|
+
|
1867
|
+
*IDNA_ICONV_ERROR:* Could not convert string in locale encoding.
|
1868
|
+
|
1869
|
+
*IDNA_MALLOC_ERROR:* Could not allocate buffer (this is typically a
|
1870
|
+
fatal error).
|
1871
|
+
|
1872
|
+
*IDNA_DLOPEN_ERROR:* Could not dlopen the libcidn DSO (only used
|
1873
|
+
internally in libc).
|
1874
|
+
|
1875
|
+
Return value: Returns a pointer to a statically allocated string
|
1876
|
+
containing a description of the error with the return code ‘rc’ .
|
1877
|
+
|
1878
|
+
|
1879
|
+
File: libidn.info, Node: TLD Functions, Next: PR29 Functions, Prev: IDNA Functions, Up: Top
|
1880
|
+
|
1881
|
+
7 TLD Functions
|
1882
|
+
***************
|
1883
|
+
|
1884
|
+
Organizations that manage some Top Level Domains (TLDs) have published
|
1885
|
+
tables with characters they accept within the domain. The reason may be
|
1886
|
+
to reduce complexity that come from using the full Unicode range, and to
|
1887
|
+
protect themselves from future (backwards incompatible) changes in the
|
1888
|
+
IDN or Unicode specifications. Libidn implement an infrastructure for
|
1889
|
+
defining and checking strings against such tables. Libidn also ship
|
1890
|
+
some tables from TLDs that we have managed to get permission to use them
|
1891
|
+
from. Because these tables are even less static than Unicode or
|
1892
|
+
StringPrep tables, it is likely that they will be updated from time to
|
1893
|
+
time (even in backwards incompatible ways). The Libidn interface
|
1894
|
+
provide a “version” field for each TLD table, which can be compared for
|
1895
|
+
equality to guarantee the same operation over time.
|
1896
|
+
|
1897
|
+
From a design point of view, you can regard the TLD tables for IDN as
|
1898
|
+
the “localization” step that come after the “internationalization” step
|
1899
|
+
provided by the IETF standards.
|
1900
|
+
|
1901
|
+
The TLD functionality rely on up-to-date tables. The latest version
|
1902
|
+
of Libidn aim to provide these, but tables with unclear copying
|
1903
|
+
conditions, or generally experimental tables, are not included. Some
|
1904
|
+
such tables can be found at <https://github.com/gnuthor/tldchk>.
|
1905
|
+
|
1906
|
+
7.1 Header file ‘tld.h’
|
1907
|
+
=======================
|
1908
|
+
|
1909
|
+
To use the functions explained in this chapter, you need to include the
|
1910
|
+
file ‘tld.h’ using:
|
1911
|
+
|
1912
|
+
#include <tld.h>
|
1913
|
+
|
1914
|
+
7.2 Core Functions
|
1915
|
+
==================
|
1916
|
+
|
1917
|
+
tld_check_4t
|
1918
|
+
------------
|
1919
|
+
|
1920
|
+
-- Function: int tld_check_4t (const uint32_t * IN, size_t INLEN,
|
1921
|
+
size_t * ERRPOS, const Tld_table * TLD)
|
1922
|
+
IN: Array of unicode code points to process. Does not need to be
|
1923
|
+
zero terminated.
|
1924
|
+
|
1925
|
+
INLEN: Number of unicode code points.
|
1926
|
+
|
1927
|
+
ERRPOS: Position of offending character is returned here.
|
1928
|
+
|
1929
|
+
TLD: A ‘Tld_table’ data structure representing the restrictions for
|
1930
|
+
which the input should be tested.
|
1931
|
+
|
1932
|
+
Test each of the code points in ‘in’ for whether or not they are
|
1933
|
+
allowed by the data structure in ‘tld’ , return the position of the
|
1934
|
+
first character for which this is not the case in ‘errpos’ .
|
1935
|
+
|
1936
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
|
1937
|
+
points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
1938
|
+
character is not allowed, or additional error codes on general
|
1939
|
+
failure conditions.
|
1940
|
+
|
1941
|
+
tld_check_4tz
|
1942
|
+
-------------
|
1943
|
+
|
1944
|
+
-- Function: int tld_check_4tz (const uint32_t * IN, size_t * ERRPOS,
|
1945
|
+
const Tld_table * TLD)
|
1946
|
+
IN: Zero terminated array of unicode code points to process.
|
1947
|
+
|
1948
|
+
ERRPOS: Position of offending character is returned here.
|
1949
|
+
|
1950
|
+
TLD: A ‘Tld_table’ data structure representing the restrictions for
|
1951
|
+
which the input should be tested.
|
1952
|
+
|
1953
|
+
Test each of the code points in ‘in’ for whether or not they are
|
1954
|
+
allowed by the data structure in ‘tld’ , return the position of the
|
1955
|
+
first character for which this is not the case in ‘errpos’ .
|
1956
|
+
|
1957
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
|
1958
|
+
points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
1959
|
+
character is not allowed, or additional error codes on general
|
1960
|
+
failure conditions.
|
1961
|
+
|
1962
|
+
7.3 Utility Functions
|
1963
|
+
=====================
|
1964
|
+
|
1965
|
+
tld_get_4
|
1966
|
+
---------
|
1967
|
+
|
1968
|
+
-- Function: int tld_get_4 (const uint32_t * IN, size_t INLEN, char **
|
1969
|
+
OUT)
|
1970
|
+
IN: Array of unicode code points to process. Does not need to be
|
1971
|
+
zero terminated.
|
1972
|
+
|
1973
|
+
INLEN: Number of unicode code points.
|
1974
|
+
|
1975
|
+
OUT: Zero terminated ascii result string pointer.
|
1976
|
+
|
1977
|
+
Isolate the top-level domain of ‘in’ and return it as an ASCII
|
1978
|
+
string in ‘out’ .
|
1979
|
+
|
1980
|
+
Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
|
1981
|
+
‘Tld_rc’ error code otherwise.
|
1982
|
+
|
1983
|
+
tld_get_4z
|
1984
|
+
----------
|
1985
|
+
|
1986
|
+
-- Function: int tld_get_4z (const uint32_t * IN, char ** OUT)
|
1987
|
+
IN: Zero terminated array of unicode code points to process.
|
1988
|
+
|
1989
|
+
OUT: Zero terminated ascii result string pointer.
|
1990
|
+
|
1991
|
+
Isolate the top-level domain of ‘in’ and return it as an ASCII
|
1992
|
+
string in ‘out’ .
|
1993
|
+
|
1994
|
+
Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
|
1995
|
+
‘Tld_rc’ error code otherwise.
|
1996
|
+
|
1997
|
+
tld_get_z
|
1998
|
+
---------
|
1999
|
+
|
2000
|
+
-- Function: int tld_get_z (const char * IN, char ** OUT)
|
2001
|
+
IN: Zero terminated character array to process.
|
2002
|
+
|
2003
|
+
OUT: Zero terminated ascii result string pointer.
|
2004
|
+
|
2005
|
+
Isolate the top-level domain of ‘in’ and return it as an ASCII
|
2006
|
+
string in ‘out’ . The input string ‘in’ may be UTF-8, ISO-8859-1
|
2007
|
+
or any ASCII compatible character encoding.
|
2008
|
+
|
2009
|
+
Return value: Return ‘TLD_SUCCESS’ on success, or the corresponding
|
2010
|
+
‘Tld_rc’ error code otherwise.
|
2011
|
+
|
2012
|
+
tld_get_table
|
2013
|
+
-------------
|
2014
|
+
|
2015
|
+
-- Function: const Tld_table * tld_get_table (const char * TLD, const
|
2016
|
+
Tld_table ** TABLES)
|
2017
|
+
TLD: TLD name (e.g. "com") as zero terminated ASCII byte string.
|
2018
|
+
|
2019
|
+
TABLES: Zero terminated array of ‘Tld_table’ info-structures for
|
2020
|
+
TLDs.
|
2021
|
+
|
2022
|
+
Get the TLD table for a named TLD by searching through the given
|
2023
|
+
TLD table array.
|
2024
|
+
|
2025
|
+
Return value: Return structure corresponding to TLD ‘tld’ by going
|
2026
|
+
thru ‘tables’ , or return ‘NULL’ if no such structure is found.
|
2027
|
+
|
2028
|
+
tld_default_table
|
2029
|
+
-----------------
|
2030
|
+
|
2031
|
+
-- Function: const Tld_table * tld_default_table (const char * TLD,
|
2032
|
+
const Tld_table ** OVERRIDES)
|
2033
|
+
TLD: TLD name (e.g. "com") as zero terminated ASCII byte string.
|
2034
|
+
|
2035
|
+
OVERRIDES: Additional zero terminated array of ‘Tld_table’
|
2036
|
+
info-structures for TLDs, or ‘NULL’ to only use library deault
|
2037
|
+
tables.
|
2038
|
+
|
2039
|
+
Get the TLD table for a named TLD, using the internal defaults,
|
2040
|
+
possibly overrided by the (optional) supplied tables.
|
2041
|
+
|
2042
|
+
Return value: Return structure corresponding to TLD ‘tld_str’ ,
|
2043
|
+
first looking through ‘overrides’ then thru built-in list, or
|
2044
|
+
‘NULL’ if no such structure found.
|
2045
|
+
|
2046
|
+
7.4 High-Level Wrapper Functions
|
2047
|
+
================================
|
2048
|
+
|
2049
|
+
tld_check_4
|
2050
|
+
-----------
|
2051
|
+
|
2052
|
+
-- Function: int tld_check_4 (const uint32_t * IN, size_t INLEN, size_t
|
2053
|
+
* ERRPOS, const Tld_table ** OVERRIDES)
|
2054
|
+
IN: Array of unicode code points to process. Does not need to be
|
2055
|
+
zero terminated.
|
2056
|
+
|
2057
|
+
INLEN: Number of unicode code points.
|
2058
|
+
|
2059
|
+
ERRPOS: Position of offending character is returned here.
|
2060
|
+
|
2061
|
+
OVERRIDES: A ‘Tld_table’ array of additional domain restriction
|
2062
|
+
structures that complement and supersede the built-in information.
|
2063
|
+
|
2064
|
+
Test each of the code points in ‘in’ for whether or not they are
|
2065
|
+
allowed by the information in ‘overrides’ or by the built-in TLD
|
2066
|
+
restriction data. When data for the same TLD is available both
|
2067
|
+
internally and in ‘overrides’ , the information in ‘overrides’
|
2068
|
+
takes precedence. If several entries for a specific TLD are found,
|
2069
|
+
the first one is used. If ‘overrides’ is ‘NULL’ , only the
|
2070
|
+
built-in information is used. The position of the first offending
|
2071
|
+
character is returned in ‘errpos’ .
|
2072
|
+
|
2073
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
|
2074
|
+
points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
2075
|
+
character is not allowed, or additional error codes on general
|
2076
|
+
failure conditions.
|
2077
|
+
|
2078
|
+
tld_check_4z
|
2079
|
+
------------
|
2080
|
+
|
2081
|
+
-- Function: int tld_check_4z (const uint32_t * IN, size_t * ERRPOS,
|
2082
|
+
const Tld_table ** OVERRIDES)
|
2083
|
+
IN: Zero-terminated array of unicode code points to process.
|
2084
|
+
|
2085
|
+
ERRPOS: Position of offending character is returned here.
|
2086
|
+
|
2087
|
+
OVERRIDES: A ‘Tld_table’ array of additional domain restriction
|
2088
|
+
structures that complement and supersede the built-in information.
|
2089
|
+
|
2090
|
+
Test each of the code points in ‘in’ for whether or not they are
|
2091
|
+
allowed by the information in ‘overrides’ or by the built-in TLD
|
2092
|
+
restriction data. When data for the same TLD is available both
|
2093
|
+
internally and in ‘overrides’ , the information in ‘overrides’
|
2094
|
+
takes precedence. If several entries for a specific TLD are found,
|
2095
|
+
the first one is used. If ‘overrides’ is ‘NULL’ , only the
|
2096
|
+
built-in information is used. The position of the first offending
|
2097
|
+
character is returned in ‘errpos’ .
|
2098
|
+
|
2099
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all code
|
2100
|
+
points are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
2101
|
+
character is not allowed, or additional error codes on general
|
2102
|
+
failure conditions.
|
2103
|
+
|
2104
|
+
tld_check_8z
|
2105
|
+
------------
|
2106
|
+
|
2107
|
+
-- Function: int tld_check_8z (const char * IN, size_t * ERRPOS, const
|
2108
|
+
Tld_table ** OVERRIDES)
|
2109
|
+
IN: Zero-terminated UTF8 string to process.
|
2110
|
+
|
2111
|
+
ERRPOS: Position of offending character is returned here.
|
2112
|
+
|
2113
|
+
OVERRIDES: A ‘Tld_table’ array of additional domain restriction
|
2114
|
+
structures that complement and supersede the built-in information.
|
2115
|
+
|
2116
|
+
Test each of the characters in ‘in’ for whether or not they are
|
2117
|
+
allowed by the information in ‘overrides’ or by the built-in TLD
|
2118
|
+
restriction data. When data for the same TLD is available both
|
2119
|
+
internally and in ‘overrides’ , the information in ‘overrides’
|
2120
|
+
takes precedence. If several entries for a specific TLD are found,
|
2121
|
+
the first one is used. If ‘overrides’ is ‘NULL’ , only the
|
2122
|
+
built-in information is used. The position of the first offending
|
2123
|
+
character is returned in ‘errpos’ . Note that the error position
|
2124
|
+
refers to the decoded character offset rather than the byte
|
2125
|
+
position in the string.
|
2126
|
+
|
2127
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all
|
2128
|
+
characters are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
2129
|
+
character is not allowed, or additional error codes on general
|
2130
|
+
failure conditions.
|
2131
|
+
|
2132
|
+
tld_check_lz
|
2133
|
+
------------
|
2134
|
+
|
2135
|
+
-- Function: int tld_check_lz (const char * IN, size_t * ERRPOS, const
|
2136
|
+
Tld_table ** OVERRIDES)
|
2137
|
+
IN: Zero-terminated string in the current locales encoding to
|
2138
|
+
process.
|
2139
|
+
|
2140
|
+
ERRPOS: Position of offending character is returned here.
|
2141
|
+
|
2142
|
+
OVERRIDES: A ‘Tld_table’ array of additional domain restriction
|
2143
|
+
structures that complement and supersede the built-in information.
|
2144
|
+
|
2145
|
+
Test each of the characters in ‘in’ for whether or not they are
|
2146
|
+
allowed by the information in ‘overrides’ or by the built-in TLD
|
2147
|
+
restriction data. When data for the same TLD is available both
|
2148
|
+
internally and in ‘overrides’ , the information in ‘overrides’
|
2149
|
+
takes precedence. If several entries for a specific TLD are found,
|
2150
|
+
the first one is used. If ‘overrides’ is ‘NULL’ , only the
|
2151
|
+
built-in information is used. The position of the first offending
|
2152
|
+
character is returned in ‘errpos’ . Note that the error position
|
2153
|
+
refers to the decoded character offset rather than the byte
|
2154
|
+
position in the string.
|
2155
|
+
|
2156
|
+
Return value: Returns the ‘Tld_rc’ value ‘TLD_SUCCESS’ if all
|
2157
|
+
characters are valid or when ‘tld’ is null, ‘TLD_INVALID’ if a
|
2158
|
+
character is not allowed, or additional error codes on general
|
2159
|
+
failure conditions.
|
2160
|
+
|
2161
|
+
7.5 Error Handling
|
2162
|
+
==================
|
2163
|
+
|
2164
|
+
tld_strerror
|
2165
|
+
------------
|
2166
|
+
|
2167
|
+
-- Function: const char * tld_strerror (Tld_rc RC)
|
2168
|
+
RC: tld return code
|
2169
|
+
|
2170
|
+
Convert a return code integer to a text string. This string can be
|
2171
|
+
used to output a diagnostic message to the user.
|
2172
|
+
|
2173
|
+
*TLD_SUCCESS:* Successful operation. This value is guaranteed to
|
2174
|
+
always be zero, the remaining ones are only guaranteed to hold
|
2175
|
+
non-zero values, for logical comparison purposes.
|
2176
|
+
|
2177
|
+
*TLD_INVALID:* Invalid character found.
|
2178
|
+
|
2179
|
+
*TLD_NODATA:* No input data was provided.
|
2180
|
+
|
2181
|
+
*TLD_MALLOC_ERROR:* Error during memory allocation.
|
2182
|
+
|
2183
|
+
*TLD_ICONV_ERROR:* Error during iconv string conversion.
|
2184
|
+
|
2185
|
+
*TLD_NO_TLD:* No top-level domain found in domain string.
|
2186
|
+
|
2187
|
+
Return value: Returns a pointer to a statically allocated string
|
2188
|
+
containing a description of the error with the return code ‘rc’ .
|
2189
|
+
|
2190
|
+
|
2191
|
+
File: libidn.info, Node: PR29 Functions, Next: Examples, Prev: TLD Functions, Up: Top
|
2192
|
+
|
2193
|
+
8 PR29 Functions
|
2194
|
+
****************
|
2195
|
+
|
2196
|
+
A deficiency in the specification of Unicode Normalization Forms has
|
2197
|
+
been found. The consequence is that some strings can be normalized into
|
2198
|
+
different strings by different implementations. In other words, two
|
2199
|
+
different implementations may return different output for the same input
|
2200
|
+
(because the interpretation of the specification is ambiguous).
|
2201
|
+
Further, an implementation invoked again on the one of the output
|
2202
|
+
strings may return a different string (because one of the interpretation
|
2203
|
+
of the ambiguous specification make normalization non-idempotent).
|
2204
|
+
Fortunately, only a select few character sequence exhibit this problem,
|
2205
|
+
and none of them are expected to occur in natural languages (due to
|
2206
|
+
different linguistic uses of the involved characters).
|
2207
|
+
|
2208
|
+
A full discussion of the problem may be found at:
|
2209
|
+
|
2210
|
+
<http://www.unicode.org/review/pr-29.html>
|
2211
|
+
|
2212
|
+
The PR29 functions below allow you to detect the problem sequence.
|
2213
|
+
So when would you want to use these functions? For most applications,
|
2214
|
+
such as those using Nameprep for IDN, this is likely only to be an
|
2215
|
+
interoperability problem. Thus, you may not want to care about it, as
|
2216
|
+
the character sequences will rarely occur naturally. However, if you
|
2217
|
+
are using a profile, such as SASLPrep, to process authentication tokens;
|
2218
|
+
authorization tokens; or passwords, there is a real danger that
|
2219
|
+
attackers may try to use the peculiarities in these strings to attack
|
2220
|
+
parts of your system. As only a small number of strings, and no
|
2221
|
+
naturally occurring strings, exhibit this problem, the conservative
|
2222
|
+
approach of rejecting the strings is recommended. If this approach is
|
2223
|
+
not used, you should instead verify that all parts of your system, that
|
2224
|
+
process the tokens and passwords, use a NFKC implementation that produce
|
2225
|
+
the same output for the same input.
|
2226
|
+
|
2227
|
+
Technically inclined readers may be interested in knowing more about
|
2228
|
+
the implementation aspects of the PR29 flaw. *Note PR29 discussion::.
|
2229
|
+
|
2230
|
+
8.1 Header file ‘pr29.h’
|
2231
|
+
========================
|
2232
|
+
|
2233
|
+
To use the functions explained in this chapter, you need to include the
|
2234
|
+
file ‘pr29.h’ using:
|
2235
|
+
|
2236
|
+
#include <pr29.h>
|
2237
|
+
|
2238
|
+
8.2 Core Functions
|
2239
|
+
==================
|
2240
|
+
|
2241
|
+
pr29_4
|
2242
|
+
------
|
2243
|
+
|
2244
|
+
-- Function: int pr29_4 (const uint32_t * IN, size_t LEN)
|
2245
|
+
IN: input array with unicode code points.
|
2246
|
+
|
2247
|
+
LEN: length of input array with unicode code points.
|
2248
|
+
|
2249
|
+
Check the input to see if it may be normalized into different
|
2250
|
+
strings by different NFKC implementations, due to an anomaly in the
|
2251
|
+
NFKC specifications.
|
2252
|
+
|
2253
|
+
Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
|
2254
|
+
success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
|
2255
|
+
sequence" (i.e., may be normalized into different strings by
|
2256
|
+
different implementations).
|
2257
|
+
|
2258
|
+
8.3 Utility Functions
|
2259
|
+
=====================
|
2260
|
+
|
2261
|
+
pr29_4z
|
2262
|
+
-------
|
2263
|
+
|
2264
|
+
-- Function: int pr29_4z (const uint32_t * IN)
|
2265
|
+
IN: zero terminated array of Unicode code points.
|
2266
|
+
|
2267
|
+
Check the input to see if it may be normalized into different
|
2268
|
+
strings by different NFKC implementations, due to an anomaly in the
|
2269
|
+
NFKC specifications.
|
2270
|
+
|
2271
|
+
Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
|
2272
|
+
success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
|
2273
|
+
sequence" (i.e., may be normalized into different strings by
|
2274
|
+
different implementations).
|
2275
|
+
|
2276
|
+
pr29_8z
|
2277
|
+
-------
|
2278
|
+
|
2279
|
+
-- Function: int pr29_8z (const char * IN)
|
2280
|
+
IN: zero terminated input UTF-8 string.
|
2281
|
+
|
2282
|
+
Check the input to see if it may be normalized into different
|
2283
|
+
strings by different NFKC implementations, due to an anomaly in the
|
2284
|
+
NFKC specifications.
|
2285
|
+
|
2286
|
+
Return value: Returns the ‘Pr29_rc’ value ‘PR29_SUCCESS’ on
|
2287
|
+
success, and ‘PR29_PROBLEM’ if the input sequence is a "problem
|
2288
|
+
sequence" (i.e., may be normalized into different strings by
|
2289
|
+
different implementations), or ‘PR29_STRINGPREP_ERROR’ if there was
|
2290
|
+
a problem converting the string from UTF-8 to UCS-4.
|
2291
|
+
|
2292
|
+
8.4 Error Handling
|
2293
|
+
==================
|
2294
|
+
|
2295
|
+
pr29_strerror
|
2296
|
+
-------------
|
2297
|
+
|
2298
|
+
-- Function: const char * pr29_strerror (Pr29_rc RC)
|
2299
|
+
RC: an ‘Pr29_rc’ return code.
|
2300
|
+
|
2301
|
+
Convert a return code integer to a text string. This string can be
|
2302
|
+
used to output a diagnostic message to the user.
|
2303
|
+
|
2304
|
+
*PR29_SUCCESS:* Successful operation. This value is guaranteed to
|
2305
|
+
always be zero, the remaining ones are only guaranteed to hold
|
2306
|
+
non-zero values, for logical comparison purposes.
|
2307
|
+
|
2308
|
+
*PR29_PROBLEM:* A problem sequence was encountered.
|
2309
|
+
|
2310
|
+
*PR29_STRINGPREP_ERROR:* The character set conversion failed (only
|
2311
|
+
for ‘pr29_8z()’ ).
|
2312
|
+
|
2313
|
+
Return value: Returns a pointer to a statically allocated string
|
2314
|
+
containing a description of the error with the return code ‘rc’ .
|
2315
|
+
|
2316
|
+
|
2317
|
+
File: libidn.info, Node: Examples, Next: Invoking idn, Prev: PR29 Functions, Up: Top
|
2318
|
+
|
2319
|
+
9 Examples
|
2320
|
+
**********
|
2321
|
+
|
2322
|
+
This chapter contains example code which illustrate how ‘Libidn’ can be
|
2323
|
+
used when writing your own application.
|
2324
|
+
|
2325
|
+
* Menu:
|
2326
|
+
|
2327
|
+
* Example 1:: Example using stringprep.
|
2328
|
+
* Example 2:: Example using punycode.
|
2329
|
+
* Example 3:: Example using IDNA ToASCII.
|
2330
|
+
* Example 4:: Example using IDNA ToUnicode.
|
2331
|
+
* Example 5:: Example using TLD checking.
|
2332
|
+
|
2333
|
+
|
2334
|
+
File: libidn.info, Node: Example 1, Next: Example 2, Up: Examples
|
2335
|
+
|
2336
|
+
9.1 Example 1
|
2337
|
+
=============
|
2338
|
+
|
2339
|
+
This example demonstrates how the stringprep functions are used.
|
2340
|
+
|
2341
|
+
/* example.c --- Example code showing how to use stringprep().
|
2342
|
+
* Copyright (C) 2002-2015 Simon Josefsson
|
2343
|
+
*
|
2344
|
+
* This file is part of GNU Libidn.
|
2345
|
+
*
|
2346
|
+
* This program is free software: you can redistribute it and/or modify
|
2347
|
+
* it under the terms of the GNU General Public License as published by
|
2348
|
+
* the Free Software Foundation, either version 3 of the License, or
|
2349
|
+
* (at your option) any later version.
|
2350
|
+
*
|
2351
|
+
* This program is distributed in the hope that it will be useful,
|
2352
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2353
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2354
|
+
* GNU General Public License for more details.
|
2355
|
+
*
|
2356
|
+
* You should have received a copy of the GNU General Public License
|
2357
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2358
|
+
*
|
2359
|
+
*/
|
2360
|
+
|
2361
|
+
#include <stdio.h>
|
2362
|
+
#include <stdlib.h>
|
2363
|
+
#include <string.h>
|
2364
|
+
#include <locale.h> /* setlocale() */
|
2365
|
+
#include <stringprep.h>
|
2366
|
+
|
2367
|
+
/*
|
2368
|
+
* Compiling using libtool and pkg-config is recommended:
|
2369
|
+
*
|
2370
|
+
* $ libtool cc -o example example.c `pkg-config --cflags --libs libidn`
|
2371
|
+
* $ ./example
|
2372
|
+
* Input string encoded as `ISO-8859-1': ª
|
2373
|
+
* Before locale2utf8 (length 2): aa 0a
|
2374
|
+
* Before stringprep (length 3): c2 aa 0a
|
2375
|
+
* After stringprep (length 2): 61 0a
|
2376
|
+
* $
|
2377
|
+
*
|
2378
|
+
*/
|
2379
|
+
|
2380
|
+
int
|
2381
|
+
main (void)
|
2382
|
+
{
|
2383
|
+
char buf[BUFSIZ];
|
2384
|
+
char *p;
|
2385
|
+
int rc;
|
2386
|
+
size_t i;
|
2387
|
+
|
2388
|
+
setlocale (LC_ALL, "");
|
2389
|
+
|
2390
|
+
printf ("Input string encoded as `%s': ", stringprep_locale_charset ());
|
2391
|
+
fflush (stdout);
|
2392
|
+
if (!fgets (buf, BUFSIZ, stdin))
|
2393
|
+
perror ("fgets");
|
2394
|
+
buf[strlen (buf) - 1] = '\0';
|
2395
|
+
|
2396
|
+
printf ("Before locale2utf8 (length %ld): ", (long int) strlen (buf));
|
2397
|
+
for (i = 0; i < strlen (buf); i++)
|
2398
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2399
|
+
printf ("\n");
|
2400
|
+
|
2401
|
+
p = stringprep_locale_to_utf8 (buf);
|
2402
|
+
if (p)
|
2403
|
+
{
|
2404
|
+
strcpy (buf, p);
|
2405
|
+
free (p);
|
2406
|
+
}
|
2407
|
+
else
|
2408
|
+
printf ("Could not convert string to UTF-8, continuing anyway...\n");
|
2409
|
+
|
2410
|
+
printf ("Before stringprep (length %ld): ", (long int) strlen (buf));
|
2411
|
+
for (i = 0; i < strlen (buf); i++)
|
2412
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2413
|
+
printf ("\n");
|
2414
|
+
|
2415
|
+
rc = stringprep (buf, BUFSIZ, 0, stringprep_nameprep);
|
2416
|
+
if (rc != STRINGPREP_OK)
|
2417
|
+
printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
|
2418
|
+
else
|
2419
|
+
{
|
2420
|
+
printf ("After stringprep (length %ld): ", (long int) strlen (buf));
|
2421
|
+
for (i = 0; i < strlen (buf); i++)
|
2422
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2423
|
+
printf ("\n");
|
2424
|
+
}
|
2425
|
+
|
2426
|
+
return 0;
|
2427
|
+
}
|
2428
|
+
|
2429
|
+
|
2430
|
+
File: libidn.info, Node: Example 2, Next: Example 3, Prev: Example 1, Up: Examples
|
2431
|
+
|
2432
|
+
9.2 Example 2
|
2433
|
+
=============
|
2434
|
+
|
2435
|
+
This example demonstrates how the punycode functions are used.
|
2436
|
+
|
2437
|
+
/* example2.c --- Example code showing how to use punycode.
|
2438
|
+
* Copyright (C) 2002-2015 Simon Josefsson
|
2439
|
+
* Copyright (C) 2002 Adam M. Costello
|
2440
|
+
*
|
2441
|
+
* This file is part of GNU Libidn.
|
2442
|
+
*
|
2443
|
+
* This program is free software: you can redistribute it and/or modify
|
2444
|
+
* it under the terms of the GNU General Public License as published by
|
2445
|
+
* the Free Software Foundation, either version 3 of the License, or
|
2446
|
+
* (at your option) any later version.
|
2447
|
+
*
|
2448
|
+
* This program is distributed in the hope that it will be useful,
|
2449
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2450
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2451
|
+
* GNU General Public License for more details.
|
2452
|
+
*
|
2453
|
+
* You should have received a copy of the GNU General Public License
|
2454
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2455
|
+
*
|
2456
|
+
*/
|
2457
|
+
|
2458
|
+
#include <locale.h> /* setlocale() */
|
2459
|
+
|
2460
|
+
/*
|
2461
|
+
* This file is derived from RFC 3492 written by Adam M. Costello.
|
2462
|
+
*
|
2463
|
+
* Disclaimer and license: Regarding this entire document or any
|
2464
|
+
* portion of it (including the pseudocode and C code), the author
|
2465
|
+
* makes no guarantees and is not responsible for any damage resulting
|
2466
|
+
* from its use. The author grants irrevocable permission to anyone
|
2467
|
+
* to use, modify, and distribute it in any way that does not diminish
|
2468
|
+
* the rights of anyone else to use, modify, and distribute it,
|
2469
|
+
* provided that redistributed derivative works do not contain
|
2470
|
+
* misleading author or version information. Derivative works need
|
2471
|
+
* not be licensed under similar terms.
|
2472
|
+
*
|
2473
|
+
*/
|
2474
|
+
|
2475
|
+
#include <assert.h>
|
2476
|
+
#include <stdio.h>
|
2477
|
+
#include <stdlib.h>
|
2478
|
+
#include <string.h>
|
2479
|
+
|
2480
|
+
#include <punycode.h>
|
2481
|
+
|
2482
|
+
/* For testing, we'll just set some compile-time limits rather than */
|
2483
|
+
/* use malloc(), and set a compile-time option rather than using a */
|
2484
|
+
/* command-line option. */
|
2485
|
+
|
2486
|
+
enum
|
2487
|
+
{
|
2488
|
+
unicode_max_length = 256,
|
2489
|
+
ace_max_length = 256
|
2490
|
+
};
|
2491
|
+
|
2492
|
+
static void
|
2493
|
+
usage (char **argv)
|
2494
|
+
{
|
2495
|
+
fprintf (stderr,
|
2496
|
+
"\n"
|
2497
|
+
"%s -e reads code points and writes a Punycode string.\n"
|
2498
|
+
"%s -d reads a Punycode string and writes code points.\n"
|
2499
|
+
"\n"
|
2500
|
+
"Input and output are plain text in the native character set.\n"
|
2501
|
+
"Code points are in the form u+hex separated by whitespace.\n"
|
2502
|
+
"Although the specification allows Punycode strings to contain\n"
|
2503
|
+
"any characters from the ASCII repertoire, this test code\n"
|
2504
|
+
"supports only the printable characters, and needs the Punycode\n"
|
2505
|
+
"string to be followed by a newline.\n"
|
2506
|
+
"The case of the u in u+hex is the force-to-uppercase flag.\n",
|
2507
|
+
argv[0], argv[0]);
|
2508
|
+
exit (EXIT_FAILURE);
|
2509
|
+
}
|
2510
|
+
|
2511
|
+
static void
|
2512
|
+
fail (const char *msg)
|
2513
|
+
{
|
2514
|
+
fputs (msg, stderr);
|
2515
|
+
exit (EXIT_FAILURE);
|
2516
|
+
}
|
2517
|
+
|
2518
|
+
static const char too_big[] =
|
2519
|
+
"input or output is too large, recompile with larger limits\n";
|
2520
|
+
static const char invalid_input[] = "invalid input\n";
|
2521
|
+
static const char overflow[] = "arithmetic overflow\n";
|
2522
|
+
static const char io_error[] = "I/O error\n";
|
2523
|
+
|
2524
|
+
/* The following string is used to convert printable */
|
2525
|
+
/* characters between ASCII and the native charset: */
|
2526
|
+
|
2527
|
+
static const char print_ascii[] = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" " !\"#$%&'()*+,-./" "0123456789:;<=>?" "\0x40" /* at sign */
|
2528
|
+
"ABCDEFGHIJKLMNO"
|
2529
|
+
"PQRSTUVWXYZ[\\]^_" "`abcdefghijklmno" "pqrstuvwxyz{|}~\n";
|
2530
|
+
|
2531
|
+
int
|
2532
|
+
main (int argc, char **argv)
|
2533
|
+
{
|
2534
|
+
enum punycode_status status;
|
2535
|
+
int r;
|
2536
|
+
size_t input_length, output_length, j;
|
2537
|
+
unsigned char case_flags[unicode_max_length];
|
2538
|
+
|
2539
|
+
setlocale (LC_ALL, "");
|
2540
|
+
|
2541
|
+
if (argc != 2)
|
2542
|
+
usage (argv);
|
2543
|
+
if (argv[1][0] != '-')
|
2544
|
+
usage (argv);
|
2545
|
+
if (argv[1][2] != 0)
|
2546
|
+
usage (argv);
|
2547
|
+
|
2548
|
+
if (argv[1][1] == 'e')
|
2549
|
+
{
|
2550
|
+
uint32_t input[unicode_max_length];
|
2551
|
+
unsigned long codept;
|
2552
|
+
char output[ace_max_length + 1], uplus[3];
|
2553
|
+
int c;
|
2554
|
+
|
2555
|
+
/* Read the input code points: */
|
2556
|
+
|
2557
|
+
input_length = 0;
|
2558
|
+
|
2559
|
+
for (;;)
|
2560
|
+
{
|
2561
|
+
r = scanf ("%2s%lx", uplus, &codept);
|
2562
|
+
if (ferror (stdin))
|
2563
|
+
fail (io_error);
|
2564
|
+
if (r == EOF || r == 0)
|
2565
|
+
break;
|
2566
|
+
|
2567
|
+
if (r != 2 || uplus[1] != '+' || codept > (uint32_t) - 1)
|
2568
|
+
{
|
2569
|
+
fail (invalid_input);
|
2570
|
+
}
|
2571
|
+
|
2572
|
+
if (input_length == unicode_max_length)
|
2573
|
+
fail (too_big);
|
2574
|
+
|
2575
|
+
if (uplus[0] == 'u')
|
2576
|
+
case_flags[input_length] = 0;
|
2577
|
+
else if (uplus[0] == 'U')
|
2578
|
+
case_flags[input_length] = 1;
|
2579
|
+
else
|
2580
|
+
fail (invalid_input);
|
2581
|
+
|
2582
|
+
input[input_length++] = codept;
|
2583
|
+
}
|
2584
|
+
|
2585
|
+
/* Encode: */
|
2586
|
+
|
2587
|
+
output_length = ace_max_length;
|
2588
|
+
status = punycode_encode (input_length, input, case_flags,
|
2589
|
+
&output_length, output);
|
2590
|
+
if (status == punycode_bad_input)
|
2591
|
+
fail (invalid_input);
|
2592
|
+
if (status == punycode_big_output)
|
2593
|
+
fail (too_big);
|
2594
|
+
if (status == punycode_overflow)
|
2595
|
+
fail (overflow);
|
2596
|
+
assert (status == punycode_success);
|
2597
|
+
|
2598
|
+
/* Convert to native charset and output: */
|
2599
|
+
|
2600
|
+
for (j = 0; j < output_length; ++j)
|
2601
|
+
{
|
2602
|
+
c = output[j];
|
2603
|
+
assert (c >= 0 && c <= 127);
|
2604
|
+
if (print_ascii[c] == 0)
|
2605
|
+
fail (invalid_input);
|
2606
|
+
output[j] = print_ascii[c];
|
2607
|
+
}
|
2608
|
+
|
2609
|
+
output[j] = 0;
|
2610
|
+
r = puts (output);
|
2611
|
+
if (r == EOF)
|
2612
|
+
fail (io_error);
|
2613
|
+
return EXIT_SUCCESS;
|
2614
|
+
}
|
2615
|
+
|
2616
|
+
if (argv[1][1] == 'd')
|
2617
|
+
{
|
2618
|
+
char input[ace_max_length + 2], *p, *pp;
|
2619
|
+
uint32_t output[unicode_max_length];
|
2620
|
+
|
2621
|
+
/* Read the Punycode input string and convert to ASCII: */
|
2622
|
+
|
2623
|
+
if (!fgets (input, ace_max_length + 2, stdin))
|
2624
|
+
fail (io_error);
|
2625
|
+
if (ferror (stdin))
|
2626
|
+
fail (io_error);
|
2627
|
+
if (feof (stdin))
|
2628
|
+
fail (invalid_input);
|
2629
|
+
input_length = strlen (input) - 1;
|
2630
|
+
if (input[input_length] != '\n')
|
2631
|
+
fail (too_big);
|
2632
|
+
input[input_length] = 0;
|
2633
|
+
|
2634
|
+
for (p = input; *p != 0; ++p)
|
2635
|
+
{
|
2636
|
+
pp = strchr (print_ascii, *p);
|
2637
|
+
if (pp == 0)
|
2638
|
+
fail (invalid_input);
|
2639
|
+
*p = pp - print_ascii;
|
2640
|
+
}
|
2641
|
+
|
2642
|
+
/* Decode: */
|
2643
|
+
|
2644
|
+
output_length = unicode_max_length;
|
2645
|
+
status = punycode_decode (input_length, input, &output_length,
|
2646
|
+
output, case_flags);
|
2647
|
+
if (status == punycode_bad_input)
|
2648
|
+
fail (invalid_input);
|
2649
|
+
if (status == punycode_big_output)
|
2650
|
+
fail (too_big);
|
2651
|
+
if (status == punycode_overflow)
|
2652
|
+
fail (overflow);
|
2653
|
+
assert (status == punycode_success);
|
2654
|
+
|
2655
|
+
/* Output the result: */
|
2656
|
+
|
2657
|
+
for (j = 0; j < output_length; ++j)
|
2658
|
+
{
|
2659
|
+
r = printf ("%s+%04lX\n",
|
2660
|
+
case_flags[j] ? "U" : "u", (unsigned long) output[j]);
|
2661
|
+
if (r < 0)
|
2662
|
+
fail (io_error);
|
2663
|
+
}
|
2664
|
+
|
2665
|
+
return EXIT_SUCCESS;
|
2666
|
+
}
|
2667
|
+
|
2668
|
+
usage (argv);
|
2669
|
+
return EXIT_SUCCESS; /* not reached, but quiets compiler warning */
|
2670
|
+
}
|
2671
|
+
|
2672
|
+
|
2673
|
+
File: libidn.info, Node: Example 3, Next: Example 4, Prev: Example 2, Up: Examples
|
2674
|
+
|
2675
|
+
9.3 Example 3
|
2676
|
+
=============
|
2677
|
+
|
2678
|
+
This example demonstrates how the library is used to convert
|
2679
|
+
internationalized domain names into ASCII compatible names.
|
2680
|
+
|
2681
|
+
/* example3.c --- Example ToASCII() code showing how to use Libidn.
|
2682
|
+
* Copyright (C) 2002-2015 Simon Josefsson
|
2683
|
+
*
|
2684
|
+
* This file is part of GNU Libidn.
|
2685
|
+
*
|
2686
|
+
* This program is free software: you can redistribute it and/or modify
|
2687
|
+
* it under the terms of the GNU General Public License as published by
|
2688
|
+
* the Free Software Foundation, either version 3 of the License, or
|
2689
|
+
* (at your option) any later version.
|
2690
|
+
*
|
2691
|
+
* This program is distributed in the hope that it will be useful,
|
2692
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2693
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2694
|
+
* GNU General Public License for more details.
|
2695
|
+
*
|
2696
|
+
* You should have received a copy of the GNU General Public License
|
2697
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2698
|
+
*
|
2699
|
+
*/
|
2700
|
+
|
2701
|
+
#include <stdio.h>
|
2702
|
+
#include <stdlib.h>
|
2703
|
+
#include <string.h>
|
2704
|
+
#include <locale.h> /* setlocale() */
|
2705
|
+
#include <stringprep.h> /* stringprep_locale_charset() */
|
2706
|
+
#include <idna.h> /* idna_to_ascii_lz() */
|
2707
|
+
|
2708
|
+
/*
|
2709
|
+
* Compiling using libtool and pkg-config is recommended:
|
2710
|
+
*
|
2711
|
+
* $ libtool cc -o example3 example3.c `pkg-config --cflags --libs libidn`
|
2712
|
+
* $ ./example3
|
2713
|
+
* Input domain encoded as `ISO-8859-1': www.räksmörgåsª.example
|
2714
|
+
* Read string (length 23): 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 aa 2e 65 78 61 6d 70 6c 65
|
2715
|
+
* ACE label (length 33): 'www.xn--rksmrgsa-0zap8p.example'
|
2716
|
+
* 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
|
2717
|
+
* $
|
2718
|
+
*
|
2719
|
+
*/
|
2720
|
+
|
2721
|
+
int
|
2722
|
+
main (void)
|
2723
|
+
{
|
2724
|
+
char buf[BUFSIZ];
|
2725
|
+
char *p;
|
2726
|
+
int rc;
|
2727
|
+
size_t i;
|
2728
|
+
|
2729
|
+
setlocale (LC_ALL, "");
|
2730
|
+
|
2731
|
+
printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
|
2732
|
+
fflush (stdout);
|
2733
|
+
if (!fgets (buf, BUFSIZ, stdin))
|
2734
|
+
perror ("fgets");
|
2735
|
+
buf[strlen (buf) - 1] = '\0';
|
2736
|
+
|
2737
|
+
printf ("Read string (length %ld): ", (long int) strlen (buf));
|
2738
|
+
for (i = 0; i < strlen (buf); i++)
|
2739
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2740
|
+
printf ("\n");
|
2741
|
+
|
2742
|
+
rc = idna_to_ascii_lz (buf, &p, 0);
|
2743
|
+
if (rc != IDNA_SUCCESS)
|
2744
|
+
{
|
2745
|
+
printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
|
2746
|
+
return EXIT_FAILURE;
|
2747
|
+
}
|
2748
|
+
|
2749
|
+
printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
|
2750
|
+
for (i = 0; i < strlen (p); i++)
|
2751
|
+
printf ("%02x ", p[i] & 0xFF);
|
2752
|
+
printf ("\n");
|
2753
|
+
|
2754
|
+
free (p);
|
2755
|
+
|
2756
|
+
return 0;
|
2757
|
+
}
|
2758
|
+
|
2759
|
+
|
2760
|
+
File: libidn.info, Node: Example 4, Next: Example 5, Prev: Example 3, Up: Examples
|
2761
|
+
|
2762
|
+
9.4 Example 4
|
2763
|
+
=============
|
2764
|
+
|
2765
|
+
This example demonstrates how the library is used to convert ASCII
|
2766
|
+
compatible names to internationalized domain names.
|
2767
|
+
|
2768
|
+
/* example4.c --- Example ToUnicode() code showing how to use Libidn.
|
2769
|
+
* Copyright (C) 2002-2015 Simon Josefsson
|
2770
|
+
*
|
2771
|
+
* This file is part of GNU Libidn.
|
2772
|
+
*
|
2773
|
+
* This program is free software: you can redistribute it and/or modify
|
2774
|
+
* it under the terms of the GNU General Public License as published by
|
2775
|
+
* the Free Software Foundation, either version 3 of the License, or
|
2776
|
+
* (at your option) any later version.
|
2777
|
+
*
|
2778
|
+
* This program is distributed in the hope that it will be useful,
|
2779
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2780
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2781
|
+
* GNU General Public License for more details.
|
2782
|
+
*
|
2783
|
+
* You should have received a copy of the GNU General Public License
|
2784
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2785
|
+
*
|
2786
|
+
*/
|
2787
|
+
|
2788
|
+
#include <stdio.h>
|
2789
|
+
#include <stdlib.h>
|
2790
|
+
#include <string.h>
|
2791
|
+
#include <locale.h> /* setlocale() */
|
2792
|
+
#include <stringprep.h> /* stringprep_locale_charset() */
|
2793
|
+
#include <idna.h> /* idna_to_unicode_lzlz() */
|
2794
|
+
|
2795
|
+
/*
|
2796
|
+
* Compiling using libtool and pkg-config is recommended:
|
2797
|
+
*
|
2798
|
+
* $ libtool cc -o example4 example4.c `pkg-config --cflags --libs libidn`
|
2799
|
+
* $ ./example4
|
2800
|
+
* Input domain encoded as `ISO-8859-1': www.xn--rksmrgsa-0zap8p.example
|
2801
|
+
* Read string (length 33): 77 77 77 2e 78 6e 2d 2d 72 6b 73 6d 72 67 73 61 2d 30 7a 61 70 38 70 2e 65 78 61 6d 70 6c 65
|
2802
|
+
* ACE label (length 23): 'www.räksmörgåsa.example'
|
2803
|
+
* 77 77 77 2e 72 e4 6b 73 6d f6 72 67 e5 73 61 2e 65 78 61 6d 70 6c 65
|
2804
|
+
* $
|
2805
|
+
*
|
2806
|
+
*/
|
2807
|
+
|
2808
|
+
int
|
2809
|
+
main (void)
|
2810
|
+
{
|
2811
|
+
char buf[BUFSIZ];
|
2812
|
+
char *p;
|
2813
|
+
int rc;
|
2814
|
+
size_t i;
|
2815
|
+
|
2816
|
+
setlocale (LC_ALL, "");
|
2817
|
+
|
2818
|
+
printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
|
2819
|
+
fflush (stdout);
|
2820
|
+
if (!fgets (buf, BUFSIZ, stdin))
|
2821
|
+
perror ("fgets");
|
2822
|
+
buf[strlen (buf) - 1] = '\0';
|
2823
|
+
|
2824
|
+
printf ("Read string (length %ld): ", (long int) strlen (buf));
|
2825
|
+
for (i = 0; i < strlen (buf); i++)
|
2826
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2827
|
+
printf ("\n");
|
2828
|
+
|
2829
|
+
rc = idna_to_unicode_lzlz (buf, &p, 0);
|
2830
|
+
if (rc != IDNA_SUCCESS)
|
2831
|
+
{
|
2832
|
+
printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
|
2833
|
+
return EXIT_FAILURE;
|
2834
|
+
}
|
2835
|
+
|
2836
|
+
printf ("ACE label (length %ld): '%s'\n", (long int) strlen (p), p);
|
2837
|
+
for (i = 0; i < strlen (p); i++)
|
2838
|
+
printf ("%02x ", p[i] & 0xFF);
|
2839
|
+
printf ("\n");
|
2840
|
+
|
2841
|
+
free (p);
|
2842
|
+
|
2843
|
+
return 0;
|
2844
|
+
}
|
2845
|
+
|
2846
|
+
|
2847
|
+
File: libidn.info, Node: Example 5, Prev: Example 4, Up: Examples
|
2848
|
+
|
2849
|
+
9.5 Example 5
|
2850
|
+
=============
|
2851
|
+
|
2852
|
+
This example demonstrates how the library is used to check a string for
|
2853
|
+
invalid characters within a specific TLD.
|
2854
|
+
|
2855
|
+
/* example5.c --- Example TLD checking.
|
2856
|
+
* Copyright (C) 2004-2015 Simon Josefsson
|
2857
|
+
*
|
2858
|
+
* This file is part of GNU Libidn.
|
2859
|
+
*
|
2860
|
+
* This program is free software: you can redistribute it and/or modify
|
2861
|
+
* it under the terms of the GNU General Public License as published by
|
2862
|
+
* the Free Software Foundation, either version 3 of the License, or
|
2863
|
+
* (at your option) any later version.
|
2864
|
+
*
|
2865
|
+
* This program is distributed in the hope that it will be useful,
|
2866
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2867
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2868
|
+
* GNU General Public License for more details.
|
2869
|
+
*
|
2870
|
+
* You should have received a copy of the GNU General Public License
|
2871
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2872
|
+
*
|
2873
|
+
*/
|
2874
|
+
|
2875
|
+
#include <stdio.h>
|
2876
|
+
#include <stdlib.h>
|
2877
|
+
#include <string.h>
|
2878
|
+
|
2879
|
+
/* Get stringprep_locale_charset, etc. */
|
2880
|
+
#include <stringprep.h>
|
2881
|
+
|
2882
|
+
/* Get idna_to_ascii_8z, etc. */
|
2883
|
+
#include <idna.h>
|
2884
|
+
|
2885
|
+
/* Get tld_check_4z. */
|
2886
|
+
#include <tld.h>
|
2887
|
+
|
2888
|
+
/*
|
2889
|
+
* Compiling using libtool and pkg-config is recommended:
|
2890
|
+
*
|
2891
|
+
* $ libtool cc -o example5 example5.c `pkg-config --cflags --libs libidn`
|
2892
|
+
* $ ./example5
|
2893
|
+
* Input domain encoded as `UTF-8': fooß.no
|
2894
|
+
* Read string (length 8): 66 6f 6f c3 9f 2e 6e 6f
|
2895
|
+
* ToASCII string (length 8): fooss.no
|
2896
|
+
* ToUnicode string: U+0066 U+006f U+006f U+0073 U+0073 U+002e U+006e U+006f
|
2897
|
+
* Domain accepted by TLD check
|
2898
|
+
*
|
2899
|
+
* $ ./example5
|
2900
|
+
* Input domain encoded as `UTF-8': gr€€n.no
|
2901
|
+
* Read string (length 12): 67 72 e2 82 ac e2 82 ac 6e 2e 6e 6f
|
2902
|
+
* ToASCII string (length 16): xn--grn-l50aa.no
|
2903
|
+
* ToUnicode string: U+0067 U+0072 U+20ac U+20ac U+006e U+002e U+006e U+006f
|
2904
|
+
* Domain rejected by TLD check, Unicode position 2
|
2905
|
+
*
|
2906
|
+
*/
|
2907
|
+
|
2908
|
+
int
|
2909
|
+
main (void)
|
2910
|
+
{
|
2911
|
+
char buf[BUFSIZ];
|
2912
|
+
char *p;
|
2913
|
+
uint32_t *r;
|
2914
|
+
int rc;
|
2915
|
+
size_t errpos, i;
|
2916
|
+
|
2917
|
+
printf ("Input domain encoded as `%s': ", stringprep_locale_charset ());
|
2918
|
+
fflush (stdout);
|
2919
|
+
if (!fgets (buf, BUFSIZ, stdin))
|
2920
|
+
perror ("fgets");
|
2921
|
+
buf[strlen (buf) - 1] = '\0';
|
2922
|
+
|
2923
|
+
printf ("Read string (length %ld): ", (long int) strlen (buf));
|
2924
|
+
for (i = 0; i < strlen (buf); i++)
|
2925
|
+
printf ("%02x ", buf[i] & 0xFF);
|
2926
|
+
printf ("\n");
|
2927
|
+
|
2928
|
+
p = stringprep_locale_to_utf8 (buf);
|
2929
|
+
if (p)
|
2930
|
+
{
|
2931
|
+
strcpy (buf, p);
|
2932
|
+
free (p);
|
2933
|
+
}
|
2934
|
+
else
|
2935
|
+
printf ("Could not convert string to UTF-8, continuing anyway...\n");
|
2936
|
+
|
2937
|
+
rc = idna_to_ascii_8z (buf, &p, 0);
|
2938
|
+
if (rc != IDNA_SUCCESS)
|
2939
|
+
{
|
2940
|
+
printf ("idna_to_ascii_8z failed (%d): %s\n", rc, idna_strerror (rc));
|
2941
|
+
return 2;
|
2942
|
+
}
|
2943
|
+
|
2944
|
+
printf ("ToASCII string (length %ld): %s\n", (long int) strlen (p), p);
|
2945
|
+
|
2946
|
+
rc = idna_to_unicode_8z4z (p, &r, 0);
|
2947
|
+
free (p);
|
2948
|
+
if (rc != IDNA_SUCCESS)
|
2949
|
+
{
|
2950
|
+
printf ("idna_to_unicode_8z4z failed (%d): %s\n",
|
2951
|
+
rc, idna_strerror (rc));
|
2952
|
+
return 2;
|
2953
|
+
}
|
2954
|
+
|
2955
|
+
printf ("ToUnicode string: ");
|
2956
|
+
for (i = 0; r[i]; i++)
|
2957
|
+
printf ("U+%04x ", r[i]);
|
2958
|
+
printf ("\n");
|
2959
|
+
|
2960
|
+
rc = tld_check_4z (r, &errpos, NULL);
|
2961
|
+
free (r);
|
2962
|
+
if (rc == TLD_INVALID)
|
2963
|
+
{
|
2964
|
+
printf ("Domain rejected by TLD check, Unicode position %ld\n", (long int) errpos);
|
2965
|
+
return 1;
|
2966
|
+
}
|
2967
|
+
else if (rc != TLD_SUCCESS)
|
2968
|
+
{
|
2969
|
+
printf ("tld_check_4z() failed (%d): %s\n", rc, tld_strerror (rc));
|
2970
|
+
return 2;
|
2971
|
+
}
|
2972
|
+
|
2973
|
+
printf ("Domain accepted by TLD check\n");
|
2974
|
+
|
2975
|
+
return 0;
|
2976
|
+
}
|
2977
|
+
|
2978
|
+
|
2979
|
+
File: libidn.info, Node: Invoking idn, Next: Emacs API, Prev: Examples, Up: Top
|
2980
|
+
|
2981
|
+
10 Invoking idn
|
2982
|
+
***************
|
2983
|
+
|
2984
|
+
10.1 Name
|
2985
|
+
=========
|
2986
|
+
|
2987
|
+
GNU Libidn (idn) – Internationalized Domain Names command line tool
|
2988
|
+
|
2989
|
+
10.2 Description
|
2990
|
+
================
|
2991
|
+
|
2992
|
+
‘idn’ allows internationalized string preparation (‘stringprep’),
|
2993
|
+
encoding and decoding of punycode data, and IDNA ToASCII/ToUnicode
|
2994
|
+
operations to be performed on the command line.
|
2995
|
+
|
2996
|
+
If strings are specified on the command line, they are used as input
|
2997
|
+
and the computed output is printed to standard output ‘stdout’. If no
|
2998
|
+
strings are specified on the command line, the program read data, line
|
2999
|
+
by line, from the standard input ‘stdin’, and print the computed output
|
3000
|
+
to standard output. What processing is performed (e.g., ToASCII, or
|
3001
|
+
Punycode encode) is indicated by options. If any errors are
|
3002
|
+
encountered, the execution of the applications is aborted.
|
3003
|
+
|
3004
|
+
All strings are expected to be encoded in the preferred charset used
|
3005
|
+
by your locale. Use ‘--debug’ to find out what this charset is. You
|
3006
|
+
can override the charset used by setting environment variable ‘CHARSET’.
|
3007
|
+
|
3008
|
+
To process a string that starts with ‘-’, for example ‘-foo’, use
|
3009
|
+
‘--’ to signal the end of parameters, as in ‘idn --quiet -a -- -foo’.
|
3010
|
+
|
3011
|
+
10.3 Options
|
3012
|
+
============
|
3013
|
+
|
3014
|
+
‘idn’ recognizes these commands:
|
3015
|
+
|
3016
|
+
-h, --help Print help and exit
|
3017
|
+
|
3018
|
+
-V, --version Print version and exit
|
3019
|
+
|
3020
|
+
-s, --stringprep Prepare string according to nameprep profile
|
3021
|
+
|
3022
|
+
-d, --punycode-decode Decode Punycode
|
3023
|
+
|
3024
|
+
-e, --punycode-encode Encode Punycode
|
3025
|
+
|
3026
|
+
-a, --idna-to-ascii Convert to ACE according to IDNA (default mode)
|
3027
|
+
|
3028
|
+
-u, --idna-to-unicode Convert from ACE according to IDNA
|
3029
|
+
|
3030
|
+
--allow-unassigned Toggle IDNA AllowUnassigned flag (default off)
|
3031
|
+
|
3032
|
+
--usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)
|
3033
|
+
|
3034
|
+
--no-tld Don't check string for TLD specific rules
|
3035
|
+
Only for --idna-to-ascii and --idna-to-unicode
|
3036
|
+
|
3037
|
+
-n, --nfkc Normalize string according to Unicode v3.2 NFKC
|
3038
|
+
|
3039
|
+
-p, --profile=STRING Use specified stringprep profile instead
|
3040
|
+
Valid stringprep profiles: `Nameprep',
|
3041
|
+
`iSCSI', `Nodeprep', `Resourceprep',
|
3042
|
+
`trace', `SASLprep'
|
3043
|
+
|
3044
|
+
--debug Print debugging information
|
3045
|
+
|
3046
|
+
--quiet Silent operation
|
3047
|
+
|
3048
|
+
10.4 Environment Variables
|
3049
|
+
==========================
|
3050
|
+
|
3051
|
+
The CHARSET environment variable can be used to override what character
|
3052
|
+
set to be used for decoding incoming data (i.e., on the command line or
|
3053
|
+
on the standard input stream), and to encode data to the standard
|
3054
|
+
output. If your system is set up correctly, however, the application
|
3055
|
+
will guess which character set is used automatically. Example usage:
|
3056
|
+
|
3057
|
+
$ CHARSET=ISO-8859-1 idn --punycode-encode
|
3058
|
+
...
|
3059
|
+
|
3060
|
+
10.5 Examples
|
3061
|
+
=============
|
3062
|
+
|
3063
|
+
Standard usage, reading input from standard input:
|
3064
|
+
|
3065
|
+
jas@latte:~$ idn
|
3066
|
+
libidn 0.3.5
|
3067
|
+
Copyright 2002, 2003 Simon Josefsson.
|
3068
|
+
GNU Libidn comes with NO WARRANTY, to the extent permitted by law.
|
3069
|
+
You may redistribute copies of GNU Libidn under the terms of
|
3070
|
+
the GNU Lesser General Public License. For more information
|
3071
|
+
about these matters, see the file named COPYING.LIB.
|
3072
|
+
Type each input string on a line by itself, terminated by a newline character.
|
3073
|
+
räksmörgås.se
|
3074
|
+
xn--rksmrgs-5wao1o.se
|
3075
|
+
jas@latte:~$
|
3076
|
+
|
3077
|
+
Reading input from command line, and disable printing copyright and
|
3078
|
+
license information:
|
3079
|
+
|
3080
|
+
jas@latte:~$ idn --quiet räksmörgås.se blåbærgrød.no
|
3081
|
+
xn--rksmrgs-5wao1o.se
|
3082
|
+
xn--blbrgrd-fxak7p.no
|
3083
|
+
jas@latte:~$
|
3084
|
+
|
3085
|
+
Accessing a specific StringPrep profile directly:
|
3086
|
+
|
3087
|
+
jas@latte:~$ idn --quiet --profile=SASLprep --stringprep teßtª
|
3088
|
+
teßta
|
3089
|
+
jas@latte:~$
|
3090
|
+
|
3091
|
+
10.6 Troubleshooting
|
3092
|
+
====================
|
3093
|
+
|
3094
|
+
Getting character data encoded right, and making sure Libidn use the
|
3095
|
+
same encoding, can be difficult. The reason for this is that most
|
3096
|
+
systems encode character data in more than one character encoding, i.e.,
|
3097
|
+
using ‘UTF-8’ together with ‘ISO-8859-1’ or ‘ISO-2022-JP’. This problem
|
3098
|
+
is likely to continue to exist until only one character encoding come
|
3099
|
+
out as the evolutionary winner, or (more likely, at least to some
|
3100
|
+
extents) forever.
|
3101
|
+
|
3102
|
+
The first step to troubleshooting character encoding problems with
|
3103
|
+
Libidn is to use the ‘--debug’ parameter to find out which character set
|
3104
|
+
encoding ‘idn’ believe your locale uses.
|
3105
|
+
|
3106
|
+
jas@latte:~$ idn --debug --quiet ""
|
3107
|
+
system locale uses charset `UTF-8'.
|
3108
|
+
|
3109
|
+
jas@latte:~$
|
3110
|
+
|
3111
|
+
If it prints ‘ANSI_X3.4-1968’ (i.e., ‘US-ASCII’), this indicate you
|
3112
|
+
have not configured your locale properly. To configure the locale, you
|
3113
|
+
can, for example, use ‘LANG=sv_SE.UTF-8; export LANG’ at a ‘/bin/sh’
|
3114
|
+
prompt, to set up your locale for a Swedish environment using ‘UTF-8’ as
|
3115
|
+
the encoding.
|
3116
|
+
|
3117
|
+
Sometimes ‘idn’ appear to be unable to translate from your system
|
3118
|
+
locale into ‘UTF-8’ (which is used internally), and you get an error
|
3119
|
+
like the following:
|
3120
|
+
|
3121
|
+
jas@latte:~$ idn --quiet foo
|
3122
|
+
idn: could not convert from ISO-8859-1 to UTF-8.
|
3123
|
+
jas@latte:~$
|
3124
|
+
|
3125
|
+
The simplest explanation is that you haven’t installed the ‘iconv’
|
3126
|
+
conversion tools. You can find it as a standalone library in GNU
|
3127
|
+
Libiconv (<http://www.gnu.org/software/libiconv/>). On many GNU/Linux
|
3128
|
+
systems, this library is part of the system, but you may have to install
|
3129
|
+
additional packages (e.g., ‘glibc-locale’ for Debian) to be able to use
|
3130
|
+
it.
|
3131
|
+
|
3132
|
+
Another explanation is that the error is correct and you are feeding
|
3133
|
+
‘idn’ invalid data. This can happen inadvertently if you are not
|
3134
|
+
careful with the character set encoding you use. For example, if your
|
3135
|
+
shell run in a ‘ISO-8859-1’ environment, and you invoke ‘idn’ with the
|
3136
|
+
‘CHARSET’ environment variable as follows, you will feed it ‘ISO-8859-1’
|
3137
|
+
characters but force it to believe they are ‘UTF-8’. Naturally this
|
3138
|
+
will lead to an error, unless the byte sequences happen to be valid
|
3139
|
+
‘UTF-8’. Note that even if you don’t get an error, the output may be
|
3140
|
+
incorrect in this situation, because ‘ISO-8859-1’ and ‘UTF-8’ does not
|
3141
|
+
in general encode the same characters as the same byte sequences.
|
3142
|
+
|
3143
|
+
jas@latte:~$ idn --quiet --debug ""
|
3144
|
+
system locale uses charset `ISO-8859-1'.
|
3145
|
+
|
3146
|
+
jas@latte:~$ CHARSET=UTF-8 idn --quiet --debug räksmörgås
|
3147
|
+
system locale uses charset `UTF-8'.
|
3148
|
+
input[0] = U+0072
|
3149
|
+
input[1] = U+4af3
|
3150
|
+
input[2] = U+006d
|
3151
|
+
input[3] = U+1b29e5
|
3152
|
+
input[4] = U+0073
|
3153
|
+
output[0] = U+0078
|
3154
|
+
output[1] = U+006e
|
3155
|
+
output[2] = U+002d
|
3156
|
+
output[3] = U+002d
|
3157
|
+
output[4] = U+0072
|
3158
|
+
output[5] = U+006d
|
3159
|
+
output[6] = U+0073
|
3160
|
+
output[7] = U+002d
|
3161
|
+
output[8] = U+0068
|
3162
|
+
output[9] = U+0069
|
3163
|
+
output[10] = U+0036
|
3164
|
+
output[11] = U+0064
|
3165
|
+
output[12] = U+0035
|
3166
|
+
output[13] = U+0039
|
3167
|
+
output[14] = U+0037
|
3168
|
+
output[15] = U+0035
|
3169
|
+
output[16] = U+0035
|
3170
|
+
output[17] = U+0032
|
3171
|
+
output[18] = U+0061
|
3172
|
+
xn--rms-hi6d597552a
|
3173
|
+
jas@latte:~$
|
3174
|
+
|
3175
|
+
The sense moral here is to forget about ‘CHARSET’ (configure your
|
3176
|
+
locales properly instead) unless you know what you are doing, and if you
|
3177
|
+
want to use it, do it carefully, after verifying with ‘--debug’ that you
|
3178
|
+
get the desired results.
|
3179
|
+
|
3180
|
+
|
3181
|
+
File: libidn.info, Node: Emacs API, Next: Java API, Prev: Invoking idn, Up: Top
|
3182
|
+
|
3183
|
+
11 Emacs API
|
3184
|
+
************
|
3185
|
+
|
3186
|
+
Included in Libidn are ‘punycode.el’ and ‘idna.el’ that provides an
|
3187
|
+
Emacs Lisp API to (a limited set of) the Libidn API. This section
|
3188
|
+
describes the API. Currently the IDNA API always set the
|
3189
|
+
‘UseSTD3ASCIIRules’ flag and clear the ‘AllowUnassigned’ flag, in the
|
3190
|
+
future there may be functionality to specify these flags via the API.
|
3191
|
+
|
3192
|
+
11.1 Punycode Emacs API
|
3193
|
+
=======================
|
3194
|
+
|
3195
|
+
-- Variable: punycode-program
|
3196
|
+
Name of the GNU Libidn ‘idn’ application. The default is ‘idn’.
|
3197
|
+
This variable can be customized.
|
3198
|
+
|
3199
|
+
-- Variable: punycode-environment
|
3200
|
+
List of environment variable definitions prepended to
|
3201
|
+
‘process-environment’. The default is ‘("CHARSET=UTF-8")’. This
|
3202
|
+
variable can be customized.
|
3203
|
+
|
3204
|
+
-- Variable: punycode-encode-parameters
|
3205
|
+
List of parameters passed to PUNYCODE-PROGRAM to invoke punycode
|
3206
|
+
encoding mode. The default is ‘("--quiet" "--punycode-encode")’.
|
3207
|
+
This variable can be customized.
|
3208
|
+
|
3209
|
+
-- Variable: punycode-decode-parameters
|
3210
|
+
Parameters passed to PUNYCODE-PROGRAM to invoke punycode decoding
|
3211
|
+
mode. The default is ‘("--quiet" "--punycode-decode")’. This
|
3212
|
+
variable can be customized.
|
3213
|
+
|
3214
|
+
-- Function: punycode-encode string
|
3215
|
+
Returns a Punycode encoding of the STRING, after converting the
|
3216
|
+
input into UTF-8.
|
3217
|
+
|
3218
|
+
-- Function: punycode-decode string
|
3219
|
+
Returns a possibly multibyte string which is the decoding of the
|
3220
|
+
STRING which is a punycode encoded string.
|
3221
|
+
|
3222
|
+
11.2 IDNA Emacs API
|
3223
|
+
===================
|
3224
|
+
|
3225
|
+
-- Variable: idna-program
|
3226
|
+
Name of the GNU Libidn ‘idn’ application. The default is ‘idn’.
|
3227
|
+
This variable can be customized.
|
3228
|
+
|
3229
|
+
-- Variable: idna-environment
|
3230
|
+
List of environment variable definitions prepended to
|
3231
|
+
‘process-environment’. The default is ‘("CHARSET=UTF-8")’. This
|
3232
|
+
variable can be customized.
|
3233
|
+
|
3234
|
+
-- Variable: idna-to-ascii-parameters
|
3235
|
+
List of parameters passed to IDNA-PROGRAM to invoke IDNA ToASCII
|
3236
|
+
mode. The default is ‘("--quiet" "--idna-to-ascii"
|
3237
|
+
"--usestd3asciirules")’. This variable can be customized.
|
3238
|
+
|
3239
|
+
-- Variable: idna-to-unicode-parameters
|
3240
|
+
Parameters passed IDNA-PROGRAM to invoke IDNA ToUnicode mode. The
|
3241
|
+
default is ‘("--quiet" "--idna-to-unicode" "--usestd3asciirules")’.
|
3242
|
+
This variable can be customized.
|
3243
|
+
|
3244
|
+
-- Function: idna-to-ascii string
|
3245
|
+
Returns an ASCII Compatible Encoding (ACE) of the string computed
|
3246
|
+
by the IDNA ToASCII operation on the input STRING, after converting
|
3247
|
+
the input to UTF-8.
|
3248
|
+
|
3249
|
+
-- Function: idna-to-unicode string
|
3250
|
+
Returns a possibly multibyte string which is the output of the IDNA
|
3251
|
+
ToUnicode operation computed on the input STRING.
|
3252
|
+
|
3253
|
+
|
3254
|
+
File: libidn.info, Node: Java API, Next: C# API, Prev: Emacs API, Up: Top
|
3255
|
+
|
3256
|
+
12 Java API
|
3257
|
+
***********
|
3258
|
+
|
3259
|
+
Libidn has been ported to the Java programming language, and as a
|
3260
|
+
consequence most of the API is available to native Java applications.
|
3261
|
+
This section contain notes on this support, complete documentation is
|
3262
|
+
pending.
|
3263
|
+
|
3264
|
+
The Java library, if Libidn has been built with Java support (*note
|
3265
|
+
Downloading and Installing::), will be placed in ‘java/libidn-1.32.jar’.
|
3266
|
+
The source code is below ‘java/’ in Maven directory layout, and there is
|
3267
|
+
a Maven ‘pom.xml’ build script as well. Source code files are in
|
3268
|
+
‘java/src/main/java/gnu/inet/encoding/’.
|
3269
|
+
|
3270
|
+
12.1 Overview
|
3271
|
+
=============
|
3272
|
+
|
3273
|
+
This package provides a Java implementation of the Internationalized
|
3274
|
+
Domain Names in Applications (IDNA) standard. It is written entirely in
|
3275
|
+
Java and does not require any additional libraries to be set up.
|
3276
|
+
|
3277
|
+
The gnu.inet.encoding.IDNA class offers two public functions, toASCII
|
3278
|
+
and toUnicode which can be used as follows:
|
3279
|
+
|
3280
|
+
gnu.inet.encoding.IDNA.toASCII("blöds.züg");
|
3281
|
+
gnu.inet.encoding.IDNA.toUnicode("xn--blds-6qa.xn--zg-xka");
|
3282
|
+
|
3283
|
+
12.2 Miscellaneous Programs
|
3284
|
+
===========================
|
3285
|
+
|
3286
|
+
The ‘java/src/util/java/’ directory contains several programs that are
|
3287
|
+
related to the Java part of GNU Libidn, but that don’t need to be
|
3288
|
+
included in the main source tree or the JAR file.
|
3289
|
+
|
3290
|
+
12.2.1 GenerateRFC3454
|
3291
|
+
----------------------
|
3292
|
+
|
3293
|
+
This program parses RFC3454 and creates the RFC3454.java program that is
|
3294
|
+
required during the StringPrep phase.
|
3295
|
+
|
3296
|
+
The RFC can be found at various locations, for example at
|
3297
|
+
<http://www.ietf.org/rfc/rfc3454.txt>.
|
3298
|
+
|
3299
|
+
Invoke the program as follows:
|
3300
|
+
|
3301
|
+
$ java GenerateRFC3454
|
3302
|
+
Creating RFC3454.java... Ok.
|
3303
|
+
|
3304
|
+
12.2.2 GenerateNFKC
|
3305
|
+
-------------------
|
3306
|
+
|
3307
|
+
The GenerateNFKC program parses the Unicode character database file and
|
3308
|
+
generates all the tables required for NFKC. This program requires the
|
3309
|
+
two files UnicodeData.txt and CompositionExclusions.txt of version 3.2
|
3310
|
+
of the Unicode files. Note that RFC3454 (Stringprep) defines that
|
3311
|
+
Unicode version 3.2 is to be used, not the latest version.
|
3312
|
+
|
3313
|
+
The Unicode data files can be found at
|
3314
|
+
<http://www.unicode.org/Public/>.
|
3315
|
+
|
3316
|
+
Invoke the program as follows:
|
3317
|
+
|
3318
|
+
$ java GenerateNFKC
|
3319
|
+
Creating CombiningClass.java... Ok.
|
3320
|
+
Creating DecompositionKeys.java... Ok.
|
3321
|
+
Creating DecompositionMappings.java... Ok.
|
3322
|
+
Creating Composition.java... Ok.
|
3323
|
+
|
3324
|
+
12.2.3 TestIDNA
|
3325
|
+
---------------
|
3326
|
+
|
3327
|
+
The TestIDNA program allows to test the IDNA implementation manually or
|
3328
|
+
against Simon Josefsson’s test vectors.
|
3329
|
+
|
3330
|
+
The test vectors can be found at the Libidn homepage,
|
3331
|
+
<http://www.gnu.org/software/libidn/>.
|
3332
|
+
|
3333
|
+
To test the transformation manually, use:
|
3334
|
+
|
3335
|
+
$ java -cp .:/usr/share/java/libidn.jar TestIDNA -a <string to test>
|
3336
|
+
Input: <string to test>
|
3337
|
+
Output: <toASCII(string to test)>
|
3338
|
+
$ java -cp .:/usr/share/java/libidn.jar TestIDNA -u <string to test>
|
3339
|
+
Input: <string to test>
|
3340
|
+
Output: <toUnicode(string to test)>
|
3341
|
+
|
3342
|
+
To test against draft-josefsson-idn-test-vectors.html, use:
|
3343
|
+
|
3344
|
+
$ java -cp .:/usr/share/java/libidn/libidn.jar TestIDNA -t
|
3345
|
+
No errors detected!
|
3346
|
+
|
3347
|
+
12.2.4 TestNFKC
|
3348
|
+
---------------
|
3349
|
+
|
3350
|
+
The TestNFKC program allows to test the NFKC implementation manually or
|
3351
|
+
against the NormalizationTest.txt file from the Unicode data files.
|
3352
|
+
|
3353
|
+
To test the normalization manually, use:
|
3354
|
+
|
3355
|
+
$ java -cp .:/usr/share/java/libidn.jar TestNFKC <string to test>
|
3356
|
+
Input: <string to test>
|
3357
|
+
Output: <nfkc version of the string to test>
|
3358
|
+
|
3359
|
+
To test against NormalizationTest.txt:
|
3360
|
+
|
3361
|
+
$ java -cp .:/usr/share/java/libidn.jar TestNFKC
|
3362
|
+
No errors detected!
|
3363
|
+
|
3364
|
+
12.3 Possible Problems
|
3365
|
+
======================
|
3366
|
+
|
3367
|
+
Beware of Bugs: This Java API needs a lot more testing, especially with
|
3368
|
+
"exotic" character sets. While it works for me, it may not work for
|
3369
|
+
you.
|
3370
|
+
|
3371
|
+
Encoding of your Java sources: If you are using non-ASCII characters
|
3372
|
+
in your Java source code, make sure javac compiles your programs with
|
3373
|
+
the correct encoding. If necessary specify the encoding using the
|
3374
|
+
-encoding parameter.
|
3375
|
+
|
3376
|
+
Java Unicode handling: Java 1.4 only handles 16-bit Unicode code
|
3377
|
+
points (i.e. characters in the Basic Multilingual Plane), this
|
3378
|
+
implementation therefore ignores all references to so-called
|
3379
|
+
Supplementary Characters (U+10000 to U+10FFFF). Starting from Java 1.5,
|
3380
|
+
these characters will also be supported by Java, but this will require
|
3381
|
+
changes to this library. See also the next section.
|
3382
|
+
|
3383
|
+
12.4 A Note on Java and Unicode
|
3384
|
+
===============================
|
3385
|
+
|
3386
|
+
This library uses Java’s built-in ’char’ datatype. Up to Java 1.4, this
|
3387
|
+
datatype only supports 16-bit Unicode code points, also called the Basic
|
3388
|
+
Multilingual Plane. For this reason, this library doesn’t work for
|
3389
|
+
Supplementary Characters (i.e. characters from U+10000 to U+10FFFF).
|
3390
|
+
All references to such characters are silently ignored.
|
3391
|
+
|
3392
|
+
Starting from Java 1.5, also Supplementary Characters will be
|
3393
|
+
supported. However, this will require changes in the present version of
|
3394
|
+
the library. Java 1.5 is currently in beta status.
|
3395
|
+
|
3396
|
+
For more information refer to the documentation of
|
3397
|
+
java.lang.Character in the JDK API.
|
3398
|
+
|
3399
|
+
|
3400
|
+
File: libidn.info, Node: C# API, Next: Acknowledgements, Prev: Java API, Up: Top
|
3401
|
+
|
3402
|
+
13 C# API
|
3403
|
+
*********
|
3404
|
+
|
3405
|
+
The Libidn library has been ported to the C# language. The port reside
|
3406
|
+
in the top-level ‘csharp/’ directory. Currently, no further
|
3407
|
+
documentation about the implementation or the API is available.
|
3408
|
+
However, the C# port was based on the Java port, and the API is exactly
|
3409
|
+
the same as in the Java version. The help files for the Java API may
|
3410
|
+
thus be useful.
|
3411
|
+
|
3412
|
+
|
3413
|
+
File: libidn.info, Node: Acknowledgements, Next: History, Prev: C# API, Up: Top
|
3414
|
+
|
3415
|
+
14 Acknowledgements
|
3416
|
+
*******************
|
3417
|
+
|
3418
|
+
The punycode implementation was taken from the IETF IDN Punycode
|
3419
|
+
specification, by Adam M. Costello. The TLD code was contributed by
|
3420
|
+
Thomas Jacob. The Java implementation was contributed by Oliver Hitz.
|
3421
|
+
The C# implementation was contributed by Alexander Gnauck. The Unicode
|
3422
|
+
tables were provided by Unicode, Inc. Some functions for dealing with
|
3423
|
+
Unicode (see nfkc.c and toutf8.c) were borrowed from GLib, downloaded
|
3424
|
+
from <http://www.gtk.org/>. The manual borrowed text from Libgcrypt by
|
3425
|
+
Werner Koch.
|
3426
|
+
|
3427
|
+
Inspiration for many things that, consciously or not, have gone into
|
3428
|
+
this package is due to a number of free software package that the author
|
3429
|
+
has been exposed to. The author wishes to acknowledge the free software
|
3430
|
+
community in general, for giving an example on what role software
|
3431
|
+
development can play in the modern society.
|
3432
|
+
|
3433
|
+
Several people reported bugs, sent patches or suggested improvements,
|
3434
|
+
see the file THANKS in the top-level directory of the source code.
|
3435
|
+
|
3436
|
+
|
3437
|
+
File: libidn.info, Node: History, Next: PR29 discussion, Prev: Acknowledgements, Up: Top
|
3438
|
+
|
3439
|
+
15 History
|
3440
|
+
**********
|
3441
|
+
|
3442
|
+
The complete history of user visible changes is stored in the file
|
3443
|
+
‘NEWS’ in the top-level directory of the source code tree. The complete
|
3444
|
+
history of modifications to each file is stored in the file ‘ChangeLog’
|
3445
|
+
in the same directory. This section contain a condensed version of that
|
3446
|
+
information, in the form of “milestones” for the project.
|
3447
|
+
|
3448
|
+
Stringprep implementation.
|
3449
|
+
Version 0.0.0 released on 2002-11-05.
|
3450
|
+
|
3451
|
+
IDNA and Punycode implementations, part of the GNU project.
|
3452
|
+
Version 0.1.0 released on 2003-01-05.
|
3453
|
+
|
3454
|
+
Uses official IDNA ACE prefix ‘xn--’.
|
3455
|
+
Version 0.1.7 released on 2003-02-12.
|
3456
|
+
|
3457
|
+
Command line interface.
|
3458
|
+
Version 0.1.11 released on 2003-02-26.
|
3459
|
+
|
3460
|
+
GNU Libc add-on proposed.
|
3461
|
+
Version 0.1.12 released on 2003-03-06.
|
3462
|
+
|
3463
|
+
Interoperability testing during IDNConnect.
|
3464
|
+
Version 0.3.1 released on 2003-10-02.
|
3465
|
+
|
3466
|
+
TLD restriction testing.
|
3467
|
+
Version 0.4.0 released on 2004-02-28.
|
3468
|
+
|
3469
|
+
GNU Libc add-on integrated.
|
3470
|
+
Version 0.4.1 released on 2004-03-08.
|
3471
|
+
|
3472
|
+
Native Java implementation.
|
3473
|
+
Version 0.4.2-0.4.9 released between 2004-03-20 and 2004-06-11.
|
3474
|
+
|
3475
|
+
PR-29 functions for “problem sequences”.
|
3476
|
+
Version 0.5.0 released on 2004-06-26.
|
3477
|
+
|
3478
|
+
Many small portability fixes and wider use.
|
3479
|
+
Version 0.5.1 through 0.5.20, released between 2004-07-09 and
|
3480
|
+
2005-10-23.
|
3481
|
+
|
3482
|
+
Native C# implementation.
|
3483
|
+
Version 0.6.0 released on 2005-12-03.
|
3484
|
+
|
3485
|
+
Windows support through cross-compilation.
|
3486
|
+
Version 0.6.1 released on 2006-01-20.
|
3487
|
+
|
3488
|
+
Library declared stable by releasing v1.0.
|
3489
|
+
Version 1.0 released on 2007-07-31.
|
3490
|
+
|
3491
|
+
|
3492
|
+
File: libidn.info, Node: PR29 discussion, Next: On Label Separators, Prev: History, Up: Top
|
3493
|
+
|
3494
|
+
Appendix A PR29 discussion
|
3495
|
+
**************************
|
3496
|
+
|
3497
|
+
If you wish to experiment with a modified Unicode NFKC implementation
|
3498
|
+
according to the PR29 proposal, you may find the following bug report
|
3499
|
+
useful. However, I have not verified that the suggested modifications
|
3500
|
+
are correct. For reference, I’m including my response to the report as
|
3501
|
+
well.
|
3502
|
+
|
3503
|
+
From: Rick McGowan <rick@unicode.org>
|
3504
|
+
Subject: Possible bug and status of PR 29 change(s)
|
3505
|
+
To: bug-libidn@gnu.org
|
3506
|
+
Date: Wed, 27 Oct 2004 14:49:17 -0700
|
3507
|
+
|
3508
|
+
Hello. On behalf of the Unicode Consortium editorial committee, I would
|
3509
|
+
like to find out more information about the PR 29 fixes, if any, and
|
3510
|
+
functions in Libidn. Your implementation was listed in the text of PR29 as
|
3511
|
+
needing investigation, so I am following up on several implementations.
|
3512
|
+
|
3513
|
+
The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
|
3514
|
+
draft of UAX #15 has been issued.
|
3515
|
+
|
3516
|
+
I have looked at Libidn 0.5.8 (today), and there may still be a possible
|
3517
|
+
bug in NFKC.java and nfkc.c.
|
3518
|
+
|
3519
|
+
------------------------------------------------------
|
3520
|
+
|
3521
|
+
1. In NFKC.java, this line in canonicalOrdering():
|
3522
|
+
|
3523
|
+
if (i > 0 && (last_cc == 0 || last_cc != cc)) {
|
3524
|
+
|
3525
|
+
should perhaps be changed to:
|
3526
|
+
|
3527
|
+
if (i > 0 && (last_cc == 0 || last_cc < cc)) {
|
3528
|
+
|
3529
|
+
but I'm not sure of the sense of this comparison.
|
3530
|
+
|
3531
|
+
------------------------------------------------------
|
3532
|
+
|
3533
|
+
2. In nfkc.c, function _g_utf8_normalize_wc() has this code:
|
3534
|
+
|
3535
|
+
if (i > 0 &&
|
3536
|
+
(last_cc == 0 || last_cc != cc) &&
|
3537
|
+
combine (wc_buffer[last_start], wc_buffer[i],
|
3538
|
+
&wc_buffer[last_start]))
|
3539
|
+
{
|
3540
|
+
|
3541
|
+
This appears to have the same bug as the current Python implementation (in
|
3542
|
+
Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
|
3543
|
+
update, that the next combining character is the same or HIGHER than the
|
3544
|
+
current one. It now checks to see if it's non-zero and not equal.
|
3545
|
+
|
3546
|
+
The above line(s) should perhaps be changed to:
|
3547
|
+
|
3548
|
+
if (i > 0 &&
|
3549
|
+
(last_cc == 0 || last_cc < cc) &&
|
3550
|
+
combine (wc_buffer[last_start], wc_buffer[i],
|
3551
|
+
&wc_buffer[last_start]))
|
3552
|
+
{
|
3553
|
+
|
3554
|
+
but I'm not sure of the sense of the comparison (< or > or <=?) here.
|
3555
|
+
|
3556
|
+
In the text of PR29, I will be marking Libidn as "needs change" and adding
|
3557
|
+
the version number that I checked. If any further change is made, please
|
3558
|
+
let me know the release version, and I'll update again.
|
3559
|
+
|
3560
|
+
Regards,
|
3561
|
+
Rick McGowan
|
3562
|
+
|
3563
|
+
From: Simon Josefsson <jas@extundo.com>
|
3564
|
+
Subject: Re: Possible bug and status of PR 29 change(s)
|
3565
|
+
To: Rick McGowan <rick@unicode.org>
|
3566
|
+
Cc: bug-libidn@gnu.org
|
3567
|
+
Date: Thu, 28 Oct 2004 09:47:47 +0200
|
3568
|
+
|
3569
|
+
Rick McGowan <rick@unicode.org> writes:
|
3570
|
+
|
3571
|
+
> Hello. On behalf of the Unicode Consortium editorial committee, I would
|
3572
|
+
> like to find out more information about the PR 29 fixes, if any, and
|
3573
|
+
> functions in Libidn. Your implementation was listed in the text of PR29 as
|
3574
|
+
> needing investigation, so I am following up on several implementations.
|
3575
|
+
>
|
3576
|
+
> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
|
3577
|
+
> draft of UAX #15 has been issued.
|
3578
|
+
>
|
3579
|
+
> I have looked at Libidn 0.5.8 (today), and there may still be a possible
|
3580
|
+
> bug in NFKC.java and nfkc.c.
|
3581
|
+
|
3582
|
+
Hello Rick.
|
3583
|
+
|
3584
|
+
I believe the current behavior is intentional. Libidn do not aim to
|
3585
|
+
implement latest-and-greatest NFKC, it aim to implement the NFKC
|
3586
|
+
functionality required for StringPrep and IDN. As you may know,
|
3587
|
+
StringPrep/IDN reference Unicode 3.2.0, and explicitly says any later
|
3588
|
+
changes (which I consider PR29 as) do not apply.
|
3589
|
+
|
3590
|
+
In fact, I believe that would I incorporate the changes suggested in
|
3591
|
+
PR29, I would in fact be violating the IDN specifications.
|
3592
|
+
|
3593
|
+
Thanks for looking into the code and finding the place where the
|
3594
|
+
change could be made. I'll see if I can mention this in the manual
|
3595
|
+
somewhere, for technically interested readers.
|
3596
|
+
|
3597
|
+
Regards,
|
3598
|
+
Simon
|
3599
|
+
|
3600
|
+
|
3601
|
+
File: libidn.info, Node: On Label Separators, Next: Copying Information, Prev: PR29 discussion, Up: Top
|
3602
|
+
|
3603
|
+
Appendix B On Label Separators
|
3604
|
+
******************************
|
3605
|
+
|
3606
|
+
Some strings contains characters whose NFKC normalized form contain the
|
3607
|
+
ASCII dot (0x2E, “.”). Examples of these characters are U+2024 (ONE DOT
|
3608
|
+
LEADER) and U+248C (DIGIT FIVE FULL STOP). The strings have the
|
3609
|
+
interesting property that their IDNA ToASCII output will contain
|
3610
|
+
embedded dots. For example:
|
3611
|
+
|
3612
|
+
ToASCII (hi U+248C com) = hi5.com
|
3613
|
+
ToASCII (räksmörgås U+2024 com) = xn--rksmrgs.com-l8as9u
|
3614
|
+
|
3615
|
+
This demonstrate the two general cases: The first where the ASCII dot
|
3616
|
+
is part of an output that do not begin with the IDN prefix ‘xn--’. The
|
3617
|
+
second example illustrate when the dot is part of IDN prefixed with
|
3618
|
+
‘xn--’.
|
3619
|
+
|
3620
|
+
The input strings are, from the DNS point of view, a single label.
|
3621
|
+
The IDNA algorithm translate one label at a time. Thus, the output is
|
3622
|
+
expected to be only one label. What is important here is to make sure
|
3623
|
+
the DNS resolver receives the correct query. The DNS protocol does not
|
3624
|
+
use the dot to delimit labels on the wire, rather it uses length-value
|
3625
|
+
pairs. Thus the correct query would be for ‘{7}hi5.com’ and
|
3626
|
+
‘{22}xn--rksmrgs.com-l8as9u’ respectively.
|
3627
|
+
|
3628
|
+
Some implementations (1) have decided that these inputs strings are
|
3629
|
+
potentially confusing for the user. The string ‘hi U+248C com’ looks
|
3630
|
+
like ‘hi5.com’ on systems that support Unicode properly. These
|
3631
|
+
implementations do not follow RFC 3490. They yield:
|
3632
|
+
|
3633
|
+
ToASCII (hi U+248C com) = hi5.com
|
3634
|
+
ToASCII (räksmörgås U+2024 com) = xn--rksmrgs-5wao1o.com
|
3635
|
+
|
3636
|
+
The DNS query they perform are ‘{3}hi5{3}com’ and
|
3637
|
+
‘{18}xn--rksmrgs-5wao1o{3}com’ respectively. Arguably, this leads to a
|
3638
|
+
better user experience, and suggests that the IDNA specification is
|
3639
|
+
sub-optimal in this area.
|
3640
|
+
|
3641
|
+
B.1 Recommended Workaround
|
3642
|
+
==========================
|
3643
|
+
|
3644
|
+
It has been suggested to normalize the entire input string using NFKC
|
3645
|
+
before passing it to IDNA ToASCII. You may use
|
3646
|
+
‘stringprep_utf8_nfkc_normalize’ or ‘stringprep_ucs4_nfkc_normalize’.
|
3647
|
+
This appears to lead to similar behaviour as IE/Firefox, which would
|
3648
|
+
avoid the problem, but this needs to be confirmed. Feel free to discuss
|
3649
|
+
the issue with us.
|
3650
|
+
|
3651
|
+
Alternative workarounds are being considered. Eventually Libidn may
|
3652
|
+
implement a new flag to the ‘idna_*’ functions that implements a
|
3653
|
+
recommended way to work around this problem.
|
3654
|
+
|
3655
|
+
---------- Footnotes ----------
|
3656
|
+
|
3657
|
+
(1) Notably Microsoft’s Internet Explorer and Mozilla’s Firefox, but
|
3658
|
+
not Apple’s Safari.
|
3659
|
+
|
3660
|
+
|
3661
|
+
File: libidn.info, Node: Copying Information, Next: Function and Variable Index, Prev: On Label Separators, Up: Top
|
3662
|
+
|
3663
|
+
Appendix C Copying Information
|
3664
|
+
******************************
|
3665
|
+
|
3666
|
+
* Menu:
|
3667
|
+
|
3668
|
+
* GNU Free Documentation License:: License for copying this manual.
|
3669
|
+
|
3670
|
+
|
3671
|
+
File: libidn.info, Node: GNU Free Documentation License, Up: Copying Information
|
3672
|
+
|
3673
|
+
C.1 GNU Free Documentation License
|
3674
|
+
==================================
|
3675
|
+
|
3676
|
+
Version 1.3, 3 November 2008
|
3677
|
+
|
3678
|
+
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
3679
|
+
<http://fsf.org/>
|
3680
|
+
|
3681
|
+
Everyone is permitted to copy and distribute verbatim copies
|
3682
|
+
of this license document, but changing it is not allowed.
|
3683
|
+
|
3684
|
+
0. PREAMBLE
|
3685
|
+
|
3686
|
+
The purpose of this License is to make a manual, textbook, or other
|
3687
|
+
functional and useful document "free" in the sense of freedom: to
|
3688
|
+
assure everyone the effective freedom to copy and redistribute it,
|
3689
|
+
with or without modifying it, either commercially or
|
3690
|
+
noncommercially. Secondarily, this License preserves for the
|
3691
|
+
author and publisher a way to get credit for their work, while not
|
3692
|
+
being considered responsible for modifications made by others.
|
3693
|
+
|
3694
|
+
This License is a kind of “copyleft”, which means that derivative
|
3695
|
+
works of the document must themselves be free in the same sense.
|
3696
|
+
It complements the GNU General Public License, which is a copyleft
|
3697
|
+
license designed for free software.
|
3698
|
+
|
3699
|
+
We have designed this License in order to use it for manuals for
|
3700
|
+
free software, because free software needs free documentation: a
|
3701
|
+
free program should come with manuals providing the same freedoms
|
3702
|
+
that the software does. But this License is not limited to
|
3703
|
+
software manuals; it can be used for any textual work, regardless
|
3704
|
+
of subject matter or whether it is published as a printed book. We
|
3705
|
+
recommend this License principally for works whose purpose is
|
3706
|
+
instruction or reference.
|
3707
|
+
|
3708
|
+
1. APPLICABILITY AND DEFINITIONS
|
3709
|
+
|
3710
|
+
This License applies to any manual or other work, in any medium,
|
3711
|
+
that contains a notice placed by the copyright holder saying it can
|
3712
|
+
be distributed under the terms of this License. Such a notice
|
3713
|
+
grants a world-wide, royalty-free license, unlimited in duration,
|
3714
|
+
to use that work under the conditions stated herein. The
|
3715
|
+
“Document”, below, refers to any such manual or work. Any member
|
3716
|
+
of the public is a licensee, and is addressed as “you”. You accept
|
3717
|
+
the license if you copy, modify or distribute the work in a way
|
3718
|
+
requiring permission under copyright law.
|
3719
|
+
|
3720
|
+
A “Modified Version” of the Document means any work containing the
|
3721
|
+
Document or a portion of it, either copied verbatim, or with
|
3722
|
+
modifications and/or translated into another language.
|
3723
|
+
|
3724
|
+
A “Secondary Section” is a named appendix or a front-matter section
|
3725
|
+
of the Document that deals exclusively with the relationship of the
|
3726
|
+
publishers or authors of the Document to the Document’s overall
|
3727
|
+
subject (or to related matters) and contains nothing that could
|
3728
|
+
fall directly within that overall subject. (Thus, if the Document
|
3729
|
+
is in part a textbook of mathematics, a Secondary Section may not
|
3730
|
+
explain any mathematics.) The relationship could be a matter of
|
3731
|
+
historical connection with the subject or with related matters, or
|
3732
|
+
of legal, commercial, philosophical, ethical or political position
|
3733
|
+
regarding them.
|
3734
|
+
|
3735
|
+
The “Invariant Sections” are certain Secondary Sections whose
|
3736
|
+
titles are designated, as being those of Invariant Sections, in the
|
3737
|
+
notice that says that the Document is released under this License.
|
3738
|
+
If a section does not fit the above definition of Secondary then it
|
3739
|
+
is not allowed to be designated as Invariant. The Document may
|
3740
|
+
contain zero Invariant Sections. If the Document does not identify
|
3741
|
+
any Invariant Sections then there are none.
|
3742
|
+
|
3743
|
+
The “Cover Texts” are certain short passages of text that are
|
3744
|
+
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
3745
|
+
that says that the Document is released under this License. A
|
3746
|
+
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
|
3747
|
+
be at most 25 words.
|
3748
|
+
|
3749
|
+
A “Transparent” copy of the Document means a machine-readable copy,
|
3750
|
+
represented in a format whose specification is available to the
|
3751
|
+
general public, that is suitable for revising the document
|
3752
|
+
straightforwardly with generic text editors or (for images composed
|
3753
|
+
of pixels) generic paint programs or (for drawings) some widely
|
3754
|
+
available drawing editor, and that is suitable for input to text
|
3755
|
+
formatters or for automatic translation to a variety of formats
|
3756
|
+
suitable for input to text formatters. A copy made in an otherwise
|
3757
|
+
Transparent file format whose markup, or absence of markup, has
|
3758
|
+
been arranged to thwart or discourage subsequent modification by
|
3759
|
+
readers is not Transparent. An image format is not Transparent if
|
3760
|
+
used for any substantial amount of text. A copy that is not
|
3761
|
+
“Transparent” is called “Opaque”.
|
3762
|
+
|
3763
|
+
Examples of suitable formats for Transparent copies include plain
|
3764
|
+
ASCII without markup, Texinfo input format, LaTeX input format,
|
3765
|
+
SGML or XML using a publicly available DTD, and standard-conforming
|
3766
|
+
simple HTML, PostScript or PDF designed for human modification.
|
3767
|
+
Examples of transparent image formats include PNG, XCF and JPG.
|
3768
|
+
Opaque formats include proprietary formats that can be read and
|
3769
|
+
edited only by proprietary word processors, SGML or XML for which
|
3770
|
+
the DTD and/or processing tools are not generally available, and
|
3771
|
+
the machine-generated HTML, PostScript or PDF produced by some word
|
3772
|
+
processors for output purposes only.
|
3773
|
+
|
3774
|
+
The “Title Page” means, for a printed book, the title page itself,
|
3775
|
+
plus such following pages as are needed to hold, legibly, the
|
3776
|
+
material this License requires to appear in the title page. For
|
3777
|
+
works in formats which do not have any title page as such, “Title
|
3778
|
+
Page” means the text near the most prominent appearance of the
|
3779
|
+
work’s title, preceding the beginning of the body of the text.
|
3780
|
+
|
3781
|
+
The “publisher” means any person or entity that distributes copies
|
3782
|
+
of the Document to the public.
|
3783
|
+
|
3784
|
+
A section “Entitled XYZ” means a named subunit of the Document
|
3785
|
+
whose title either is precisely XYZ or contains XYZ in parentheses
|
3786
|
+
following text that translates XYZ in another language. (Here XYZ
|
3787
|
+
stands for a specific section name mentioned below, such as
|
3788
|
+
“Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
|
3789
|
+
To “Preserve the Title” of such a section when you modify the
|
3790
|
+
Document means that it remains a section “Entitled XYZ” according
|
3791
|
+
to this definition.
|
3792
|
+
|
3793
|
+
The Document may include Warranty Disclaimers next to the notice
|
3794
|
+
which states that this License applies to the Document. These
|
3795
|
+
Warranty Disclaimers are considered to be included by reference in
|
3796
|
+
this License, but only as regards disclaiming warranties: any other
|
3797
|
+
implication that these Warranty Disclaimers may have is void and
|
3798
|
+
has no effect on the meaning of this License.
|
3799
|
+
|
3800
|
+
2. VERBATIM COPYING
|
3801
|
+
|
3802
|
+
You may copy and distribute the Document in any medium, either
|
3803
|
+
commercially or noncommercially, provided that this License, the
|
3804
|
+
copyright notices, and the license notice saying this License
|
3805
|
+
applies to the Document are reproduced in all copies, and that you
|
3806
|
+
add no other conditions whatsoever to those of this License. You
|
3807
|
+
may not use technical measures to obstruct or control the reading
|
3808
|
+
or further copying of the copies you make or distribute. However,
|
3809
|
+
you may accept compensation in exchange for copies. If you
|
3810
|
+
distribute a large enough number of copies you must also follow the
|
3811
|
+
conditions in section 3.
|
3812
|
+
|
3813
|
+
You may also lend copies, under the same conditions stated above,
|
3814
|
+
and you may publicly display copies.
|
3815
|
+
|
3816
|
+
3. COPYING IN QUANTITY
|
3817
|
+
|
3818
|
+
If you publish printed copies (or copies in media that commonly
|
3819
|
+
have printed covers) of the Document, numbering more than 100, and
|
3820
|
+
the Document’s license notice requires Cover Texts, you must
|
3821
|
+
enclose the copies in covers that carry, clearly and legibly, all
|
3822
|
+
these Cover Texts: Front-Cover Texts on the front cover, and
|
3823
|
+
Back-Cover Texts on the back cover. Both covers must also clearly
|
3824
|
+
and legibly identify you as the publisher of these copies. The
|
3825
|
+
front cover must present the full title with all words of the title
|
3826
|
+
equally prominent and visible. You may add other material on the
|
3827
|
+
covers in addition. Copying with changes limited to the covers, as
|
3828
|
+
long as they preserve the title of the Document and satisfy these
|
3829
|
+
conditions, can be treated as verbatim copying in other respects.
|
3830
|
+
|
3831
|
+
If the required texts for either cover are too voluminous to fit
|
3832
|
+
legibly, you should put the first ones listed (as many as fit
|
3833
|
+
reasonably) on the actual cover, and continue the rest onto
|
3834
|
+
adjacent pages.
|
3835
|
+
|
3836
|
+
If you publish or distribute Opaque copies of the Document
|
3837
|
+
numbering more than 100, you must either include a machine-readable
|
3838
|
+
Transparent copy along with each Opaque copy, or state in or with
|
3839
|
+
each Opaque copy a computer-network location from which the general
|
3840
|
+
network-using public has access to download using public-standard
|
3841
|
+
network protocols a complete Transparent copy of the Document, free
|
3842
|
+
of added material. If you use the latter option, you must take
|
3843
|
+
reasonably prudent steps, when you begin distribution of Opaque
|
3844
|
+
copies in quantity, to ensure that this Transparent copy will
|
3845
|
+
remain thus accessible at the stated location until at least one
|
3846
|
+
year after the last time you distribute an Opaque copy (directly or
|
3847
|
+
through your agents or retailers) of that edition to the public.
|
3848
|
+
|
3849
|
+
It is requested, but not required, that you contact the authors of
|
3850
|
+
the Document well before redistributing any large number of copies,
|
3851
|
+
to give them a chance to provide you with an updated version of the
|
3852
|
+
Document.
|
3853
|
+
|
3854
|
+
4. MODIFICATIONS
|
3855
|
+
|
3856
|
+
You may copy and distribute a Modified Version of the Document
|
3857
|
+
under the conditions of sections 2 and 3 above, provided that you
|
3858
|
+
release the Modified Version under precisely this License, with the
|
3859
|
+
Modified Version filling the role of the Document, thus licensing
|
3860
|
+
distribution and modification of the Modified Version to whoever
|
3861
|
+
possesses a copy of it. In addition, you must do these things in
|
3862
|
+
the Modified Version:
|
3863
|
+
|
3864
|
+
A. Use in the Title Page (and on the covers, if any) a title
|
3865
|
+
distinct from that of the Document, and from those of previous
|
3866
|
+
versions (which should, if there were any, be listed in the
|
3867
|
+
History section of the Document). You may use the same title
|
3868
|
+
as a previous version if the original publisher of that
|
3869
|
+
version gives permission.
|
3870
|
+
|
3871
|
+
B. List on the Title Page, as authors, one or more persons or
|
3872
|
+
entities responsible for authorship of the modifications in
|
3873
|
+
the Modified Version, together with at least five of the
|
3874
|
+
principal authors of the Document (all of its principal
|
3875
|
+
authors, if it has fewer than five), unless they release you
|
3876
|
+
from this requirement.
|
3877
|
+
|
3878
|
+
C. State on the Title page the name of the publisher of the
|
3879
|
+
Modified Version, as the publisher.
|
3880
|
+
|
3881
|
+
D. Preserve all the copyright notices of the Document.
|
3882
|
+
|
3883
|
+
E. Add an appropriate copyright notice for your modifications
|
3884
|
+
adjacent to the other copyright notices.
|
3885
|
+
|
3886
|
+
F. Include, immediately after the copyright notices, a license
|
3887
|
+
notice giving the public permission to use the Modified
|
3888
|
+
Version under the terms of this License, in the form shown in
|
3889
|
+
the Addendum below.
|
3890
|
+
|
3891
|
+
G. Preserve in that license notice the full lists of Invariant
|
3892
|
+
Sections and required Cover Texts given in the Document’s
|
3893
|
+
license notice.
|
3894
|
+
|
3895
|
+
H. Include an unaltered copy of this License.
|
3896
|
+
|
3897
|
+
I. Preserve the section Entitled “History”, Preserve its Title,
|
3898
|
+
and add to it an item stating at least the title, year, new
|
3899
|
+
authors, and publisher of the Modified Version as given on the
|
3900
|
+
Title Page. If there is no section Entitled “History” in the
|
3901
|
+
Document, create one stating the title, year, authors, and
|
3902
|
+
publisher of the Document as given on its Title Page, then add
|
3903
|
+
an item describing the Modified Version as stated in the
|
3904
|
+
previous sentence.
|
3905
|
+
|
3906
|
+
J. Preserve the network location, if any, given in the Document
|
3907
|
+
for public access to a Transparent copy of the Document, and
|
3908
|
+
likewise the network locations given in the Document for
|
3909
|
+
previous versions it was based on. These may be placed in the
|
3910
|
+
“History” section. You may omit a network location for a work
|
3911
|
+
that was published at least four years before the Document
|
3912
|
+
itself, or if the original publisher of the version it refers
|
3913
|
+
to gives permission.
|
3914
|
+
|
3915
|
+
K. For any section Entitled “Acknowledgements” or “Dedications”,
|
3916
|
+
Preserve the Title of the section, and preserve in the section
|
3917
|
+
all the substance and tone of each of the contributor
|
3918
|
+
acknowledgements and/or dedications given therein.
|
3919
|
+
|
3920
|
+
L. Preserve all the Invariant Sections of the Document, unaltered
|
3921
|
+
in their text and in their titles. Section numbers or the
|
3922
|
+
equivalent are not considered part of the section titles.
|
3923
|
+
|
3924
|
+
M. Delete any section Entitled “Endorsements”. Such a section
|
3925
|
+
may not be included in the Modified Version.
|
3926
|
+
|
3927
|
+
N. Do not retitle any existing section to be Entitled
|
3928
|
+
“Endorsements” or to conflict in title with any Invariant
|
3929
|
+
Section.
|
3930
|
+
|
3931
|
+
O. Preserve any Warranty Disclaimers.
|
3932
|
+
|
3933
|
+
If the Modified Version includes new front-matter sections or
|
3934
|
+
appendices that qualify as Secondary Sections and contain no
|
3935
|
+
material copied from the Document, you may at your option designate
|
3936
|
+
some or all of these sections as invariant. To do this, add their
|
3937
|
+
titles to the list of Invariant Sections in the Modified Version’s
|
3938
|
+
license notice. These titles must be distinct from any other
|
3939
|
+
section titles.
|
3940
|
+
|
3941
|
+
You may add a section Entitled “Endorsements”, provided it contains
|
3942
|
+
nothing but endorsements of your Modified Version by various
|
3943
|
+
parties—for example, statements of peer review or that the text has
|
3944
|
+
been approved by an organization as the authoritative definition of
|
3945
|
+
a standard.
|
3946
|
+
|
3947
|
+
You may add a passage of up to five words as a Front-Cover Text,
|
3948
|
+
and a passage of up to 25 words as a Back-Cover Text, to the end of
|
3949
|
+
the list of Cover Texts in the Modified Version. Only one passage
|
3950
|
+
of Front-Cover Text and one of Back-Cover Text may be added by (or
|
3951
|
+
through arrangements made by) any one entity. If the Document
|
3952
|
+
already includes a cover text for the same cover, previously added
|
3953
|
+
by you or by arrangement made by the same entity you are acting on
|
3954
|
+
behalf of, you may not add another; but you may replace the old
|
3955
|
+
one, on explicit permission from the previous publisher that added
|
3956
|
+
the old one.
|
3957
|
+
|
3958
|
+
The author(s) and publisher(s) of the Document do not by this
|
3959
|
+
License give permission to use their names for publicity for or to
|
3960
|
+
assert or imply endorsement of any Modified Version.
|
3961
|
+
|
3962
|
+
5. COMBINING DOCUMENTS
|
3963
|
+
|
3964
|
+
You may combine the Document with other documents released under
|
3965
|
+
this License, under the terms defined in section 4 above for
|
3966
|
+
modified versions, provided that you include in the combination all
|
3967
|
+
of the Invariant Sections of all of the original documents,
|
3968
|
+
unmodified, and list them all as Invariant Sections of your
|
3969
|
+
combined work in its license notice, and that you preserve all
|
3970
|
+
their Warranty Disclaimers.
|
3971
|
+
|
3972
|
+
The combined work need only contain one copy of this License, and
|
3973
|
+
multiple identical Invariant Sections may be replaced with a single
|
3974
|
+
copy. If there are multiple Invariant Sections with the same name
|
3975
|
+
but different contents, make the title of each such section unique
|
3976
|
+
by adding at the end of it, in parentheses, the name of the
|
3977
|
+
original author or publisher of that section if known, or else a
|
3978
|
+
unique number. Make the same adjustment to the section titles in
|
3979
|
+
the list of Invariant Sections in the license notice of the
|
3980
|
+
combined work.
|
3981
|
+
|
3982
|
+
In the combination, you must combine any sections Entitled
|
3983
|
+
“History” in the various original documents, forming one section
|
3984
|
+
Entitled “History”; likewise combine any sections Entitled
|
3985
|
+
“Acknowledgements”, and any sections Entitled “Dedications”. You
|
3986
|
+
must delete all sections Entitled “Endorsements.”
|
3987
|
+
|
3988
|
+
6. COLLECTIONS OF DOCUMENTS
|
3989
|
+
|
3990
|
+
You may make a collection consisting of the Document and other
|
3991
|
+
documents released under this License, and replace the individual
|
3992
|
+
copies of this License in the various documents with a single copy
|
3993
|
+
that is included in the collection, provided that you follow the
|
3994
|
+
rules of this License for verbatim copying of each of the documents
|
3995
|
+
in all other respects.
|
3996
|
+
|
3997
|
+
You may extract a single document from such a collection, and
|
3998
|
+
distribute it individually under this License, provided you insert
|
3999
|
+
a copy of this License into the extracted document, and follow this
|
4000
|
+
License in all other respects regarding verbatim copying of that
|
4001
|
+
document.
|
4002
|
+
|
4003
|
+
7. AGGREGATION WITH INDEPENDENT WORKS
|
4004
|
+
|
4005
|
+
A compilation of the Document or its derivatives with other
|
4006
|
+
separate and independent documents or works, in or on a volume of a
|
4007
|
+
storage or distribution medium, is called an “aggregate” if the
|
4008
|
+
copyright resulting from the compilation is not used to limit the
|
4009
|
+
legal rights of the compilation’s users beyond what the individual
|
4010
|
+
works permit. When the Document is included in an aggregate, this
|
4011
|
+
License does not apply to the other works in the aggregate which
|
4012
|
+
are not themselves derivative works of the Document.
|
4013
|
+
|
4014
|
+
If the Cover Text requirement of section 3 is applicable to these
|
4015
|
+
copies of the Document, then if the Document is less than one half
|
4016
|
+
of the entire aggregate, the Document’s Cover Texts may be placed
|
4017
|
+
on covers that bracket the Document within the aggregate, or the
|
4018
|
+
electronic equivalent of covers if the Document is in electronic
|
4019
|
+
form. Otherwise they must appear on printed covers that bracket
|
4020
|
+
the whole aggregate.
|
4021
|
+
|
4022
|
+
8. TRANSLATION
|
4023
|
+
|
4024
|
+
Translation is considered a kind of modification, so you may
|
4025
|
+
distribute translations of the Document under the terms of section
|
4026
|
+
4. Replacing Invariant Sections with translations requires special
|
4027
|
+
permission from their copyright holders, but you may include
|
4028
|
+
translations of some or all Invariant Sections in addition to the
|
4029
|
+
original versions of these Invariant Sections. You may include a
|
4030
|
+
translation of this License, and all the license notices in the
|
4031
|
+
Document, and any Warranty Disclaimers, provided that you also
|
4032
|
+
include the original English version of this License and the
|
4033
|
+
original versions of those notices and disclaimers. In case of a
|
4034
|
+
disagreement between the translation and the original version of
|
4035
|
+
this License or a notice or disclaimer, the original version will
|
4036
|
+
prevail.
|
4037
|
+
|
4038
|
+
If a section in the Document is Entitled “Acknowledgements”,
|
4039
|
+
“Dedications”, or “History”, the requirement (section 4) to
|
4040
|
+
Preserve its Title (section 1) will typically require changing the
|
4041
|
+
actual title.
|
4042
|
+
|
4043
|
+
9. TERMINATION
|
4044
|
+
|
4045
|
+
You may not copy, modify, sublicense, or distribute the Document
|
4046
|
+
except as expressly provided under this License. Any attempt
|
4047
|
+
otherwise to copy, modify, sublicense, or distribute it is void,
|
4048
|
+
and will automatically terminate your rights under this License.
|
4049
|
+
|
4050
|
+
However, if you cease all violation of this License, then your
|
4051
|
+
license from a particular copyright holder is reinstated (a)
|
4052
|
+
provisionally, unless and until the copyright holder explicitly and
|
4053
|
+
finally terminates your license, and (b) permanently, if the
|
4054
|
+
copyright holder fails to notify you of the violation by some
|
4055
|
+
reasonable means prior to 60 days after the cessation.
|
4056
|
+
|
4057
|
+
Moreover, your license from a particular copyright holder is
|
4058
|
+
reinstated permanently if the copyright holder notifies you of the
|
4059
|
+
violation by some reasonable means, this is the first time you have
|
4060
|
+
received notice of violation of this License (for any work) from
|
4061
|
+
that copyright holder, and you cure the violation prior to 30 days
|
4062
|
+
after your receipt of the notice.
|
4063
|
+
|
4064
|
+
Termination of your rights under this section does not terminate
|
4065
|
+
the licenses of parties who have received copies or rights from you
|
4066
|
+
under this License. If your rights have been terminated and not
|
4067
|
+
permanently reinstated, receipt of a copy of some or all of the
|
4068
|
+
same material does not give you any rights to use it.
|
4069
|
+
|
4070
|
+
10. FUTURE REVISIONS OF THIS LICENSE
|
4071
|
+
|
4072
|
+
The Free Software Foundation may publish new, revised versions of
|
4073
|
+
the GNU Free Documentation License from time to time. Such new
|
4074
|
+
versions will be similar in spirit to the present version, but may
|
4075
|
+
differ in detail to address new problems or concerns. See
|
4076
|
+
<http://www.gnu.org/copyleft/>.
|
4077
|
+
|
4078
|
+
Each version of the License is given a distinguishing version
|
4079
|
+
number. If the Document specifies that a particular numbered
|
4080
|
+
version of this License “or any later version” applies to it, you
|
4081
|
+
have the option of following the terms and conditions either of
|
4082
|
+
that specified version or of any later version that has been
|
4083
|
+
published (not as a draft) by the Free Software Foundation. If the
|
4084
|
+
Document does not specify a version number of this License, you may
|
4085
|
+
choose any version ever published (not as a draft) by the Free
|
4086
|
+
Software Foundation. If the Document specifies that a proxy can
|
4087
|
+
decide which future versions of this License can be used, that
|
4088
|
+
proxy’s public statement of acceptance of a version permanently
|
4089
|
+
authorizes you to choose that version for the Document.
|
4090
|
+
|
4091
|
+
11. RELICENSING
|
4092
|
+
|
4093
|
+
“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
|
4094
|
+
World Wide Web server that publishes copyrightable works and also
|
4095
|
+
provides prominent facilities for anybody to edit those works. A
|
4096
|
+
public wiki that anybody can edit is an example of such a server.
|
4097
|
+
A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
|
4098
|
+
site means any set of copyrightable works thus published on the MMC
|
4099
|
+
site.
|
4100
|
+
|
4101
|
+
“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
|
4102
|
+
license published by Creative Commons Corporation, a not-for-profit
|
4103
|
+
corporation with a principal place of business in San Francisco,
|
4104
|
+
California, as well as future copyleft versions of that license
|
4105
|
+
published by that same organization.
|
4106
|
+
|
4107
|
+
“Incorporate” means to publish or republish a Document, in whole or
|
4108
|
+
in part, as part of another Document.
|
4109
|
+
|
4110
|
+
An MMC is “eligible for relicensing” if it is licensed under this
|
4111
|
+
License, and if all works that were first published under this
|
4112
|
+
License somewhere other than this MMC, and subsequently
|
4113
|
+
incorporated in whole or in part into the MMC, (1) had no cover
|
4114
|
+
texts or invariant sections, and (2) were thus incorporated prior
|
4115
|
+
to November 1, 2008.
|
4116
|
+
|
4117
|
+
The operator of an MMC Site may republish an MMC contained in the
|
4118
|
+
site under CC-BY-SA on the same site at any time before August 1,
|
4119
|
+
2009, provided the MMC is eligible for relicensing.
|
4120
|
+
|
4121
|
+
ADDENDUM: How to use this License for your documents
|
4122
|
+
====================================================
|
4123
|
+
|
4124
|
+
To use this License in a document you have written, include a copy of
|
4125
|
+
the License in the document and put the following copyright and license
|
4126
|
+
notices just after the title page:
|
4127
|
+
|
4128
|
+
Copyright (C) YEAR YOUR NAME.
|
4129
|
+
Permission is granted to copy, distribute and/or modify this document
|
4130
|
+
under the terms of the GNU Free Documentation License, Version 1.3
|
4131
|
+
or any later version published by the Free Software Foundation;
|
4132
|
+
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
4133
|
+
Texts. A copy of the license is included in the section entitled ``GNU
|
4134
|
+
Free Documentation License''.
|
4135
|
+
|
4136
|
+
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
4137
|
+
Texts, replace the “with…Texts.” line with this:
|
4138
|
+
|
4139
|
+
with the Invariant Sections being LIST THEIR TITLES, with
|
4140
|
+
the Front-Cover Texts being LIST, and with the Back-Cover Texts
|
4141
|
+
being LIST.
|
4142
|
+
|
4143
|
+
If you have Invariant Sections without Cover Texts, or some other
|
4144
|
+
combination of the three, merge those two alternatives to suit the
|
4145
|
+
situation.
|
4146
|
+
|
4147
|
+
If your document contains nontrivial examples of program code, we
|
4148
|
+
recommend releasing these examples in parallel under your choice of free
|
4149
|
+
software license, such as the GNU General Public License, to permit
|
4150
|
+
their use in free software.
|
4151
|
+
|
4152
|
+
|
4153
|
+
File: libidn.info, Node: Function and Variable Index, Next: Concept Index, Prev: Copying Information, Up: Top
|
4154
|
+
|
4155
|
+
Function and Variable Index
|
4156
|
+
***************************
|
4157
|
+
|
4158
|
+
[index]
|
4159
|
+
* Menu:
|
4160
|
+
|
4161
|
+
* idna-to-ascii: Emacs API. (line 64)
|
4162
|
+
* idna-to-unicode: Emacs API. (line 69)
|
4163
|
+
* idna_strerror: IDNA Functions. (line 309)
|
4164
|
+
* idna_to_ascii_4i: IDNA Functions. (line 66)
|
4165
|
+
* idna_to_ascii_4z: IDNA Functions. (line 150)
|
4166
|
+
* idna_to_ascii_8z: IDNA Functions. (line 168)
|
4167
|
+
* idna_to_ascii_lz: IDNA Functions. (line 186)
|
4168
|
+
* idna_to_unicode_44i: IDNA Functions. (line 104)
|
4169
|
+
* idna_to_unicode_4z4z: IDNA Functions. (line 208)
|
4170
|
+
* idna_to_unicode_8z4z: IDNA Functions. (line 227)
|
4171
|
+
* idna_to_unicode_8z8z: IDNA Functions. (line 246)
|
4172
|
+
* idna_to_unicode_8zlz: IDNA Functions. (line 265)
|
4173
|
+
* idna_to_unicode_lzlz: IDNA Functions. (line 285)
|
4174
|
+
* idn_free: Memory handling under Windows.
|
4175
|
+
(line 30)
|
4176
|
+
* pr29_4: PR29 Functions. (line 54)
|
4177
|
+
* pr29_4z: PR29 Functions. (line 74)
|
4178
|
+
* pr29_8z: PR29 Functions. (line 89)
|
4179
|
+
* pr29_strerror: PR29 Functions. (line 108)
|
4180
|
+
* punycode-decode: Emacs API. (line 38)
|
4181
|
+
* punycode-encode: Emacs API. (line 34)
|
4182
|
+
* punycode_decode: Punycode Functions. (line 92)
|
4183
|
+
* punycode_encode: Punycode Functions. (line 48)
|
4184
|
+
* punycode_strerror: Punycode Functions. (line 138)
|
4185
|
+
* stringprep: Stringprep Functions.
|
4186
|
+
(line 124)
|
4187
|
+
* stringprep_4i: Stringprep Functions.
|
4188
|
+
(line 54)
|
4189
|
+
* stringprep_4zi: Stringprep Functions.
|
4190
|
+
(line 93)
|
4191
|
+
* stringprep_check_version: Version Check. (line 15)
|
4192
|
+
* stringprep_convert: Utility Functions. (line 163)
|
4193
|
+
* stringprep_iscsi: Stringprep Functions.
|
4194
|
+
(line 257)
|
4195
|
+
* stringprep_locale_charset: Utility Functions. (line 141)
|
4196
|
+
* stringprep_locale_to_utf8: Utility Functions. (line 180)
|
4197
|
+
* stringprep_nameprep_no_unassigned: Stringprep Functions.
|
4198
|
+
(line 246)
|
4199
|
+
* stringprep_plain: Stringprep Functions.
|
4200
|
+
(line 266)
|
4201
|
+
* stringprep_profile: Stringprep Functions.
|
4202
|
+
(line 159)
|
4203
|
+
* stringprep_strerror: Stringprep Functions.
|
4204
|
+
(line 193)
|
4205
|
+
* stringprep_ucs4_nfkc_normalize: Utility Functions. (line 97)
|
4206
|
+
* stringprep_ucs4_to_utf8: Utility Functions. (line 50)
|
4207
|
+
* stringprep_unichar_to_utf8: Utility Functions. (line 24)
|
4208
|
+
* stringprep_utf8_nfkc_normalize: Utility Functions. (line 112)
|
4209
|
+
* stringprep_utf8_to_locale: Utility Functions. (line 192)
|
4210
|
+
* stringprep_utf8_to_ucs4: Utility Functions. (line 73)
|
4211
|
+
* stringprep_utf8_to_unichar: Utility Functions. (line 38)
|
4212
|
+
* stringprep_xmpp_nodeprep: Stringprep Functions.
|
4213
|
+
(line 275)
|
4214
|
+
* stringprep_xmpp_resourceprep: Stringprep Functions.
|
4215
|
+
(line 284)
|
4216
|
+
* tld_check_4: TLD Functions. (line 174)
|
4217
|
+
* tld_check_4t: TLD Functions. (line 42)
|
4218
|
+
* tld_check_4tz: TLD Functions. (line 66)
|
4219
|
+
* tld_check_4z: TLD Functions. (line 203)
|
4220
|
+
* tld_check_8z: TLD Functions. (line 229)
|
4221
|
+
* tld_check_lz: TLD Functions. (line 257)
|
4222
|
+
* tld_default_table: TLD Functions. (line 153)
|
4223
|
+
* tld_get_4: TLD Functions. (line 90)
|
4224
|
+
* tld_get_4z: TLD Functions. (line 108)
|
4225
|
+
* tld_get_table: TLD Functions. (line 137)
|
4226
|
+
* tld_get_z: TLD Functions. (line 122)
|
4227
|
+
* tld_strerror: TLD Functions. (line 289)
|
4228
|
+
|
4229
|
+
|
4230
|
+
File: libidn.info, Node: Concept Index, Prev: Function and Variable Index, Up: Top
|
4231
|
+
|
4232
|
+
Concept Index
|
4233
|
+
*************
|
4234
|
+
|
4235
|
+
[index]
|
4236
|
+
* Menu:
|
4237
|
+
|
4238
|
+
* AIX: Supported Platforms. (line 74)
|
4239
|
+
* ARM: Supported Platforms. (line 128)
|
4240
|
+
* Autoconf tests: Autoconf tests. (line 6)
|
4241
|
+
* command line: Invoking idn. (line 5)
|
4242
|
+
* Compiling your application: Building the source. (line 6)
|
4243
|
+
* Configure tests: Autoconf tests. (line 6)
|
4244
|
+
* Contributing: Contributing. (line 6)
|
4245
|
+
* de-allocation: Memory handling under Windows.
|
4246
|
+
(line 6)
|
4247
|
+
* Debian: Supported Platforms. (line 10)
|
4248
|
+
* Debian <1>: Supported Platforms. (line 22)
|
4249
|
+
* Download: Downloading and Installing.
|
4250
|
+
(line 6)
|
4251
|
+
* Examples: Examples. (line 6)
|
4252
|
+
* FDL, GNU Free Documentation License: GNU Free Documentation License.
|
4253
|
+
(line 6)
|
4254
|
+
* free: Memory handling under Windows.
|
4255
|
+
(line 6)
|
4256
|
+
* FreeBSD: Supported Platforms. (line 110)
|
4257
|
+
* Hacking: Contributing. (line 6)
|
4258
|
+
* heap memory: Memory handling under Windows.
|
4259
|
+
(line 6)
|
4260
|
+
* HP-UX: Supported Platforms. (line 82)
|
4261
|
+
* IBM: Supported Platforms. (line 136)
|
4262
|
+
* idn: Invoking idn. (line 6)
|
4263
|
+
* IDNA Functions: IDNA Functions. (line 6)
|
4264
|
+
* Installation: Downloading and Installing.
|
4265
|
+
(line 6)
|
4266
|
+
* invoking ‘idn’: Invoking idn. (line 6)
|
4267
|
+
* IRIX: Supported Platforms. (line 70)
|
4268
|
+
* MacOS X: Supported Platforms. (line 116)
|
4269
|
+
* MacOS X <1>: Supported Platforms. (line 120)
|
4270
|
+
* Mandrake: Supported Platforms. (line 66)
|
4271
|
+
* Memory handling: Memory handling under Windows.
|
4272
|
+
(line 6)
|
4273
|
+
* Microsoft: Supported Platforms. (line 132)
|
4274
|
+
* mingw32: Supported Platforms. (line 132)
|
4275
|
+
* Motorola Coldfire: Supported Platforms. (line 124)
|
4276
|
+
* NetBSD: Supported Platforms. (line 100)
|
4277
|
+
* OpenBSD: Supported Platforms. (line 105)
|
4278
|
+
* OpenPower 720: Supported Platforms. (line 45)
|
4279
|
+
* OS/2: Supported Platforms. (line 136)
|
4280
|
+
* PR29 Functions: PR29 Functions. (line 6)
|
4281
|
+
* Punycode Functions: Punycode Functions. (line 6)
|
4282
|
+
* RedHat: Supported Platforms. (line 49)
|
4283
|
+
* RedHat <1>: Supported Platforms. (line 54)
|
4284
|
+
* RedHat <2>: Supported Platforms. (line 62)
|
4285
|
+
* RedHat Advanced Server: Supported Platforms. (line 58)
|
4286
|
+
* Reporting Bugs: Bug Reports. (line 6)
|
4287
|
+
* Solaris: Supported Platforms. (line 87)
|
4288
|
+
* Solaris <1>: Supported Platforms. (line 91)
|
4289
|
+
* Solaris <2>: Supported Platforms. (line 95)
|
4290
|
+
* Stringprep Functions: Stringprep Functions.
|
4291
|
+
(line 6)
|
4292
|
+
* SuSE: Supported Platforms. (line 31)
|
4293
|
+
* SuSE Linux: Supported Platforms. (line 36)
|
4294
|
+
* SuSE Linux <1>: Supported Platforms. (line 40)
|
4295
|
+
* SuSE Linux <2>: Supported Platforms. (line 45)
|
4296
|
+
* TLD Functions: TLD Functions. (line 6)
|
4297
|
+
* Tru64: Supported Platforms. (line 26)
|
4298
|
+
* uClibc: Supported Platforms. (line 124)
|
4299
|
+
* uClinux: Supported Platforms. (line 124)
|
4300
|
+
* Utility Functions: Utility Functions. (line 6)
|
4301
|
+
* Windows: Supported Platforms. (line 78)
|
4302
|
+
* Windows <1>: Supported Platforms. (line 132)
|
4303
|
+
|
4304
|
+
|
4305
|
+
|
4306
|
+
Tag Table:
|
4307
|
+
Node: Top1017
|
4308
|
+
Node: Introduction2719
|
4309
|
+
Node: Getting Started5031
|
4310
|
+
Node: Features6142
|
4311
|
+
Node: Library Overview7496
|
4312
|
+
Node: Supported Platforms8294
|
4313
|
+
Node: Getting help12086
|
4314
|
+
Node: Commercial Support12549
|
4315
|
+
Node: Downloading and Installing13490
|
4316
|
+
Node: Installing under Windows15855
|
4317
|
+
Node: Bug Reports17259
|
4318
|
+
Node: Contributing18665
|
4319
|
+
Node: Preparation20668
|
4320
|
+
Node: Header21390
|
4321
|
+
Node: Initialization24501
|
4322
|
+
Node: Version Check24698
|
4323
|
+
Ref: stringprep_check_version25237
|
4324
|
+
Node: Building the source26212
|
4325
|
+
Node: Autoconf tests28134
|
4326
|
+
Node: Memory handling under Windows30535
|
4327
|
+
Ref: idn_free31495
|
4328
|
+
Node: Utility Functions32053
|
4329
|
+
Ref: stringprep_unichar_to_utf832725
|
4330
|
+
Ref: stringprep_utf8_to_unichar33157
|
4331
|
+
Ref: stringprep_ucs4_to_utf833547
|
4332
|
+
Ref: stringprep_utf8_to_ucs434432
|
4333
|
+
Ref: stringprep_ucs4_nfkc_normalize35257
|
4334
|
+
Ref: stringprep_utf8_nfkc_normalize35754
|
4335
|
+
Ref: stringprep_locale_charset36925
|
4336
|
+
Ref: stringprep_convert37968
|
4337
|
+
Ref: stringprep_locale_to_utf838537
|
4338
|
+
Ref: stringprep_utf8_to_locale38926
|
4339
|
+
Node: Stringprep Functions39285
|
4340
|
+
Ref: stringprep_4i41212
|
4341
|
+
Ref: stringprep_4zi42861
|
4342
|
+
Ref: stringprep44107
|
4343
|
+
Ref: stringprep_profile45467
|
4344
|
+
Ref: stringprep_strerror46601
|
4345
|
+
Node: Punycode Functions50302
|
4346
|
+
Ref: punycode_encode52071
|
4347
|
+
Ref: punycode_decode54306
|
4348
|
+
Ref: punycode_strerror56475
|
4349
|
+
Node: IDNA Functions57244
|
4350
|
+
Ref: idna_to_ascii_4i59866
|
4351
|
+
Ref: idna_to_unicode_44i61515
|
4352
|
+
Ref: idna_to_ascii_4z63498
|
4353
|
+
Ref: idna_to_ascii_8z64104
|
4354
|
+
Ref: idna_to_ascii_lz64704
|
4355
|
+
Ref: idna_to_unicode_4z4z65451
|
4356
|
+
Ref: idna_to_unicode_8z4z66115
|
4357
|
+
Ref: idna_to_unicode_8z8z66773
|
4358
|
+
Ref: idna_to_unicode_8zlz67425
|
4359
|
+
Ref: idna_to_unicode_lzlz68166
|
4360
|
+
Ref: idna_strerror68994
|
4361
|
+
Node: TLD Functions70618
|
4362
|
+
Ref: tld_check_4t72279
|
4363
|
+
Ref: tld_check_4tz73212
|
4364
|
+
Ref: tld_get_474098
|
4365
|
+
Ref: tld_get_4z74620
|
4366
|
+
Ref: tld_get_z75046
|
4367
|
+
Ref: tld_get_table75563
|
4368
|
+
Ref: tld_default_table76107
|
4369
|
+
Ref: tld_check_476852
|
4370
|
+
Ref: tld_check_4z78153
|
4371
|
+
Ref: tld_check_8z79370
|
4372
|
+
Ref: tld_check_lz80688
|
4373
|
+
Ref: tld_strerror82077
|
4374
|
+
Node: PR29 Functions82903
|
4375
|
+
Ref: pr29_485199
|
4376
|
+
Ref: pr29_4z85840
|
4377
|
+
Ref: pr29_8z86374
|
4378
|
+
Ref: pr29_strerror87047
|
4379
|
+
Node: Examples87770
|
4380
|
+
Node: Example 188223
|
4381
|
+
Node: Example 290802
|
4382
|
+
Node: Example 397421
|
4383
|
+
Node: Example 499963
|
4384
|
+
Node: Example 5102514
|
4385
|
+
Node: Invoking idn105999
|
4386
|
+
Node: Emacs API113472
|
4387
|
+
Node: Java API116290
|
4388
|
+
Node: C# API121462
|
4389
|
+
Node: Acknowledgements121931
|
4390
|
+
Node: History123033
|
4391
|
+
Node: PR29 discussion124696
|
4392
|
+
Node: On Label Separators128566
|
4393
|
+
Ref: On Label Separators-Footnote-1131086
|
4394
|
+
Node: Copying Information131185
|
4395
|
+
Node: GNU Free Documentation License131451
|
4396
|
+
Node: Function and Variable Index156764
|
4397
|
+
Node: Concept Index161750
|
4398
|
+
|
4399
|
+
End Tag Table
|
4400
|
+
|
4401
|
+
|
4402
|
+
Local Variables:
|
4403
|
+
coding: utf-8
|
4404
|
+
End:
|