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.
Files changed (1979) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +53 -8
  3. data/ext/glib2/extconf.rb +1 -1
  4. data/ext/glib2/glib2.def +8 -0
  5. data/ext/glib2/rbglib-variant-type.c +296 -0
  6. data/ext/glib2/rbglib-variant.c +132 -0
  7. data/ext/glib2/rbglib.c +16 -1
  8. data/ext/glib2/rbglib.h +18 -7
  9. data/ext/glib2/rbglib2conversions.h +6 -1
  10. data/ext/glib2/rbglib_fileutils.c +3 -3
  11. data/ext/glib2/rbglib_maincontext.c +35 -5
  12. data/ext/glib2/rbgobj_binding.c +48 -0
  13. data/ext/glib2/rbgobj_boxed.c +6 -2
  14. data/ext/glib2/rbgobj_enums.c +55 -12
  15. data/ext/glib2/rbgobj_flags.c +114 -70
  16. data/ext/glib2/rbgobj_object.c +91 -77
  17. data/ext/glib2/rbgobj_type.c +1 -1
  18. data/ext/glib2/rbgobj_typeinstance.c +8 -2
  19. data/ext/glib2/rbgobj_value.c +20 -12
  20. data/ext/glib2/rbgobject.c +2 -0
  21. data/ext/glib2/rbgobject.h +4 -2
  22. data/ext/glib2/rbgprivate.h +4 -3
  23. data/ext/glib2/rbgutil.c +36 -8
  24. data/ext/glib2/rbgutil.h +3 -1
  25. data/ext/glib2/rbgutil_list.c +97 -1
  26. data/ext/glib2/rbgutil_list.h +10 -1
  27. data/lib/2.0/glib2.so +0 -0
  28. data/lib/2.1/glib2.so +0 -0
  29. data/lib/2.2/glib2.so +0 -0
  30. data/lib/glib2/deprecatable.rb +20 -5
  31. data/lib/gnome2/rake/native-binary-build-task.rb +1 -1
  32. data/lib/gnome2/rake/windows-binary-build-task.rb +12 -15
  33. data/lib/mkmf-gnome2.rb +10 -11
  34. data/test/test-binding.rb +97 -0
  35. data/test/test-variant-type.rb +357 -0
  36. data/test/test_enum.rb +5 -8
  37. data/test/test_file_utils.rb +30 -8
  38. data/test/test_source.rb +11 -0
  39. data/test/test_value.rb +5 -0
  40. data/vendor/local/bin/asn1Coding.exe +0 -0
  41. data/vendor/local/bin/asn1Decoding.exe +0 -0
  42. data/vendor/local/bin/asn1Parser.exe +0 -0
  43. data/vendor/local/bin/envsubst.exe +0 -0
  44. data/vendor/local/bin/gdbus.exe +0 -0
  45. data/vendor/local/bin/gettext.exe +0 -0
  46. data/vendor/local/bin/gettext.sh +3 -2
  47. data/vendor/local/bin/gio-querymodules.exe +0 -0
  48. data/vendor/local/bin/glib-compile-resources.exe +0 -0
  49. data/vendor/local/bin/glib-compile-schemas.exe +0 -0
  50. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  51. data/vendor/local/bin/glib-gettextize +1 -1
  52. data/vendor/local/bin/glib-mkenums +1 -1
  53. data/vendor/local/bin/gobject-query.exe +0 -0
  54. data/vendor/local/bin/gresource.exe +0 -0
  55. data/vendor/local/bin/gsettings.exe +0 -0
  56. data/vendor/local/bin/gspawn-win64-helper-console.exe +0 -0
  57. data/vendor/local/bin/gspawn-win64-helper.exe +0 -0
  58. data/vendor/local/bin/iconv.exe +0 -0
  59. data/vendor/local/bin/idn.exe +0 -0
  60. data/vendor/local/bin/libasprintf-0.dll +0 -0
  61. data/vendor/local/bin/libcharset-1.dll +0 -0
  62. data/vendor/local/bin/libffi-6.dll +0 -0
  63. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  64. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  65. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  66. data/vendor/local/bin/libgmp-10.dll +0 -0
  67. data/vendor/local/bin/libgnutls-30.def +1047 -0
  68. data/vendor/local/bin/libgnutls-30.dll +0 -0
  69. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  70. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  71. data/vendor/local/bin/libhogweed-4-1.dll +0 -0
  72. data/vendor/local/bin/libiconv-2.dll +0 -0
  73. data/vendor/local/bin/libidn-11.def +77 -0
  74. data/vendor/local/bin/libidn-11.dll +0 -0
  75. data/vendor/local/bin/libintl-8.dll +0 -0
  76. data/vendor/local/bin/libnettle-6-1.dll +0 -0
  77. data/vendor/local/bin/libp11-kit-0.dll +0 -0
  78. data/vendor/local/bin/libtasn1-6.dll +0 -0
  79. data/vendor/local/bin/nettle-hash.exe +0 -0
  80. data/vendor/local/bin/nettle-lfib-stream.exe +0 -0
  81. data/vendor/local/bin/nettle-pbkdf2.exe +0 -0
  82. data/vendor/local/bin/ngettext.exe +0 -0
  83. data/vendor/local/bin/p11-kit.exe +0 -0
  84. data/vendor/local/bin/pkcs1-conv.exe +0 -0
  85. data/vendor/local/bin/sexp-conv.exe +0 -0
  86. data/vendor/local/bin/trust.exe +0 -0
  87. data/vendor/local/etc/pkcs11/pkcs11.conf.example +9 -0
  88. data/vendor/local/include/autosprintf.h +1 -1
  89. data/vendor/local/include/gio-win32-2.0/gio/gwin32inputstream.h +2 -0
  90. data/vendor/local/include/gio-win32-2.0/gio/gwin32outputstream.h +2 -0
  91. data/vendor/local/include/glib-2.0/gio/gappinfo.h +1 -0
  92. data/vendor/local/include/glib-2.0/gio/gapplication.h +12 -5
  93. data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +11 -1
  94. data/vendor/local/include/glib-2.0/gio/gfile.h +3 -0
  95. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +8 -0
  96. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +2 -2
  97. data/vendor/local/include/glib-2.0/gio/gicon.h +1 -0
  98. data/vendor/local/include/glib-2.0/gio/ginputstream.h +15 -0
  99. data/vendor/local/include/glib-2.0/gio/gio-autocleanups.h +148 -0
  100. data/vendor/local/include/glib-2.0/gio/gio.h +5 -0
  101. data/vendor/local/include/glib-2.0/gio/gioenums.h +34 -2
  102. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +2 -0
  103. data/vendor/local/include/glib-2.0/gio/giotypes.h +36 -0
  104. data/vendor/local/include/glib-2.0/gio/glistmodel.h +72 -0
  105. data/vendor/local/include/glib-2.0/gio/gliststore.h +72 -0
  106. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +2 -0
  107. data/vendor/local/include/glib-2.0/gio/gnetworking.h +1 -1
  108. data/vendor/local/include/glib-2.0/gio/gnetworkmonitor.h +25 -22
  109. data/vendor/local/include/glib-2.0/gio/goutputstream.h +16 -0
  110. data/vendor/local/include/glib-2.0/gio/gresource.h +1 -0
  111. data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +16 -0
  112. data/vendor/local/include/glib-2.0/gio/gsettingsschema.h +5 -0
  113. data/vendor/local/include/glib-2.0/gio/gsimpleaction.h +4 -0
  114. data/vendor/local/include/glib-2.0/gio/gsimpleiostream.h +45 -0
  115. data/vendor/local/include/glib-2.0/gio/gsocket.h +9 -0
  116. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +2 -0
  117. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +2 -0
  118. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +2 -0
  119. data/vendor/local/include/glib-2.0/gio/gtask.h +2 -0
  120. data/vendor/local/include/glib-2.0/gio/gtlsclientconnection.h +8 -0
  121. data/vendor/local/include/glib-2.0/gio/gtlspassword.h +9 -0
  122. data/vendor/local/include/glib-2.0/gio/gtlsserverconnection.h +8 -0
  123. data/vendor/local/include/glib-2.0/glib-object.h +2 -0
  124. data/vendor/local/include/glib-2.0/glib.h +2 -0
  125. data/vendor/local/include/glib-2.0/glib/gconvert.h +2 -0
  126. data/vendor/local/include/glib-2.0/glib/gdir.h +2 -0
  127. data/vendor/local/include/glib-2.0/glib/genviron.h +2 -1
  128. data/vendor/local/include/glib-2.0/glib/gfileutils.h +2 -0
  129. data/vendor/local/include/glib-2.0/glib/giochannel.h +2 -0
  130. data/vendor/local/include/glib-2.0/glib/glib-autocleanups.h +81 -0
  131. data/vendor/local/include/glib-2.0/glib/gmacros.h +53 -0
  132. data/vendor/local/include/glib-2.0/glib/gmem.h +72 -1
  133. data/vendor/local/include/glib-2.0/glib/goption.h +13 -3
  134. data/vendor/local/include/glib-2.0/glib/gslice.h +6 -5
  135. data/vendor/local/include/glib-2.0/glib/gspawn.h +2 -0
  136. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +4 -0
  137. data/vendor/local/include/glib-2.0/glib/gtestutils.h +45 -27
  138. data/vendor/local/include/glib-2.0/glib/gthread.h +70 -0
  139. data/vendor/local/include/glib-2.0/glib/gunicode.h +2 -2
  140. data/vendor/local/include/glib-2.0/glib/gversionmacros.h +24 -0
  141. data/vendor/local/include/glib-2.0/glib/gwin32.h +31 -6
  142. data/vendor/local/include/glib-2.0/gobject/gclosure.h +19 -0
  143. data/vendor/local/include/glib-2.0/gobject/glib-types.h +11 -0
  144. data/vendor/local/include/glib-2.0/gobject/gobject-autocleanups.h +27 -0
  145. data/vendor/local/include/glib-2.0/gobject/gobject.h +65 -2
  146. data/vendor/local/include/glib-2.0/gobject/gparam.h +3 -2
  147. data/vendor/local/include/glib-2.0/gobject/gtype.h +257 -4
  148. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +14 -0
  149. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +7 -0
  150. data/vendor/local/include/gnutls/abstract.h +131 -51
  151. data/vendor/local/include/gnutls/compat.h +12 -171
  152. data/vendor/local/include/gnutls/crypto.h +113 -0
  153. data/vendor/local/include/gnutls/gnutls.h +336 -79
  154. data/vendor/local/include/gnutls/ocsp.h +11 -1
  155. data/vendor/local/include/gnutls/openpgp.h +14 -0
  156. data/vendor/local/include/gnutls/pkcs11.h +171 -55
  157. data/vendor/local/include/gnutls/pkcs12.h +13 -0
  158. data/vendor/local/include/gnutls/pkcs7.h +134 -0
  159. data/vendor/local/include/gnutls/self-test.h +38 -0
  160. data/vendor/local/include/gnutls/system-keys.h +63 -0
  161. data/vendor/local/include/gnutls/urls.h +77 -0
  162. data/vendor/local/include/gnutls/x509-ext.h +194 -0
  163. data/vendor/local/include/gnutls/x509.h +304 -66
  164. data/vendor/local/include/idn-free.h +74 -0
  165. data/vendor/local/include/idn-int.h +1 -0
  166. data/vendor/local/include/idna.h +123 -0
  167. data/vendor/local/include/libintl.h +3 -2
  168. data/vendor/local/include/libtasn1.h +402 -0
  169. data/vendor/local/include/nettle/aes.h +126 -34
  170. data/vendor/local/include/nettle/arcfour.h +38 -25
  171. data/vendor/local/include/nettle/arctwo.h +51 -30
  172. data/vendor/local/include/nettle/asn1.h +35 -27
  173. data/vendor/local/include/nettle/base16.h +39 -35
  174. data/vendor/local/include/nettle/base64.h +59 -42
  175. data/vendor/local/include/nettle/bignum.h +57 -35
  176. data/vendor/local/include/nettle/blowfish.h +41 -28
  177. data/vendor/local/include/nettle/buffer.h +37 -29
  178. data/vendor/local/include/nettle/camellia.h +114 -53
  179. data/vendor/local/include/nettle/cast128.h +46 -37
  180. data/vendor/local/include/nettle/cbc.h +45 -35
  181. data/vendor/local/include/nettle/ccm.h +302 -0
  182. data/vendor/local/include/nettle/chacha-poly1305.h +98 -0
  183. data/vendor/local/include/nettle/chacha.h +96 -0
  184. data/vendor/local/include/nettle/ctr.h +39 -30
  185. data/vendor/local/include/nettle/curve25519.h +57 -0
  186. data/vendor/local/include/nettle/des-compat.h +31 -23
  187. data/vendor/local/include/nettle/des.h +37 -28
  188. data/vendor/local/include/nettle/dsa-compat.h +183 -0
  189. data/vendor/local/include/nettle/dsa.h +95 -172
  190. data/vendor/local/include/nettle/eax.h +185 -0
  191. data/vendor/local/include/nettle/ecc-curve.h +31 -22
  192. data/vendor/local/include/nettle/ecc.h +44 -146
  193. data/vendor/local/include/nettle/ecdsa.h +33 -24
  194. data/vendor/local/include/nettle/eddsa.h +149 -0
  195. data/vendor/local/include/nettle/gcm.h +216 -75
  196. data/vendor/local/include/nettle/gosthash94.h +37 -27
  197. data/vendor/local/include/nettle/hmac.h +53 -45
  198. data/vendor/local/include/nettle/knuth-lfib.h +32 -27
  199. data/vendor/local/include/nettle/macros.h +40 -33
  200. data/vendor/local/include/nettle/md2.h +39 -29
  201. data/vendor/local/include/nettle/md4.h +39 -29
  202. data/vendor/local/include/nettle/md5-compat.h +31 -23
  203. data/vendor/local/include/nettle/md5.h +38 -28
  204. data/vendor/local/include/nettle/memxor.h +6 -3
  205. data/vendor/local/include/nettle/nettle-meta.h +70 -72
  206. data/vendor/local/include/nettle/nettle-stdint.h +2 -2
  207. data/vendor/local/include/nettle/nettle-types.h +60 -42
  208. data/vendor/local/include/nettle/pbkdf2.h +40 -32
  209. data/vendor/local/include/nettle/pgp.h +31 -23
  210. data/vendor/local/include/nettle/pkcs1.h +46 -38
  211. data/vendor/local/include/nettle/poly1305.h +128 -0
  212. data/vendor/local/include/nettle/realloc.h +29 -22
  213. data/vendor/local/include/nettle/ripemd160.h +38 -28
  214. data/vendor/local/include/nettle/rsa.h +42 -34
  215. data/vendor/local/include/nettle/salsa20.h +56 -35
  216. data/vendor/local/include/nettle/serpent.h +46 -25
  217. data/vendor/local/include/nettle/sexp.h +44 -37
  218. data/vendor/local/include/nettle/sha.h +33 -25
  219. data/vendor/local/include/nettle/sha1.h +38 -28
  220. data/vendor/local/include/nettle/sha2.h +86 -36
  221. data/vendor/local/include/nettle/sha3.h +53 -40
  222. data/vendor/local/include/nettle/twofish.h +45 -25
  223. data/vendor/local/include/nettle/umac.h +53 -41
  224. data/vendor/local/include/nettle/version.h +57 -0
  225. data/vendor/local/include/nettle/yarrow.h +35 -27
  226. data/vendor/local/include/p11-kit-1/p11-kit/deprecated.h +97 -0
  227. data/vendor/local/include/p11-kit-1/p11-kit/iter.h +115 -0
  228. data/vendor/local/include/p11-kit-1/p11-kit/p11-kit.h +121 -0
  229. data/vendor/local/include/p11-kit-1/p11-kit/pin.h +107 -0
  230. data/vendor/local/include/p11-kit-1/p11-kit/pkcs11.h +1398 -0
  231. data/vendor/local/include/p11-kit-1/p11-kit/pkcs11x.h +149 -0
  232. data/vendor/local/include/p11-kit-1/p11-kit/remote.h +56 -0
  233. data/vendor/local/include/p11-kit-1/p11-kit/uri.h +167 -0
  234. data/vendor/local/include/pr29.h +73 -0
  235. data/vendor/local/include/punycode.h +239 -0
  236. data/vendor/local/include/stringprep.h +242 -0
  237. data/vendor/local/include/tld.h +135 -0
  238. data/vendor/local/lib/gio/modules/libgiognutls.a +0 -0
  239. data/vendor/local/lib/gio/modules/libgiognutls.dll +0 -0
  240. data/vendor/local/lib/gio/modules/libgiognutls.dll.a +0 -0
  241. data/vendor/local/lib/gio/modules/libgiognutls.la +2 -2
  242. data/vendor/local/lib/glib-2.0/include/glibconfig.h +1 -1
  243. data/vendor/local/lib/libasprintf.a +0 -0
  244. data/vendor/local/lib/libasprintf.dll.a +0 -0
  245. data/vendor/local/lib/libasprintf.la +2 -2
  246. data/vendor/local/lib/libcharset.a +0 -0
  247. data/vendor/local/lib/libcharset.dll.a +0 -0
  248. data/vendor/local/lib/libffi.a +0 -0
  249. data/vendor/local/lib/libffi.dll.a +0 -0
  250. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  251. data/vendor/local/lib/libgio-2.0.la +4 -4
  252. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  253. data/vendor/local/lib/libglib-2.0.la +4 -4
  254. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  255. data/vendor/local/lib/libgmodule-2.0.la +4 -4
  256. data/vendor/local/lib/libgmp.dll.a +0 -0
  257. data/vendor/local/lib/libgnutls.dll.a +0 -0
  258. data/vendor/local/lib/libgnutls.la +8 -8
  259. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  260. data/vendor/local/lib/libgobject-2.0.la +4 -4
  261. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  262. data/vendor/local/lib/libgthread-2.0.la +4 -4
  263. data/vendor/local/lib/libhogweed.a +0 -0
  264. data/vendor/local/lib/libhogweed.dll.a +0 -0
  265. data/vendor/local/lib/libiconv.dll.a +0 -0
  266. data/vendor/local/lib/libidn.a +0 -0
  267. data/vendor/local/lib/libidn.dll.a +0 -0
  268. data/vendor/local/lib/libidn.la +41 -0
  269. data/vendor/local/lib/libintl.a +0 -0
  270. data/vendor/local/lib/libintl.dll.a +0 -0
  271. data/vendor/local/lib/libintl.la +5 -5
  272. data/vendor/local/lib/libnettle.a +0 -0
  273. data/vendor/local/lib/libnettle.dll.a +0 -0
  274. data/vendor/local/lib/libp11-kit.dll.a +0 -0
  275. data/vendor/local/lib/libp11-kit.la +41 -0
  276. data/vendor/local/lib/libtasn1.a +0 -0
  277. data/vendor/local/lib/libtasn1.dll.a +0 -0
  278. data/vendor/local/lib/libtasn1.la +41 -0
  279. data/vendor/local/lib/p11-kit/p11-kit-remote.exe +0 -0
  280. data/vendor/local/lib/p11-kit/trust-extract-compat +32 -0
  281. data/vendor/local/lib/pkcs11/p11-kit-trust.dll +0 -0
  282. data/vendor/local/lib/pkcs11/p11-kit-trust.dll.a +0 -0
  283. data/vendor/local/lib/pkcs11/p11-kit-trust.la +41 -0
  284. data/vendor/local/lib/pkgconfig/gio-2.0.pc +1 -1
  285. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
  286. data/vendor/local/lib/pkgconfig/glib-2.0.pc +1 -1
  287. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
  288. data/vendor/local/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
  289. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
  290. data/vendor/local/lib/pkgconfig/gnutls.pc +3 -3
  291. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +1 -1
  292. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
  293. data/vendor/local/lib/pkgconfig/hogweed.pc +5 -4
  294. data/vendor/local/lib/pkgconfig/libidn.pc +23 -0
  295. data/vendor/local/lib/pkgconfig/libtasn1.pc +30 -0
  296. data/vendor/local/lib/pkgconfig/nettle.pc +1 -1
  297. data/vendor/local/lib/pkgconfig/p11-kit-1.pc +22 -0
  298. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +1 -1
  299. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +1 -1
  300. data/vendor/local/share/doc/gettext/envsubst.1.html +1 -1
  301. data/vendor/local/share/doc/gettext/gettext.1.html +1 -1
  302. data/vendor/local/share/doc/gettext/gettext.3.html +1 -1
  303. data/vendor/local/share/doc/gettext/ngettext.1.html +1 -1
  304. data/vendor/local/share/doc/gettext/ngettext.3.html +1 -1
  305. data/vendor/local/share/doc/gettext/textdomain.3.html +1 -1
  306. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +1 -1
  307. data/vendor/local/share/emacs/site-lisp/idna.el +192 -0
  308. data/vendor/local/share/emacs/site-lisp/punycode.el +182 -0
  309. 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
  310. 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
  311. data/vendor/local/share/gettext/ABOUT-NLS +1194 -1066
  312. data/vendor/local/share/glib-2.0/codegen/__init__.pyc +0 -0
  313. data/vendor/local/share/glib-2.0/codegen/__init__.pyo +0 -0
  314. data/vendor/local/share/glib-2.0/codegen/codegen.pyc +0 -0
  315. data/vendor/local/share/glib-2.0/codegen/codegen.pyo +0 -0
  316. data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyc +0 -0
  317. data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyo +0 -0
  318. data/vendor/local/share/glib-2.0/codegen/codegen_main.pyc +0 -0
  319. data/vendor/local/share/glib-2.0/codegen/codegen_main.pyo +0 -0
  320. data/vendor/local/share/glib-2.0/codegen/config.py +1 -1
  321. data/vendor/local/share/glib-2.0/codegen/config.pyc +0 -0
  322. data/vendor/local/share/glib-2.0/codegen/config.pyo +0 -0
  323. data/vendor/local/share/glib-2.0/codegen/dbustypes.pyc +0 -0
  324. data/vendor/local/share/glib-2.0/codegen/dbustypes.pyo +0 -0
  325. data/vendor/local/share/glib-2.0/codegen/parser.pyc +0 -0
  326. data/vendor/local/share/glib-2.0/codegen/parser.pyo +0 -0
  327. data/vendor/local/share/glib-2.0/codegen/utils.pyc +0 -0
  328. data/vendor/local/share/glib-2.0/codegen/utils.pyo +0 -0
  329. data/vendor/local/share/gtk-doc/html/gio/ExampleAnimal.html +7 -7
  330. data/vendor/local/share/gtk-doc/html/gio/ExampleCat.html +3 -3
  331. data/vendor/local/share/gtk-doc/html/gio/ExampleObject.html +3 -3
  332. data/vendor/local/share/gtk-doc/html/gio/ExampleObjectManagerClient.html +3 -3
  333. data/vendor/local/share/gtk-doc/html/gio/GAction.html +25 -23
  334. data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +38 -36
  335. data/vendor/local/share/gtk-doc/html/gio/GActionMap.html +10 -8
  336. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +83 -12
  337. data/vendor/local/share/gtk-doc/html/gio/GAppInfoMonitor.html +22 -25
  338. data/vendor/local/share/gtk-doc/html/gio/GApplication.html +235 -79
  339. data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +100 -25
  340. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +1 -1
  341. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +1 -1
  342. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +21 -21
  343. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +11 -11
  344. data/vendor/local/share/gtk-doc/html/gio/GBytesIcon.html +202 -0
  345. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +12 -9
  346. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +1 -1
  347. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +1 -1
  348. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +1 -1
  349. data/vendor/local/share/gtk-doc/html/gio/GDBusActionGroup.html +5 -3
  350. data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +5 -5
  351. data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +18 -12
  352. data/vendor/local/share/gtk-doc/html/gio/GDBusInterface.html +1 -1
  353. data/vendor/local/share/gtk-doc/html/gio/GDBusInterfaceSkeleton.html +4 -6
  354. data/vendor/local/share/gtk-doc/html/gio/GDBusMenuModel.html +7 -5
  355. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1 -1
  356. data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +1 -1
  357. data/vendor/local/share/gtk-doc/html/gio/GDBusObject.html +7 -5
  358. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManager.html +11 -9
  359. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerClient.html +6 -8
  360. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerServer.html +1 -1
  361. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectProxy.html +1 -1
  362. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectSkeleton.html +3 -3
  363. data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +9 -11
  364. data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +4 -6
  365. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +44 -44
  366. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +22 -22
  367. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +9 -9
  368. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +1 -1
  369. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +1 -1
  370. data/vendor/local/share/gtk-doc/html/gio/GFile.html +40 -31
  371. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +45 -5
  372. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +136 -20
  373. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +8 -8
  374. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +3 -3
  375. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3 -3
  376. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +8 -8
  377. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +3 -3
  378. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +8 -8
  379. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +3 -3
  380. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +6 -6
  381. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +6 -6
  382. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +17 -17
  383. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +4 -3
  384. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +5 -5
  385. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +3 -3
  386. data/vendor/local/share/gtk-doc/html/gio/GInetAddressMask.html +509 -0
  387. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +1 -1
  388. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +2 -2
  389. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +180 -32
  390. data/vendor/local/share/gtk-doc/html/gio/GListModel.html +532 -0
  391. data/vendor/local/share/gtk-doc/html/gio/GListStore.html +490 -0
  392. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +4 -4
  393. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +8 -8
  394. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +15 -15
  395. data/vendor/local/share/gtk-doc/html/gio/GMenu.html +41 -41
  396. data/vendor/local/share/gtk-doc/html/gio/GMenuModel.html +51 -38
  397. data/vendor/local/share/gtk-doc/html/gio/GMount.html +7 -7
  398. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +14 -16
  399. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +144 -92
  400. data/vendor/local/share/gtk-doc/html/gio/GNetworkMonitor.html +172 -5
  401. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +1 -1
  402. data/vendor/local/share/gtk-doc/html/gio/GNotification.html +778 -0
  403. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +199 -42
  404. data/vendor/local/share/gtk-doc/html/gio/GPermission.html +1 -1
  405. data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +10 -10
  406. data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +10 -10
  407. data/vendor/local/share/gtk-doc/html/gio/GPropertyAction.html +318 -0
  408. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +1 -1
  409. data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +3 -1
  410. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +41 -1
  411. data/vendor/local/share/gtk-doc/html/gio/GRemoteActionGroup.html +8 -6
  412. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +83 -8
  413. data/vendor/local/share/gtk-doc/html/gio/GResource.html +1161 -0
  414. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +1 -1
  415. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +34 -21
  416. data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +69 -3
  417. data/vendor/local/share/gtk-doc/html/gio/GSimpleAction.html +58 -15
  418. data/vendor/local/share/gtk-doc/html/gio/GSimpleActionGroup.html +7 -7
  419. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1 -1
  420. data/vendor/local/share/gtk-doc/html/gio/GSimpleIOStream.html +189 -0
  421. data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +3 -3
  422. data/vendor/local/share/gtk-doc/html/gio/GSimpleProxyResolver.html +1 -59
  423. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +267 -83
  424. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +3 -3
  425. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +3 -3
  426. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +1 -1
  427. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +1 -1
  428. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +3 -3
  429. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +1 -1
  430. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +3 -3
  431. data/vendor/local/share/gtk-doc/html/gio/GSrvTarget.html +1 -1
  432. data/vendor/local/share/gtk-doc/html/gio/GSubprocess.html +6 -8
  433. data/vendor/local/share/gtk-doc/html/gio/GSubprocessLauncher.html +963 -0
  434. data/vendor/local/share/gtk-doc/html/gio/GTask.html +125 -53
  435. data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +2 -2
  436. data/vendor/local/share/gtk-doc/html/gio/GTcpWrapperConnection.html +3 -1
  437. data/vendor/local/share/gtk-doc/html/gio/GTestDBus.html +14 -16
  438. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +1 -1
  439. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +3 -3
  440. data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +2 -1
  441. data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +47 -18
  442. data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +34 -7
  443. data/vendor/local/share/gtk-doc/html/gio/GTlsConnection.html +3 -3
  444. data/vendor/local/share/gtk-doc/html/gio/GTlsDatabase.html +1 -1
  445. data/vendor/local/share/gtk-doc/html/gio/GTlsFileDatabase.html +1 -1
  446. data/vendor/local/share/gtk-doc/html/gio/GTlsInteraction.html +1 -1
  447. data/vendor/local/share/gtk-doc/html/gio/GTlsPassword.html +36 -4
  448. data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +18 -1
  449. data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +3 -1
  450. data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +1 -1
  451. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +3 -1
  452. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +3 -1
  453. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +8 -8
  454. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +8 -8
  455. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +1 -1
  456. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +13 -13
  457. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +5 -5
  458. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +25 -25
  459. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +1 -1
  460. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +1 -1
  461. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +3 -3
  462. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +1 -1
  463. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +1 -1
  464. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1 -1
  465. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +9 -1
  466. data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +13 -1
  467. data/vendor/local/share/gtk-doc/html/gio/api-index-2-28.html +5 -1
  468. data/vendor/local/share/gtk-doc/html/gio/api-index-2-30.html +1 -1
  469. data/vendor/local/share/gtk-doc/html/gio/api-index-2-32.html +36 -43
  470. data/vendor/local/share/gtk-doc/html/gio/api-index-2-34.html +5 -1
  471. data/vendor/local/share/gtk-doc/html/gio/api-index-2-36.html +17 -1
  472. data/vendor/local/share/gtk-doc/html/gio/api-index-2-38.html +33 -5
  473. data/vendor/local/share/gtk-doc/html/gio/api-index-2-40.html +30 -34
  474. data/vendor/local/share/gtk-doc/html/gio/api-index-2-42.html +11 -4
  475. data/vendor/local/share/gtk-doc/html/gio/api-index-2-44.html +215 -0
  476. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +22 -2
  477. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +342 -82
  478. data/vendor/local/share/gtk-doc/html/gio/application.html +5 -5
  479. data/vendor/local/share/gtk-doc/html/gio/async.html +1 -1
  480. data/vendor/local/share/gtk-doc/html/gio/ch01.html +1 -1
  481. data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -2
  482. data/vendor/local/share/gtk-doc/html/gio/ch03.html +1 -1
  483. data/vendor/local/share/gtk-doc/html/gio/ch31.html +26 -168
  484. data/vendor/local/share/gtk-doc/html/gio/ch32.html +184 -23
  485. data/vendor/local/share/gtk-doc/html/gio/ch32s02.html +12 -30
  486. data/vendor/local/share/gtk-doc/html/gio/ch32s03.html +13 -133
  487. data/vendor/local/share/gtk-doc/html/gio/ch33.html +23 -83
  488. data/vendor/local/share/gtk-doc/html/gio/ch33s02.html +34 -117
  489. data/vendor/local/share/gtk-doc/html/gio/ch33s03.html +129 -172
  490. data/vendor/local/share/gtk-doc/html/gio/ch33s04.html +16 -67
  491. data/vendor/local/share/gtk-doc/html/gio/ch33s05.html +21 -904
  492. data/vendor/local/share/gtk-doc/html/gio/ch33s06.html +278 -0
  493. data/vendor/local/share/gtk-doc/html/gio/ch33s07.html +160 -0
  494. data/vendor/local/share/gtk-doc/html/gio/ch34.html +116 -0
  495. data/vendor/local/share/gtk-doc/html/gio/ch34s02.html +142 -0
  496. data/vendor/local/share/gtk-doc/html/gio/ch34s03.html +202 -0
  497. data/vendor/local/share/gtk-doc/html/gio/ch34s04.html +97 -0
  498. data/vendor/local/share/gtk-doc/html/gio/ch34s05.html +931 -0
  499. data/vendor/local/share/gtk-doc/html/gio/conversion.html +1 -1
  500. data/vendor/local/share/gtk-doc/html/gio/data-models.html +38 -0
  501. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +2 -2
  502. data/vendor/local/share/gtk-doc/html/gio/extending.html +3 -3
  503. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +1 -1
  504. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +1 -1
  505. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +1 -1
  506. data/vendor/local/share/gtk-doc/html/gio/gapplication-tool.html +9 -9
  507. data/vendor/local/share/gtk-doc/html/gio/gdbus-codegen.html +14 -14
  508. data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +1 -1
  509. data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +1 -1
  510. data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Animal.html +5 -5
  511. data/vendor/local/share/gtk-doc/html/gio/gdbus-org.gtk.GDBus.Example.ObjectManager.Cat.html +3 -3
  512. data/vendor/local/share/gtk-doc/html/gio/gdbus.html +7 -7
  513. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +47 -1
  514. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1 -1
  515. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +1 -1
  516. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +124 -47
  517. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +26 -22
  518. data/vendor/local/share/gtk-doc/html/gio/gio-GActionGroup-exporter.html +4 -4
  519. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +1 -1
  520. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +5 -5
  521. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +5 -5
  522. data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +1 -1
  523. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +50 -43
  524. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +21 -3
  525. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +1 -1
  526. data/vendor/local/share/gtk-doc/html/gio/gio-GMenuModel-exporter.html +4 -4
  527. data/vendor/local/share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html +161 -104
  528. data/vendor/local/share/gtk-doc/html/gio/gio-GWin32InputStream.html +8 -8
  529. data/vendor/local/share/gtk-doc/html/gio/gio-GWin32OutputStream.html +8 -8
  530. data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +1 -3
  531. data/vendor/local/share/gtk-doc/html/gio/gio-TLS-Overview.html +5 -12
  532. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +56 -18
  533. data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +1 -3
  534. data/vendor/local/share/gtk-doc/html/gio/gio-gnetworking.h.html +1 -1
  535. data/vendor/local/share/gtk-doc/html/gio/gio-gpollableutils.html +13 -13
  536. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +52 -53
  537. data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +2 -2
  538. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +561 -116
  539. data/vendor/local/share/gtk-doc/html/gio/glib-compile-resources.html +6 -6
  540. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +3 -3
  541. data/vendor/local/share/gtk-doc/html/gio/gresource-tool.html +4 -4
  542. data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +3 -3
  543. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +1 -1
  544. data/vendor/local/share/gtk-doc/html/gio/icons.html +2 -2
  545. data/vendor/local/share/gtk-doc/html/gio/index.html +39 -26
  546. data/vendor/local/share/gtk-doc/html/gio/index.sgml +620 -121
  547. data/vendor/local/share/gtk-doc/html/gio/migrating.html +21 -21
  548. data/vendor/local/share/gtk-doc/html/gio/networking.html +4 -4
  549. data/vendor/local/share/gtk-doc/html/gio/permissions.html +3 -3
  550. data/vendor/local/share/gtk-doc/html/gio/pt01.html +1 -1
  551. data/vendor/local/share/gtk-doc/html/gio/pt02.html +19 -7
  552. data/vendor/local/share/gtk-doc/html/gio/resolver.html +1 -1
  553. data/vendor/local/share/gtk-doc/html/gio/resources.html +4 -4
  554. data/vendor/local/share/gtk-doc/html/gio/running-gio-apps.html +1 -1
  555. data/vendor/local/share/gtk-doc/html/gio/settings.html +1 -1
  556. data/vendor/local/share/gtk-doc/html/gio/streaming.html +4 -1
  557. data/vendor/local/share/gtk-doc/html/gio/subprocesses.html +2 -2
  558. data/vendor/local/share/gtk-doc/html/gio/testing.html +1 -1
  559. data/vendor/local/share/gtk-doc/html/gio/tls.html +1 -1
  560. data/vendor/local/share/gtk-doc/html/gio/tools.html +1 -1
  561. data/vendor/local/share/gtk-doc/html/gio/types.html +1 -1
  562. data/vendor/local/share/gtk-doc/html/gio/utils.html +1 -1
  563. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +1 -1
  564. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +8 -3
  565. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +1 -1
  566. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +1 -1
  567. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +3 -3
  568. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +1 -1
  569. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +1 -1
  570. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +1 -1
  571. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +1 -1
  572. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +1 -1
  573. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +1 -1
  574. data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +1 -1
  575. data/vendor/local/share/gtk-doc/html/glib/api-index-2-28.html +1 -1
  576. data/vendor/local/share/gtk-doc/html/glib/api-index-2-30.html +1 -1
  577. data/vendor/local/share/gtk-doc/html/glib/api-index-2-32.html +1 -1
  578. data/vendor/local/share/gtk-doc/html/glib/api-index-2-34.html +1 -1
  579. data/vendor/local/share/gtk-doc/html/glib/api-index-2-36.html +1 -1
  580. data/vendor/local/share/gtk-doc/html/glib/api-index-2-38.html +12 -1
  581. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +3 -3
  582. data/vendor/local/share/gtk-doc/html/glib/api-index-2-40.html +1 -1
  583. data/vendor/local/share/gtk-doc/html/glib/api-index-2-42.html +3 -3
  584. data/vendor/local/share/gtk-doc/html/glib/api-index-2-44.html +117 -0
  585. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +5 -5
  586. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +1 -1
  587. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +14 -3
  588. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +109 -25
  589. data/vendor/local/share/gtk-doc/html/glib/deprecated.html +1 -1
  590. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +1 -1
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +1 -1
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +1 -1
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +1 -1
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +1 -1
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +1 -1
  596. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +17 -3
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +1 -1
  598. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +1 -1
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1 -1
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +1 -1
  601. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +4 -3
  602. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +210 -39
  603. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +1 -1
  604. data/vendor/local/share/gtk-doc/html/glib/glib-Data-HMACs.html +1 -1
  605. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +1 -1
  606. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +1 -1
  607. data/vendor/local/share/gtk-doc/html/glib/glib-Deprecated-Thread-APIs.html +1 -1
  608. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +14 -10
  609. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +21 -9
  610. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +2 -2
  611. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +10 -4
  612. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +7 -2
  613. data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2 -2
  614. data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +1 -1
  615. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +10 -10
  616. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1 -1
  617. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +1 -1
  618. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +33 -11
  619. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1 -1
  620. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +1 -1
  621. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +43 -4
  622. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2 -3
  623. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +27 -1
  624. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +1 -1
  625. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +136 -10
  626. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +134 -18
  627. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +1 -1
  628. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +7 -7
  629. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +437 -20
  630. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +3 -3
  631. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1 -1
  632. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +1 -1
  633. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +1 -1
  634. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +1 -1
  635. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +1 -1
  636. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +1 -1
  637. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +1 -1
  638. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1 -1
  639. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +1 -1
  640. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1 -1
  641. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +4 -2
  642. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +1 -1
  643. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +1 -1
  644. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +1 -1
  645. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +64 -11
  646. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +3 -3
  647. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +160 -28
  648. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +19 -15
  649. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +2 -2
  650. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +197 -54
  651. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +1 -1
  652. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +1 -1
  653. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +1 -1
  654. data/vendor/local/share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html +1 -2
  655. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +1 -1
  656. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +10 -10
  657. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +17 -4
  658. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +4 -4
  659. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +141 -18
  660. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +1 -1
  661. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +1 -1
  662. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +1 -1
  663. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +1 -1
  664. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +1 -1
  665. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +1 -1
  666. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +1 -1
  667. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +1 -1
  668. data/vendor/local/share/gtk-doc/html/glib/glib-programming.html +1 -1
  669. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +1 -1
  670. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +1 -1
  671. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +1 -1
  672. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +1 -1
  673. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +633 -2
  674. data/vendor/local/share/gtk-doc/html/glib/glib.html +1 -1
  675. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +1 -1
  676. data/vendor/local/share/gtk-doc/html/glib/gtester.html +1 -1
  677. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1 -1
  678. data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +1 -1
  679. data/vendor/local/share/gtk-doc/html/glib/index.html +2 -1
  680. data/vendor/local/share/gtk-doc/html/glib/index.sgml +631 -0
  681. data/vendor/local/share/gtk-doc/html/glib/tools.html +1 -1
  682. data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +6 -7
  683. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +35 -1
  684. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +1 -1
  685. data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +8 -3
  686. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +3 -3
  687. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +1 -1
  688. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +1 -1
  689. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +1 -1
  690. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +1 -1
  691. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +1 -1
  692. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +1 -1
  693. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +1 -1
  694. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-28.html +1 -1
  695. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-30.html +5 -1
  696. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-32.html +5 -1
  697. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-34.html +1 -1
  698. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-36.html +1 -1
  699. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-38.html +9 -1
  700. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +3 -3
  701. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-40.html +5 -1
  702. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-42.html +3 -3
  703. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-44.html +61 -0
  704. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +1 -1
  705. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +1 -1
  706. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +1 -1
  707. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +50 -18
  708. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +32 -12
  709. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +137 -56
  710. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +210 -93
  711. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +14 -5
  712. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +92 -37
  713. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +63 -24
  714. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +64 -25
  715. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +26 -2
  716. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +1847 -241
  717. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +30 -1
  718. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +28 -3
  719. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +1 -1
  720. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +44 -4
  721. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +8 -3
  722. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +154 -65
  723. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +602 -197
  724. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +3 -4
  725. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +29 -4
  726. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +60 -27
  727. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +24 -11
  728. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +1 -1
  729. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +57 -4
  730. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +68 -27
  731. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +200 -83
  732. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +295 -125
  733. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +58 -27
  734. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +36 -15
  735. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +56 -22
  736. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +39 -17
  737. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +123 -53
  738. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +308 -137
  739. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +111 -131
  740. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +144 -60
  741. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-override.html +138 -58
  742. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-prerequisite.html +126 -53
  743. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +157 -70
  744. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +112 -47
  745. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +77 -30
  746. data/vendor/local/share/gtk-doc/html/gobject/index.html +2 -1
  747. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +53 -0
  748. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +1 -1
  749. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +1 -1
  750. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +1 -1
  751. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +1 -1
  752. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +1 -1
  753. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +1 -1
  754. data/vendor/local/share/gtk-doc/html/gobject/signal.html +154 -60
  755. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +1 -1
  756. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +1 -1
  757. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +37 -17
  758. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +1 -1
  759. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +1 -1
  760. data/vendor/local/share/gtk-doc/html/p11-kit/config-example.html +73 -0
  761. data/vendor/local/share/gtk-doc/html/p11-kit/config-files.html +39 -0
  762. data/vendor/local/share/gtk-doc/html/p11-kit/config.html +49 -0
  763. data/vendor/local/share/gtk-doc/html/p11-kit/devel-building-style.html +58 -0
  764. data/vendor/local/share/gtk-doc/html/p11-kit/devel-building.html +182 -0
  765. data/vendor/local/share/gtk-doc/html/p11-kit/devel-commands.html +45 -0
  766. data/vendor/local/share/gtk-doc/html/p11-kit/devel-debugging.html +35 -0
  767. data/vendor/local/share/gtk-doc/html/p11-kit/devel-paths.html +60 -0
  768. data/vendor/local/share/gtk-doc/html/p11-kit/devel-testing.html +47 -0
  769. data/vendor/local/share/gtk-doc/html/p11-kit/devel.html +59 -0
  770. data/vendor/local/share/gtk-doc/html/p11-kit/gtk-doc.css +476 -0
  771. data/vendor/local/share/gtk-doc/html/p11-kit/home.png +0 -0
  772. data/vendor/local/share/gtk-doc/html/p11-kit/index.html +101 -0
  773. data/vendor/local/share/gtk-doc/html/p11-kit/index.sgml +167 -0
  774. data/vendor/local/share/gtk-doc/html/p11-kit/left-insensitive.png +0 -0
  775. data/vendor/local/share/gtk-doc/html/p11-kit/left.png +0 -0
  776. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Deprecated.html +473 -0
  777. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Future.html +973 -0
  778. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Modules.html +798 -0
  779. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-PIN-Callbacks.html +906 -0
  780. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-URIs.html +1138 -0
  781. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Utilities.html +277 -0
  782. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.devhelp2 +155 -0
  783. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit.html +115 -0
  784. data/vendor/local/share/gtk-doc/html/p11-kit/pkcs11-conf.html +261 -0
  785. data/vendor/local/share/gtk-doc/html/p11-kit/reference.html +482 -0
  786. data/vendor/local/share/gtk-doc/html/p11-kit/right-insensitive.png +0 -0
  787. data/vendor/local/share/gtk-doc/html/p11-kit/right.png +0 -0
  788. data/vendor/local/share/gtk-doc/html/p11-kit/sharing-managed.html +79 -0
  789. data/vendor/local/share/gtk-doc/html/p11-kit/sharing.html +49 -0
  790. data/vendor/local/share/gtk-doc/html/p11-kit/style.css +116 -0
  791. data/vendor/local/share/gtk-doc/html/p11-kit/tools.html +41 -0
  792. data/vendor/local/share/gtk-doc/html/p11-kit/trust-disable.html +45 -0
  793. data/vendor/local/share/gtk-doc/html/p11-kit/trust-glib-networking.html +35 -0
  794. data/vendor/local/share/gtk-doc/html/p11-kit/trust-module.html +96 -0
  795. data/vendor/local/share/gtk-doc/html/p11-kit/trust-nss.html +41 -0
  796. data/vendor/local/share/gtk-doc/html/p11-kit/trust.html +389 -0
  797. data/vendor/local/share/gtk-doc/html/p11-kit/up-insensitive.png +0 -0
  798. data/vendor/local/share/gtk-doc/html/p11-kit/up.png +0 -0
  799. data/vendor/local/share/info/autosprintf.info +6 -6
  800. data/vendor/local/share/info/dir +11 -17
  801. data/vendor/local/share/info/libidn-components.png +0 -0
  802. data/vendor/local/share/info/libidn.info +4404 -0
  803. data/vendor/local/share/info/libtasn1.info +2123 -0
  804. data/vendor/local/share/license/gnutls/AUTHORS +3 -42
  805. data/vendor/local/share/license/libidn/AUTHORS +794 -0
  806. data/vendor/local/share/license/libidn/COPYING +30 -0
  807. data/vendor/local/share/license/libtasn1/AUTHORS +12 -0
  808. data/vendor/local/share/license/libtasn1/COPYING +674 -0
  809. data/vendor/local/share/license/libtasn1/COPYING.LIB +502 -0
  810. data/vendor/local/share/license/p11-kit/AUTHORS +1 -0
  811. data/vendor/local/share/license/p11-kit/COPYING +27 -0
  812. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  813. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  814. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/bs/LC_MESSAGES/glib-networking.mo +0 -0
  816. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  818. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/cs/LC_MESSAGES/gnutls.mo +0 -0
  822. data/vendor/local/share/locale/cs/LC_MESSAGES/libidn.mo +0 -0
  823. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  824. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  825. data/vendor/local/share/locale/da/LC_MESSAGES/libidn.mo +0 -0
  826. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  827. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  828. data/vendor/local/share/locale/de/LC_MESSAGES/gnutls.mo +0 -0
  829. data/vendor/local/share/locale/de/LC_MESSAGES/libidn.mo +0 -0
  830. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  831. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  832. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  833. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gnutls.mo +0 -0
  834. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/libidn.mo +0 -0
  835. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  836. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gnutls.mo +0 -0
  837. data/vendor/local/share/locale/en@quot/LC_MESSAGES/libidn.mo +0 -0
  838. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  839. data/vendor/local/share/locale/eo/LC_MESSAGES/gnutls.mo +0 -0
  840. data/vendor/local/share/locale/eo/LC_MESSAGES/libidn.mo +0 -0
  841. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  842. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  843. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  844. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  845. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  846. data/vendor/local/share/locale/fi/LC_MESSAGES/gnutls.mo +0 -0
  847. data/vendor/local/share/locale/fi/LC_MESSAGES/libidn.mo +0 -0
  848. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  849. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  850. data/vendor/local/share/locale/fr/LC_MESSAGES/gnutls.mo +0 -0
  851. data/vendor/local/share/locale/fr/LC_MESSAGES/libidn.mo +0 -0
  852. data/vendor/local/share/locale/fur/LC_MESSAGES/glib-networking.mo +0 -0
  853. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  854. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  855. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  856. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  857. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  858. data/vendor/local/share/locale/hr/LC_MESSAGES/gettext-runtime.mo +0 -0
  859. data/vendor/local/share/locale/hr/LC_MESSAGES/libidn.mo +0 -0
  860. data/vendor/local/share/locale/hu/LC_MESSAGES/gettext-runtime.mo +0 -0
  861. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  862. data/vendor/local/share/locale/hu/LC_MESSAGES/libidn.mo +0 -0
  863. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  864. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  865. data/vendor/local/share/locale/id/LC_MESSAGES/libidn.mo +0 -0
  866. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  867. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  868. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  869. data/vendor/local/share/locale/it/LC_MESSAGES/gnutls.mo +0 -0
  870. data/vendor/local/share/locale/it/LC_MESSAGES/libidn.mo +0 -0
  871. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  872. data/vendor/local/share/locale/ja/LC_MESSAGES/libidn.mo +0 -0
  873. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  874. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  875. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  876. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  877. data/vendor/local/share/locale/locale.alias +13 -3
  878. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  879. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  880. data/vendor/local/share/locale/ms/LC_MESSAGES/gnutls.mo +0 -0
  881. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  882. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  883. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  884. data/vendor/local/share/locale/nl/LC_MESSAGES/gnutls.mo +0 -0
  885. data/vendor/local/share/locale/nl/LC_MESSAGES/libidn.mo +0 -0
  886. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  887. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  888. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  889. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  890. data/vendor/local/share/locale/pl/LC_MESSAGES/gnutls.mo +0 -0
  891. data/vendor/local/share/locale/pl/LC_MESSAGES/libidn.mo +0 -0
  892. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  893. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  894. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  895. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/libidn.mo +0 -0
  896. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  897. data/vendor/local/share/locale/ro/LC_MESSAGES/libidn.mo +0 -0
  898. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  899. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  900. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  901. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  902. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  903. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  904. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  905. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  906. data/vendor/local/share/locale/sr/LC_MESSAGES/libidn.mo +0 -0
  907. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  908. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  909. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  910. data/vendor/local/share/locale/sv/LC_MESSAGES/gnutls.mo +0 -0
  911. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  912. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  913. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  914. data/vendor/local/share/locale/uk/LC_MESSAGES/gnutls.mo +0 -0
  915. data/vendor/local/share/locale/uk/LC_MESSAGES/libidn.mo +0 -0
  916. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  917. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  918. data/vendor/local/share/locale/vi/LC_MESSAGES/gnutls.mo +0 -0
  919. data/vendor/local/share/locale/vi/LC_MESSAGES/libidn.mo +0 -0
  920. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  921. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gnutls.mo +0 -0
  922. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/libidn.mo +0 -0
  923. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  924. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  925. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  926. data/vendor/local/share/man/man1/asn1Coding.1 +50 -0
  927. data/vendor/local/share/man/man1/asn1Decoding.1 +48 -0
  928. data/vendor/local/share/man/man1/asn1Parser.1 +53 -0
  929. data/vendor/local/share/man/man1/envsubst.1 +1 -1
  930. data/vendor/local/share/man/man1/gapplication.1 +293 -0
  931. data/vendor/local/share/man/man1/gdbus-codegen.1 +760 -0
  932. data/vendor/local/share/man/man1/gdbus.1 +324 -0
  933. data/vendor/local/share/man/man1/gettext.1 +1 -1
  934. data/vendor/local/share/man/man1/gio-querymodules.1 +44 -0
  935. data/vendor/local/share/man/man1/glib-compile-resources.1 +167 -0
  936. data/vendor/local/share/man/man1/glib-compile-schemas.1 +91 -0
  937. data/vendor/local/share/man/man1/glib-genmarshal.1 +335 -0
  938. data/vendor/local/share/man/man1/glib-gettextize.1 +79 -0
  939. data/vendor/local/share/man/man1/glib-mkenums.1 +224 -0
  940. data/vendor/local/share/man/man1/gobject-query.1 +90 -0
  941. data/vendor/local/share/man/man1/gresource.1 +95 -0
  942. data/vendor/local/share/man/man1/gsettings.1 +167 -0
  943. data/vendor/local/share/man/man1/gtester-report.1 +57 -0
  944. data/vendor/local/share/man/man1/gtester.1 +141 -0
  945. data/vendor/local/share/man/man1/idn.1 +92 -0
  946. data/vendor/local/share/man/man1/ngettext.1 +1 -1
  947. data/vendor/local/share/man/man3/asn1_array2tree.3 +47 -0
  948. data/vendor/local/share/man/man3/asn1_bit_der.3 +51 -0
  949. data/vendor/local/share/man/man3/asn1_check_version.3 +43 -0
  950. data/vendor/local/share/man/man3/asn1_copy_node.3 +44 -0
  951. data/vendor/local/share/man/man3/asn1_create_element.3 +46 -0
  952. data/vendor/local/share/man/man3/asn1_decode_simple_ber.3 +49 -0
  953. data/vendor/local/share/man/man3/asn1_decode_simple_der.3 +46 -0
  954. data/vendor/local/share/man/man3/asn1_delete_element.3 +41 -0
  955. data/vendor/local/share/man/man3/asn1_delete_structure.3 +39 -0
  956. data/vendor/local/share/man/man3/asn1_delete_structure2.3 +41 -0
  957. data/vendor/local/share/man/man3/asn1_der_coding.3 +53 -0
  958. data/vendor/local/share/man/man3/asn1_der_decoding.3 +52 -0
  959. data/vendor/local/share/man/man3/asn1_der_decoding2.3 +59 -0
  960. data/vendor/local/share/man/man3/asn1_der_decoding_element.3 +57 -0
  961. data/vendor/local/share/man/man3/asn1_der_decoding_startEnd.3 +62 -0
  962. data/vendor/local/share/man/man3/asn1_dup_node.3 +40 -0
  963. data/vendor/local/share/man/man3/asn1_encode_simple_der.3 +50 -0
  964. data/vendor/local/share/man/man3/asn1_expand_any_defined_by.3 +46 -0
  965. data/vendor/local/share/man/man3/asn1_expand_octet_string.3 +50 -0
  966. data/vendor/local/share/man/man3/asn1_find_node.3 +42 -0
  967. data/vendor/local/share/man/man3/asn1_find_structure_from_oid.3 +41 -0
  968. data/vendor/local/share/man/man3/asn1_get_bit_der.3 +47 -0
  969. data/vendor/local/share/man/man3/asn1_get_length_ber.3 +46 -0
  970. data/vendor/local/share/man/man3/asn1_get_length_der.3 +43 -0
  971. data/vendor/local/share/man/man3/asn1_get_object_id_der.3 +45 -0
  972. data/vendor/local/share/man/man3/asn1_get_octet_der.3 +47 -0
  973. data/vendor/local/share/man/man3/asn1_get_tag_der.3 +45 -0
  974. data/vendor/local/share/man/man3/asn1_length_der.3 +43 -0
  975. data/vendor/local/share/man/man3/asn1_number_of_elements.3 +43 -0
  976. data/vendor/local/share/man/man3/asn1_octet_der.3 +49 -0
  977. data/vendor/local/share/man/man3/asn1_parser2array.3 +57 -0
  978. data/vendor/local/share/man/man3/asn1_parser2tree.3 +52 -0
  979. data/vendor/local/share/man/man3/asn1_perror.3 +39 -0
  980. data/vendor/local/share/man/man3/asn1_print_structure.3 +44 -0
  981. data/vendor/local/share/man/man3/asn1_read_node_value.3 +40 -0
  982. data/vendor/local/share/man/man3/asn1_read_tag.3 +47 -0
  983. data/vendor/local/share/man/man3/asn1_read_value.3 +97 -0
  984. data/vendor/local/share/man/man3/asn1_read_value_type.3 +99 -0
  985. data/vendor/local/share/man/man3/asn1_strerror.3 +42 -0
  986. data/vendor/local/share/man/man3/asn1_write_value.3 +138 -0
  987. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +1 -1
  988. data/vendor/local/share/man/man3/bindtextdomain.3 +1 -1
  989. data/vendor/local/share/man/man3/gettext.3 +1 -1
  990. data/vendor/local/share/man/man3/idn_free.3 +49 -0
  991. data/vendor/local/share/man/man3/idna_strerror.3 +80 -0
  992. data/vendor/local/share/man/man3/idna_to_ascii_4i.3 +70 -0
  993. data/vendor/local/share/man/man3/idna_to_ascii_4z.3 +51 -0
  994. data/vendor/local/share/man/man3/idna_to_ascii_8z.3 +51 -0
  995. data/vendor/local/share/man/man3/idna_to_ascii_lz.3 +52 -0
  996. data/vendor/local/share/man/man3/idna_to_unicode_44i.3 +75 -0
  997. data/vendor/local/share/man/man3/idna_to_unicode_4z4z.3 +52 -0
  998. data/vendor/local/share/man/man3/idna_to_unicode_8z4z.3 +52 -0
  999. data/vendor/local/share/man/man3/idna_to_unicode_8z8z.3 +52 -0
  1000. data/vendor/local/share/man/man3/idna_to_unicode_8zlz.3 +53 -0
  1001. data/vendor/local/share/man/man3/idna_to_unicode_lzlz.3 +54 -0
  1002. data/vendor/local/share/man/man3/ngettext.3 +1 -1
  1003. data/vendor/local/share/man/man3/pr29_4.3 +51 -0
  1004. data/vendor/local/share/man/man3/pr29_4z.3 +49 -0
  1005. data/vendor/local/share/man/man3/pr29_8z.3 +50 -0
  1006. data/vendor/local/share/man/man3/pr29_strerror.3 +55 -0
  1007. data/vendor/local/share/man/man3/punycode_decode.3 +73 -0
  1008. data/vendor/local/share/man/man3/punycode_encode.3 +76 -0
  1009. data/vendor/local/share/man/man3/punycode_strerror.3 +56 -0
  1010. data/vendor/local/share/man/man3/stringprep.3 +65 -0
  1011. data/vendor/local/share/man/man3/stringprep_4i.3 +70 -0
  1012. data/vendor/local/share/man/man3/stringprep_4zi.3 +62 -0
  1013. data/vendor/local/share/man/man3/stringprep_check_version.3 +50 -0
  1014. data/vendor/local/share/man/man3/stringprep_convert.3 +50 -0
  1015. data/vendor/local/share/man/man3/stringprep_locale_charset.3 +57 -0
  1016. data/vendor/local/share/man/man3/stringprep_locale_to_utf8.3 +46 -0
  1017. data/vendor/local/share/man/man3/stringprep_profile.3 +63 -0
  1018. data/vendor/local/share/man/man3/stringprep_strerror.3 +86 -0
  1019. data/vendor/local/share/man/man3/stringprep_ucs4_nfkc_normalize.3 +48 -0
  1020. data/vendor/local/share/man/man3/stringprep_ucs4_to_utf8.3 +56 -0
  1021. data/vendor/local/share/man/man3/stringprep_unichar_to_utf8.3 +48 -0
  1022. data/vendor/local/share/man/man3/stringprep_utf8_nfkc_normalize.3 +59 -0
  1023. data/vendor/local/share/man/man3/stringprep_utf8_to_locale.3 +46 -0
  1024. data/vendor/local/share/man/man3/stringprep_utf8_to_ucs4.3 +54 -0
  1025. data/vendor/local/share/man/man3/stringprep_utf8_to_unichar.3 +46 -0
  1026. data/vendor/local/share/man/man3/textdomain.3 +1 -1
  1027. data/vendor/local/share/man/man3/tld_check_4.3 +62 -0
  1028. data/vendor/local/share/man/man3/tld_check_4t.3 +58 -0
  1029. data/vendor/local/share/man/man3/tld_check_4tz.3 +55 -0
  1030. data/vendor/local/share/man/man3/tld_check_4z.3 +59 -0
  1031. data/vendor/local/share/man/man3/tld_check_8z.3 +61 -0
  1032. data/vendor/local/share/man/man3/tld_check_lz.3 +61 -0
  1033. data/vendor/local/share/man/man3/tld_default_table.3 +51 -0
  1034. data/vendor/local/share/man/man3/tld_get_4.3 +51 -0
  1035. data/vendor/local/share/man/man3/tld_get_4z.3 +48 -0
  1036. data/vendor/local/share/man/man3/tld_get_table.3 +49 -0
  1037. data/vendor/local/share/man/man3/tld_get_z.3 +49 -0
  1038. data/vendor/local/share/man/man3/tld_strerror.3 +60 -0
  1039. data/vendor/local/share/p11-kit/modules/p11-kit-trust.module +17 -0
  1040. metadata +276 -943
  1041. data/README +0 -40
  1042. data/vendor/local/bin/certtool.exe +0 -0
  1043. data/vendor/local/bin/danetool.exe +0 -0
  1044. data/vendor/local/bin/gnutls-cli-debug.exe +0 -0
  1045. data/vendor/local/bin/gnutls-cli.exe +0 -0
  1046. data/vendor/local/bin/gnutls-serv.exe +0 -0
  1047. data/vendor/local/bin/libgnutls-28.def +0 -861
  1048. data/vendor/local/bin/libgnutls-28.dll +0 -0
  1049. data/vendor/local/bin/libgnutls-openssl-27.dll +0 -0
  1050. data/vendor/local/bin/libgnutls-openssl-28.def +0 -228
  1051. data/vendor/local/bin/libgnutls-xssl-0.dll +0 -0
  1052. data/vendor/local/bin/libgnutls-xssl-28.def +0 -13
  1053. data/vendor/local/bin/libhogweed-2-5.dll +0 -0
  1054. data/vendor/local/bin/libnettle-4-7.dll +0 -0
  1055. data/vendor/local/bin/ocsptool.exe +0 -0
  1056. data/vendor/local/bin/psktool.exe +0 -0
  1057. data/vendor/local/bin/srptool.exe +0 -0
  1058. data/vendor/local/include/gnutls/openssl.h +0 -329
  1059. data/vendor/local/include/gnutls/xssl.h +0 -125
  1060. data/vendor/local/include/nettle/rsa-compat.h +0 -131
  1061. data/vendor/local/lib/libgnutls-openssl.a +0 -0
  1062. data/vendor/local/lib/libgnutls-openssl.dll.a +0 -0
  1063. data/vendor/local/lib/libgnutls-openssl.la +0 -41
  1064. data/vendor/local/lib/libgnutls-xssl.a +0 -0
  1065. data/vendor/local/lib/libgnutls-xssl.dll.a +0 -0
  1066. data/vendor/local/lib/libgnutls-xssl.la +0 -41
  1067. data/vendor/local/lib/libgnutls.a +0 -0
  1068. data/vendor/local/share/gtk-doc/html/gio/ch30.html +0 -75
  1069. data/vendor/local/share/gtk-doc/html/gio/ch31s02.html +0 -41
  1070. data/vendor/local/share/gtk-doc/html/gio/ch31s03.html +0 -39
  1071. data/vendor/local/share/gtk-doc/html/gio/ch32s04.html +0 -46
  1072. data/vendor/local/share/gtk-doc/html/gio/ch32s05.html +0 -48
  1073. data/vendor/local/share/gtk-doc/html/gio/ch32s06.html +0 -278
  1074. data/vendor/local/share/gtk-doc/html/gio/ch32s07.html +0 -160
  1075. data/vendor/local/share/gtk-doc/html/gio/gio-GBytesIcon.html +0 -162
  1076. data/vendor/local/share/gtk-doc/html/gio/gio-GInetAddressMask.html +0 -443
  1077. data/vendor/local/share/gtk-doc/html/gio/gio-GNotification.html +0 -670
  1078. data/vendor/local/share/gtk-doc/html/gio/gio-GPropertyAction.html +0 -177
  1079. data/vendor/local/share/gtk-doc/html/gio/gio-GResource.html +0 -1141
  1080. data/vendor/local/share/gtk-doc/html/gio/gio-GSubprocessLauncher.html +0 -931
  1081. data/vendor/local/share/info/gnutls-client-server-use-case.png +0 -0
  1082. data/vendor/local/share/info/gnutls-guile.info +0 -1589
  1083. data/vendor/local/share/info/gnutls-handshake-sequence.png +0 -0
  1084. data/vendor/local/share/info/gnutls-handshake-state.png +0 -0
  1085. data/vendor/local/share/info/gnutls-internals.png +0 -0
  1086. data/vendor/local/share/info/gnutls-layers.png +0 -0
  1087. data/vendor/local/share/info/gnutls-logo.png +0 -0
  1088. data/vendor/local/share/info/gnutls-modauth.png +0 -0
  1089. data/vendor/local/share/info/gnutls-pgp.png +0 -0
  1090. data/vendor/local/share/info/gnutls-x509.png +0 -0
  1091. data/vendor/local/share/info/gnutls.info +0 -1371
  1092. data/vendor/local/share/info/gnutls.info-1 +0 -7371
  1093. data/vendor/local/share/info/gnutls.info-2 +0 -7842
  1094. data/vendor/local/share/info/gnutls.info-3 +0 -11715
  1095. data/vendor/local/share/info/gnutls.info-4 +0 -6737
  1096. data/vendor/local/share/info/gnutls.info-5 +0 -2308
  1097. data/vendor/local/share/info/pkcs11-vision.png +0 -0
  1098. data/vendor/local/share/license/nettle/COPYING.LIB +0 -510
  1099. data/vendor/local/share/man/man1/certtool.1 +0 -741
  1100. data/vendor/local/share/man/man1/gnutls-cli-debug.1 +0 -165
  1101. data/vendor/local/share/man/man1/gnutls-cli.1 +0 -420
  1102. data/vendor/local/share/man/man1/gnutls-serv.1 +0 -453
  1103. data/vendor/local/share/man/man1/ocsptool.1 +0 -335
  1104. data/vendor/local/share/man/man1/p11tool.1 +0 -320
  1105. data/vendor/local/share/man/man1/psktool.1 +0 -129
  1106. data/vendor/local/share/man/man1/srptool.1 +0 -164
  1107. data/vendor/local/share/man/man1/tpmtool.1 +0 -223
  1108. data/vendor/local/share/man/man3/gnutls_alert_get.3 +0 -40
  1109. data/vendor/local/share/man/man3/gnutls_alert_get_name.3 +0 -36
  1110. data/vendor/local/share/man/man3/gnutls_alert_get_strname.3 +0 -37
  1111. data/vendor/local/share/man/man3/gnutls_alert_send.3 +0 -47
  1112. data/vendor/local/share/man/man3/gnutls_alert_send_appropriate.3 +0 -46
  1113. data/vendor/local/share/man/man3/gnutls_alpn_get_selected_protocol.3 +0 -42
  1114. data/vendor/local/share/man/man3/gnutls_alpn_set_protocols.3 +0 -48
  1115. data/vendor/local/share/man/man3/gnutls_anon_allocate_client_credentials.3 +0 -36
  1116. data/vendor/local/share/man/man3/gnutls_anon_allocate_server_credentials.3 +0 -36
  1117. data/vendor/local/share/man/man3/gnutls_anon_free_client_credentials.3 +0 -34
  1118. data/vendor/local/share/man/man3/gnutls_anon_free_server_credentials.3 +0 -34
  1119. data/vendor/local/share/man/man3/gnutls_anon_set_params_function.3 +0 -37
  1120. data/vendor/local/share/man/man3/gnutls_anon_set_server_dh_params.3 +0 -37
  1121. data/vendor/local/share/man/man3/gnutls_anon_set_server_params_function.3 +0 -37
  1122. data/vendor/local/share/man/man3/gnutls_auth_client_get_type.3 +0 -38
  1123. data/vendor/local/share/man/man3/gnutls_auth_get_type.3 +0 -42
  1124. data/vendor/local/share/man/man3/gnutls_auth_server_get_type.3 +0 -38
  1125. data/vendor/local/share/man/man3/gnutls_bye.3 +0 -60
  1126. data/vendor/local/share/man/man3/gnutls_certificate_activation_time_peers.3 +0 -38
  1127. data/vendor/local/share/man/man3/gnutls_certificate_allocate_credentials.3 +0 -36
  1128. data/vendor/local/share/man/man3/gnutls_certificate_client_get_request_status.3 +0 -37
  1129. data/vendor/local/share/man/man3/gnutls_certificate_client_set_retrieve_function.3 +0 -62
  1130. data/vendor/local/share/man/man3/gnutls_certificate_expiration_time_peers.3 +0 -37
  1131. data/vendor/local/share/man/man3/gnutls_certificate_free_ca_names.3 +0 -41
  1132. data/vendor/local/share/man/man3/gnutls_certificate_free_cas.3 +0 -36
  1133. data/vendor/local/share/man/man3/gnutls_certificate_free_credentials.3 +0 -38
  1134. data/vendor/local/share/man/man3/gnutls_certificate_free_crls.3 +0 -34
  1135. data/vendor/local/share/man/man3/gnutls_certificate_free_keys.3 +0 -35
  1136. data/vendor/local/share/man/man3/gnutls_certificate_get_crt_raw.3 +0 -48
  1137. data/vendor/local/share/man/man3/gnutls_certificate_get_issuer.3 +0 -44
  1138. data/vendor/local/share/man/man3/gnutls_certificate_get_ours.3 +0 -39
  1139. data/vendor/local/share/man/man3/gnutls_certificate_get_peers.3 +0 -46
  1140. data/vendor/local/share/man/man3/gnutls_certificate_get_peers_subkey_id.3 +0 -41
  1141. data/vendor/local/share/man/man3/gnutls_certificate_send_x509_rdn_sequence.3 +0 -42
  1142. data/vendor/local/share/man/man3/gnutls_certificate_server_set_request.3 +0 -39
  1143. data/vendor/local/share/man/man3/gnutls_certificate_server_set_retrieve_function.3 +0 -50
  1144. data/vendor/local/share/man/man3/gnutls_certificate_set_dh_params.3 +0 -39
  1145. data/vendor/local/share/man/man3/gnutls_certificate_set_key.3 +0 -56
  1146. data/vendor/local/share/man/man3/gnutls_certificate_set_ocsp_status_request_file.3 +0 -47
  1147. data/vendor/local/share/man/man3/gnutls_certificate_set_ocsp_status_request_function.3 +0 -56
  1148. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key.3 +0 -47
  1149. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file.3 +0 -43
  1150. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file2.3 +0 -51
  1151. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem.3 +0 -43
  1152. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem2.3 +0 -51
  1153. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_file.3 +0 -43
  1154. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_mem.3 +0 -45
  1155. data/vendor/local/share/man/man3/gnutls_certificate_set_params_function.3 +0 -37
  1156. data/vendor/local/share/man/man3/gnutls_certificate_set_pin_function.3 +0 -44
  1157. data/vendor/local/share/man/man3/gnutls_certificate_set_retrieve_function.3 +0 -65
  1158. data/vendor/local/share/man/man3/gnutls_certificate_set_retrieve_function2.3 +0 -68
  1159. data/vendor/local/share/man/man3/gnutls_certificate_set_rsa_export_params.3 +0 -37
  1160. data/vendor/local/share/man/man3/gnutls_certificate_set_trust_list.3 +0 -45
  1161. data/vendor/local/share/man/man3/gnutls_certificate_set_verify_flags.3 +0 -37
  1162. data/vendor/local/share/man/man3/gnutls_certificate_set_verify_function.3 +0 -51
  1163. data/vendor/local/share/man/man3/gnutls_certificate_set_verify_limits.3 +0 -40
  1164. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl.3 +0 -45
  1165. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_file.3 +0 -43
  1166. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_mem.3 +0 -43
  1167. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key.3 +0 -51
  1168. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_file.3 +0 -58
  1169. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_file2.3 +0 -62
  1170. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_mem.3 +0 -54
  1171. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_mem2.3 +0 -58
  1172. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_simple_pkcs12_file.3 +0 -63
  1173. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_simple_pkcs12_mem.3 +0 -64
  1174. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_system_trust.3 +0 -42
  1175. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust.3 +0 -50
  1176. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_file.3 +0 -52
  1177. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_mem.3 +0 -48
  1178. data/vendor/local/share/man/man3/gnutls_certificate_type_get.3 +0 -37
  1179. data/vendor/local/share/man/man3/gnutls_certificate_type_get_id.3 +0 -36
  1180. data/vendor/local/share/man/man3/gnutls_certificate_type_get_name.3 +0 -36
  1181. data/vendor/local/share/man/man3/gnutls_certificate_type_list.3 +0 -36
  1182. data/vendor/local/share/man/man3/gnutls_certificate_type_set_priority.3 +0 -42
  1183. data/vendor/local/share/man/man3/gnutls_certificate_verification_status_print.3 +0 -47
  1184. data/vendor/local/share/man/man3/gnutls_certificate_verify_peers2.3 +0 -51
  1185. data/vendor/local/share/man/man3/gnutls_certificate_verify_peers3.3 +0 -55
  1186. data/vendor/local/share/man/man3/gnutls_check_version.3 +0 -41
  1187. data/vendor/local/share/man/man3/gnutls_cipher_add_auth.3 +0 -44
  1188. data/vendor/local/share/man/man3/gnutls_cipher_decrypt.3 +0 -45
  1189. data/vendor/local/share/man/man3/gnutls_cipher_decrypt2.3 +0 -49
  1190. data/vendor/local/share/man/man3/gnutls_cipher_deinit.3 +0 -36
  1191. data/vendor/local/share/man/man3/gnutls_cipher_encrypt.3 +0 -42
  1192. data/vendor/local/share/man/man3/gnutls_cipher_encrypt2.3 +0 -46
  1193. data/vendor/local/share/man/man3/gnutls_cipher_get.3 +0 -36
  1194. data/vendor/local/share/man/man3/gnutls_cipher_get_block_size.3 +0 -35
  1195. data/vendor/local/share/man/man3/gnutls_cipher_get_id.3 +0 -36
  1196. data/vendor/local/share/man/man3/gnutls_cipher_get_iv_size.3 +0 -37
  1197. data/vendor/local/share/man/man3/gnutls_cipher_get_key_size.3 +0 -36
  1198. data/vendor/local/share/man/man3/gnutls_cipher_get_name.3 +0 -36
  1199. data/vendor/local/share/man/man3/gnutls_cipher_get_tag_size.3 +0 -35
  1200. data/vendor/local/share/man/man3/gnutls_cipher_init.3 +0 -46
  1201. data/vendor/local/share/man/man3/gnutls_cipher_list.3 +0 -41
  1202. data/vendor/local/share/man/man3/gnutls_cipher_set_iv.3 +0 -40
  1203. data/vendor/local/share/man/man3/gnutls_cipher_set_priority.3 +0 -41
  1204. data/vendor/local/share/man/man3/gnutls_cipher_suite_get_name.3 +0 -41
  1205. data/vendor/local/share/man/man3/gnutls_cipher_suite_info.3 +0 -50
  1206. data/vendor/local/share/man/man3/gnutls_cipher_tag.3 +0 -43
  1207. data/vendor/local/share/man/man3/gnutls_compression_get.3 +0 -36
  1208. data/vendor/local/share/man/man3/gnutls_compression_get_id.3 +0 -36
  1209. data/vendor/local/share/man/man3/gnutls_compression_get_name.3 +0 -36
  1210. data/vendor/local/share/man/man3/gnutls_compression_list.3 +0 -36
  1211. data/vendor/local/share/man/man3/gnutls_compression_set_priority.3 +0 -46
  1212. data/vendor/local/share/man/man3/gnutls_credentials_clear.3 +0 -33
  1213. data/vendor/local/share/man/man3/gnutls_credentials_set.3 +0 -59
  1214. data/vendor/local/share/man/man3/gnutls_db_check_entry.3 +0 -38
  1215. data/vendor/local/share/man/man3/gnutls_db_check_entry_time.3 +0 -36
  1216. data/vendor/local/share/man/man3/gnutls_db_get_default_cache_expiration.3 +0 -35
  1217. data/vendor/local/share/man/man3/gnutls_db_get_ptr.3 +0 -36
  1218. data/vendor/local/share/man/man3/gnutls_db_remove_session.3 +0 -39
  1219. data/vendor/local/share/man/man3/gnutls_db_set_cache_expiration.3 +0 -36
  1220. data/vendor/local/share/man/man3/gnutls_db_set_ptr.3 +0 -36
  1221. data/vendor/local/share/man/man3/gnutls_db_set_remove_function.3 +0 -39
  1222. data/vendor/local/share/man/man3/gnutls_db_set_retrieve_function.3 +0 -44
  1223. data/vendor/local/share/man/man3/gnutls_db_set_store_function.3 +0 -39
  1224. data/vendor/local/share/man/man3/gnutls_deinit.3 +0 -35
  1225. data/vendor/local/share/man/man3/gnutls_dh_get_group.3 +0 -44
  1226. data/vendor/local/share/man/man3/gnutls_dh_get_peers_public_bits.3 +0 -37
  1227. data/vendor/local/share/man/man3/gnutls_dh_get_prime_bits.3 +0 -41
  1228. data/vendor/local/share/man/man3/gnutls_dh_get_pubkey.3 +0 -41
  1229. data/vendor/local/share/man/man3/gnutls_dh_get_secret_bits.3 +0 -38
  1230. data/vendor/local/share/man/man3/gnutls_dh_params_cpy.3 +0 -39
  1231. data/vendor/local/share/man/man3/gnutls_dh_params_deinit.3 +0 -33
  1232. data/vendor/local/share/man/man3/gnutls_dh_params_export2_pkcs3.3 +0 -47
  1233. data/vendor/local/share/man/man3/gnutls_dh_params_export_pkcs3.3 +0 -48
  1234. data/vendor/local/share/man/man3/gnutls_dh_params_export_raw.3 +0 -45
  1235. data/vendor/local/share/man/man3/gnutls_dh_params_generate2.3 +0 -47
  1236. data/vendor/local/share/man/man3/gnutls_dh_params_import_pkcs3.3 +0 -44
  1237. data/vendor/local/share/man/man3/gnutls_dh_params_import_raw.3 +0 -42
  1238. data/vendor/local/share/man/man3/gnutls_dh_params_init.3 +0 -36
  1239. data/vendor/local/share/man/man3/gnutls_dh_set_prime_bits.3 +0 -52
  1240. data/vendor/local/share/man/man3/gnutls_digest_get_id.3 +0 -37
  1241. data/vendor/local/share/man/man3/gnutls_digest_get_name.3 +0 -36
  1242. data/vendor/local/share/man/man3/gnutls_digest_list.3 +0 -38
  1243. data/vendor/local/share/man/man3/gnutls_dtls_cookie_send.3 +0 -56
  1244. data/vendor/local/share/man/man3/gnutls_dtls_cookie_verify.3 +0 -52
  1245. data/vendor/local/share/man/man3/gnutls_dtls_get_data_mtu.3 +0 -39
  1246. data/vendor/local/share/man/man3/gnutls_dtls_get_mtu.3 +0 -40
  1247. data/vendor/local/share/man/man3/gnutls_dtls_get_timeout.3 +0 -41
  1248. data/vendor/local/share/man/man3/gnutls_dtls_prestate_set.3 +0 -42
  1249. data/vendor/local/share/man/man3/gnutls_dtls_set_data_mtu.3 +0 -48
  1250. data/vendor/local/share/man/man3/gnutls_dtls_set_mtu.3 +0 -41
  1251. data/vendor/local/share/man/man3/gnutls_dtls_set_timeouts.3 +0 -51
  1252. data/vendor/local/share/man/man3/gnutls_ecc_curve_get.3 +0 -39
  1253. data/vendor/local/share/man/man3/gnutls_ecc_curve_get_name.3 +0 -38
  1254. data/vendor/local/share/man/man3/gnutls_ecc_curve_get_size.3 +0 -37
  1255. data/vendor/local/share/man/man3/gnutls_ecc_curve_list.3 +0 -38
  1256. data/vendor/local/share/man/man3/gnutls_error_is_fatal.3 +0 -46
  1257. data/vendor/local/share/man/man3/gnutls_error_to_alert.3 +0 -44
  1258. data/vendor/local/share/man/man3/gnutls_est_record_overhead_size.3 +0 -49
  1259. data/vendor/local/share/man/man3/gnutls_fingerprint.3 +0 -50
  1260. data/vendor/local/share/man/man3/gnutls_global_deinit.3 +0 -37
  1261. data/vendor/local/share/man/man3/gnutls_global_init.3 +0 -54
  1262. data/vendor/local/share/man/man3/gnutls_global_set_audit_log_function.3 +0 -42
  1263. data/vendor/local/share/man/man3/gnutls_global_set_log_function.3 +0 -39
  1264. data/vendor/local/share/man/man3/gnutls_global_set_log_level.3 +0 -38
  1265. data/vendor/local/share/man/man3/gnutls_global_set_mem_functions.3 +0 -48
  1266. data/vendor/local/share/man/man3/gnutls_global_set_mutex.3 +0 -47
  1267. data/vendor/local/share/man/man3/gnutls_global_set_time_function.3 +0 -37
  1268. data/vendor/local/share/man/man3/gnutls_handshake.3 +0 -61
  1269. data/vendor/local/share/man/man3/gnutls_handshake_description_get_name.3 +0 -36
  1270. data/vendor/local/share/man/man3/gnutls_handshake_get_last_in.3 +0 -41
  1271. data/vendor/local/share/man/man3/gnutls_handshake_get_last_out.3 +0 -41
  1272. data/vendor/local/share/man/man3/gnutls_handshake_set_hook_function.3 +0 -55
  1273. data/vendor/local/share/man/man3/gnutls_handshake_set_max_packet_length.3 +0 -42
  1274. data/vendor/local/share/man/man3/gnutls_handshake_set_post_client_hello_function.3 +0 -49
  1275. data/vendor/local/share/man/man3/gnutls_handshake_set_private_extensions.3 +0 -42
  1276. data/vendor/local/share/man/man3/gnutls_handshake_set_random.3 +0 -46
  1277. data/vendor/local/share/man/man3/gnutls_handshake_set_timeout.3 +0 -41
  1278. data/vendor/local/share/man/man3/gnutls_hash.3 +0 -42
  1279. data/vendor/local/share/man/man3/gnutls_hash_deinit.3 +0 -38
  1280. data/vendor/local/share/man/man3/gnutls_hash_fast.3 +0 -44
  1281. data/vendor/local/share/man/man3/gnutls_hash_get_len.3 +0 -38
  1282. data/vendor/local/share/man/man3/gnutls_hash_init.3 +0 -42
  1283. data/vendor/local/share/man/man3/gnutls_hash_output.3 +0 -38
  1284. data/vendor/local/share/man/man3/gnutls_heartbeat_allowed.3 +0 -40
  1285. data/vendor/local/share/man/man3/gnutls_heartbeat_enable.3 +0 -42
  1286. data/vendor/local/share/man/man3/gnutls_heartbeat_get_timeout.3 +0 -41
  1287. data/vendor/local/share/man/man3/gnutls_heartbeat_ping.3 +0 -48
  1288. data/vendor/local/share/man/man3/gnutls_heartbeat_pong.3 +0 -39
  1289. data/vendor/local/share/man/man3/gnutls_heartbeat_set_timeouts.3 +0 -46
  1290. data/vendor/local/share/man/man3/gnutls_hex2bin.3 +0 -44
  1291. data/vendor/local/share/man/man3/gnutls_hex_decode.3 +0 -43
  1292. data/vendor/local/share/man/man3/gnutls_hex_encode.3 +0 -43
  1293. data/vendor/local/share/man/man3/gnutls_hmac.3 +0 -42
  1294. data/vendor/local/share/man/man3/gnutls_hmac_deinit.3 +0 -38
  1295. data/vendor/local/share/man/man3/gnutls_hmac_fast.3 +0 -48
  1296. data/vendor/local/share/man/man3/gnutls_hmac_get_len.3 +0 -38
  1297. data/vendor/local/share/man/man3/gnutls_hmac_init.3 +0 -49
  1298. data/vendor/local/share/man/man3/gnutls_hmac_output.3 +0 -38
  1299. data/vendor/local/share/man/man3/gnutls_hmac_set_nonce.3 +0 -39
  1300. data/vendor/local/share/man/man3/gnutls_init.3 +0 -54
  1301. data/vendor/local/share/man/man3/gnutls_key_generate.3 +0 -41
  1302. data/vendor/local/share/man/man3/gnutls_kx_get.3 +0 -36
  1303. data/vendor/local/share/man/man3/gnutls_kx_get_id.3 +0 -37
  1304. data/vendor/local/share/man/man3/gnutls_kx_get_name.3 +0 -36
  1305. data/vendor/local/share/man/man3/gnutls_kx_list.3 +0 -38
  1306. data/vendor/local/share/man/man3/gnutls_kx_set_priority.3 +0 -42
  1307. data/vendor/local/share/man/man3/gnutls_load_file.3 +0 -42
  1308. data/vendor/local/share/man/man3/gnutls_mac_get.3 +0 -36
  1309. data/vendor/local/share/man/man3/gnutls_mac_get_id.3 +0 -37
  1310. data/vendor/local/share/man/man3/gnutls_mac_get_key_size.3 +0 -36
  1311. data/vendor/local/share/man/man3/gnutls_mac_get_name.3 +0 -36
  1312. data/vendor/local/share/man/man3/gnutls_mac_get_nonce_size.3 +0 -37
  1313. data/vendor/local/share/man/man3/gnutls_mac_list.3 +0 -38
  1314. data/vendor/local/share/man/man3/gnutls_mac_set_priority.3 +0 -42
  1315. data/vendor/local/share/man/man3/gnutls_ocsp_req_add_cert.3 +0 -46
  1316. data/vendor/local/share/man/man3/gnutls_ocsp_req_add_cert_id.3 +0 -57
  1317. data/vendor/local/share/man/man3/gnutls_ocsp_req_deinit.3 +0 -33
  1318. data/vendor/local/share/man/man3/gnutls_ocsp_req_export.3 +0 -38
  1319. data/vendor/local/share/man/man3/gnutls_ocsp_req_get_cert_id.3 +0 -61
  1320. data/vendor/local/share/man/man3/gnutls_ocsp_req_get_extension.3 +0 -54
  1321. data/vendor/local/share/man/man3/gnutls_ocsp_req_get_nonce.3 +0 -43
  1322. data/vendor/local/share/man/man3/gnutls_ocsp_req_get_version.3 +0 -36
  1323. data/vendor/local/share/man/man3/gnutls_ocsp_req_import.3 +0 -40
  1324. data/vendor/local/share/man/man3/gnutls_ocsp_req_init.3 +0 -36
  1325. data/vendor/local/share/man/man3/gnutls_ocsp_req_print.3 +0 -46
  1326. data/vendor/local/share/man/man3/gnutls_ocsp_req_randomize_nonce.3 +0 -37
  1327. data/vendor/local/share/man/man3/gnutls_ocsp_req_set_extension.3 +0 -44
  1328. data/vendor/local/share/man/man3/gnutls_ocsp_req_set_nonce.3 +0 -42
  1329. data/vendor/local/share/man/man3/gnutls_ocsp_resp_check_crt.3 +0 -43
  1330. data/vendor/local/share/man/man3/gnutls_ocsp_resp_deinit.3 +0 -33
  1331. data/vendor/local/share/man/man3/gnutls_ocsp_resp_export.3 +0 -38
  1332. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_certs.3 +0 -51
  1333. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_extension.3 +0 -54
  1334. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_nonce.3 +0 -44
  1335. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_produced.3 +0 -36
  1336. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_responder.3 +0 -44
  1337. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_response.3 +0 -49
  1338. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_signature.3 +0 -38
  1339. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_signature_algorithm.3 +0 -38
  1340. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_single.3 +0 -64
  1341. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_status.3 +0 -37
  1342. data/vendor/local/share/man/man3/gnutls_ocsp_resp_get_version.3 +0 -37
  1343. data/vendor/local/share/man/man3/gnutls_ocsp_resp_import.3 +0 -40
  1344. data/vendor/local/share/man/man3/gnutls_ocsp_resp_init.3 +0 -36
  1345. data/vendor/local/share/man/man3/gnutls_ocsp_resp_print.3 +0 -46
  1346. data/vendor/local/share/man/man3/gnutls_ocsp_resp_verify.3 +0 -59
  1347. data/vendor/local/share/man/man3/gnutls_ocsp_resp_verify_direct.3 +0 -53
  1348. data/vendor/local/share/man/man3/gnutls_ocsp_status_request_enable_client.3 +0 -47
  1349. data/vendor/local/share/man/man3/gnutls_ocsp_status_request_get.3 +0 -43
  1350. data/vendor/local/share/man/man3/gnutls_ocsp_status_request_is_checked.3 +0 -42
  1351. data/vendor/local/share/man/man3/gnutls_openpgp_crt_check_hostname.3 +0 -39
  1352. data/vendor/local/share/man/man3/gnutls_openpgp_crt_deinit.3 +0 -33
  1353. data/vendor/local/share/man/man3/gnutls_openpgp_crt_export.3 +0 -44
  1354. data/vendor/local/share/man/man3/gnutls_openpgp_crt_export2.3 +0 -42
  1355. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_auth_subkey.3 +0 -42
  1356. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_creation_time.3 +0 -35
  1357. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_expiration_time.3 +0 -36
  1358. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_fingerprint.3 +0 -40
  1359. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_id.3 +0 -39
  1360. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_usage.3 +0 -39
  1361. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_name.3 +0 -45
  1362. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_algorithm.3 +0 -43
  1363. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_dsa_raw.3 +0 -47
  1364. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_rsa_raw.3 +0 -43
  1365. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_preferred_key_id.3 +0 -38
  1366. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_revoked_status.3 +0 -38
  1367. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_count.3 +0 -38
  1368. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_creation_time.3 +0 -39
  1369. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_expiration_time.3 +0 -40
  1370. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_fingerprint.3 +0 -44
  1371. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_id.3 +0 -39
  1372. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_idx.3 +0 -39
  1373. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 +0 -47
  1374. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 +0 -49
  1375. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 +0 -45
  1376. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_revoked_status.3 +0 -40
  1377. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_usage.3 +0 -45
  1378. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_version.3 +0 -35
  1379. data/vendor/local/share/man/man3/gnutls_openpgp_crt_import.3 +0 -41
  1380. data/vendor/local/share/man/man3/gnutls_openpgp_crt_init.3 +0 -35
  1381. data/vendor/local/share/man/man3/gnutls_openpgp_crt_print.3 +0 -44
  1382. data/vendor/local/share/man/man3/gnutls_openpgp_crt_set_preferred_key_id.3 +0 -42
  1383. data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_ring.3 +0 -50
  1384. data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_self.3 +0 -41
  1385. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_check_id.3 +0 -40
  1386. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_deinit.3 +0 -33
  1387. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt.3 +0 -42
  1388. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt_count.3 +0 -36
  1389. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_import.3 +0 -41
  1390. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_init.3 +0 -35
  1391. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_deinit.3 +0 -33
  1392. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export.3 +0 -50
  1393. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export2.3 +0 -46
  1394. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_dsa_raw.3 +0 -49
  1395. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_rsa_raw.3 +0 -51
  1396. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 +0 -51
  1397. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 +0 -53
  1398. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_fingerprint.3 +0 -42
  1399. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_key_id.3 +0 -39
  1400. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_pk_algorithm.3 +0 -45
  1401. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_preferred_key_id.3 +0 -38
  1402. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_revoked_status.3 +0 -38
  1403. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_count.3 +0 -38
  1404. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_creation_time.3 +0 -39
  1405. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_expiration_time.3 +0 -40
  1406. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_fingerprint.3 +0 -44
  1407. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_id.3 +0 -41
  1408. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_idx.3 +0 -39
  1409. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 +0 -47
  1410. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_revoked_status.3 +0 -40
  1411. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_import.3 +0 -45
  1412. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_init.3 +0 -35
  1413. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_sec_param.3 +0 -39
  1414. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_set_preferred_key_id.3 +0 -42
  1415. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_sign_hash.3 +0 -44
  1416. data/vendor/local/share/man/man3/gnutls_openpgp_send_cert.3 +0 -38
  1417. data/vendor/local/share/man/man3/gnutls_openpgp_set_recv_key_function.3 +0 -39
  1418. data/vendor/local/share/man/man3/gnutls_pcert_deinit.3 +0 -35
  1419. data/vendor/local/share/man/man3/gnutls_pcert_import_openpgp.3 +0 -44
  1420. data/vendor/local/share/man/man3/gnutls_pcert_import_openpgp_raw.3 +0 -48
  1421. data/vendor/local/share/man/man3/gnutls_pcert_import_x509.3 +0 -44
  1422. data/vendor/local/share/man/man3/gnutls_pcert_import_x509_raw.3 +0 -46
  1423. data/vendor/local/share/man/man3/gnutls_pcert_list_import_x509_raw.3 +0 -50
  1424. data/vendor/local/share/man/man3/gnutls_pem_base64_decode.3 +0 -46
  1425. data/vendor/local/share/man/man3/gnutls_pem_base64_decode_alloc.3 +0 -46
  1426. data/vendor/local/share/man/man3/gnutls_pem_base64_encode.3 +0 -47
  1427. data/vendor/local/share/man/man3/gnutls_pem_base64_encode_alloc.3 +0 -45
  1428. data/vendor/local/share/man/man3/gnutls_perror.3 +0 -34
  1429. data/vendor/local/share/man/man3/gnutls_pk_algorithm_get_name.3 +0 -36
  1430. data/vendor/local/share/man/man3/gnutls_pk_bits_to_sec_param.3 +0 -41
  1431. data/vendor/local/share/man/man3/gnutls_pk_get_id.3 +0 -40
  1432. data/vendor/local/share/man/man3/gnutls_pk_get_name.3 +0 -38
  1433. data/vendor/local/share/man/man3/gnutls_pk_list.3 +0 -40
  1434. data/vendor/local/share/man/man3/gnutls_pk_to_sign.3 +0 -38
  1435. data/vendor/local/share/man/man3/gnutls_pkcs11_add_provider.3 +0 -42
  1436. data/vendor/local/share/man/man3/gnutls_pkcs11_copy_secret_key.3 +0 -47
  1437. data/vendor/local/share/man/man3/gnutls_pkcs11_copy_x509_crt.3 +0 -45
  1438. data/vendor/local/share/man/man3/gnutls_pkcs11_copy_x509_privkey.3 +0 -48
  1439. data/vendor/local/share/man/man3/gnutls_pkcs11_deinit.3 +0 -35
  1440. data/vendor/local/share/man/man3/gnutls_pkcs11_delete_url.3 +0 -41
  1441. data/vendor/local/share/man/man3/gnutls_pkcs11_get_pin_function.3 +0 -38
  1442. data/vendor/local/share/man/man3/gnutls_pkcs11_get_raw_issuer.3 +0 -49
  1443. data/vendor/local/share/man/man3/gnutls_pkcs11_init.3 +0 -48
  1444. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_deinit.3 +0 -35
  1445. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export.3 +0 -49
  1446. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export2.3 +0 -44
  1447. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export3.3 +0 -46
  1448. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_export_url.3 +0 -42
  1449. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_get_info.3 +0 -46
  1450. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_get_type.3 +0 -38
  1451. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_import_url.3 +0 -45
  1452. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_init.3 +0 -38
  1453. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_list_import_url.3 +0 -47
  1454. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_list_import_url2.3 +0 -48
  1455. data/vendor/local/share/man/man3/gnutls_pkcs11_obj_set_pin_function.3 +0 -41
  1456. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_deinit.3 +0 -33
  1457. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_export_url.3 +0 -40
  1458. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_generate.3 +0 -48
  1459. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_generate2.3 +0 -58
  1460. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_get_info.3 +0 -44
  1461. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_get_pk_algorithm.3 +0 -39
  1462. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_import_url.3 +0 -43
  1463. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_init.3 +0 -36
  1464. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_set_pin_function.3 +0 -41
  1465. data/vendor/local/share/man/man3/gnutls_pkcs11_privkey_status.3 +0 -38
  1466. data/vendor/local/share/man/man3/gnutls_pkcs11_reinit.3 +0 -40
  1467. data/vendor/local/share/man/man3/gnutls_pkcs11_set_pin_function.3 +0 -39
  1468. data/vendor/local/share/man/man3/gnutls_pkcs11_set_token_function.3 +0 -38
  1469. data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_flags.3 +0 -41
  1470. data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_info.3 +0 -45
  1471. data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_mechanism.3 +0 -43
  1472. data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_random.3 +0 -42
  1473. data/vendor/local/share/man/man3/gnutls_pkcs11_token_get_url.3 +0 -44
  1474. data/vendor/local/share/man/man3/gnutls_pkcs11_token_init.3 +0 -42
  1475. data/vendor/local/share/man/man3/gnutls_pkcs11_token_set_pin.3 +0 -44
  1476. data/vendor/local/share/man/man3/gnutls_pkcs11_type_get_name.3 +0 -40
  1477. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_decrypt.3 +0 -39
  1478. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_deinit.3 +0 -33
  1479. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_encrypt.3 +0 -40
  1480. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_count.3 +0 -36
  1481. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_data.3 +0 -42
  1482. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_friendly_name.3 +0 -42
  1483. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_key_id.3 +0 -42
  1484. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_type.3 +0 -37
  1485. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_init.3 +0 -38
  1486. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crl.3 +0 -39
  1487. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crt.3 +0 -39
  1488. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_data.3 +0 -41
  1489. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_friendly_name.3 +0 -43
  1490. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_key_id.3 +0 -43
  1491. data/vendor/local/share/man/man3/gnutls_pkcs12_deinit.3 +0 -33
  1492. data/vendor/local/share/man/man3/gnutls_pkcs12_export.3 +0 -50
  1493. data/vendor/local/share/man/man3/gnutls_pkcs12_export2.3 +0 -47
  1494. data/vendor/local/share/man/man3/gnutls_pkcs12_generate_mac.3 +0 -38
  1495. data/vendor/local/share/man/man3/gnutls_pkcs12_get_bag.3 +0 -43
  1496. data/vendor/local/share/man/man3/gnutls_pkcs12_import.3 +0 -45
  1497. data/vendor/local/share/man/man3/gnutls_pkcs12_init.3 +0 -38
  1498. data/vendor/local/share/man/man3/gnutls_pkcs12_set_bag.3 +0 -38
  1499. data/vendor/local/share/man/man3/gnutls_pkcs12_simple_parse.3 +0 -84
  1500. data/vendor/local/share/man/man3/gnutls_pkcs12_verify_mac.3 +0 -38
  1501. data/vendor/local/share/man/man3/gnutls_pkcs7_deinit.3 +0 -33
  1502. data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crl.3 +0 -39
  1503. data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crt.3 +0 -39
  1504. data/vendor/local/share/man/man3/gnutls_pkcs7_export.3 +0 -50
  1505. data/vendor/local/share/man/man3/gnutls_pkcs7_export2.3 +0 -47
  1506. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_count.3 +0 -37
  1507. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_raw.3 +0 -45
  1508. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_count.3 +0 -37
  1509. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_raw.3 +0 -49
  1510. data/vendor/local/share/man/man3/gnutls_pkcs7_import.3 +0 -44
  1511. data/vendor/local/share/man/man3/gnutls_pkcs7_init.3 +0 -38
  1512. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl.3 +0 -39
  1513. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl_raw.3 +0 -38
  1514. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt.3 +0 -40
  1515. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt_raw.3 +0 -39
  1516. data/vendor/local/share/man/man3/gnutls_prf.3 +0 -64
  1517. data/vendor/local/share/man/man3/gnutls_prf_raw.3 +0 -62
  1518. data/vendor/local/share/man/man3/gnutls_priority_certificate_type_list.3 +0 -40
  1519. data/vendor/local/share/man/man3/gnutls_priority_cipher_list.3 +0 -40
  1520. data/vendor/local/share/man/man3/gnutls_priority_compression_list.3 +0 -40
  1521. data/vendor/local/share/man/man3/gnutls_priority_deinit.3 +0 -33
  1522. data/vendor/local/share/man/man3/gnutls_priority_ecc_curve_list.3 +0 -40
  1523. data/vendor/local/share/man/man3/gnutls_priority_get_cipher_suite_index.3 +0 -45
  1524. data/vendor/local/share/man/man3/gnutls_priority_init.3 +0 -102
  1525. data/vendor/local/share/man/man3/gnutls_priority_kx_list.3 +0 -40
  1526. data/vendor/local/share/man/man3/gnutls_priority_mac_list.3 +0 -40
  1527. data/vendor/local/share/man/man3/gnutls_priority_protocol_list.3 +0 -40
  1528. data/vendor/local/share/man/man3/gnutls_priority_set.3 +0 -38
  1529. data/vendor/local/share/man/man3/gnutls_priority_set_direct.3 +0 -45
  1530. data/vendor/local/share/man/man3/gnutls_priority_sign_list.3 +0 -40
  1531. data/vendor/local/share/man/man3/gnutls_privkey_decrypt_data.3 +0 -45
  1532. data/vendor/local/share/man/man3/gnutls_privkey_deinit.3 +0 -35
  1533. data/vendor/local/share/man/man3/gnutls_privkey_get_pk_algorithm.3 +0 -42
  1534. data/vendor/local/share/man/man3/gnutls_privkey_get_type.3 +0 -39
  1535. data/vendor/local/share/man/man3/gnutls_privkey_import_ext.3 +0 -52
  1536. data/vendor/local/share/man/man3/gnutls_privkey_import_ext2.3 +0 -58
  1537. data/vendor/local/share/man/man3/gnutls_privkey_import_openpgp.3 +0 -50
  1538. data/vendor/local/share/man/man3/gnutls_privkey_import_openpgp_raw.3 +0 -47
  1539. data/vendor/local/share/man/man3/gnutls_privkey_import_pkcs11.3 +0 -49
  1540. data/vendor/local/share/man/man3/gnutls_privkey_import_pkcs11_url.3 +0 -41
  1541. data/vendor/local/share/man/man3/gnutls_privkey_import_tpm_raw.3 +0 -51
  1542. data/vendor/local/share/man/man3/gnutls_privkey_import_tpm_url.3 +0 -55
  1543. data/vendor/local/share/man/man3/gnutls_privkey_import_url.3 +0 -44
  1544. data/vendor/local/share/man/man3/gnutls_privkey_import_x509.3 +0 -49
  1545. data/vendor/local/share/man/man3/gnutls_privkey_import_x509_raw.3 +0 -50
  1546. data/vendor/local/share/man/man3/gnutls_privkey_init.3 +0 -38
  1547. data/vendor/local/share/man/man3/gnutls_privkey_set_pin_function.3 +0 -44
  1548. data/vendor/local/share/man/man3/gnutls_privkey_sign_data.3 +0 -52
  1549. data/vendor/local/share/man/man3/gnutls_privkey_sign_hash.3 +0 -55
  1550. data/vendor/local/share/man/man3/gnutls_privkey_sign_raw_data.3 +0 -51
  1551. data/vendor/local/share/man/man3/gnutls_privkey_status.3 +0 -41
  1552. data/vendor/local/share/man/man3/gnutls_protocol_get_id.3 +0 -36
  1553. data/vendor/local/share/man/man3/gnutls_protocol_get_name.3 +0 -36
  1554. data/vendor/local/share/man/man3/gnutls_protocol_get_version.3 +0 -35
  1555. data/vendor/local/share/man/man3/gnutls_protocol_list.3 +0 -38
  1556. data/vendor/local/share/man/man3/gnutls_protocol_set_priority.3 +0 -39
  1557. data/vendor/local/share/man/man3/gnutls_psk_allocate_client_credentials.3 +0 -37
  1558. data/vendor/local/share/man/man3/gnutls_psk_allocate_server_credentials.3 +0 -37
  1559. data/vendor/local/share/man/man3/gnutls_psk_client_get_hint.3 +0 -39
  1560. data/vendor/local/share/man/man3/gnutls_psk_free_client_credentials.3 +0 -34
  1561. data/vendor/local/share/man/man3/gnutls_psk_free_server_credentials.3 +0 -34
  1562. data/vendor/local/share/man/man3/gnutls_psk_server_get_username.3 +0 -36
  1563. data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials.3 +0 -48
  1564. data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials_function.3 +0 -48
  1565. data/vendor/local/share/man/man3/gnutls_psk_set_params_function.3 +0 -37
  1566. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_file.3 +0 -40
  1567. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_function.3 +0 -48
  1568. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_hint.3 +0 -43
  1569. data/vendor/local/share/man/man3/gnutls_psk_set_server_dh_params.3 +0 -37
  1570. data/vendor/local/share/man/man3/gnutls_psk_set_server_params_function.3 +0 -37
  1571. data/vendor/local/share/man/man3/gnutls_pubkey_deinit.3 +0 -35
  1572. data/vendor/local/share/man/man3/gnutls_pubkey_encrypt_data.3 +0 -45
  1573. data/vendor/local/share/man/man3/gnutls_pubkey_export.3 +0 -54
  1574. data/vendor/local/share/man/man3/gnutls_pubkey_export2.3 +0 -49
  1575. data/vendor/local/share/man/man3/gnutls_pubkey_get_key_id.3 +0 -52
  1576. data/vendor/local/share/man/man3/gnutls_pubkey_get_key_usage.3 +0 -40
  1577. data/vendor/local/share/man/man3/gnutls_pubkey_get_openpgp_key_id.3 +0 -56
  1578. data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_algorithm.3 +0 -42
  1579. data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_dsa_raw.3 +0 -47
  1580. data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_ecc_raw.3 +0 -45
  1581. data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_ecc_x962.3 +0 -43
  1582. data/vendor/local/share/man/man3/gnutls_pubkey_get_pk_rsa_raw.3 +0 -43
  1583. data/vendor/local/share/man/man3/gnutls_pubkey_get_preferred_hash_algorithm.3 +0 -47
  1584. data/vendor/local/share/man/man3/gnutls_pubkey_get_verify_algorithm.3 +0 -43
  1585. data/vendor/local/share/man/man3/gnutls_pubkey_import.3 +0 -46
  1586. data/vendor/local/share/man/man3/gnutls_pubkey_import_dsa_raw.3 +0 -48
  1587. data/vendor/local/share/man/man3/gnutls_pubkey_import_ecc_raw.3 +0 -45
  1588. data/vendor/local/share/man/man3/gnutls_pubkey_import_ecc_x962.3 +0 -43
  1589. data/vendor/local/share/man/man3/gnutls_pubkey_import_openpgp.3 +0 -45
  1590. data/vendor/local/share/man/man3/gnutls_pubkey_import_openpgp_raw.3 +0 -47
  1591. data/vendor/local/share/man/man3/gnutls_pubkey_import_pkcs11.3 +0 -43
  1592. data/vendor/local/share/man/man3/gnutls_pubkey_import_pkcs11_url.3 +0 -43
  1593. data/vendor/local/share/man/man3/gnutls_pubkey_import_privkey.3 +0 -45
  1594. data/vendor/local/share/man/man3/gnutls_pubkey_import_rsa_raw.3 +0 -43
  1595. data/vendor/local/share/man/man3/gnutls_pubkey_import_tpm_raw.3 +0 -50
  1596. data/vendor/local/share/man/man3/gnutls_pubkey_import_tpm_url.3 +0 -51
  1597. data/vendor/local/share/man/man3/gnutls_pubkey_import_url.3 +0 -43
  1598. data/vendor/local/share/man/man3/gnutls_pubkey_import_x509.3 +0 -43
  1599. data/vendor/local/share/man/man3/gnutls_pubkey_import_x509_crq.3 +0 -43
  1600. data/vendor/local/share/man/man3/gnutls_pubkey_import_x509_raw.3 +0 -45
  1601. data/vendor/local/share/man/man3/gnutls_pubkey_init.3 +0 -38
  1602. data/vendor/local/share/man/man3/gnutls_pubkey_print.3 +0 -48
  1603. data/vendor/local/share/man/man3/gnutls_pubkey_set_key_usage.3 +0 -42
  1604. data/vendor/local/share/man/man3/gnutls_pubkey_set_pin_function.3 +0 -44
  1605. data/vendor/local/share/man/man3/gnutls_pubkey_verify_data.3 +0 -48
  1606. data/vendor/local/share/man/man3/gnutls_pubkey_verify_data2.3 +0 -47
  1607. data/vendor/local/share/man/man3/gnutls_pubkey_verify_hash.3 +0 -48
  1608. data/vendor/local/share/man/man3/gnutls_pubkey_verify_hash2.3 +0 -47
  1609. data/vendor/local/share/man/man3/gnutls_random_art.3 +0 -47
  1610. data/vendor/local/share/man/man3/gnutls_range_split.3 +0 -47
  1611. data/vendor/local/share/man/man3/gnutls_record_can_use_length_hiding.3 +0 -42
  1612. data/vendor/local/share/man/man3/gnutls_record_check_corked.3 +0 -38
  1613. data/vendor/local/share/man/man3/gnutls_record_check_pending.3 +0 -38
  1614. data/vendor/local/share/man/man3/gnutls_record_cork.3 +0 -39
  1615. data/vendor/local/share/man/man3/gnutls_record_disable_padding.3 +0 -39
  1616. data/vendor/local/share/man/man3/gnutls_record_get_direction.3 +0 -44
  1617. data/vendor/local/share/man/man3/gnutls_record_get_discarded.3 +0 -38
  1618. data/vendor/local/share/man/man3/gnutls_record_get_max_size.3 +0 -36
  1619. data/vendor/local/share/man/man3/gnutls_record_overhead_size.3 +0 -36
  1620. data/vendor/local/share/man/man3/gnutls_record_recv.3 +0 -56
  1621. data/vendor/local/share/man/man3/gnutls_record_recv_seq.3 +0 -50
  1622. data/vendor/local/share/man/man3/gnutls_record_send.3 +0 -64
  1623. data/vendor/local/share/man/man3/gnutls_record_send_range.3 +0 -51
  1624. data/vendor/local/share/man/man3/gnutls_record_set_max_empty_records.3 +0 -41
  1625. data/vendor/local/share/man/man3/gnutls_record_set_max_size.3 +0 -48
  1626. data/vendor/local/share/man/man3/gnutls_record_set_timeout.3 +0 -43
  1627. data/vendor/local/share/man/man3/gnutls_record_uncork.3 +0 -49
  1628. data/vendor/local/share/man/man3/gnutls_rehandshake.3 +0 -56
  1629. data/vendor/local/share/man/man3/gnutls_rnd.3 +0 -42
  1630. data/vendor/local/share/man/man3/gnutls_rnd_refresh.3 +0 -38
  1631. data/vendor/local/share/man/man3/gnutls_rsa_export_get_modulus_bits.3 +0 -36
  1632. data/vendor/local/share/man/man3/gnutls_rsa_export_get_pubkey.3 +0 -42
  1633. data/vendor/local/share/man/man3/gnutls_rsa_params_cpy.3 +0 -38
  1634. data/vendor/local/share/man/man3/gnutls_rsa_params_deinit.3 +0 -33
  1635. data/vendor/local/share/man/man3/gnutls_rsa_params_export_pkcs1.3 +0 -46
  1636. data/vendor/local/share/man/man3/gnutls_rsa_params_export_raw.3 +0 -51
  1637. data/vendor/local/share/man/man3/gnutls_rsa_params_generate2.3 +0 -44
  1638. data/vendor/local/share/man/man3/gnutls_rsa_params_import_pkcs1.3 +0 -43
  1639. data/vendor/local/share/man/man3/gnutls_rsa_params_import_raw.3 +0 -49
  1640. data/vendor/local/share/man/man3/gnutls_rsa_params_init.3 +0 -35
  1641. data/vendor/local/share/man/man3/gnutls_safe_renegotiation_status.3 +0 -39
  1642. data/vendor/local/share/man/man3/gnutls_sec_param_get_name.3 +0 -38
  1643. data/vendor/local/share/man/man3/gnutls_sec_param_to_pk_bits.3 +0 -43
  1644. data/vendor/local/share/man/man3/gnutls_server_name_get.3 +0 -59
  1645. data/vendor/local/share/man/man3/gnutls_server_name_set.3 +0 -50
  1646. data/vendor/local/share/man/man3/gnutls_session_channel_binding.3 +0 -45
  1647. data/vendor/local/share/man/man3/gnutls_session_enable_compatibility_mode.3 +0 -42
  1648. data/vendor/local/share/man/man3/gnutls_session_force_valid.3 +0 -37
  1649. data/vendor/local/share/man/man3/gnutls_session_get_data.3 +0 -43
  1650. data/vendor/local/share/man/man3/gnutls_session_get_data2.3 +0 -42
  1651. data/vendor/local/share/man/man3/gnutls_session_get_desc.3 +0 -38
  1652. data/vendor/local/share/man/man3/gnutls_session_get_id.3 +0 -47
  1653. data/vendor/local/share/man/man3/gnutls_session_get_id2.3 +0 -41
  1654. data/vendor/local/share/man/man3/gnutls_session_get_ptr.3 +0 -37
  1655. data/vendor/local/share/man/man3/gnutls_session_get_random.3 +0 -44
  1656. data/vendor/local/share/man/man3/gnutls_session_is_resumed.3 +0 -36
  1657. data/vendor/local/share/man/man3/gnutls_session_resumption_requested.3 +0 -36
  1658. data/vendor/local/share/man/man3/gnutls_session_set_data.3 +0 -47
  1659. data/vendor/local/share/man/man3/gnutls_session_set_id.3 +0 -42
  1660. data/vendor/local/share/man/man3/gnutls_session_set_premaster.3 +0 -55
  1661. data/vendor/local/share/man/man3/gnutls_session_set_ptr.3 +0 -37
  1662. data/vendor/local/share/man/man3/gnutls_session_ticket_enable_client.3 +0 -39
  1663. data/vendor/local/share/man/man3/gnutls_session_ticket_enable_server.3 +0 -42
  1664. data/vendor/local/share/man/man3/gnutls_session_ticket_key_generate.3 +0 -40
  1665. data/vendor/local/share/man/man3/gnutls_set_default_export_priority.3 +0 -46
  1666. data/vendor/local/share/man/man3/gnutls_set_default_priority.3 +0 -45
  1667. data/vendor/local/share/man/man3/gnutls_sign_algorithm_get.3 +0 -38
  1668. data/vendor/local/share/man/man3/gnutls_sign_algorithm_get_client.3 +0 -38
  1669. data/vendor/local/share/man/man3/gnutls_sign_algorithm_get_requested.3 +0 -50
  1670. data/vendor/local/share/man/man3/gnutls_sign_callback_get.3 +0 -40
  1671. data/vendor/local/share/man/man3/gnutls_sign_callback_set.3 +0 -50
  1672. data/vendor/local/share/man/man3/gnutls_sign_get_hash_algorithm.3 +0 -38
  1673. data/vendor/local/share/man/man3/gnutls_sign_get_id.3 +0 -36
  1674. data/vendor/local/share/man/man3/gnutls_sign_get_name.3 +0 -36
  1675. data/vendor/local/share/man/man3/gnutls_sign_get_pk_algorithm.3 +0 -38
  1676. data/vendor/local/share/man/man3/gnutls_sign_is_secure.3 +0 -33
  1677. data/vendor/local/share/man/man3/gnutls_sign_list.3 +0 -36
  1678. data/vendor/local/share/man/man3/gnutls_srp_allocate_client_credentials.3 +0 -37
  1679. data/vendor/local/share/man/man3/gnutls_srp_allocate_server_credentials.3 +0 -37
  1680. data/vendor/local/share/man/man3/gnutls_srp_base64_decode.3 +0 -46
  1681. data/vendor/local/share/man/man3/gnutls_srp_base64_decode_alloc.3 +0 -44
  1682. data/vendor/local/share/man/man3/gnutls_srp_base64_encode.3 +0 -46
  1683. data/vendor/local/share/man/man3/gnutls_srp_base64_encode_alloc.3 +0 -45
  1684. data/vendor/local/share/man/man3/gnutls_srp_free_client_credentials.3 +0 -34
  1685. data/vendor/local/share/man/man3/gnutls_srp_free_server_credentials.3 +0 -34
  1686. data/vendor/local/share/man/man3/gnutls_srp_server_get_username.3 +0 -37
  1687. data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials.3 +0 -44
  1688. data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials_function.3 +0 -53
  1689. data/vendor/local/share/man/man3/gnutls_srp_set_prime_bits.3 +0 -45
  1690. data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_file.3 +0 -43
  1691. data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_function.3 +0 -56
  1692. data/vendor/local/share/man/man3/gnutls_srp_verifier.3 +0 -51
  1693. data/vendor/local/share/man/man3/gnutls_srtp_get_keys.3 +0 -54
  1694. data/vendor/local/share/man/man3/gnutls_srtp_get_mki.3 +0 -42
  1695. data/vendor/local/share/man/man3/gnutls_srtp_get_profile_id.3 +0 -40
  1696. data/vendor/local/share/man/man3/gnutls_srtp_get_profile_name.3 +0 -39
  1697. data/vendor/local/share/man/man3/gnutls_srtp_get_selected_profile.3 +0 -40
  1698. data/vendor/local/share/man/man3/gnutls_srtp_set_mki.3 +0 -41
  1699. data/vendor/local/share/man/man3/gnutls_srtp_set_profile.3 +0 -41
  1700. data/vendor/local/share/man/man3/gnutls_srtp_set_profile_direct.3 +0 -44
  1701. data/vendor/local/share/man/man3/gnutls_store_commitment.3 +0 -60
  1702. data/vendor/local/share/man/man3/gnutls_store_pubkey.3 +0 -58
  1703. data/vendor/local/share/man/man3/gnutls_strerror.3 +0 -39
  1704. data/vendor/local/share/man/man3/gnutls_strerror_name.3 +0 -40
  1705. data/vendor/local/share/man/man3/gnutls_supplemental_get_name.3 +0 -37
  1706. data/vendor/local/share/man/man3/gnutls_tdb_deinit.3 +0 -33
  1707. data/vendor/local/share/man/man3/gnutls_tdb_init.3 +0 -36
  1708. data/vendor/local/share/man/man3/gnutls_tdb_set_store_commitment_func.3 +0 -40
  1709. data/vendor/local/share/man/man3/gnutls_tdb_set_store_func.3 +0 -40
  1710. data/vendor/local/share/man/man3/gnutls_tdb_set_verify_func.3 +0 -39
  1711. data/vendor/local/share/man/man3/gnutls_tpm_get_registered.3 +0 -39
  1712. data/vendor/local/share/man/man3/gnutls_tpm_key_list_deinit.3 +0 -35
  1713. data/vendor/local/share/man/man3/gnutls_tpm_key_list_get_url.3 +0 -47
  1714. data/vendor/local/share/man/man3/gnutls_tpm_privkey_delete.3 +0 -41
  1715. data/vendor/local/share/man/man3/gnutls_tpm_privkey_generate.3 +0 -64
  1716. data/vendor/local/share/man/man3/gnutls_transport_get_int.3 +0 -39
  1717. data/vendor/local/share/man/man3/gnutls_transport_get_int2.3 +0 -41
  1718. data/vendor/local/share/man/man3/gnutls_transport_get_ptr.3 +0 -37
  1719. data/vendor/local/share/man/man3/gnutls_transport_get_ptr2.3 +0 -39
  1720. data/vendor/local/share/man/man3/gnutls_transport_set_errno.3 +0 -43
  1721. data/vendor/local/share/man/man3/gnutls_transport_set_errno_function.3 +0 -42
  1722. data/vendor/local/share/man/man3/gnutls_transport_set_int.3 +0 -38
  1723. data/vendor/local/share/man/man3/gnutls_transport_set_int2.3 +0 -42
  1724. data/vendor/local/share/man/man3/gnutls_transport_set_ptr.3 +0 -37
  1725. data/vendor/local/share/man/man3/gnutls_transport_set_ptr2.3 +0 -40
  1726. data/vendor/local/share/man/man3/gnutls_transport_set_pull_function.3 +0 -42
  1727. data/vendor/local/share/man/man3/gnutls_transport_set_pull_timeout_function.3 +0 -48
  1728. data/vendor/local/share/man/man3/gnutls_transport_set_push_function.3 +0 -44
  1729. data/vendor/local/share/man/man3/gnutls_transport_set_vec_push_function.3 +0 -43
  1730. data/vendor/local/share/man/man3/gnutls_url_is_supported.3 +0 -39
  1731. data/vendor/local/share/man/man3/gnutls_verify_stored_pubkey.3 +0 -67
  1732. data/vendor/local/share/man/man3/gnutls_x509_crl_check_issuer.3 +0 -39
  1733. data/vendor/local/share/man/man3/gnutls_x509_crl_deinit.3 +0 -33
  1734. data/vendor/local/share/man/man3/gnutls_x509_crl_export.3 +0 -49
  1735. data/vendor/local/share/man/man3/gnutls_x509_crl_export2.3 +0 -47
  1736. data/vendor/local/share/man/man3/gnutls_x509_crl_get_authority_key_gn_serial.3 +0 -57
  1737. data/vendor/local/share/man/man3/gnutls_x509_crl_get_authority_key_id.3 +0 -51
  1738. data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_count.3 +0 -36
  1739. data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_serial.3 +0 -45
  1740. data/vendor/local/share/man/man3/gnutls_x509_crl_get_dn_oid.3 +0 -46
  1741. data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_data.3 +0 -53
  1742. data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_info.3 +0 -56
  1743. data/vendor/local/share/man/man3/gnutls_x509_crl_get_extension_oid.3 +0 -48
  1744. data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn.3 +0 -46
  1745. data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn2.3 +0 -43
  1746. data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn_by_oid.3 +0 -58
  1747. data/vendor/local/share/man/man3/gnutls_x509_crl_get_next_update.3 +0 -37
  1748. data/vendor/local/share/man/man3/gnutls_x509_crl_get_number.3 +0 -46
  1749. data/vendor/local/share/man/man3/gnutls_x509_crl_get_raw_issuer_dn.3 +0 -40
  1750. data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature.3 +0 -40
  1751. data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature_algorithm.3 +0 -37
  1752. data/vendor/local/share/man/man3/gnutls_x509_crl_get_this_update.3 +0 -35
  1753. data/vendor/local/share/man/man3/gnutls_x509_crl_get_version.3 +0 -35
  1754. data/vendor/local/share/man/man3/gnutls_x509_crl_import.3 +0 -43
  1755. data/vendor/local/share/man/man3/gnutls_x509_crl_init.3 +0 -40
  1756. data/vendor/local/share/man/man3/gnutls_x509_crl_list_import.3 +0 -49
  1757. data/vendor/local/share/man/man3/gnutls_x509_crl_list_import2.3 +0 -50
  1758. data/vendor/local/share/man/man3/gnutls_x509_crl_print.3 +0 -43
  1759. data/vendor/local/share/man/man3/gnutls_x509_crl_privkey_sign.3 +0 -50
  1760. data/vendor/local/share/man/man3/gnutls_x509_crl_set_authority_key_id.3 +0 -45
  1761. data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt.3 +0 -40
  1762. data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt_serial.3 +0 -42
  1763. data/vendor/local/share/man/man3/gnutls_x509_crl_set_next_update.3 +0 -38
  1764. data/vendor/local/share/man/man3/gnutls_x509_crl_set_number.3 +0 -44
  1765. data/vendor/local/share/man/man3/gnutls_x509_crl_set_this_update.3 +0 -38
  1766. data/vendor/local/share/man/man3/gnutls_x509_crl_set_version.3 +0 -40
  1767. data/vendor/local/share/man/man3/gnutls_x509_crl_sign.3 +0 -43
  1768. data/vendor/local/share/man/man3/gnutls_x509_crl_sign2.3 +0 -48
  1769. data/vendor/local/share/man/man3/gnutls_x509_crl_verify.3 +0 -51
  1770. data/vendor/local/share/man/man3/gnutls_x509_crq_deinit.3 +0 -34
  1771. data/vendor/local/share/man/man3/gnutls_x509_crq_export.3 +0 -51
  1772. data/vendor/local/share/man/man3/gnutls_x509_crq_export2.3 +0 -48
  1773. data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_by_oid.3 +0 -50
  1774. data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_data.3 +0 -53
  1775. data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_info.3 +0 -54
  1776. data/vendor/local/share/man/man3/gnutls_x509_crq_get_basic_constraints.3 +0 -52
  1777. data/vendor/local/share/man/man3/gnutls_x509_crq_get_challenge_password.3 +0 -42
  1778. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn.3 +0 -45
  1779. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn2.3 +0 -43
  1780. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_by_oid.3 +0 -57
  1781. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_oid.3 +0 -44
  1782. data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_by_oid.3 +0 -53
  1783. data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_data.3 +0 -53
  1784. data/vendor/local/share/man/man3/gnutls_x509_crq_get_extension_info.3 +0 -56
  1785. data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_id.3 +0 -52
  1786. data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_purpose_oid.3 +0 -50
  1787. data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_rsa_raw.3 +0 -44
  1788. data/vendor/local/share/man/man3/gnutls_x509_crq_get_key_usage.3 +0 -50
  1789. data/vendor/local/share/man/man3/gnutls_x509_crq_get_pk_algorithm.3 +0 -43
  1790. data/vendor/local/share/man/man3/gnutls_x509_crq_get_private_key_usage_period.3 +0 -43
  1791. data/vendor/local/share/man/man3/gnutls_x509_crq_get_subject_alt_name.3 +0 -60
  1792. data/vendor/local/share/man/man3/gnutls_x509_crq_get_subject_alt_othername_oid.3 +0 -58
  1793. data/vendor/local/share/man/man3/gnutls_x509_crq_get_version.3 +0 -37
  1794. data/vendor/local/share/man/man3/gnutls_x509_crq_import.3 +0 -45
  1795. data/vendor/local/share/man/man3/gnutls_x509_crq_init.3 +0 -37
  1796. data/vendor/local/share/man/man3/gnutls_x509_crq_print.3 +0 -45
  1797. data/vendor/local/share/man/man3/gnutls_x509_crq_privkey_sign.3 +0 -52
  1798. data/vendor/local/share/man/man3/gnutls_x509_crq_set_attribute_by_oid.3 +0 -47
  1799. data/vendor/local/share/man/man3/gnutls_x509_crq_set_basic_constraints.3 +0 -44
  1800. data/vendor/local/share/man/man3/gnutls_x509_crq_set_challenge_password.3 +0 -39
  1801. data/vendor/local/share/man/man3/gnutls_x509_crq_set_dn.3 +0 -41
  1802. data/vendor/local/share/man/man3/gnutls_x509_crq_set_dn_by_oid.3 +0 -52
  1803. data/vendor/local/share/man/man3/gnutls_x509_crq_set_key.3 +0 -39
  1804. data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_purpose_oid.3 +0 -46
  1805. data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_rsa_raw.3 +0 -43
  1806. data/vendor/local/share/man/man3/gnutls_x509_crq_set_key_usage.3 +0 -40
  1807. data/vendor/local/share/man/man3/gnutls_x509_crq_set_private_key_usage_period.3 +0 -40
  1808. data/vendor/local/share/man/man3/gnutls_x509_crq_set_pubkey.3 +0 -41
  1809. data/vendor/local/share/man/man3/gnutls_x509_crq_set_subject_alt_name.3 +0 -48
  1810. data/vendor/local/share/man/man3/gnutls_x509_crq_set_version.3 +0 -39
  1811. data/vendor/local/share/man/man3/gnutls_x509_crq_sign.3 +0 -41
  1812. data/vendor/local/share/man/man3/gnutls_x509_crq_sign2.3 +0 -50
  1813. data/vendor/local/share/man/man3/gnutls_x509_crq_verify.3 +0 -41
  1814. data/vendor/local/share/man/man3/gnutls_x509_crt_check_hostname.3 +0 -52
  1815. data/vendor/local/share/man/man3/gnutls_x509_crt_check_issuer.3 +0 -40
  1816. data/vendor/local/share/man/man3/gnutls_x509_crt_check_revocation.3 +0 -41
  1817. data/vendor/local/share/man/man3/gnutls_x509_crt_cpy_crl_dist_points.3 +0 -40
  1818. data/vendor/local/share/man/man3/gnutls_x509_crt_deinit.3 +0 -33
  1819. data/vendor/local/share/man/man3/gnutls_x509_crt_export.3 +0 -50
  1820. data/vendor/local/share/man/man3/gnutls_x509_crt_export2.3 +0 -46
  1821. data/vendor/local/share/man/man3/gnutls_x509_crt_get_activation_time.3 +0 -36
  1822. data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_info_access.3 +0 -100
  1823. data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_key_gn_serial.3 +0 -58
  1824. data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_key_id.3 +0 -48
  1825. data/vendor/local/share/man/man3/gnutls_x509_crt_get_basic_constraints.3 +0 -50
  1826. data/vendor/local/share/man/man3/gnutls_x509_crt_get_ca_status.3 +0 -45
  1827. data/vendor/local/share/man/man3/gnutls_x509_crt_get_crl_dist_points.3 +0 -53
  1828. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn.3 +0 -46
  1829. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn2.3 +0 -43
  1830. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_by_oid.3 +0 -60
  1831. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_oid.3 +0 -48
  1832. data/vendor/local/share/man/man3/gnutls_x509_crt_get_expiration_time.3 +0 -39
  1833. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_by_oid.3 +0 -50
  1834. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_data.3 +0 -51
  1835. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_info.3 +0 -55
  1836. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_oid.3 +0 -48
  1837. data/vendor/local/share/man/man3/gnutls_x509_crt_get_fingerprint.3 +0 -46
  1838. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer.3 +0 -42
  1839. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_name.3 +0 -64
  1840. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_name2.3 +0 -58
  1841. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_alt_othername_oid.3 +0 -61
  1842. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn.3 +0 -46
  1843. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn2.3 +0 -43
  1844. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_by_oid.3 +0 -60
  1845. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_oid.3 +0 -48
  1846. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_unique_id.3 +0 -47
  1847. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_id.3 +0 -50
  1848. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_purpose_oid.3 +0 -51
  1849. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_usage.3 +0 -48
  1850. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_algorithm.3 +0 -44
  1851. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_dsa_raw.3 +0 -45
  1852. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_rsa_raw.3 +0 -41
  1853. data/vendor/local/share/man/man3/gnutls_x509_crt_get_policy.3 +0 -48
  1854. data/vendor/local/share/man/man3/gnutls_x509_crt_get_preferred_hash_algorithm.3 +0 -46
  1855. data/vendor/local/share/man/man3/gnutls_x509_crt_get_private_key_usage_period.3 +0 -44
  1856. data/vendor/local/share/man/man3/gnutls_x509_crt_get_proxy.3 +0 -49
  1857. data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_dn.3 +0 -39
  1858. data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_issuer_dn.3 +0 -39
  1859. data/vendor/local/share/man/man3/gnutls_x509_crt_get_serial.3 +0 -43
  1860. data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature.3 +0 -40
  1861. data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature_algorithm.3 +0 -38
  1862. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject.3 +0 -42
  1863. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name.3 +0 -61
  1864. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name2.3 +0 -56
  1865. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_othername_oid.3 +0 -59
  1866. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_key_id.3 +0 -44
  1867. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_unique_id.3 +0 -45
  1868. data/vendor/local/share/man/man3/gnutls_x509_crt_get_verify_algorithm.3 +0 -45
  1869. data/vendor/local/share/man/man3/gnutls_x509_crt_get_version.3 +0 -35
  1870. data/vendor/local/share/man/man3/gnutls_x509_crt_import.3 +0 -45
  1871. data/vendor/local/share/man/man3/gnutls_x509_crt_import_pkcs11.3 +0 -41
  1872. data/vendor/local/share/man/man3/gnutls_x509_crt_import_pkcs11_url.3 +0 -44
  1873. data/vendor/local/share/man/man3/gnutls_x509_crt_init.3 +0 -36
  1874. data/vendor/local/share/man/man3/gnutls_x509_crt_list_import.3 +0 -54
  1875. data/vendor/local/share/man/man3/gnutls_x509_crt_list_import2.3 +0 -53
  1876. data/vendor/local/share/man/man3/gnutls_x509_crt_list_import_pkcs11.3 +0 -45
  1877. data/vendor/local/share/man/man3/gnutls_x509_crt_list_verify.3 +0 -62
  1878. data/vendor/local/share/man/man3/gnutls_x509_crt_print.3 +0 -48
  1879. data/vendor/local/share/man/man3/gnutls_x509_crt_privkey_sign.3 +0 -48
  1880. data/vendor/local/share/man/man3/gnutls_x509_crt_set_activation_time.3 +0 -39
  1881. data/vendor/local/share/man/man3/gnutls_x509_crt_set_authority_info_access.3 +0 -50
  1882. data/vendor/local/share/man/man3/gnutls_x509_crt_set_authority_key_id.3 +0 -41
  1883. data/vendor/local/share/man/man3/gnutls_x509_crt_set_basic_constraints.3 +0 -42
  1884. data/vendor/local/share/man/man3/gnutls_x509_crt_set_ca_status.3 +0 -40
  1885. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crl_dist_points.3 +0 -42
  1886. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crl_dist_points2.3 +0 -46
  1887. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crq.3 +0 -40
  1888. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crq_extensions.3 +0 -41
  1889. data/vendor/local/share/man/man3/gnutls_x509_crt_set_dn.3 +0 -41
  1890. data/vendor/local/share/man/man3/gnutls_x509_crt_set_dn_by_oid.3 +0 -52
  1891. data/vendor/local/share/man/man3/gnutls_x509_crt_set_expiration_time.3 +0 -40
  1892. data/vendor/local/share/man/man3/gnutls_x509_crt_set_extension_by_oid.3 +0 -46
  1893. data/vendor/local/share/man/man3/gnutls_x509_crt_set_issuer_dn.3 +0 -41
  1894. data/vendor/local/share/man/man3/gnutls_x509_crt_set_issuer_dn_by_oid.3 +0 -56
  1895. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key.3 +0 -40
  1896. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_purpose_oid.3 +0 -44
  1897. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_usage.3 +0 -38
  1898. data/vendor/local/share/man/man3/gnutls_x509_crt_set_pin_function.3 +0 -44
  1899. data/vendor/local/share/man/man3/gnutls_x509_crt_set_policy.3 +0 -47
  1900. data/vendor/local/share/man/man3/gnutls_x509_crt_set_private_key_usage_period.3 +0 -40
  1901. data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy.3 +0 -46
  1902. data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy_dn.3 +0 -47
  1903. data/vendor/local/share/man/man3/gnutls_x509_crt_set_pubkey.3 +0 -41
  1904. data/vendor/local/share/man/man3/gnutls_x509_crt_set_serial.3 +0 -45
  1905. data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_alt_name.3 +0 -47
  1906. data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_alternative_name.3 +0 -45
  1907. data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_key_id.3 +0 -41
  1908. data/vendor/local/share/man/man3/gnutls_x509_crt_set_version.3 +0 -45
  1909. data/vendor/local/share/man/man3/gnutls_x509_crt_sign.3 +0 -41
  1910. data/vendor/local/share/man/man3/gnutls_x509_crt_sign2.3 +0 -48
  1911. data/vendor/local/share/man/man3/gnutls_x509_crt_verify.3 +0 -46
  1912. data/vendor/local/share/man/man3/gnutls_x509_crt_verify_data.3 +0 -46
  1913. data/vendor/local/share/man/man3/gnutls_x509_crt_verify_hash.3 +0 -46
  1914. data/vendor/local/share/man/man3/gnutls_x509_dn_deinit.3 +0 -36
  1915. data/vendor/local/share/man/man3/gnutls_x509_dn_export.3 +0 -50
  1916. data/vendor/local/share/man/man3/gnutls_x509_dn_export2.3 +0 -47
  1917. data/vendor/local/share/man/man3/gnutls_x509_dn_get_rdn_ava.3 +0 -58
  1918. data/vendor/local/share/man/man3/gnutls_x509_dn_import.3 +0 -43
  1919. data/vendor/local/share/man/man3/gnutls_x509_dn_init.3 +0 -41
  1920. data/vendor/local/share/man/man3/gnutls_x509_dn_oid_known.3 +0 -41
  1921. data/vendor/local/share/man/man3/gnutls_x509_dn_oid_name.3 +0 -42
  1922. data/vendor/local/share/man/man3/gnutls_x509_policy_release.3 +0 -36
  1923. data/vendor/local/share/man/man3/gnutls_x509_privkey_cpy.3 +0 -39
  1924. data/vendor/local/share/man/man3/gnutls_x509_privkey_deinit.3 +0 -33
  1925. data/vendor/local/share/man/man3/gnutls_x509_privkey_export.3 +0 -52
  1926. data/vendor/local/share/man/man3/gnutls_x509_privkey_export2.3 +0 -49
  1927. data/vendor/local/share/man/man3/gnutls_x509_privkey_export2_pkcs8.3 +0 -58
  1928. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_dsa_raw.3 +0 -48
  1929. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_ecc_raw.3 +0 -48
  1930. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_pkcs8.3 +0 -61
  1931. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_rsa_raw.3 +0 -50
  1932. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_rsa_raw2.3 +0 -56
  1933. data/vendor/local/share/man/man3/gnutls_x509_privkey_fix.3 +0 -37
  1934. data/vendor/local/share/man/man3/gnutls_x509_privkey_generate.3 +0 -49
  1935. data/vendor/local/share/man/man3/gnutls_x509_privkey_get_key_id.3 +0 -50
  1936. data/vendor/local/share/man/man3/gnutls_x509_privkey_get_pk_algorithm.3 +0 -37
  1937. data/vendor/local/share/man/man3/gnutls_x509_privkey_get_pk_algorithm2.3 +0 -39
  1938. data/vendor/local/share/man/man3/gnutls_x509_privkey_import.3 +0 -46
  1939. data/vendor/local/share/man/man3/gnutls_x509_privkey_import2.3 +0 -52
  1940. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_dsa_raw.3 +0 -48
  1941. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_ecc_raw.3 +0 -48
  1942. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_openssl.3 +0 -48
  1943. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_pkcs8.3 +0 -59
  1944. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_rsa_raw.3 +0 -50
  1945. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_rsa_raw2.3 +0 -54
  1946. data/vendor/local/share/man/man3/gnutls_x509_privkey_init.3 +0 -36
  1947. data/vendor/local/share/man/man3/gnutls_x509_privkey_sec_param.3 +0 -39
  1948. data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_data.3 +0 -59
  1949. data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_hash.3 +0 -45
  1950. data/vendor/local/share/man/man3/gnutls_x509_privkey_verify_params.3 +0 -36
  1951. data/vendor/local/share/man/man3/gnutls_x509_rdn_get.3 +0 -44
  1952. data/vendor/local/share/man/man3/gnutls_x509_rdn_get_by_oid.3 +0 -51
  1953. data/vendor/local/share/man/man3/gnutls_x509_rdn_get_oid.3 +0 -47
  1954. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_cas.3 +0 -45
  1955. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_crls.3 +0 -50
  1956. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_named_crt.3 +0 -56
  1957. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_system_trust.3 +0 -43
  1958. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_trust_file.3 +0 -49
  1959. data/vendor/local/share/man/man3/gnutls_x509_trust_list_add_trust_mem.3 +0 -48
  1960. data/vendor/local/share/man/man3/gnutls_x509_trust_list_deinit.3 +0 -37
  1961. data/vendor/local/share/man/man3/gnutls_x509_trust_list_get_issuer.3 +0 -45
  1962. data/vendor/local/share/man/man3/gnutls_x509_trust_list_init.3 +0 -40
  1963. data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_cas.3 +0 -48
  1964. data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_trust_file.3 +0 -46
  1965. data/vendor/local/share/man/man3/gnutls_x509_trust_list_remove_trust_mem.3 +0 -44
  1966. data/vendor/local/share/man/man3/gnutls_x509_trust_list_verify_crt.3 +0 -50
  1967. data/vendor/local/share/man/man3/gnutls_x509_trust_list_verify_named_crt.3 +0 -53
  1968. data/vendor/local/share/man/man3/xssl_client_init.3 +0 -56
  1969. data/vendor/local/share/man/man3/xssl_cred_deinit.3 +0 -37
  1970. data/vendor/local/share/man/man3/xssl_cred_init.3 +0 -48
  1971. data/vendor/local/share/man/man3/xssl_deinit.3 +0 -36
  1972. data/vendor/local/share/man/man3/xssl_flush.3 +0 -39
  1973. data/vendor/local/share/man/man3/xssl_get_session.3 +0 -35
  1974. data/vendor/local/share/man/man3/xssl_getdelim.3 +0 -49
  1975. data/vendor/local/share/man/man3/xssl_printf.3 +0 -45
  1976. data/vendor/local/share/man/man3/xssl_read.3 +0 -43
  1977. data/vendor/local/share/man/man3/xssl_server_init.3 +0 -50
  1978. data/vendor/local/share/man/man3/xssl_sinit.3 +0 -44
  1979. data/vendor/local/share/man/man3/xssl_write.3 +0 -47
@@ -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
- * GnuTLS: (gnutls). GNU Transport Layer Security Library.
28
- * GnuTLS-Guile: (gnutls-guile). GNU Transport Layer Security Library. Guile
29
- bindings.
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).
@@ -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: