glib2 1.1.4-x86-mingw32 → 1.1.5-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (662) hide show
  1. data/Rakefile +17 -3
  2. data/ext/glib2/rbglib.h +1 -1
  3. data/lib/1.8/glib2.so +0 -0
  4. data/lib/1.9/glib2.so +0 -0
  5. data/lib/gnome2-raketask.rb +32 -28
  6. data/lib/gnome2-win32-binary-build-task.rb +191 -0
  7. data/lib/{gnome2-win32-binary-downloader.rb → gnome2-win32-binary-download-task.rb} +62 -19
  8. data/vendor/local/bin/asn1Coding.exe +0 -0
  9. data/vendor/local/bin/asn1Decoding.exe +0 -0
  10. data/vendor/local/bin/asn1Parser.exe +0 -0
  11. data/vendor/local/bin/certtool.exe +0 -0
  12. data/vendor/local/bin/dumpsexp.exe +0 -0
  13. data/vendor/local/bin/gnutls-cli-debug.exe +0 -0
  14. data/vendor/local/bin/gnutls-cli.exe +0 -0
  15. data/vendor/local/bin/gnutls-serv.exe +0 -0
  16. data/vendor/local/bin/gpg-error.exe +0 -0
  17. data/vendor/local/bin/hmac256.exe +0 -0
  18. data/vendor/local/bin/libgcrypt-11.dll +0 -0
  19. data/vendor/local/bin/libgcrypt-config +177 -0
  20. data/vendor/local/bin/libgnutls-26.dll +0 -0
  21. data/vendor/local/bin/libgnutls-extra-26.dll +0 -0
  22. data/vendor/local/bin/libgnutls-openssl-26.dll +0 -0
  23. data/vendor/local/bin/libgpg-error-0.dll +0 -0
  24. data/vendor/local/bin/libtasn1-3.dll +0 -0
  25. data/vendor/local/bin/psktool.exe +0 -0
  26. data/vendor/local/bin/srptool.exe +0 -0
  27. data/vendor/local/gnutls.README.txt +6 -0
  28. data/vendor/local/include/gcrypt-module.h +226 -0
  29. data/vendor/local/include/gcrypt.h +1826 -0
  30. data/vendor/local/include/gnutls/compat.h +105 -0
  31. data/vendor/local/include/gnutls/crypto.h +73 -0
  32. data/vendor/local/include/gnutls/extra.h +137 -0
  33. data/vendor/local/include/gnutls/gnutls.h +1333 -0
  34. data/vendor/local/include/gnutls/gnutlsxx.h +388 -0
  35. data/vendor/local/include/gnutls/openpgp.h +283 -0
  36. data/vendor/local/include/gnutls/openssl.h +335 -0
  37. data/vendor/local/include/gnutls/pkcs12.h +106 -0
  38. data/vendor/local/include/gnutls/x509.h +672 -0
  39. data/vendor/local/include/gpg-error.h +651 -0
  40. data/vendor/local/include/libtasn1.h +246 -0
  41. data/vendor/local/lib/gio/modules/libgiognutls.a +0 -0
  42. data/vendor/local/lib/gio/modules/libgiognutls.dll +0 -0
  43. data/vendor/local/lib/gio/modules/libgiognutls.dll.a +0 -0
  44. data/vendor/local/lib/gio/modules/libgiognutls.la +41 -0
  45. data/vendor/local/lib/libgcrypt.def +237 -0
  46. data/vendor/local/lib/libgcrypt.dll.a +0 -0
  47. data/vendor/local/lib/libgnutls-extra.dll.a +0 -0
  48. data/vendor/local/lib/libgnutls-openssl.dll.a +0 -0
  49. data/vendor/local/lib/libgnutls.dll.a +0 -0
  50. data/vendor/local/lib/libgnutlsxx.dll.a +0 -0
  51. data/vendor/local/lib/libgpg-error.dll.a +0 -0
  52. data/vendor/local/lib/libtasn1.dll.a +0 -0
  53. data/vendor/local/lib/pkgconfig/gnutls.pc +23 -0
  54. data/vendor/local/manifest/gnutls-dev_2.4.2-1_win32.mft +593 -0
  55. data/vendor/local/manifest/gnutls_2.4.2-1_win32.mft +8 -0
  56. data/vendor/local/share/aclocal/gpg-error.m4 +65 -0
  57. data/vendor/local/share/aclocal/libgcrypt.m4 +108 -0
  58. data/vendor/local/share/aclocal/libgnutls-extra.m4 +161 -0
  59. data/vendor/local/share/aclocal/libgnutls.m4 +160 -0
  60. data/vendor/local/share/aclocal/libtasn1.m4 +160 -0
  61. data/vendor/local/share/common-lisp/source/gpg-error/gpg-error-codes.lisp +417 -0
  62. data/vendor/local/share/common-lisp/source/gpg-error/gpg-error-package.lisp +64 -0
  63. data/vendor/local/share/common-lisp/source/gpg-error/gpg-error.asd +36 -0
  64. data/vendor/local/share/common-lisp/source/gpg-error/gpg-error.lisp +236 -0
  65. data/vendor/local/share/info/gcrypt.info +6243 -0
  66. data/vendor/local/share/info/gnutls-certificate-user-use-case.png +0 -0
  67. data/vendor/local/share/info/gnutls-client-server-use-case.png +0 -0
  68. data/vendor/local/share/info/gnutls-extensions_st.png +0 -0
  69. data/vendor/local/share/info/gnutls-handshake-sequence.png +0 -0
  70. data/vendor/local/share/info/gnutls-handshake-state.png +0 -0
  71. data/vendor/local/share/info/gnutls-internals.png +0 -0
  72. data/vendor/local/share/info/gnutls-layers.png +0 -0
  73. data/vendor/local/share/info/gnutls-logo.png +0 -0
  74. data/vendor/local/share/info/gnutls-mod_auth_st.png +0 -0
  75. data/vendor/local/share/info/gnutls-objects.png +0 -0
  76. data/vendor/local/share/info/gnutls-pgp.png +0 -0
  77. data/vendor/local/share/info/gnutls-x509.png +0 -0
  78. data/vendor/local/share/info/gnutls.info +708 -0
  79. data/vendor/local/share/info/gnutls.info-1 +10467 -0
  80. data/vendor/local/share/info/gnutls.info-2 +7896 -0
  81. data/vendor/local/share/info/gnutls.info-3 +1899 -0
  82. data/vendor/local/share/info/libtasn1.info +2993 -0
  83. data/vendor/local/share/license/glib-networking/AUTHORS +0 -0
  84. data/vendor/local/share/license/glib-networking/COPYING +482 -0
  85. data/vendor/local/share/locale/as/LC_MESSAGES/glib-networking.mo +0 -0
  86. data/vendor/local/share/locale/bg/LC_MESSAGES/glib-networking.mo +0 -0
  87. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib-networking.mo +0 -0
  88. data/vendor/local/share/locale/ca/LC_MESSAGES/glib-networking.mo +0 -0
  89. data/vendor/local/share/locale/cs/LC_MESSAGES/glib-networking.mo +0 -0
  90. data/vendor/local/share/locale/da/LC_MESSAGES/glib-networking.mo +0 -0
  91. data/vendor/local/share/locale/de/LC_MESSAGES/glib-networking.mo +0 -0
  92. data/vendor/local/share/locale/el/LC_MESSAGES/glib-networking.mo +0 -0
  93. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib-networking.mo +0 -0
  94. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib-networking.mo +0 -0
  95. data/vendor/local/share/locale/eo/LC_MESSAGES/glib-networking.mo +0 -0
  96. data/vendor/local/share/locale/es/LC_MESSAGES/glib-networking.mo +0 -0
  97. data/vendor/local/share/locale/et/LC_MESSAGES/glib-networking.mo +0 -0
  98. data/vendor/local/share/locale/eu/LC_MESSAGES/glib-networking.mo +0 -0
  99. data/vendor/local/share/locale/fr/LC_MESSAGES/glib-networking.mo +0 -0
  100. data/vendor/local/share/locale/gl/LC_MESSAGES/glib-networking.mo +0 -0
  101. data/vendor/local/share/locale/gu/LC_MESSAGES/glib-networking.mo +0 -0
  102. data/vendor/local/share/locale/he/LC_MESSAGES/glib-networking.mo +0 -0
  103. data/vendor/local/share/locale/hi/LC_MESSAGES/glib-networking.mo +0 -0
  104. data/vendor/local/share/locale/hu/LC_MESSAGES/glib-networking.mo +0 -0
  105. data/vendor/local/share/locale/id/LC_MESSAGES/glib-networking.mo +0 -0
  106. data/vendor/local/share/locale/it/LC_MESSAGES/glib-networking.mo +0 -0
  107. data/vendor/local/share/locale/ja/LC_MESSAGES/glib-networking.mo +0 -0
  108. data/vendor/local/share/locale/kn/LC_MESSAGES/glib-networking.mo +0 -0
  109. data/vendor/local/share/locale/ko/LC_MESSAGES/glib-networking.mo +0 -0
  110. data/vendor/local/share/locale/lv/LC_MESSAGES/glib-networking.mo +0 -0
  111. data/vendor/local/share/locale/mr/LC_MESSAGES/glib-networking.mo +0 -0
  112. data/vendor/local/share/locale/nb/LC_MESSAGES/glib-networking.mo +0 -0
  113. data/vendor/local/share/locale/nl/LC_MESSAGES/glib-networking.mo +0 -0
  114. data/vendor/local/share/locale/or/LC_MESSAGES/glib-networking.mo +0 -0
  115. data/vendor/local/share/locale/pa/LC_MESSAGES/glib-networking.mo +0 -0
  116. data/vendor/local/share/locale/pl/LC_MESSAGES/glib-networking.mo +0 -0
  117. data/vendor/local/share/locale/pt/LC_MESSAGES/glib-networking.mo +0 -0
  118. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib-networking.mo +0 -0
  119. data/vendor/local/share/locale/ro/LC_MESSAGES/glib-networking.mo +0 -0
  120. data/vendor/local/share/locale/ru/LC_MESSAGES/glib-networking.mo +0 -0
  121. data/vendor/local/share/locale/sl/LC_MESSAGES/glib-networking.mo +0 -0
  122. data/vendor/local/share/locale/sr/LC_MESSAGES/glib-networking.mo +0 -0
  123. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib-networking.mo +0 -0
  124. data/vendor/local/share/locale/sv/LC_MESSAGES/glib-networking.mo +0 -0
  125. data/vendor/local/share/locale/tr/LC_MESSAGES/glib-networking.mo +0 -0
  126. data/vendor/local/share/locale/ug/LC_MESSAGES/glib-networking.mo +0 -0
  127. data/vendor/local/share/locale/uk/LC_MESSAGES/glib-networking.mo +0 -0
  128. data/vendor/local/share/locale/vi/LC_MESSAGES/glib-networking.mo +0 -0
  129. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib-networking.mo +0 -0
  130. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib-networking.mo +0 -0
  131. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib-networking.mo +0 -0
  132. data/vendor/local/share/man/man1/asn1Coding.1 +46 -0
  133. data/vendor/local/share/man/man1/asn1Decoding.1 +41 -0
  134. data/vendor/local/share/man/man1/asn1Parser.1 +49 -0
  135. data/vendor/local/share/man/man1/certtool.1 +159 -0
  136. data/vendor/local/share/man/man1/gnutls-cli-debug.1 +31 -0
  137. data/vendor/local/share/man/man1/gnutls-cli.1 +166 -0
  138. data/vendor/local/share/man/man1/gnutls-serv.1 +134 -0
  139. data/vendor/local/share/man/man1/psktool.1 +31 -0
  140. data/vendor/local/share/man/man1/srptool.1 +73 -0
  141. data/vendor/local/share/man/man3/asn1_array2tree.3 +47 -0
  142. data/vendor/local/share/man/man3/asn1_bit_der.3 +39 -0
  143. data/vendor/local/share/man/man3/asn1_check_version.3 +39 -0
  144. data/vendor/local/share/man/man3/asn1_copy_node.3 +39 -0
  145. data/vendor/local/share/man/man3/asn1_create_element.3 +45 -0
  146. data/vendor/local/share/man/man3/asn1_delete_element.3 +39 -0
  147. data/vendor/local/share/man/man3/asn1_delete_structure.3 +37 -0
  148. data/vendor/local/share/man/man3/asn1_der_coding.3 +52 -0
  149. data/vendor/local/share/man/man3/asn1_der_decoding.3 +50 -0
  150. data/vendor/local/share/man/man3/asn1_der_decoding_element.3 +54 -0
  151. data/vendor/local/share/man/man3/asn1_der_decoding_startEnd.3 +58 -0
  152. data/vendor/local/share/man/man3/asn1_expand_any_defined_by.3 +45 -0
  153. data/vendor/local/share/man/man3/asn1_expand_octet_string.3 +51 -0
  154. data/vendor/local/share/man/man3/asn1_find_node.3 +38 -0
  155. data/vendor/local/share/man/man3/asn1_find_structure_from_oid.3 +37 -0
  156. data/vendor/local/share/man/man3/asn1_get_bit_der.3 +43 -0
  157. data/vendor/local/share/man/man3/asn1_get_length_der.3 +38 -0
  158. data/vendor/local/share/man/man3/asn1_get_octet_der.3 +43 -0
  159. data/vendor/local/share/man/man3/asn1_get_tag_der.3 +41 -0
  160. data/vendor/local/share/man/man3/asn1_length_der.3 +36 -0
  161. data/vendor/local/share/man/man3/asn1_number_of_elements.3 +43 -0
  162. data/vendor/local/share/man/man3/asn1_octet_der.3 +37 -0
  163. data/vendor/local/share/man/man3/asn1_parser2array.3 +58 -0
  164. data/vendor/local/share/man/man3/asn1_parser2tree.3 +55 -0
  165. data/vendor/local/share/man/man3/asn1_print_structure.3 +40 -0
  166. data/vendor/local/share/man/man3/asn1_read_tag.3 +46 -0
  167. data/vendor/local/share/man/man3/asn1_read_value.3 +92 -0
  168. data/vendor/local/share/man/man3/asn1_write_value.3 +136 -0
  169. data/vendor/local/share/man/man3/gnutls_alert_get.3 +42 -0
  170. data/vendor/local/share/man/man3/gnutls_alert_get_name.3 +36 -0
  171. data/vendor/local/share/man/man3/gnutls_alert_send.3 +47 -0
  172. data/vendor/local/share/man/man3/gnutls_alert_send_appropriate.3 +46 -0
  173. data/vendor/local/share/man/man3/gnutls_anon_allocate_client_credentials.3 +36 -0
  174. data/vendor/local/share/man/man3/gnutls_anon_allocate_server_credentials.3 +36 -0
  175. data/vendor/local/share/man/man3/gnutls_anon_free_client_credentials.3 +34 -0
  176. data/vendor/local/share/man/man3/gnutls_anon_free_server_credentials.3 +34 -0
  177. data/vendor/local/share/man/man3/gnutls_anon_set_params_function.3 +37 -0
  178. data/vendor/local/share/man/man3/gnutls_anon_set_server_dh_params.3 +37 -0
  179. data/vendor/local/share/man/man3/gnutls_anon_set_server_params_function.3 +37 -0
  180. data/vendor/local/share/man/man3/gnutls_auth_client_get_type.3 +38 -0
  181. data/vendor/local/share/man/man3/gnutls_auth_get_type.3 +42 -0
  182. data/vendor/local/share/man/man3/gnutls_auth_server_get_type.3 +38 -0
  183. data/vendor/local/share/man/man3/gnutls_bye.3 +61 -0
  184. data/vendor/local/share/man/man3/gnutls_certificate_activation_time_peers.3 +36 -0
  185. data/vendor/local/share/man/man3/gnutls_certificate_allocate_credentials.3 +36 -0
  186. data/vendor/local/share/man/man3/gnutls_certificate_client_get_request_status.3 +37 -0
  187. data/vendor/local/share/man/man3/gnutls_certificate_client_set_retrieve_function.3 +58 -0
  188. data/vendor/local/share/man/man3/gnutls_certificate_expiration_time_peers.3 +35 -0
  189. data/vendor/local/share/man/man3/gnutls_certificate_free_ca_names.3 +38 -0
  190. data/vendor/local/share/man/man3/gnutls_certificate_free_cas.3 +36 -0
  191. data/vendor/local/share/man/man3/gnutls_certificate_free_credentials.3 +38 -0
  192. data/vendor/local/share/man/man3/gnutls_certificate_free_crls.3 +34 -0
  193. data/vendor/local/share/man/man3/gnutls_certificate_free_keys.3 +35 -0
  194. data/vendor/local/share/man/man3/gnutls_certificate_get_openpgp_keyring.3 +37 -0
  195. data/vendor/local/share/man/man3/gnutls_certificate_get_ours.3 +39 -0
  196. data/vendor/local/share/man/man3/gnutls_certificate_get_peers.3 +46 -0
  197. data/vendor/local/share/man/man3/gnutls_certificate_get_x509_cas.3 +40 -0
  198. data/vendor/local/share/man/man3/gnutls_certificate_get_x509_crls.3 +40 -0
  199. data/vendor/local/share/man/man3/gnutls_certificate_send_x509_rdn_sequence.3 +42 -0
  200. data/vendor/local/share/man/man3/gnutls_certificate_server_set_request.3 +40 -0
  201. data/vendor/local/share/man/man3/gnutls_certificate_server_set_retrieve_function.3 +47 -0
  202. data/vendor/local/share/man/man3/gnutls_certificate_set_dh_params.3 +40 -0
  203. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key.3 +41 -0
  204. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file.3 +44 -0
  205. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_file2.3 +50 -0
  206. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem.3 +41 -0
  207. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_key_mem2.3 +50 -0
  208. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_file.3 +42 -0
  209. data/vendor/local/share/man/man3/gnutls_certificate_set_openpgp_keyring_mem.3 +44 -0
  210. data/vendor/local/share/man/man3/gnutls_certificate_set_params_function.3 +37 -0
  211. data/vendor/local/share/man/man3/gnutls_certificate_set_rsa_export_params.3 +37 -0
  212. data/vendor/local/share/man/man3/gnutls_certificate_set_verify_flags.3 +37 -0
  213. data/vendor/local/share/man/man3/gnutls_certificate_set_verify_limits.3 +40 -0
  214. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl.3 +45 -0
  215. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_file.3 +43 -0
  216. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_crl_mem.3 +43 -0
  217. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key.3 +46 -0
  218. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_file.3 +48 -0
  219. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_key_mem.3 +60 -0
  220. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_simple_pkcs12_file.3 +62 -0
  221. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust.3 +49 -0
  222. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_file.3 +48 -0
  223. data/vendor/local/share/man/man3/gnutls_certificate_set_x509_trust_mem.3 +48 -0
  224. data/vendor/local/share/man/man3/gnutls_certificate_type_get.3 +37 -0
  225. data/vendor/local/share/man/man3/gnutls_certificate_type_get_id.3 +36 -0
  226. data/vendor/local/share/man/man3/gnutls_certificate_type_get_name.3 +36 -0
  227. data/vendor/local/share/man/man3/gnutls_certificate_type_list.3 +38 -0
  228. data/vendor/local/share/man/man3/gnutls_certificate_type_set_priority.3 +42 -0
  229. data/vendor/local/share/man/man3/gnutls_certificate_verify_peers.3 +44 -0
  230. data/vendor/local/share/man/man3/gnutls_certificate_verify_peers2.3 +54 -0
  231. data/vendor/local/share/man/man3/gnutls_check_version.3 +43 -0
  232. data/vendor/local/share/man/man3/gnutls_cipher_get.3 +36 -0
  233. data/vendor/local/share/man/man3/gnutls_cipher_get_id.3 +35 -0
  234. data/vendor/local/share/man/man3/gnutls_cipher_get_key_size.3 +36 -0
  235. data/vendor/local/share/man/man3/gnutls_cipher_get_name.3 +36 -0
  236. data/vendor/local/share/man/man3/gnutls_cipher_list.3 +39 -0
  237. data/vendor/local/share/man/man3/gnutls_cipher_set_priority.3 +42 -0
  238. data/vendor/local/share/man/man3/gnutls_cipher_suite_get_name.3 +41 -0
  239. data/vendor/local/share/man/man3/gnutls_cipher_suite_info.3 +50 -0
  240. data/vendor/local/share/man/man3/gnutls_compression_get.3 +36 -0
  241. data/vendor/local/share/man/man3/gnutls_compression_get_id.3 +35 -0
  242. data/vendor/local/share/man/man3/gnutls_compression_get_name.3 +36 -0
  243. data/vendor/local/share/man/man3/gnutls_compression_list.3 +38 -0
  244. data/vendor/local/share/man/man3/gnutls_compression_set_priority.3 +46 -0
  245. data/vendor/local/share/man/man3/gnutls_credentials_clear.3 +33 -0
  246. data/vendor/local/share/man/man3/gnutls_credentials_set.3 +53 -0
  247. data/vendor/local/share/man/man3/gnutls_crypto_cipher_register.3 +45 -0
  248. data/vendor/local/share/man/man3/gnutls_crypto_digest_register.3 +45 -0
  249. data/vendor/local/share/man/man3/gnutls_crypto_mac_register.3 +45 -0
  250. data/vendor/local/share/man/man3/gnutls_crypto_rnd_register.3 +43 -0
  251. data/vendor/local/share/man/man3/gnutls_db_check_entry.3 +40 -0
  252. data/vendor/local/share/man/man3/gnutls_db_get_ptr.3 +36 -0
  253. data/vendor/local/share/man/man3/gnutls_db_remove_session.3 +39 -0
  254. data/vendor/local/share/man/man3/gnutls_db_set_cache_expiration.3 +36 -0
  255. data/vendor/local/share/man/man3/gnutls_db_set_ptr.3 +36 -0
  256. data/vendor/local/share/man/man3/gnutls_db_set_remove_function.3 +39 -0
  257. data/vendor/local/share/man/man3/gnutls_db_set_retrieve_function.3 +44 -0
  258. data/vendor/local/share/man/man3/gnutls_db_set_store_function.3 +39 -0
  259. data/vendor/local/share/man/man3/gnutls_deinit.3 +35 -0
  260. data/vendor/local/share/man/man3/gnutls_dh_get_group.3 +44 -0
  261. data/vendor/local/share/man/man3/gnutls_dh_get_peers_public_bits.3 +38 -0
  262. data/vendor/local/share/man/man3/gnutls_dh_get_prime_bits.3 +38 -0
  263. data/vendor/local/share/man/man3/gnutls_dh_get_pubkey.3 +41 -0
  264. data/vendor/local/share/man/man3/gnutls_dh_get_secret_bits.3 +38 -0
  265. data/vendor/local/share/man/man3/gnutls_dh_params_cpy.3 +36 -0
  266. data/vendor/local/share/man/man3/gnutls_dh_params_deinit.3 +33 -0
  267. data/vendor/local/share/man/man3/gnutls_dh_params_export_pkcs3.3 +48 -0
  268. data/vendor/local/share/man/man3/gnutls_dh_params_export_raw.3 +41 -0
  269. data/vendor/local/share/man/man3/gnutls_dh_params_generate2.3 +43 -0
  270. data/vendor/local/share/man/man3/gnutls_dh_params_import_pkcs3.3 +44 -0
  271. data/vendor/local/share/man/man3/gnutls_dh_params_import_raw.3 +39 -0
  272. data/vendor/local/share/man/man3/gnutls_dh_params_init.3 +33 -0
  273. data/vendor/local/share/man/man3/gnutls_dh_set_prime_bits.3 +42 -0
  274. data/vendor/local/share/man/man3/gnutls_error_is_fatal.3 +42 -0
  275. data/vendor/local/share/man/man3/gnutls_error_to_alert.3 +44 -0
  276. data/vendor/local/share/man/man3/gnutls_extra_check_version.3 +36 -0
  277. data/vendor/local/share/man/man3/gnutls_fingerprint.3 +50 -0
  278. data/vendor/local/share/man/man3/gnutls_free.3 +34 -0
  279. data/vendor/local/share/man/man3/gnutls_global_deinit.3 +37 -0
  280. data/vendor/local/share/man/man3/gnutls_global_init.3 +60 -0
  281. data/vendor/local/share/man/man3/gnutls_global_init_extra.3 +38 -0
  282. data/vendor/local/share/man/man3/gnutls_global_set_log_function.3 +39 -0
  283. data/vendor/local/share/man/man3/gnutls_global_set_log_level.3 +38 -0
  284. data/vendor/local/share/man/man3/gnutls_global_set_mem_functions.3 +47 -0
  285. data/vendor/local/share/man/man3/gnutls_handshake.3 +53 -0
  286. data/vendor/local/share/man/man3/gnutls_handshake_get_last_in.3 +41 -0
  287. data/vendor/local/share/man/man3/gnutls_handshake_get_last_out.3 +41 -0
  288. data/vendor/local/share/man/man3/gnutls_handshake_set_max_packet_length.3 +42 -0
  289. data/vendor/local/share/man/man3/gnutls_handshake_set_post_client_hello_function.3 +48 -0
  290. data/vendor/local/share/man/man3/gnutls_handshake_set_private_extensions.3 +44 -0
  291. data/vendor/local/share/man/man3/gnutls_hex2bin.3 +44 -0
  292. data/vendor/local/share/man/man3/gnutls_hex_decode.3 +43 -0
  293. data/vendor/local/share/man/man3/gnutls_hex_encode.3 +41 -0
  294. data/vendor/local/share/man/man3/gnutls_ia_allocate_client_credentials.3 +42 -0
  295. data/vendor/local/share/man/man3/gnutls_ia_allocate_server_credentials.3 +42 -0
  296. data/vendor/local/share/man/man3/gnutls_ia_enable.3 +53 -0
  297. data/vendor/local/share/man/man3/gnutls_ia_endphase_send.3 +43 -0
  298. data/vendor/local/share/man/man3/gnutls_ia_extract_inner_secret.3 +44 -0
  299. data/vendor/local/share/man/man3/gnutls_ia_free_client_credentials.3 +34 -0
  300. data/vendor/local/share/man/man3/gnutls_ia_free_server_credentials.3 +34 -0
  301. data/vendor/local/share/man/man3/gnutls_ia_generate_challenge.3 +40 -0
  302. data/vendor/local/share/man/man3/gnutls_ia_get_client_avp_ptr.3 +36 -0
  303. data/vendor/local/share/man/man3/gnutls_ia_get_server_avp_ptr.3 +36 -0
  304. data/vendor/local/share/man/man3/gnutls_ia_handshake.3 +36 -0
  305. data/vendor/local/share/man/man3/gnutls_ia_handshake_p.3 +37 -0
  306. data/vendor/local/share/man/man3/gnutls_ia_permute_inner_secret.3 +43 -0
  307. data/vendor/local/share/man/man3/gnutls_ia_recv.3 +57 -0
  308. data/vendor/local/share/man/man3/gnutls_ia_send.3 +56 -0
  309. data/vendor/local/share/man/man3/gnutls_ia_set_client_avp_function.3 +61 -0
  310. data/vendor/local/share/man/man3/gnutls_ia_set_client_avp_ptr.3 +36 -0
  311. data/vendor/local/share/man/man3/gnutls_ia_set_server_avp_function.3 +68 -0
  312. data/vendor/local/share/man/man3/gnutls_ia_set_server_avp_ptr.3 +36 -0
  313. data/vendor/local/share/man/man3/gnutls_ia_verify_endphase.3 +45 -0
  314. data/vendor/local/share/man/man3/gnutls_init.3 +42 -0
  315. data/vendor/local/share/man/man3/gnutls_kx_get.3 +36 -0
  316. data/vendor/local/share/man/man3/gnutls_kx_get_id.3 +36 -0
  317. data/vendor/local/share/man/man3/gnutls_kx_get_name.3 +36 -0
  318. data/vendor/local/share/man/man3/gnutls_kx_list.3 +36 -0
  319. data/vendor/local/share/man/man3/gnutls_kx_set_priority.3 +42 -0
  320. data/vendor/local/share/man/man3/gnutls_mac_get.3 +36 -0
  321. data/vendor/local/share/man/man3/gnutls_mac_get_id.3 +36 -0
  322. data/vendor/local/share/man/man3/gnutls_mac_get_key_size.3 +36 -0
  323. data/vendor/local/share/man/man3/gnutls_mac_get_name.3 +36 -0
  324. data/vendor/local/share/man/man3/gnutls_mac_list.3 +39 -0
  325. data/vendor/local/share/man/man3/gnutls_mac_set_priority.3 +42 -0
  326. data/vendor/local/share/man/man3/gnutls_malloc.3 +37 -0
  327. data/vendor/local/share/man/man3/gnutls_openpgp_crt_check_hostname.3 +39 -0
  328. data/vendor/local/share/man/man3/gnutls_openpgp_crt_deinit.3 +33 -0
  329. data/vendor/local/share/man/man3/gnutls_openpgp_crt_export.3 +44 -0
  330. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_auth_subkey.3 +41 -0
  331. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_creation_time.3 +35 -0
  332. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_expiration_time.3 +36 -0
  333. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_fingerprint.3 +40 -0
  334. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_id.3 +39 -0
  335. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_key_usage.3 +39 -0
  336. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_name.3 +44 -0
  337. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_algorithm.3 +43 -0
  338. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_dsa_raw.3 +47 -0
  339. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_pk_rsa_raw.3 +43 -0
  340. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_preferred_key_id.3 +38 -0
  341. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_revoked_status.3 +38 -0
  342. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_count.3 +38 -0
  343. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_creation_time.3 +39 -0
  344. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_expiration_time.3 +40 -0
  345. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_fingerprint.3 +44 -0
  346. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_id.3 +39 -0
  347. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_idx.3 +39 -0
  348. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_algorithm.3 +47 -0
  349. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 +49 -0
  350. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 +45 -0
  351. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_revoked_status.3 +40 -0
  352. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_subkey_usage.3 +45 -0
  353. data/vendor/local/share/man/man3/gnutls_openpgp_crt_get_version.3 +35 -0
  354. data/vendor/local/share/man/man3/gnutls_openpgp_crt_import.3 +41 -0
  355. data/vendor/local/share/man/man3/gnutls_openpgp_crt_init.3 +35 -0
  356. data/vendor/local/share/man/man3/gnutls_openpgp_crt_print.3 +44 -0
  357. data/vendor/local/share/man/man3/gnutls_openpgp_crt_set_preferred_key_id.3 +36 -0
  358. data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_ring.3 +46 -0
  359. data/vendor/local/share/man/man3/gnutls_openpgp_crt_verify_self.3 +41 -0
  360. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_check_id.3 +40 -0
  361. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_deinit.3 +33 -0
  362. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt.3 +40 -0
  363. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_get_crt_count.3 +36 -0
  364. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_import.3 +41 -0
  365. data/vendor/local/share/man/man3/gnutls_openpgp_keyring_init.3 +35 -0
  366. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_deinit.3 +33 -0
  367. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export.3 +50 -0
  368. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_dsa_raw.3 +49 -0
  369. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_rsa_raw.3 +51 -0
  370. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_dsa_raw.3 +51 -0
  371. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_export_subkey_rsa_raw.3 +53 -0
  372. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_fingerprint.3 +42 -0
  373. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_key_id.3 +39 -0
  374. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_pk_algorithm.3 +45 -0
  375. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_preferred_key_id.3 +38 -0
  376. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_revoked_status.3 +38 -0
  377. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_count.3 +38 -0
  378. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_creation_time.3 +39 -0
  379. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_expiration_time.3 +40 -0
  380. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_fingerprint.3 +44 -0
  381. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_id.3 +41 -0
  382. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_idx.3 +39 -0
  383. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3 +47 -0
  384. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_get_subkey_revoked_status.3 +40 -0
  385. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_import.3 +45 -0
  386. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_init.3 +35 -0
  387. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_set_preferred_key_id.3 +38 -0
  388. data/vendor/local/share/man/man3/gnutls_openpgp_privkey_sign_hash.3 +42 -0
  389. data/vendor/local/share/man/man3/gnutls_openpgp_send_cert.3 +38 -0
  390. data/vendor/local/share/man/man3/gnutls_openpgp_set_recv_key_function.3 +37 -0
  391. data/vendor/local/share/man/man3/gnutls_oprfi_enable_client.3 +42 -0
  392. data/vendor/local/share/man/man3/gnutls_oprfi_enable_server.3 +49 -0
  393. data/vendor/local/share/man/man3/gnutls_pem_base64_decode.3 +46 -0
  394. data/vendor/local/share/man/man3/gnutls_pem_base64_decode_alloc.3 +46 -0
  395. data/vendor/local/share/man/man3/gnutls_pem_base64_encode.3 +47 -0
  396. data/vendor/local/share/man/man3/gnutls_pem_base64_encode_alloc.3 +45 -0
  397. data/vendor/local/share/man/man3/gnutls_perror.3 +34 -0
  398. data/vendor/local/share/man/man3/gnutls_pk_algorithm_get_name.3 +36 -0
  399. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_decrypt.3 +35 -0
  400. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_deinit.3 +33 -0
  401. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_encrypt.3 +37 -0
  402. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_count.3 +33 -0
  403. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_data.3 +42 -0
  404. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_friendly_name.3 +41 -0
  405. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_key_id.3 +41 -0
  406. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_get_type.3 +36 -0
  407. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_init.3 +38 -0
  408. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crl.3 +39 -0
  409. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_crt.3 +39 -0
  410. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_data.3 +41 -0
  411. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_friendly_name.3 +42 -0
  412. data/vendor/local/share/man/man3/gnutls_pkcs12_bag_set_key_id.3 +42 -0
  413. data/vendor/local/share/man/man3/gnutls_pkcs12_deinit.3 +33 -0
  414. data/vendor/local/share/man/man3/gnutls_pkcs12_export.3 +50 -0
  415. data/vendor/local/share/man/man3/gnutls_pkcs12_generate_mac.3 +38 -0
  416. data/vendor/local/share/man/man3/gnutls_pkcs12_get_bag.3 +43 -0
  417. data/vendor/local/share/man/man3/gnutls_pkcs12_import.3 +45 -0
  418. data/vendor/local/share/man/man3/gnutls_pkcs12_init.3 +38 -0
  419. data/vendor/local/share/man/man3/gnutls_pkcs12_set_bag.3 +38 -0
  420. data/vendor/local/share/man/man3/gnutls_pkcs12_verify_mac.3 +38 -0
  421. data/vendor/local/share/man/man3/gnutls_pkcs7_deinit.3 +33 -0
  422. data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crl.3 +38 -0
  423. data/vendor/local/share/man/man3/gnutls_pkcs7_delete_crt.3 +38 -0
  424. data/vendor/local/share/man/man3/gnutls_pkcs7_export.3 +50 -0
  425. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_count.3 +36 -0
  426. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crl_raw.3 +44 -0
  427. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_count.3 +36 -0
  428. data/vendor/local/share/man/man3/gnutls_pkcs7_get_crt_raw.3 +48 -0
  429. data/vendor/local/share/man/man3/gnutls_pkcs7_import.3 +44 -0
  430. data/vendor/local/share/man/man3/gnutls_pkcs7_init.3 +38 -0
  431. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl.3 +38 -0
  432. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crl_raw.3 +37 -0
  433. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt.3 +39 -0
  434. data/vendor/local/share/man/man3/gnutls_pkcs7_set_crt_raw.3 +38 -0
  435. data/vendor/local/share/man/man3/gnutls_prf.3 +63 -0
  436. data/vendor/local/share/man/man3/gnutls_prf_raw.3 +62 -0
  437. data/vendor/local/share/man/man3/gnutls_priority_deinit.3 +33 -0
  438. data/vendor/local/share/man/man3/gnutls_priority_init.3 +99 -0
  439. data/vendor/local/share/man/man3/gnutls_priority_set.3 +38 -0
  440. data/vendor/local/share/man/man3/gnutls_priority_set_direct.3 +43 -0
  441. data/vendor/local/share/man/man3/gnutls_protocol_get_id.3 +35 -0
  442. data/vendor/local/share/man/man3/gnutls_protocol_get_name.3 +36 -0
  443. data/vendor/local/share/man/man3/gnutls_protocol_get_version.3 +35 -0
  444. data/vendor/local/share/man/man3/gnutls_protocol_list.3 +36 -0
  445. data/vendor/local/share/man/man3/gnutls_protocol_set_priority.3 +39 -0
  446. data/vendor/local/share/man/man3/gnutls_psk_allocate_client_credentials.3 +36 -0
  447. data/vendor/local/share/man/man3/gnutls_psk_allocate_server_credentials.3 +36 -0
  448. data/vendor/local/share/man/man3/gnutls_psk_client_get_hint.3 +39 -0
  449. data/vendor/local/share/man/man3/gnutls_psk_free_client_credentials.3 +34 -0
  450. data/vendor/local/share/man/man3/gnutls_psk_free_server_credentials.3 +34 -0
  451. data/vendor/local/share/man/man3/gnutls_psk_netconf_derive_key.3 +44 -0
  452. data/vendor/local/share/man/man3/gnutls_psk_server_get_username.3 +36 -0
  453. data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials.3 +45 -0
  454. data/vendor/local/share/man/man3/gnutls_psk_set_client_credentials_function.3 +48 -0
  455. data/vendor/local/share/man/man3/gnutls_psk_set_params_function.3 +37 -0
  456. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_file.3 +39 -0
  457. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_function.3 +48 -0
  458. data/vendor/local/share/man/man3/gnutls_psk_set_server_credentials_hint.3 +42 -0
  459. data/vendor/local/share/man/man3/gnutls_psk_set_server_dh_params.3 +37 -0
  460. data/vendor/local/share/man/man3/gnutls_psk_set_server_params_function.3 +37 -0
  461. data/vendor/local/share/man/man3/gnutls_record_check_pending.3 +38 -0
  462. data/vendor/local/share/man/man3/gnutls_record_disable_padding.3 +39 -0
  463. data/vendor/local/share/man/man3/gnutls_record_get_direction.3 +44 -0
  464. data/vendor/local/share/man/man3/gnutls_record_get_max_size.3 +35 -0
  465. data/vendor/local/share/man/man3/gnutls_record_recv.3 +59 -0
  466. data/vendor/local/share/man/man3/gnutls_record_send.3 +57 -0
  467. data/vendor/local/share/man/man3/gnutls_record_set_max_size.3 +45 -0
  468. data/vendor/local/share/man/man3/gnutls_rehandshake.3 +49 -0
  469. data/vendor/local/share/man/man3/gnutls_rsa_export_get_modulus_bits.3 +36 -0
  470. data/vendor/local/share/man/man3/gnutls_rsa_export_get_pubkey.3 +42 -0
  471. data/vendor/local/share/man/man3/gnutls_rsa_params_cpy.3 +36 -0
  472. data/vendor/local/share/man/man3/gnutls_rsa_params_deinit.3 +33 -0
  473. data/vendor/local/share/man/man3/gnutls_rsa_params_export_pkcs1.3 +47 -0
  474. data/vendor/local/share/man/man3/gnutls_rsa_params_export_raw.3 +49 -0
  475. data/vendor/local/share/man/man3/gnutls_rsa_params_generate2.3 +42 -0
  476. data/vendor/local/share/man/man3/gnutls_rsa_params_import_pkcs1.3 +44 -0
  477. data/vendor/local/share/man/man3/gnutls_rsa_params_import_raw.3 +46 -0
  478. data/vendor/local/share/man/man3/gnutls_rsa_params_init.3 +33 -0
  479. data/vendor/local/share/man/man3/gnutls_server_name_get.3 +53 -0
  480. data/vendor/local/share/man/man3/gnutls_server_name_set.3 +46 -0
  481. data/vendor/local/share/man/man3/gnutls_session_enable_compatibility_mode.3 +39 -0
  482. data/vendor/local/share/man/man3/gnutls_session_get_client_random.3 +40 -0
  483. data/vendor/local/share/man/man3/gnutls_session_get_data.3 +47 -0
  484. data/vendor/local/share/man/man3/gnutls_session_get_data2.3 +44 -0
  485. data/vendor/local/share/man/man3/gnutls_session_get_id.3 +47 -0
  486. data/vendor/local/share/man/man3/gnutls_session_get_master_secret.3 +43 -0
  487. data/vendor/local/share/man/man3/gnutls_session_get_ptr.3 +37 -0
  488. data/vendor/local/share/man/man3/gnutls_session_get_server_random.3 +40 -0
  489. data/vendor/local/share/man/man3/gnutls_session_is_resumed.3 +36 -0
  490. data/vendor/local/share/man/man3/gnutls_session_set_data.3 +47 -0
  491. data/vendor/local/share/man/man3/gnutls_session_set_ptr.3 +37 -0
  492. data/vendor/local/share/man/man3/gnutls_set_default_export_priority.3 +45 -0
  493. data/vendor/local/share/man/man3/gnutls_set_default_priority.3 +45 -0
  494. data/vendor/local/share/man/man3/gnutls_sign_algorithm_get_name.3 +35 -0
  495. data/vendor/local/share/man/man3/gnutls_sign_callback_get.3 +38 -0
  496. data/vendor/local/share/man/man3/gnutls_sign_callback_set.3 +48 -0
  497. data/vendor/local/share/man/man3/gnutls_srp_allocate_client_credentials.3 +37 -0
  498. data/vendor/local/share/man/man3/gnutls_srp_allocate_server_credentials.3 +37 -0
  499. data/vendor/local/share/man/man3/gnutls_srp_base64_decode.3 +46 -0
  500. data/vendor/local/share/man/man3/gnutls_srp_base64_decode_alloc.3 +44 -0
  501. data/vendor/local/share/man/man3/gnutls_srp_base64_encode.3 +46 -0
  502. data/vendor/local/share/man/man3/gnutls_srp_base64_encode_alloc.3 +45 -0
  503. data/vendor/local/share/man/man3/gnutls_srp_free_client_credentials.3 +34 -0
  504. data/vendor/local/share/man/man3/gnutls_srp_free_server_credentials.3 +34 -0
  505. data/vendor/local/share/man/man3/gnutls_srp_server_get_username.3 +37 -0
  506. data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials.3 +44 -0
  507. data/vendor/local/share/man/man3/gnutls_srp_set_client_credentials_function.3 +54 -0
  508. data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_file.3 +43 -0
  509. data/vendor/local/share/man/man3/gnutls_srp_set_server_credentials_function.3 +56 -0
  510. data/vendor/local/share/man/man3/gnutls_srp_verifier.3 +53 -0
  511. data/vendor/local/share/man/man3/gnutls_strerror.3 +35 -0
  512. data/vendor/local/share/man/man3/gnutls_transport_get_ptr.3 +37 -0
  513. data/vendor/local/share/man/man3/gnutls_transport_get_ptr2.3 +39 -0
  514. data/vendor/local/share/man/man3/gnutls_transport_set_errno.3 +48 -0
  515. data/vendor/local/share/man/man3/gnutls_transport_set_global_errno.3 +47 -0
  516. data/vendor/local/share/man/man3/gnutls_transport_set_lowat.3 +40 -0
  517. data/vendor/local/share/man/man3/gnutls_transport_set_ptr.3 +37 -0
  518. data/vendor/local/share/man/man3/gnutls_transport_set_ptr2.3 +40 -0
  519. data/vendor/local/share/man/man3/gnutls_transport_set_pull_function.3 +41 -0
  520. data/vendor/local/share/man/man3/gnutls_transport_set_push_function.3 +42 -0
  521. data/vendor/local/share/man/man3/gnutls_x509_crl_check_issuer.3 +38 -0
  522. data/vendor/local/share/man/man3/gnutls_x509_crl_deinit.3 +33 -0
  523. data/vendor/local/share/man/man3/gnutls_x509_crl_export.3 +49 -0
  524. data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_count.3 +36 -0
  525. data/vendor/local/share/man/man3/gnutls_x509_crl_get_crt_serial.3 +45 -0
  526. data/vendor/local/share/man/man3/gnutls_x509_crl_get_dn_oid.3 +46 -0
  527. data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn.3 +46 -0
  528. data/vendor/local/share/man/man3/gnutls_x509_crl_get_issuer_dn_by_oid.3 +58 -0
  529. data/vendor/local/share/man/man3/gnutls_x509_crl_get_next_update.3 +37 -0
  530. data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature.3 +40 -0
  531. data/vendor/local/share/man/man3/gnutls_x509_crl_get_signature_algorithm.3 +37 -0
  532. data/vendor/local/share/man/man3/gnutls_x509_crl_get_this_update.3 +35 -0
  533. data/vendor/local/share/man/man3/gnutls_x509_crl_get_version.3 +35 -0
  534. data/vendor/local/share/man/man3/gnutls_x509_crl_import.3 +43 -0
  535. data/vendor/local/share/man/man3/gnutls_x509_crl_init.3 +40 -0
  536. data/vendor/local/share/man/man3/gnutls_x509_crl_print.3 +43 -0
  537. data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt.3 +40 -0
  538. data/vendor/local/share/man/man3/gnutls_x509_crl_set_crt_serial.3 +42 -0
  539. data/vendor/local/share/man/man3/gnutls_x509_crl_set_next_update.3 +38 -0
  540. data/vendor/local/share/man/man3/gnutls_x509_crl_set_this_update.3 +38 -0
  541. data/vendor/local/share/man/man3/gnutls_x509_crl_set_version.3 +40 -0
  542. data/vendor/local/share/man/man3/gnutls_x509_crl_sign.3 +41 -0
  543. data/vendor/local/share/man/man3/gnutls_x509_crl_sign2.3 +48 -0
  544. data/vendor/local/share/man/man3/gnutls_x509_crl_verify.3 +46 -0
  545. data/vendor/local/share/man/man3/gnutls_x509_crq_deinit.3 +33 -0
  546. data/vendor/local/share/man/man3/gnutls_x509_crq_export.3 +50 -0
  547. data/vendor/local/share/man/man3/gnutls_x509_crq_get_attribute_by_oid.3 +46 -0
  548. data/vendor/local/share/man/man3/gnutls_x509_crq_get_challenge_password.3 +41 -0
  549. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn.3 +46 -0
  550. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_by_oid.3 +59 -0
  551. data/vendor/local/share/man/man3/gnutls_x509_crq_get_dn_oid.3 +46 -0
  552. data/vendor/local/share/man/man3/gnutls_x509_crq_get_pk_algorithm.3 +44 -0
  553. data/vendor/local/share/man/man3/gnutls_x509_crq_get_version.3 +36 -0
  554. data/vendor/local/share/man/man3/gnutls_x509_crq_import.3 +43 -0
  555. data/vendor/local/share/man/man3/gnutls_x509_crq_init.3 +36 -0
  556. data/vendor/local/share/man/man3/gnutls_x509_crq_set_attribute_by_oid.3 +43 -0
  557. data/vendor/local/share/man/man3/gnutls_x509_crq_set_challenge_password.3 +38 -0
  558. data/vendor/local/share/man/man3/gnutls_x509_crq_set_dn_by_oid.3 +51 -0
  559. data/vendor/local/share/man/man3/gnutls_x509_crq_set_key.3 +39 -0
  560. data/vendor/local/share/man/man3/gnutls_x509_crq_set_version.3 +39 -0
  561. data/vendor/local/share/man/man3/gnutls_x509_crq_sign.3 +39 -0
  562. data/vendor/local/share/man/man3/gnutls_x509_crq_sign2.3 +50 -0
  563. data/vendor/local/share/man/man3/gnutls_x509_crt_check_hostname.3 +40 -0
  564. data/vendor/local/share/man/man3/gnutls_x509_crt_check_issuer.3 +39 -0
  565. data/vendor/local/share/man/man3/gnutls_x509_crt_check_revocation.3 +41 -0
  566. data/vendor/local/share/man/man3/gnutls_x509_crt_cpy_crl_dist_points.3 +40 -0
  567. data/vendor/local/share/man/man3/gnutls_x509_crt_deinit.3 +33 -0
  568. data/vendor/local/share/man/man3/gnutls_x509_crt_export.3 +50 -0
  569. data/vendor/local/share/man/man3/gnutls_x509_crt_get_activation_time.3 +36 -0
  570. data/vendor/local/share/man/man3/gnutls_x509_crt_get_authority_key_id.3 +43 -0
  571. data/vendor/local/share/man/man3/gnutls_x509_crt_get_basic_constraints.3 +50 -0
  572. data/vendor/local/share/man/man3/gnutls_x509_crt_get_ca_status.3 +45 -0
  573. data/vendor/local/share/man/man3/gnutls_x509_crt_get_crl_dist_points.3 +66 -0
  574. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn.3 +46 -0
  575. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_by_oid.3 +58 -0
  576. data/vendor/local/share/man/man3/gnutls_x509_crt_get_dn_oid.3 +46 -0
  577. data/vendor/local/share/man/man3/gnutls_x509_crt_get_expiration_time.3 +36 -0
  578. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_by_oid.3 +49 -0
  579. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_data.3 +50 -0
  580. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_info.3 +53 -0
  581. data/vendor/local/share/man/man3/gnutls_x509_crt_get_extension_oid.3 +44 -0
  582. data/vendor/local/share/man/man3/gnutls_x509_crt_get_fingerprint.3 +46 -0
  583. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer.3 +42 -0
  584. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn.3 +46 -0
  585. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_by_oid.3 +58 -0
  586. data/vendor/local/share/man/man3/gnutls_x509_crt_get_issuer_dn_oid.3 +46 -0
  587. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_id.3 +50 -0
  588. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_purpose_oid.3 +49 -0
  589. data/vendor/local/share/man/man3/gnutls_x509_crt_get_key_usage.3 +48 -0
  590. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_algorithm.3 +44 -0
  591. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_dsa_raw.3 +45 -0
  592. data/vendor/local/share/man/man3/gnutls_x509_crt_get_pk_rsa_raw.3 +41 -0
  593. data/vendor/local/share/man/man3/gnutls_x509_crt_get_proxy.3 +50 -0
  594. data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_dn.3 +39 -0
  595. data/vendor/local/share/man/man3/gnutls_x509_crt_get_raw_issuer_dn.3 +39 -0
  596. data/vendor/local/share/man/man3/gnutls_x509_crt_get_serial.3 +44 -0
  597. data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature.3 +40 -0
  598. data/vendor/local/share/man/man3/gnutls_x509_crt_get_signature_algorithm.3 +37 -0
  599. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject.3 +42 -0
  600. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name.3 +64 -0
  601. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_name2.3 +49 -0
  602. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_alt_othername_oid.3 +56 -0
  603. data/vendor/local/share/man/man3/gnutls_x509_crt_get_subject_key_id.3 +44 -0
  604. data/vendor/local/share/man/man3/gnutls_x509_crt_get_version.3 +35 -0
  605. data/vendor/local/share/man/man3/gnutls_x509_crt_import.3 +44 -0
  606. data/vendor/local/share/man/man3/gnutls_x509_crt_init.3 +36 -0
  607. data/vendor/local/share/man/man3/gnutls_x509_crt_list_import.3 +48 -0
  608. data/vendor/local/share/man/man3/gnutls_x509_crt_list_verify.3 +68 -0
  609. data/vendor/local/share/man/man3/gnutls_x509_crt_print.3 +48 -0
  610. data/vendor/local/share/man/man3/gnutls_x509_crt_set_activation_time.3 +39 -0
  611. data/vendor/local/share/man/man3/gnutls_x509_crt_set_authority_key_id.3 +41 -0
  612. data/vendor/local/share/man/man3/gnutls_x509_crt_set_basic_constraints.3 +42 -0
  613. data/vendor/local/share/man/man3/gnutls_x509_crt_set_ca_status.3 +40 -0
  614. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crl_dist_points.3 +42 -0
  615. data/vendor/local/share/man/man3/gnutls_x509_crt_set_crq.3 +40 -0
  616. data/vendor/local/share/man/man3/gnutls_x509_crt_set_dn_by_oid.3 +52 -0
  617. data/vendor/local/share/man/man3/gnutls_x509_crt_set_expiration_time.3 +38 -0
  618. data/vendor/local/share/man/man3/gnutls_x509_crt_set_extension_by_oid.3 +46 -0
  619. data/vendor/local/share/man/man3/gnutls_x509_crt_set_issuer_dn_by_oid.3 +56 -0
  620. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key.3 +40 -0
  621. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_purpose_oid.3 +43 -0
  622. data/vendor/local/share/man/man3/gnutls_x509_crt_set_key_usage.3 +38 -0
  623. data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy.3 +46 -0
  624. data/vendor/local/share/man/man3/gnutls_x509_crt_set_proxy_dn.3 +48 -0
  625. data/vendor/local/share/man/man3/gnutls_x509_crt_set_serial.3 +43 -0
  626. data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_alternative_name.3 +41 -0
  627. data/vendor/local/share/man/man3/gnutls_x509_crt_set_subject_key_id.3 +41 -0
  628. data/vendor/local/share/man/man3/gnutls_x509_crt_set_version.3 +45 -0
  629. data/vendor/local/share/man/man3/gnutls_x509_crt_sign.3 +41 -0
  630. data/vendor/local/share/man/man3/gnutls_x509_crt_sign2.3 +48 -0
  631. data/vendor/local/share/man/man3/gnutls_x509_crt_verify.3 +45 -0
  632. data/vendor/local/share/man/man3/gnutls_x509_crt_verify_data.3 +43 -0
  633. data/vendor/local/share/man/man3/gnutls_x509_dn_deinit.3 +36 -0
  634. data/vendor/local/share/man/man3/gnutls_x509_dn_export.3 +50 -0
  635. data/vendor/local/share/man/man3/gnutls_x509_dn_get_rdn_ava.3 +46 -0
  636. data/vendor/local/share/man/man3/gnutls_x509_dn_import.3 +48 -0
  637. data/vendor/local/share/man/man3/gnutls_x509_dn_init.3 +41 -0
  638. data/vendor/local/share/man/man3/gnutls_x509_dn_oid_known.3 +41 -0
  639. data/vendor/local/share/man/man3/gnutls_x509_privkey_cpy.3 +39 -0
  640. data/vendor/local/share/man/man3/gnutls_x509_privkey_deinit.3 +33 -0
  641. data/vendor/local/share/man/man3/gnutls_x509_privkey_export.3 +52 -0
  642. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_dsa_raw.3 +47 -0
  643. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_pkcs8.3 +61 -0
  644. data/vendor/local/share/man/man3/gnutls_x509_privkey_export_rsa_raw.3 +50 -0
  645. data/vendor/local/share/man/man3/gnutls_x509_privkey_fix.3 +37 -0
  646. data/vendor/local/share/man/man3/gnutls_x509_privkey_generate.3 +43 -0
  647. data/vendor/local/share/man/man3/gnutls_x509_privkey_get_key_id.3 +50 -0
  648. data/vendor/local/share/man/man3/gnutls_x509_privkey_get_pk_algorithm.3 +37 -0
  649. data/vendor/local/share/man/man3/gnutls_x509_privkey_import.3 +45 -0
  650. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_dsa_raw.3 +48 -0
  651. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_pkcs8.3 +54 -0
  652. data/vendor/local/share/man/man3/gnutls_x509_privkey_import_rsa_raw.3 +50 -0
  653. data/vendor/local/share/man/man3/gnutls_x509_privkey_init.3 +36 -0
  654. data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_data.3 +54 -0
  655. data/vendor/local/share/man/man3/gnutls_x509_privkey_sign_hash.3 +40 -0
  656. data/vendor/local/share/man/man3/gnutls_x509_privkey_verify_data.3 +43 -0
  657. data/vendor/local/share/man/man3/gnutls_x509_rdn_get.3 +44 -0
  658. data/vendor/local/share/man/man3/gnutls_x509_rdn_get_by_oid.3 +51 -0
  659. data/vendor/local/share/man/man3/gnutls_x509_rdn_get_oid.3 +45 -0
  660. data/vendor/local/share/man/man3/libtasn1_perror.3 +32 -0
  661. data/vendor/local/share/man/man3/libtasn1_strerror.3 +35 -0
  662. metadata +660 -5
@@ -0,0 +1,2993 @@
1
+ This is libtasn1.info, produced by makeinfo version 4.11 from
2
+ libtasn1.texi.
3
+
4
+ This manual is for Libtasn1 (version 1.5, 26 August 2008), which is a
5
+ library for Abstract Syntax Notation One (ASN.1) and Distinguish
6
+ Encoding Rules (DER) manipulation.
7
+
8
+ Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation
9
+ Copyright (C) 2001, 2002, 2003 Fabio Fiorina
10
+
11
+ Permission is granted to copy, distribute and/or modify this
12
+ document under the terms of the GNU Free Documentation License,
13
+ Version 1.2 or any later version published by the Free Software
14
+ Foundation; with no Invariant Sections, no Front-Cover Texts, and
15
+ no Back-Cover Texts. A copy of the license is included in the
16
+ section entitled "GNU Free Documentation License".
17
+
18
+ INFO-DIR-SECTION GNU Libraries
19
+ START-INFO-DIR-ENTRY
20
+ * libtasn1: (libtasn1). Library for Abstract Syntax Notation One (ASN.1).
21
+ END-INFO-DIR-ENTRY
22
+
23
+ 
24
+ File: libtasn1.info, Node: Top, Next: Introduction, Up: (dir)
25
+
26
+ Libtasn1
27
+ ********
28
+
29
+ This manual is for Libtasn1 (version 1.5, 26 August 2008), which is a
30
+ library for Abstract Syntax Notation One (ASN.1) and Distinguish
31
+ Encoding Rules (DER) manipulation.
32
+
33
+ Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation
34
+ Copyright (C) 2001, 2002, 2003 Fabio Fiorina
35
+
36
+ Permission is granted to copy, distribute and/or modify this
37
+ document under the terms of the GNU Free Documentation License,
38
+ Version 1.2 or any later version published by the Free Software
39
+ Foundation; with no Invariant Sections, no Front-Cover Texts, and
40
+ no Back-Cover Texts. A copy of the license is included in the
41
+ section entitled "GNU Free Documentation License".
42
+
43
+ * Menu:
44
+
45
+ * Introduction::
46
+ * ASN.1 structure handling::
47
+ * Utilities::
48
+ * Function reference::
49
+ * Copying Information::
50
+
51
+ Indices
52
+
53
+ * Concept Index:: Index of concepts and programs.
54
+ * Function and Data Index:: Index of functions, variables and data types.
55
+
56
+ 
57
+ File: libtasn1.info, Node: Introduction, Next: ASN.1 structure handling, Prev: Top, Up: Top
58
+
59
+ 1 Introduction
60
+ **************
61
+
62
+ This document describes the Libtasn1 library developed for ASN.1
63
+ (Abstract Syntax Notation One) structures management and DER
64
+ (Distinguished Encoding Rules) encoding functions.
65
+
66
+ The main features of this library are:
67
+
68
+ * On line ASN1 structure management that doesn't require any C code
69
+ file generation.
70
+
71
+ * Off line ASN1 structure management with C code file generation
72
+ containing an array.
73
+
74
+ * DER (Distinguish Encoding Rules) encoding.
75
+
76
+ * No limits for INTEGER and ENUMERATED values.
77
+
78
+ * It's Free Software. Anybody can use, modify, and redistribute the
79
+ library under the terms of the GNU Lesser General Public License
80
+ version 2.1 (*note GNU LGPL::). The command line tools,
81
+ self-tests and build infrastructure are licensed under the GNU
82
+ General Public License version 3.0 (*note GNU GPL::).
83
+
84
+ * It's thread-safe. No global variables are used and multiple
85
+ library handles and session handles may be used in parallel.
86
+
87
+ * It's portable. It should work on all Unix like operating systems,
88
+ including Windows. The library itself should be portable to any
89
+ C89 system, not even POSIX is required.
90
+
91
+ 
92
+ File: libtasn1.info, Node: ASN.1 structure handling, Next: Utilities, Prev: Introduction, Up: Top
93
+
94
+ 2 ASN.1 structure handling
95
+ **************************
96
+
97
+ * Menu:
98
+
99
+ * ASN.1 syntax::
100
+ * Naming::
101
+ * Library Notes::
102
+ * Future developments::
103
+
104
+ 
105
+ File: libtasn1.info, Node: ASN.1 syntax, Next: Naming, Up: ASN.1 structure handling
106
+
107
+ 2.1 ASN.1 syntax
108
+ ================
109
+
110
+ The parser is case sensitive. The comments begin with "- " and end at
111
+ the end of lines. An example is in "pkix.asn" file. ASN.1 definitions
112
+ must have this syntax:
113
+
114
+
115
+ definitions_name {<object definition>}
116
+
117
+ DEFINITIONS <EXPLICIT or IMPLICIT> TAGS ::=
118
+
119
+ BEGIN
120
+
121
+ <type and constants definitions>
122
+
123
+ END
124
+
125
+ The token "::=" must be separate from others elements, so this is a
126
+ wrong declaration:
127
+
128
+ ;; INCORRECT
129
+ Version ::=INTEGER
130
+
131
+ the correct form is:
132
+
133
+ Version ::= INTEGER
134
+
135
+ Here is the list of types that the parser can manage:
136
+
137
+ * INTEGER
138
+
139
+ * ENUMERATED
140
+
141
+ * BOOLEAN
142
+
143
+ * OBJECT IDENTIFIER
144
+
145
+ * NULL
146
+
147
+ * BIT STRING
148
+
149
+ * OCTET STRING
150
+
151
+ * UTCTime
152
+
153
+ * GeneralizedTime
154
+
155
+ * GeneralString
156
+
157
+ * SEQUENCE
158
+
159
+ * SEQUENCE OF
160
+
161
+ * SET
162
+
163
+ * SET OF
164
+
165
+ * CHOICE
166
+
167
+ * ANY
168
+
169
+ * ANY DEFINED BY
170
+
171
+
172
+ This version doesn't manage REAL type. It doesn't allow the "EXPORT"
173
+ and "IMPORT" sections too.
174
+
175
+ The SIZE constraints are allowed, but no check is done on them.
176
+
177
+ 
178
+ File: libtasn1.info, Node: Naming, Next: Library Notes, Prev: ASN.1 syntax, Up: ASN.1 structure handling
179
+
180
+ 2.2 Naming
181
+ ==========
182
+
183
+ Consider this definition:
184
+
185
+
186
+ Example { 1 2 3 4 }
187
+
188
+ DEFINITIONS EXPLICIT TAGS ::=
189
+
190
+ BEGIN
191
+
192
+ Group ::= SEQUENCE {
193
+ id OBJECT IDENTIFIER,
194
+ value Value
195
+ }
196
+
197
+ Value ::= SEQUENCE {
198
+ value1 INTEGER,
199
+ value2 BOOLEAN
200
+ }
201
+
202
+ END
203
+
204
+ To identify the type 'Group' you have to use the null terminated
205
+ string "Example.Group". These strings are used in functions that are
206
+ described below.
207
+
208
+ Others examples:
209
+
210
+ Field 'id' in 'Group' type : "Example.Group.id".
211
+
212
+ Field 'value1' in field 'value' in type 'Group':
213
+ "Example.Group.value.value1".
214
+
215
+ Elements of structured types that don't have a name, receive the name
216
+ "?1","?2", and so on.
217
+
218
+ The name "?LAST" indicates the last element of a `SET_OF' or
219
+ `SEQUENCE_OF'.
220
+
221
+ 
222
+ File: libtasn1.info, Node: Library Notes, Next: Future developments, Prev: Naming, Up: ASN.1 structure handling
223
+
224
+ 2.3 Library Notes
225
+ =================
226
+
227
+ The header file of this library is `libtasn1.h'.
228
+
229
+ The main type used in it is `ASN1_TYPE', and it's used to store the
230
+ ASN.1 definitions and structures (instances).
231
+
232
+ The constant ASN1_TYPE_EMPTY can be used for the variable
233
+ initialization. For example:
234
+
235
+ ASN1_TYPE definitions=ASN1_TYPE_EMPTY;
236
+
237
+ Some functions require a parameter named errorDescription of char*
238
+ type. The array must be already allocated and must have at least
239
+ `MAX_ERROR_DESCRIPTION_SIZE' bytes (E.g, as in `char
240
+ Description[MAX_ERROR_DESCRIPTION_SIZE];').
241
+
242
+ `MAX_NAME_SIZE' indicates the maximum number of characters of a name
243
+ inside a file with ASN1 definitions.
244
+
245
+ 
246
+ File: libtasn1.info, Node: Future developments, Prev: Library Notes, Up: ASN.1 structure handling
247
+
248
+ 2.4 Future developments
249
+ =======================
250
+
251
+ * Add functions for a C code file generation containing equivalent
252
+ data structures (not a single array like now).
253
+
254
+ * Type REAL.
255
+
256
+
257
+ 
258
+ File: libtasn1.info, Node: Utilities, Next: Function reference, Prev: ASN.1 structure handling, Up: Top
259
+
260
+ 3 Utilities
261
+ ***********
262
+
263
+ * Menu:
264
+
265
+ * Invoking asn1Parser::
266
+ * Invoking asn1Coding::
267
+ * Invoking asn1Decoding::
268
+
269
+ 
270
+ File: libtasn1.info, Node: Invoking asn1Parser, Next: Invoking asn1Coding, Up: Utilities
271
+
272
+ 3.1 Invoking asn1Parser
273
+ =======================
274
+
275
+ `asn1Parser' reads one file with ASN1 definitions and generates a file
276
+ with an array to use with libtasn1 functions.
277
+
278
+
279
+ Usage: asn1Parser [options] file
280
+
281
+ Options:
282
+ -h : shows the help message.
283
+ -v : shows version information and exit.
284
+ -c : checks the syntax only.
285
+ -o file : output file.
286
+ -n name : array name.
287
+
288
+ 
289
+ File: libtasn1.info, Node: Invoking asn1Coding, Next: Invoking asn1Decoding, Prev: Invoking asn1Parser, Up: Utilities
290
+
291
+ 3.2 Invoking asn1Coding
292
+ =======================
293
+
294
+ `asn1Coding' generates a DER encoding from a file with ASN1 definitions
295
+ and another one with assignments.
296
+
297
+ The file with assignments must have this syntax:
298
+
299
+
300
+ InstanceName Asn1Definition
301
+
302
+ nameString value
303
+
304
+ nameString value
305
+ ...
306
+
307
+ The output file is a binary file with the DER encoding.
308
+
309
+
310
+ Usage: asn1Coding [options] file1 file2
311
+ file1 : file with ASN1 definitions.
312
+ file2 : file with assignments.
313
+ Options:
314
+ -h : shows the help message.
315
+ -v : shows version information and exit.
316
+ -c : checks the syntax only.
317
+ -o file : output file.
318
+
319
+ 
320
+ File: libtasn1.info, Node: Invoking asn1Decoding, Prev: Invoking asn1Coding, Up: Utilities
321
+
322
+ 3.3 Invoking asn1Decoding
323
+ =========================
324
+
325
+ `asn1Decoding' generates an ASN1 structure from a file with ASN1
326
+ definitions and a binary file with a DER encoding.
327
+
328
+
329
+ Usage: asn1Decoding [options] file1 file2 type
330
+ file1 : file with ASN1 definitions.
331
+ file2 : binary file with a DER encoding.
332
+ type : ASN1 definition name.
333
+ Options:
334
+ -h : shows the help message.
335
+ -v : shows version information and exit.
336
+ -c : checks the syntax only.
337
+ -o file : output file.
338
+
339
+ 
340
+ File: libtasn1.info, Node: Function reference, Next: Copying Information, Prev: Utilities, Up: Top
341
+
342
+ 4 Function reference
343
+ ********************
344
+
345
+ * Menu:
346
+
347
+ * ASN.1 schema functions::
348
+ * ASN.1 field functions::
349
+ * DER functions::
350
+ * Error handling functions::
351
+ * Auxilliary functions::
352
+
353
+ 
354
+ File: libtasn1.info, Node: ASN.1 schema functions, Next: ASN.1 field functions, Up: Function reference
355
+
356
+ 4.1 ASN.1 schema functions
357
+ ==========================
358
+
359
+ asn1_parser2tree
360
+ ----------------
361
+
362
+ -- Function: asn1_retCode asn1_parser2tree (const char * FILE_NAME,
363
+ ASN1_TYPE * DEFINITIONS, char * ERRORDESCRIPTION)
364
+ FILE_NAME: specify the path and the name of file that contains
365
+ ASN.1 declarations.
366
+
367
+ DEFINITIONS: return the pointer to the structure created from
368
+ "file_name" ASN.1 declarations.
369
+
370
+ ERRORDESCRIPTION: return the error description or an empty string
371
+ if success.
372
+
373
+ Creates the structures needed to manage the definitions included
374
+ in *FILE_NAME file.
375
+
376
+ *Returns:* *ASN1_SUCCESS:* The file has a correct syntax and every
377
+ identifier is known.
378
+
379
+ *ASN1_ELEMENT_NOT_EMPTY:* *POINTER not ASN1_TYPE_EMPTY.
380
+
381
+ *ASN1_FILE_NOT_FOUND:* An error occured while opening FILE_NAME.
382
+
383
+ *ASN1_SYNTAX_ERROR:* The syntax is not correct.
384
+
385
+ *ASN1_IDENTIFIER_NOT_FOUND:* In the file there is an identifier
386
+ that is not defined.
387
+
388
+ *ASN1_NAME_TOO_LONG:* In the file there is an identifier whith more
389
+ than MAX_NAME_SIZE characters.
390
+
391
+ asn1_parser2array
392
+ -----------------
393
+
394
+ -- Function: int asn1_parser2array (const char * INPUTFILENAME, const
395
+ char * OUTPUTFILENAME, const char * VECTORNAME, char *
396
+ ERRORDESCRIPTION)
397
+ INPUTFILENAME: specify the path and the name of file that contains
398
+ ASN.1 declarations.
399
+
400
+ OUTPUTFILENAME: specify the path and the name of file that will
401
+ contain the C vector definition.
402
+
403
+ VECTORNAME: specify the name of the C vector.
404
+
405
+ ERRORDESCRIPTION: return the error description or an empty string
406
+ if success.
407
+
408
+ Creates a file containing a C vector to use to manage the
409
+ definitions included in *INPUTFILENAME file. If *INPUTFILENAME is
410
+ "/aa/bb/xx.yy" and OUTPUTFILENAME is NULL, the file created is
411
+ "/aa/bb/xx_asn1_tab.c". If VECTORNAME is NULL the vector name
412
+ will be "xx_asn1_tab".
413
+
414
+ *Returns:* *ASN1_SUCCESS:* The file has a correct syntax and every
415
+ identifier is known.
416
+
417
+ *ASN1_FILE_NOT_FOUND:* An error occured while opening FILE_NAME.
418
+
419
+ *ASN1_SYNTAX_ERROR:* The syntax is not correct.
420
+
421
+ *ASN1_IDENTIFIER_NOT_FOUND:* In the file there is an identifier
422
+ that is not defined.
423
+
424
+ *ASN1_NAME_TOO_LONG:* In the file there is an identifier whith more
425
+ than MAX_NAME_SIZE characters.
426
+
427
+ 
428
+ File: libtasn1.info, Node: ASN.1 field functions, Next: DER functions, Prev: ASN.1 schema functions, Up: Function reference
429
+
430
+ 4.2 ASN.1 field functions
431
+ =========================
432
+
433
+ asn1_array2tree
434
+ ---------------
435
+
436
+ -- Function: asn1_retCode asn1_array2tree (const ASN1_ARRAY_TYPE *
437
+ ARRAY, ASN1_TYPE * DEFINITIONS, char * ERRORDESCRIPTION)
438
+ ARRAY: specify the array that contains ASN.1 declarations
439
+
440
+ DEFINITIONS: return the pointer to the structure created by *ARRAY
441
+ ASN.1 declarations
442
+
443
+ ERRORDESCRIPTION: return the error description.
444
+
445
+ Creates the structures needed to manage the ASN.1 definitions.
446
+ `array' is a vector created by `asn1_parser2array()'.
447
+
448
+ *Returns:* *ASN1_SUCCESS:* Structure created correctly.
449
+
450
+ *ASN1_ELEMENT_NOT_EMPTY:* *`definitions' not ASN1_TYPE_EMPTY.
451
+
452
+ *ASN1_IDENTIFIER_NOT_FOUND:* In the file there is an identifier
453
+ that is not defined (see `errorDescription' for more information).
454
+
455
+ *ASN1_ARRAY_ERROR:* The array pointed by `array' is wrong.
456
+
457
+ asn1_delete_structure
458
+ ---------------------
459
+
460
+ -- Function: asn1_retCode asn1_delete_structure (ASN1_TYPE * STRUCTURE)
461
+ STRUCTURE: pointer to the structure that you want to delete.
462
+
463
+ Deletes the structure *`structure'. At the end, *`structure' is
464
+ set to ASN1_TYPE_EMPTY.
465
+
466
+ *Returns:* *ASN1_SUCCESS:* Everything OK.
467
+
468
+ *ASN1_ELEMENT_NOT_FOUND:* *`structure' was ASN1_TYPE_EMPTY.
469
+
470
+ asn1_delete_element
471
+ -------------------
472
+
473
+ -- Function: asn1_retCode asn1_delete_element (ASN1_TYPE STRUCTURE,
474
+ const char * ELEMENT_NAME)
475
+ STRUCTURE: pointer to the structure that contains the element you
476
+ want to delete.
477
+
478
+ ELEMENT_NAME: element's name you want to delete.
479
+
480
+ Deletes the element named *`element_name' inside *`structure'.
481
+
482
+ *Returns:* *ASN1_SUCCESS:* Everything OK.
483
+
484
+ *ASN1_ELEMENT_NOT_FOUND:* The name element was not found.
485
+
486
+ asn1_create_element
487
+ -------------------
488
+
489
+ -- Function: asn1_retCode asn1_create_element (ASN1_TYPE DEFINITIONS,
490
+ const char * SOURCE_NAME, ASN1_TYPE * ELEMENT)
491
+ DEFINITIONS: pointer to the structure returned by "parser_asn1"
492
+ function
493
+
494
+ SOURCE_NAME: the name of the type of the new structure (must be
495
+ inside p_structure).
496
+
497
+ ELEMENT: pointer to the structure created.
498
+
499
+ Creates a structure of type `source_name'. Example using
500
+ "pkix.asn":
501
+
502
+ rc = asn1_create_structure(cert_def, "PKIX1.Certificate", certptr);
503
+
504
+ *Returns:* *ASN1_SUCCESS:* Creation OK.
505
+
506
+ *ASN1_ELEMENT_NOT_FOUND:* SOURCE_NAME isn't known
507
+
508
+ asn1_print_structure
509
+ --------------------
510
+
511
+ -- Function: void asn1_print_structure (FILE * OUT, ASN1_TYPE
512
+ STRUCTURE, const char * NAME, int MODE)
513
+ OUT: pointer to the output file (e.g. stdout).
514
+
515
+ STRUCTURE: pointer to the structure that you want to visit.
516
+
517
+ NAME: an element of the structure
518
+
519
+ MODE: specify how much of the structure to print, can be
520
+ `ASN1_PRINT_NAME', `ASN1_PRINT_NAME_TYPE',
521
+ `ASN1_PRINT_NAME_TYPE_VALUE', or `ASN1_PRINT_ALL'.
522
+
523
+ Prints on the `out' file descriptor the structure's tree starting
524
+ from the `name' element inside the structure `structure'.
525
+
526
+ asn1_number_of_elements
527
+ -----------------------
528
+
529
+ -- Function: asn1_retCode asn1_number_of_elements (ASN1_TYPE ELEMENT,
530
+ const char * NAME, int * NUM)
531
+ ELEMENT: pointer to the root of an ASN1 structure.
532
+
533
+ NAME: the name of a sub-structure of ROOT.
534
+
535
+ NUM: pointer to an integer where the result will be stored
536
+
537
+ Counts the number of elements of a sub-structure called NAME with
538
+ names equal to "?1","?2", ...
539
+
540
+ *Returns:* *ASN1_SUCCESS:* Creation OK.
541
+
542
+ *ASN1_ELEMENT_NOT_FOUND:* NAME isn't known.
543
+
544
+ *ASN1_GENERIC_ERROR:* Pointer num equal to NULL.
545
+
546
+ asn1_find_structure_from_oid
547
+ ----------------------------
548
+
549
+ -- Function: const char * asn1_find_structure_from_oid (ASN1_TYPE
550
+ DEFINITIONS, const char * OIDVALUE)
551
+ DEFINITIONS: ASN1 definitions
552
+
553
+ OIDVALUE: value of the OID to search (e.g. "1.2.3.4").
554
+
555
+ Search the structure that is defined just after an OID definition.
556
+
557
+ *Returns:* NULL when OIDVALUE not found, otherwise the pointer to a
558
+ constant string that contains the element name defined just after
559
+ the OID.
560
+
561
+ asn1_copy_node
562
+ --------------
563
+
564
+ -- Function: asn1_retCode asn1_copy_node (ASN1_TYPE DST, const char *
565
+ DST_NAME, ASN1_TYPE SRC, const char * SRC_NAME)
566
+ DST: Destination ASN1_TYPE node.
567
+
568
+ DST_NAME: Field name in destination node.
569
+
570
+ SRC: Source ASN1_TYPE node.
571
+
572
+ SRC_NAME: Field name in source node.
573
+
574
+ Create a deep copy of a ASN1_TYPE variable.
575
+
576
+ *Return value:* Return ASN1_SUCCESS on success.
577
+
578
+ asn1_write_value
579
+ ----------------
580
+
581
+ -- Function: asn1_retCode asn1_write_value (ASN1_TYPE NODE_ROOT, const
582
+ char * NAME, const void * IVALUE, int LEN)
583
+ NODE_ROOT: pointer to a structure
584
+
585
+ NAME: the name of the element inside the structure that you want
586
+ to set.
587
+
588
+ IVALUE: vector used to specify the value to set. If len is >0,
589
+ VALUE must be a two's complement form integer. if len=0 *VALUE
590
+ must be a null terminated string with an integer value.
591
+
592
+ LEN: number of bytes of *value to use to set the value:
593
+ value[0]..value[len-1] or 0 if value is a null terminated string
594
+
595
+ Set the value of one element inside a structure.
596
+
597
+ If an element is OPTIONAL and you want to delete it, you must use
598
+ the value=NULL and len=0. Using "pkix.asn":
599
+
600
+ result=asn1_write_value(cert, "tbsCertificate.issuerUniqueID",
601
+ NULL, 0);
602
+
603
+ *Description for each type:* *INTEGER:* VALUE must contain a two's
604
+ complement form integer.
605
+
606
+ value[0]=0xFF , len=1 -> integer=-1. value[0]=0xFF
607
+ value[1]=0xFF , len=2 -> integer=-1. value[0]=0x01 ,
608
+ len=1 -> integer= 1. value[0]=0x00 value[1]=0x01 , len=2 ->
609
+ integer= 1. value="123" , len=0 -> integer= 123.
610
+
611
+ *ENUMERATED:* As INTEGER (but only with not negative numbers).
612
+
613
+ *BOOLEAN:* VALUE must be the null terminated string "TRUE" or
614
+ "FALSE" and LEN != 0.
615
+
616
+ value="TRUE" , len=1 -> boolean=TRUE. value="FALSE" , len=1 ->
617
+ boolean=FALSE.
618
+
619
+ *OBJECT IDENTIFIER:* VALUE must be a null terminated string with
620
+ each number separated by a dot (e.g. "1.2.3.543.1"). LEN != 0.
621
+
622
+ value="1 2 840 10040 4 3" , len=1 -> OID=dsa-with-sha.
623
+
624
+ *UTCTime:* VALUE must be a null terminated string in one of these
625
+ formats: "YYMMDDhhmmssZ", "YYMMDDhhmmssZ", "YYMMDDhhmmss+hh'mm'",
626
+ "YYMMDDhhmmss-hh'mm'", "YYMMDDhhmm+hh'mm'", or
627
+ "YYMMDDhhmm-hh'mm'". LEN != 0.
628
+
629
+ value="9801011200Z" , len=1 -> time=Jannuary 1st, 1998 at 12h 00m
630
+ Greenwich Mean Time
631
+
632
+ *GeneralizedTime:* VALUE must be in one of this format:
633
+ "YYYYMMDDhhmmss.sZ", "YYYYMMDDhhmmss.sZ",
634
+ "YYYYMMDDhhmmss.s+hh'mm'", "YYYYMMDDhhmmss.s-hh'mm'",
635
+ "YYYYMMDDhhmm+hh'mm'", or "YYYYMMDDhhmm-hh'mm'" where ss.s
636
+ indicates the seconds with any precision like "10.1" or "01.02".
637
+ LEN != 0
638
+
639
+ value="2001010112001.12-0700" , len=1 -> time=Jannuary 1st, 2001
640
+ at 12h 00m 01.12s Pacific Daylight Time
641
+
642
+ *OCTET STRING:* VALUE contains the octet string and LEN is the
643
+ number of octets.
644
+
645
+ value="$\backslash$x01$\backslash$x02$\backslash$x03" , len=3 ->
646
+ three bytes octet string
647
+
648
+ *GeneralString:* VALUE contains the generalstring and LEN is the
649
+ number of octets.
650
+
651
+ value="$\backslash$x01$\backslash$x02$\backslash$x03" , len=3 ->
652
+ three bytes generalstring
653
+
654
+ *BIT STRING:* VALUE contains the bit string organized by bytes and
655
+ LEN is the number of bits.
656
+
657
+ value="$\backslash$xCF" , len=6 -> bit string="110011" (six bits)
658
+
659
+ *CHOICE:* if NAME indicates a choice type, VALUE must specify one
660
+ of the alternatives with a null terminated string. LEN != 0. Using
661
+ "pkix.asn"\:
662
+
663
+ result=asn1_write_value(cert,
664
+ "certificate1.tbsCertificate.subject", "rdnSequence", 1);
665
+
666
+ *ANY:* VALUE indicates the der encoding of a structure. LEN != 0.
667
+
668
+ *SEQUENCE OF:* VALUE must be the null terminated string "NEW" and
669
+ LEN != 0. With this instruction another element is appended in the
670
+ sequence. The name of this element will be "?1" if it's the first
671
+ one, "?2" for the second and so on.
672
+
673
+ Using "pkix.asn"\:
674
+
675
+ result=asn1_write_value(cert,
676
+ "certificate1.tbsCertificate.subject.rdnSequence", "NEW", 1);
677
+
678
+ *SET OF:* the same as SEQUENCE OF. Using "pkix.asn":
679
+
680
+ result=asn1_write_value(cert,
681
+ "tbsCertificate.subject.rdnSequence.?LAST", "NEW", 1);
682
+
683
+ *Returns:* *ASN1_SUCCESS:* Set value OK.
684
+
685
+ *ASN1_ELEMENT_NOT_FOUND:* NAME is not a valid element.
686
+
687
+ *ASN1_VALUE_NOT_VALID:* VALUE has a wrong format.
688
+
689
+ asn1_read_value
690
+ ---------------
691
+
692
+ -- Function: asn1_retCode asn1_read_value (ASN1_TYPE ROOT, const char
693
+ * NAME, void * IVALUE, int * LEN)
694
+ ROOT: pointer to a structure.
695
+
696
+ NAME: the name of the element inside a structure that you want to
697
+ read.
698
+
699
+ IVALUE: vector that will contain the element's content, must be a
700
+ pointer to memory cells already allocated.
701
+
702
+ LEN: number of bytes of *value: value[0]..value[len-1]. Initialy
703
+ holds the sizeof value.
704
+
705
+ Returns the value of one element inside a structure.
706
+
707
+ If an element is OPTIONAL and the function "read_value" returns
708
+ `ASN1_ELEMENT_NOT_FOUND', it means that this element wasn't present
709
+ in the der encoding that created the structure. The first element
710
+ of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and
711
+ so on.
712
+
713
+ *INTEGER:* VALUE will contain a two's complement form integer.
714
+
715
+ integer=-1 -> value[0]=0xFF , len=1. integer=1 ->
716
+ value[0]=0x01 , len=1.
717
+
718
+ *ENUMERATED:* As INTEGER (but only with not negative numbers).
719
+
720
+ *BOOLEAN:* VALUE will be the null terminated string "TRUE" or
721
+ "FALSE" and LEN=5 or LEN=6.
722
+
723
+ *OBJECT IDENTIFIER:* VALUE will be a null terminated string with
724
+ each number separated by a dot (i.e. "1.2.3.543.1").
725
+
726
+ LEN = strlen(VALUE)+1
727
+
728
+ *UTCTime:* VALUE will be a null terminated string in one of these
729
+ formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss-hh'mm'".
730
+ LEN=strlen(VALUE)+1.
731
+
732
+ *GeneralizedTime:* VALUE will be a null terminated string in the
733
+ same format used to set the value.
734
+
735
+ *OCTET STRING:* VALUE will contain the octet string and LEN will be
736
+ the number of octets.
737
+
738
+ *GeneralString:* VALUE will contain the generalstring and LEN will
739
+ be the number of octets.
740
+
741
+ *BIT STRING:* VALUE will contain the bit string organized by bytes
742
+ and LEN will be the number of bits.
743
+
744
+ *CHOICE:* If NAME indicates a choice type, VALUE will specify the
745
+ alternative selected.
746
+
747
+ *ANY:* If NAME indicates an any type, VALUE will indicate the DER
748
+ encoding of the structure actually used.
749
+
750
+ *Returns:* *ASN1_SUCCESS:* Set value OK.
751
+
752
+ *ASN1_ELEMENT_NOT_FOUND:* NAME is not a valid element.
753
+
754
+ *ASN1_VALUE_NOT_FOUND:* There isn't any value for the element
755
+ selected.
756
+
757
+ *ASN1_MEM_ERROR:* The value vector isn't big enough to store the
758
+ result. In this case LEN will contain the number of bytes needed.
759
+
760
+ asn1_read_tag
761
+ -------------
762
+
763
+ -- Function: asn1_retCode asn1_read_tag (node_asn * ROOT, const char *
764
+ NAME, int * TAGVALUE, int * CLASSVALUE)
765
+ ROOT: pointer to a structure
766
+
767
+ NAME: the name of the element inside a structure.
768
+
769
+ TAGVALUE: variable that will contain the TAG value.
770
+
771
+ CLASSVALUE: variable that will specify the TAG type.
772
+
773
+ Returns the TAG and the CLASS of one element inside a structure.
774
+
775
+ *CLASS can have one of these constants:* `ASN1_CLASS_APPLICATION',
776
+ `ASN1_CLASS_UNIVERSAL', `ASN1_CLASS_PRIVATE' or
777
+ `ASN1_CLASS_CONTEXT_SPECIFIC'.
778
+
779
+ *Returns:* *ASN1_SUCCESS:* Set value OK.
780
+
781
+ *ASN1_ELEMENT_NOT_FOUND:* NAME is not a valid element.
782
+
783
+ 
784
+ File: libtasn1.info, Node: DER functions, Next: Error handling functions, Prev: ASN.1 field functions, Up: Function reference
785
+
786
+ 4.3 DER functions
787
+ =================
788
+
789
+ asn1_length_der
790
+ ---------------
791
+
792
+ -- Function: void asn1_length_der (unsigned long int LEN, unsigned
793
+ char * ANS, int * ANS_LEN)
794
+ LEN: value to convert.
795
+
796
+ ANS: string returned.
797
+
798
+ ANS_LEN: number of meaningful bytes of ANS
799
+ (ans[0]..ans[ans_len-1]).
800
+
801
+ Creates the DER coding for the LEN parameter (only the length).
802
+ The `ans' buffer is pre-allocated and must have room for the
803
+ output.
804
+
805
+ asn1_octet_der
806
+ --------------
807
+
808
+ -- Function: void asn1_octet_der (const unsigned char * STR, int
809
+ STR_LEN, unsigned char * DER, int * DER_LEN)
810
+ STR: OCTET string.
811
+
812
+ STR_LEN: STR length (str[0]..str[str_len-1]).
813
+
814
+ DER: string returned.
815
+
816
+ DER_LEN: number of meaningful bytes of DER
817
+ (der[0]..der[ans_len-1]).
818
+
819
+ Creates the DER coding for an OCTET type (length included).
820
+
821
+ asn1_bit_der
822
+ ------------
823
+
824
+ -- Function: void asn1_bit_der (const unsigned char * STR, int
825
+ BIT_LEN, unsigned char * DER, int * DER_LEN)
826
+ STR: BIT string.
827
+
828
+ BIT_LEN: number of meaningful bits in STR.
829
+
830
+ DER: string returned.
831
+
832
+ DER_LEN: number of meaningful bytes of DER
833
+ (der[0]..der[ans_len-1]).
834
+
835
+ Creates the DER coding for a BIT STRING type (length and pad
836
+ included).
837
+
838
+ asn1_der_coding
839
+ ---------------
840
+
841
+ -- Function: asn1_retCode asn1_der_coding (ASN1_TYPE ELEMENT, const
842
+ char * NAME, void * IDER, int * LEN, char * ERRORDESCRIPTION)
843
+ ELEMENT: pointer to an ASN1 element
844
+
845
+ NAME: the name of the structure you want to encode (it must be
846
+ inside *POINTER).
847
+
848
+ IDER: vector that will contain the DER encoding. DER must be a
849
+ pointer to memory cells already allocated.
850
+
851
+ LEN: number of bytes of *`ider': `ider'[0]..`ider'[len-1], Initialy
852
+ holds the sizeof of der vector.
853
+
854
+ Creates the DER encoding for the NAME structure (inside *POINTER
855
+ structure).
856
+
857
+ *Returns:* *ASN1_SUCCESS:* DER encoding OK.
858
+
859
+ *ASN1_ELEMENT_NOT_FOUND:* NAME is not a valid element.
860
+
861
+ *ASN1_VALUE_NOT_FOUND:* There is an element without a value.
862
+
863
+ *ASN1_MEM_ERROR:* `ider' vector isn't big enough. Also in this case
864
+ LEN will contain the length needed.
865
+
866
+ asn1_get_length_der
867
+ -------------------
868
+
869
+ -- Function: signed long asn1_get_length_der (const unsigned char *
870
+ DER, int DER_LEN, int * LEN)
871
+ DER: DER data to decode.
872
+
873
+ DER_LEN: Length of DER data to decode.
874
+
875
+ LEN: Output variable containing the length of the DER length field.
876
+
877
+ Extract a length field from DER data.
878
+
879
+ *Return value:* Return the decoded length value, or -1 on
880
+ indefinite length, or -2 when the value was too big.
881
+
882
+ asn1_get_tag_der
883
+ ----------------
884
+
885
+ -- Function: int asn1_get_tag_der (const unsigned char * DER, int
886
+ DER_LEN, unsigned char * CLS, int * LEN, unsigned long * TAG)
887
+ DER: DER data to decode.
888
+
889
+ DER_LEN: Length of DER data to decode.
890
+
891
+ CLS: Output variable containing decoded class.
892
+
893
+ LEN: Output variable containing the length of the DER TAG data.
894
+
895
+ TAG: Output variable containing the decoded tag.
896
+
897
+ Decode the class and TAG from DER code.
898
+
899
+ *Return value:* Returns ASN1_SUCCESS on success, or an error.
900
+
901
+ asn1_get_octet_der
902
+ ------------------
903
+
904
+ -- Function: int asn1_get_octet_der (const unsigned char * DER, int
905
+ DER_LEN, int * RET_LEN, unsigned char * STR, int STR_SIZE,
906
+ int * STR_LEN)
907
+ DER: DER data to decode containing the OCTET SEQUENCE.
908
+
909
+ DER_LEN: Length of DER data to decode.
910
+
911
+ RET_LEN: Output variable containing the length of the DER data.
912
+
913
+ STR: Pre-allocated output buffer to put decoded OCTET SEQUENCE in.
914
+
915
+ STR_SIZE: Length of pre-allocated output buffer.
916
+
917
+ STR_LEN: Output variable containing the length of the OCTET
918
+ SEQUENCE.
919
+
920
+ Extract an OCTET SEQUENCE from DER data.
921
+
922
+ *Return value:* Returns ASN1_SUCCESS on success, or an error.
923
+
924
+ asn1_get_bit_der
925
+ ----------------
926
+
927
+ -- Function: int asn1_get_bit_der (const unsigned char * DER, int
928
+ DER_LEN, int * RET_LEN, unsigned char * STR, int STR_SIZE,
929
+ int * BIT_LEN)
930
+ DER: DER data to decode containing the BIT SEQUENCE.
931
+
932
+ DER_LEN: Length of DER data to decode.
933
+
934
+ RET_LEN: Output variable containing the length of the DER data.
935
+
936
+ STR: Pre-allocated output buffer to put decoded BIT SEQUENCE in.
937
+
938
+ STR_SIZE: Length of pre-allocated output buffer.
939
+
940
+ BIT_LEN: Output variable containing the size of the BIT SEQUENCE.
941
+
942
+ Extract a BIT SEQUENCE from DER data.
943
+
944
+ *Return value:* Return ASN1_SUCCESS on success, or an error.
945
+
946
+ asn1_der_decoding
947
+ -----------------
948
+
949
+ -- Function: asn1_retCode asn1_der_decoding (ASN1_TYPE * ELEMENT,
950
+ const void * IDER, int LEN, char * ERRORDESCRIPTION)
951
+ ELEMENT: pointer to an ASN1 structure.
952
+
953
+ IDER: vector that contains the DER encoding.
954
+
955
+ LEN: number of bytes of *`ider': `ider'[0]..`ider'[len-1].
956
+
957
+ ERRORDESCRIPTION: null-terminated string contains details when an
958
+ error occurred.
959
+
960
+ Fill the structure *ELEMENT with values of a DER encoding string.
961
+ The sructure must just be created with function 'create_stucture'.
962
+ If an error occurs during the decoding procedure, the *ELEMENT is
963
+ deleted and set equal to `ASN1_TYPE_EMPTY'.
964
+
965
+ *Returns:* *ASN1_SUCCESS:* DER encoding OK.
966
+
967
+ *ASN1_ELEMENT_NOT_FOUND:* ELEMENT is ASN1_TYPE_EMPTY.
968
+
969
+ ASN1_TAG_ERROR,ASN1_DER_ERROR: The der encoding doesn't match the
970
+ structure NAME. *ELEMENT deleted.
971
+
972
+ asn1_der_decoding_element
973
+ -------------------------
974
+
975
+ -- Function: asn1_retCode asn1_der_decoding_element (ASN1_TYPE *
976
+ STRUCTURE, const char * ELEMENTNAME, const void * IDER, int
977
+ LEN, char * ERRORDESCRIPTION)
978
+ STRUCTURE: pointer to an ASN1 structure
979
+
980
+ ELEMENTNAME: name of the element to fill
981
+
982
+ IDER: vector that contains the DER encoding of the whole structure.
983
+
984
+ LEN: number of bytes of *der: der[0]..der[len-1]
985
+
986
+ ERRORDESCRIPTION: null-terminated string contains details when an
987
+ error occurred.
988
+
989
+ Fill the element named ELEMENTNAME with values of a DER encoding
990
+ string. The sructure must just be created with function
991
+ 'create_stucture'. The DER vector must contain the encoding
992
+ string of the whole STRUCTURE. If an error occurs during the
993
+ decoding procedure, the *STRUCTURE is deleted and set equal to
994
+ `ASN1_TYPE_EMPTY'.
995
+
996
+ *Returns:* *ASN1_SUCCESS:* DER encoding OK.
997
+
998
+ *ASN1_ELEMENT_NOT_FOUND:* ELEMENT is ASN1_TYPE_EMPTY or
999
+ elementName == NULL.
1000
+
1001
+ ASN1_TAG_ERROR,ASN1_DER_ERROR: The der encoding doesn't match the
1002
+ structure STRUCTURE. *ELEMENT deleted.
1003
+
1004
+ asn1_der_decoding_startEnd
1005
+ --------------------------
1006
+
1007
+ -- Function: asn1_retCode asn1_der_decoding_startEnd (ASN1_TYPE
1008
+ ELEMENT, const void * IDER, int LEN, const char *
1009
+ NAME_ELEMENT, int * START, int * END)
1010
+ ELEMENT: pointer to an ASN1 element
1011
+
1012
+ IDER: vector that contains the DER encoding.
1013
+
1014
+ LEN: number of bytes of *`ider': `ider'[0]..`ider'[len-1]
1015
+
1016
+ NAME_ELEMENT: an element of NAME structure.
1017
+
1018
+ START: the position of the first byte of NAME_ELEMENT decoding
1019
+ (`ider'[*start])
1020
+
1021
+ END: the position of the last byte of NAME_ELEMENT decoding
1022
+ (`ider'[*end])
1023
+
1024
+ Find the start and end point of an element in a DER encoding
1025
+ string. I mean that if you have a der encoding and you have
1026
+ already used the function "asn1_der_decoding" to fill a structure,
1027
+ it may happen that you want to find the piece of string concerning
1028
+ an element of the structure.
1029
+
1030
+ *Example:* the sequence "tbsCertificate" inside an X509
1031
+ certificate.
1032
+
1033
+ *Returns:* *ASN1_SUCCESS:* DER encoding OK.
1034
+
1035
+ *ASN1_ELEMENT_NOT_FOUND:* ELEMENT is ASN1_TYPE EMPTY or
1036
+ NAME_ELEMENT is not a valid element.
1037
+
1038
+ ASN1_TAG_ERROR,ASN1_DER_ERROR: the der encoding doesn't match the
1039
+ structure ELEMENT.
1040
+
1041
+ asn1_expand_any_defined_by
1042
+ --------------------------
1043
+
1044
+ -- Function: asn1_retCode asn1_expand_any_defined_by (ASN1_TYPE
1045
+ DEFINITIONS, ASN1_TYPE * ELEMENT)
1046
+ DEFINITIONS: ASN1 definitions
1047
+
1048
+ ELEMENT: pointer to an ASN1 structure
1049
+
1050
+ Expands every "ANY DEFINED BY" element of a structure created from
1051
+ a DER decoding process (asn1_der_decoding function). The element
1052
+ ANY must be defined by an OBJECT IDENTIFIER. The type used to
1053
+ expand the element ANY is the first one following the definition of
1054
+ the actual value of the OBJECT IDENTIFIER.
1055
+
1056
+ *Returns:* *ASN1_SUCCESS:* Substitution OK.
1057
+
1058
+ *ASN1_ERROR_TYPE_ANY:* Some "ANY DEFINED BY" element couldn't be
1059
+ expanded due to a problem in OBJECT_ID -> TYPE association.
1060
+
1061
+ other errors: Result of der decoding process.
1062
+
1063
+ asn1_expand_octet_string
1064
+ ------------------------
1065
+
1066
+ -- Function: asn1_retCode asn1_expand_octet_string (ASN1_TYPE
1067
+ DEFINITIONS, ASN1_TYPE * ELEMENT, const char * OCTETNAME,
1068
+ const char * OBJECTNAME)
1069
+ DEFINITIONS: ASN1 definitions
1070
+
1071
+ ELEMENT: pointer to an ASN1 structure
1072
+
1073
+ OCTETNAME: name of the OCTECT STRING field to expand.
1074
+
1075
+ OBJECTNAME: name of the OBJECT IDENTIFIER field to use to define
1076
+ the type for expansion.
1077
+
1078
+ Expands an "OCTET STRING" element of a structure created from a
1079
+ DER decoding process (asn1_der_decoding function). The type used
1080
+ for expansion is the first one following the definition of the
1081
+ actual value of the OBJECT IDENTIFIER indicated by OBJECTNAME.
1082
+
1083
+ *Returns:* *ASN1_SUCCESS:* Substitution OK.
1084
+
1085
+ *ASN1_ELEMENT_NOT_FOUND:* OBJECTNAME or OCTETNAME are not correct.
1086
+
1087
+ *ASN1_VALUE_NOT_VALID:* Wasn't possible to find the type to use
1088
+ for expansion.
1089
+
1090
+ other errors: result of der decoding process.
1091
+
1092
+ 
1093
+ File: libtasn1.info, Node: Error handling functions, Next: Auxilliary functions, Prev: DER functions, Up: Function reference
1094
+
1095
+ 4.4 Error handling functions
1096
+ ============================
1097
+
1098
+ libtasn1_perror
1099
+ ---------------
1100
+
1101
+ -- Function: void libtasn1_perror (asn1_retCode ERROR)
1102
+ ERROR: is an error returned by a libtasn1 function.
1103
+
1104
+ This function is like `perror()'. The only difference is that it
1105
+ accepts an error returned by a libtasn1 function.
1106
+
1107
+ libtasn1_strerror
1108
+ -----------------
1109
+
1110
+ -- Function: const char * libtasn1_strerror (asn1_retCode ERROR)
1111
+ ERROR: is an error returned by a libtasn1 function.
1112
+
1113
+ This function is similar to `strerror()'. The only difference is
1114
+ that it accepts an error (number) returned by a libtasn1 function.
1115
+
1116
+ *Returns:* Pointer to static zero-terminated string describing
1117
+ error code.
1118
+
1119
+ 
1120
+ File: libtasn1.info, Node: Auxilliary functions, Prev: Error handling functions, Up: Function reference
1121
+
1122
+ 4.5 Auxilliary functions
1123
+ ========================
1124
+
1125
+ asn1_find_node
1126
+ --------------
1127
+
1128
+ -- Function: ASN1_TYPE asn1_find_node (ASN1_TYPE POINTER, const char *
1129
+ NAME)
1130
+ POINTER: NODE_ASN element pointer.
1131
+
1132
+ NAME: null terminated string with the element's name to find.
1133
+
1134
+ Searches for an element called NAME starting from POINTER. The
1135
+ name is composed by differents identifiers separated by dots. When
1136
+ *POINTER has a name, the first identifier must be the name of
1137
+ *POINTER, otherwise it must be the name of one child of *POINTER.
1138
+
1139
+ *Return value:* the searching result. NULL if not found.
1140
+
1141
+ asn1_check_version
1142
+ ------------------
1143
+
1144
+ -- Function: const char * asn1_check_version (const char * REQ_VERSION)
1145
+ REQ_VERSION: Required version number, or NULL.
1146
+
1147
+ Check that the the version of the library is at minimum the
1148
+ requested one and return the version string; return `NULL' if the
1149
+ condition is not satisfied. If a `NULL' is passed to this
1150
+ function, no check is done, but the version string is simply
1151
+ returned.
1152
+
1153
+ See `LIBTASN1_VERSION' for a suitable `req_version' string.
1154
+
1155
+ *Return value:* Version string of run-time library, or `NULL' if
1156
+ the run-time library does not meet the required version number.
1157
+
1158
+ 
1159
+ File: libtasn1.info, Node: Copying Information, Next: Concept Index, Prev: Function reference, Up: Top
1160
+
1161
+ Appendix A Copying Information
1162
+ ******************************
1163
+
1164
+ * Menu:
1165
+
1166
+ * GNU Free Documentation License:: License for copying this manual.
1167
+ * GNU LGPL:: License for copying the library.
1168
+ * GNU GPL:: License for copying tools.
1169
+
1170
+ 
1171
+ File: libtasn1.info, Node: GNU Free Documentation License, Next: GNU LGPL, Up: Copying Information
1172
+
1173
+ A.1 GNU Free Documentation License
1174
+ ==================================
1175
+
1176
+ Version 1.2, November 2002
1177
+
1178
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
1179
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
1180
+
1181
+ Everyone is permitted to copy and distribute verbatim copies
1182
+ of this license document, but changing it is not allowed.
1183
+
1184
+ 0. PREAMBLE
1185
+
1186
+ The purpose of this License is to make a manual, textbook, or other
1187
+ functional and useful document "free" in the sense of freedom: to
1188
+ assure everyone the effective freedom to copy and redistribute it,
1189
+ with or without modifying it, either commercially or
1190
+ noncommercially. Secondarily, this License preserves for the
1191
+ author and publisher a way to get credit for their work, while not
1192
+ being considered responsible for modifications made by others.
1193
+
1194
+ This License is a kind of "copyleft", which means that derivative
1195
+ works of the document must themselves be free in the same sense.
1196
+ It complements the GNU General Public License, which is a copyleft
1197
+ license designed for free software.
1198
+
1199
+ We have designed this License in order to use it for manuals for
1200
+ free software, because free software needs free documentation: a
1201
+ free program should come with manuals providing the same freedoms
1202
+ that the software does. But this License is not limited to
1203
+ software manuals; it can be used for any textual work, regardless
1204
+ of subject matter or whether it is published as a printed book.
1205
+ We recommend this License principally for works whose purpose is
1206
+ instruction or reference.
1207
+
1208
+ 1. APPLICABILITY AND DEFINITIONS
1209
+
1210
+ This License applies to any manual or other work, in any medium,
1211
+ that contains a notice placed by the copyright holder saying it
1212
+ can be distributed under the terms of this License. Such a notice
1213
+ grants a world-wide, royalty-free license, unlimited in duration,
1214
+ to use that work under the conditions stated herein. The
1215
+ "Document", below, refers to any such manual or work. Any member
1216
+ of the public is a licensee, and is addressed as "you". You
1217
+ accept the license if you copy, modify or distribute the work in a
1218
+ way requiring permission under copyright law.
1219
+
1220
+ A "Modified Version" of the Document means any work containing the
1221
+ Document or a portion of it, either copied verbatim, or with
1222
+ modifications and/or translated into another language.
1223
+
1224
+ A "Secondary Section" is a named appendix or a front-matter section
1225
+ of the Document that deals exclusively with the relationship of the
1226
+ publishers or authors of the Document to the Document's overall
1227
+ subject (or to related matters) and contains nothing that could
1228
+ fall directly within that overall subject. (Thus, if the Document
1229
+ is in part a textbook of mathematics, a Secondary Section may not
1230
+ explain any mathematics.) The relationship could be a matter of
1231
+ historical connection with the subject or with related matters, or
1232
+ of legal, commercial, philosophical, ethical or political position
1233
+ regarding them.
1234
+
1235
+ The "Invariant Sections" are certain Secondary Sections whose
1236
+ titles are designated, as being those of Invariant Sections, in
1237
+ the notice that says that the Document is released under this
1238
+ License. If a section does not fit the above definition of
1239
+ Secondary then it is not allowed to be designated as Invariant.
1240
+ The Document may contain zero Invariant Sections. If the Document
1241
+ does not identify any Invariant Sections then there are none.
1242
+
1243
+ The "Cover Texts" are certain short passages of text that are
1244
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
1245
+ that says that the Document is released under this License. A
1246
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
1247
+ be at most 25 words.
1248
+
1249
+ A "Transparent" copy of the Document means a machine-readable copy,
1250
+ represented in a format whose specification is available to the
1251
+ general public, that is suitable for revising the document
1252
+ straightforwardly with generic text editors or (for images
1253
+ composed of pixels) generic paint programs or (for drawings) some
1254
+ widely available drawing editor, and that is suitable for input to
1255
+ text formatters or for automatic translation to a variety of
1256
+ formats suitable for input to text formatters. A copy made in an
1257
+ otherwise Transparent file format whose markup, or absence of
1258
+ markup, has been arranged to thwart or discourage subsequent
1259
+ modification by readers is not Transparent. An image format is
1260
+ not Transparent if used for any substantial amount of text. A
1261
+ copy that is not "Transparent" is called "Opaque".
1262
+
1263
+ Examples of suitable formats for Transparent copies include plain
1264
+ ASCII without markup, Texinfo input format, LaTeX input format,
1265
+ SGML or XML using a publicly available DTD, and
1266
+ standard-conforming simple HTML, PostScript or PDF designed for
1267
+ human modification. Examples of transparent image formats include
1268
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
1269
+ can be read and edited only by proprietary word processors, SGML or
1270
+ XML for which the DTD and/or processing tools are not generally
1271
+ available, and the machine-generated HTML, PostScript or PDF
1272
+ produced by some word processors for output purposes only.
1273
+
1274
+ The "Title Page" means, for a printed book, the title page itself,
1275
+ plus such following pages as are needed to hold, legibly, the
1276
+ material this License requires to appear in the title page. For
1277
+ works in formats which do not have any title page as such, "Title
1278
+ Page" means the text near the most prominent appearance of the
1279
+ work's title, preceding the beginning of the body of the text.
1280
+
1281
+ A section "Entitled XYZ" means a named subunit of the Document
1282
+ whose title either is precisely XYZ or contains XYZ in parentheses
1283
+ following text that translates XYZ in another language. (Here XYZ
1284
+ stands for a specific section name mentioned below, such as
1285
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
1286
+ To "Preserve the Title" of such a section when you modify the
1287
+ Document means that it remains a section "Entitled XYZ" according
1288
+ to this definition.
1289
+
1290
+ The Document may include Warranty Disclaimers next to the notice
1291
+ which states that this License applies to the Document. These
1292
+ Warranty Disclaimers are considered to be included by reference in
1293
+ this License, but only as regards disclaiming warranties: any other
1294
+ implication that these Warranty Disclaimers may have is void and
1295
+ has no effect on the meaning of this License.
1296
+
1297
+ 2. VERBATIM COPYING
1298
+
1299
+ You may copy and distribute the Document in any medium, either
1300
+ commercially or noncommercially, provided that this License, the
1301
+ copyright notices, and the license notice saying this License
1302
+ applies to the Document are reproduced in all copies, and that you
1303
+ add no other conditions whatsoever to those of this License. You
1304
+ may not use technical measures to obstruct or control the reading
1305
+ or further copying of the copies you make or distribute. However,
1306
+ you may accept compensation in exchange for copies. If you
1307
+ distribute a large enough number of copies you must also follow
1308
+ the conditions in section 3.
1309
+
1310
+ You may also lend copies, under the same conditions stated above,
1311
+ and you may publicly display copies.
1312
+
1313
+ 3. COPYING IN QUANTITY
1314
+
1315
+ If you publish printed copies (or copies in media that commonly
1316
+ have printed covers) of the Document, numbering more than 100, and
1317
+ the Document's license notice requires Cover Texts, you must
1318
+ enclose the copies in covers that carry, clearly and legibly, all
1319
+ these Cover Texts: Front-Cover Texts on the front cover, and
1320
+ Back-Cover Texts on the back cover. Both covers must also clearly
1321
+ and legibly identify you as the publisher of these copies. The
1322
+ front cover must present the full title with all words of the
1323
+ title equally prominent and visible. You may add other material
1324
+ on the covers in addition. Copying with changes limited to the
1325
+ covers, as long as they preserve the title of the Document and
1326
+ satisfy these conditions, can be treated as verbatim copying in
1327
+ other respects.
1328
+
1329
+ If the required texts for either cover are too voluminous to fit
1330
+ legibly, you should put the first ones listed (as many as fit
1331
+ reasonably) on the actual cover, and continue the rest onto
1332
+ adjacent pages.
1333
+
1334
+ If you publish or distribute Opaque copies of the Document
1335
+ numbering more than 100, you must either include a
1336
+ machine-readable Transparent copy along with each Opaque copy, or
1337
+ state in or with each Opaque copy a computer-network location from
1338
+ which the general network-using public has access to download
1339
+ using public-standard network protocols a complete Transparent
1340
+ copy of the Document, free of added material. If you use the
1341
+ latter option, you must take reasonably prudent steps, when you
1342
+ begin distribution of Opaque copies in quantity, to ensure that
1343
+ this Transparent copy will remain thus accessible at the stated
1344
+ location until at least one year after the last time you
1345
+ distribute an Opaque copy (directly or through your agents or
1346
+ retailers) of that edition to the public.
1347
+
1348
+ It is requested, but not required, that you contact the authors of
1349
+ the Document well before redistributing any large number of
1350
+ copies, to give them a chance to provide you with an updated
1351
+ version of the Document.
1352
+
1353
+ 4. MODIFICATIONS
1354
+
1355
+ You may copy and distribute a Modified Version of the Document
1356
+ under the conditions of sections 2 and 3 above, provided that you
1357
+ release the Modified Version under precisely this License, with
1358
+ the Modified Version filling the role of the Document, thus
1359
+ licensing distribution and modification of the Modified Version to
1360
+ whoever possesses a copy of it. In addition, you must do these
1361
+ things in the Modified Version:
1362
+
1363
+ A. Use in the Title Page (and on the covers, if any) a title
1364
+ distinct from that of the Document, and from those of
1365
+ previous versions (which should, if there were any, be listed
1366
+ in the History section of the Document). You may use the
1367
+ same title as a previous version if the original publisher of
1368
+ that version gives permission.
1369
+
1370
+ B. List on the Title Page, as authors, one or more persons or
1371
+ entities responsible for authorship of the modifications in
1372
+ the Modified Version, together with at least five of the
1373
+ principal authors of the Document (all of its principal
1374
+ authors, if it has fewer than five), unless they release you
1375
+ from this requirement.
1376
+
1377
+ C. State on the Title page the name of the publisher of the
1378
+ Modified Version, as the publisher.
1379
+
1380
+ D. Preserve all the copyright notices of the Document.
1381
+
1382
+ E. Add an appropriate copyright notice for your modifications
1383
+ adjacent to the other copyright notices.
1384
+
1385
+ F. Include, immediately after the copyright notices, a license
1386
+ notice giving the public permission to use the Modified
1387
+ Version under the terms of this License, in the form shown in
1388
+ the Addendum below.
1389
+
1390
+ G. Preserve in that license notice the full lists of Invariant
1391
+ Sections and required Cover Texts given in the Document's
1392
+ license notice.
1393
+
1394
+ H. Include an unaltered copy of this License.
1395
+
1396
+ I. Preserve the section Entitled "History", Preserve its Title,
1397
+ and add to it an item stating at least the title, year, new
1398
+ authors, and publisher of the Modified Version as given on
1399
+ the Title Page. If there is no section Entitled "History" in
1400
+ the Document, create one stating the title, year, authors,
1401
+ and publisher of the Document as given on its Title Page,
1402
+ then add an item describing the Modified Version as stated in
1403
+ the previous sentence.
1404
+
1405
+ J. Preserve the network location, if any, given in the Document
1406
+ for public access to a Transparent copy of the Document, and
1407
+ likewise the network locations given in the Document for
1408
+ previous versions it was based on. These may be placed in
1409
+ the "History" section. You may omit a network location for a
1410
+ work that was published at least four years before the
1411
+ Document itself, or if the original publisher of the version
1412
+ it refers to gives permission.
1413
+
1414
+ K. For any section Entitled "Acknowledgements" or "Dedications",
1415
+ Preserve the Title of the section, and preserve in the
1416
+ section all the substance and tone of each of the contributor
1417
+ acknowledgements and/or dedications given therein.
1418
+
1419
+ L. Preserve all the Invariant Sections of the Document,
1420
+ unaltered in their text and in their titles. Section numbers
1421
+ or the equivalent are not considered part of the section
1422
+ titles.
1423
+
1424
+ M. Delete any section Entitled "Endorsements". Such a section
1425
+ may not be included in the Modified Version.
1426
+
1427
+ N. Do not retitle any existing section to be Entitled
1428
+ "Endorsements" or to conflict in title with any Invariant
1429
+ Section.
1430
+
1431
+ O. Preserve any Warranty Disclaimers.
1432
+
1433
+ If the Modified Version includes new front-matter sections or
1434
+ appendices that qualify as Secondary Sections and contain no
1435
+ material copied from the Document, you may at your option
1436
+ designate some or all of these sections as invariant. To do this,
1437
+ add their titles to the list of Invariant Sections in the Modified
1438
+ Version's license notice. These titles must be distinct from any
1439
+ other section titles.
1440
+
1441
+ You may add a section Entitled "Endorsements", provided it contains
1442
+ nothing but endorsements of your Modified Version by various
1443
+ parties--for example, statements of peer review or that the text
1444
+ has been approved by an organization as the authoritative
1445
+ definition of a standard.
1446
+
1447
+ You may add a passage of up to five words as a Front-Cover Text,
1448
+ and a passage of up to 25 words as a Back-Cover Text, to the end
1449
+ of the list of Cover Texts in the Modified Version. Only one
1450
+ passage of Front-Cover Text and one of Back-Cover Text may be
1451
+ added by (or through arrangements made by) any one entity. If the
1452
+ Document already includes a cover text for the same cover,
1453
+ previously added by you or by arrangement made by the same entity
1454
+ you are acting on behalf of, you may not add another; but you may
1455
+ replace the old one, on explicit permission from the previous
1456
+ publisher that added the old one.
1457
+
1458
+ The author(s) and publisher(s) of the Document do not by this
1459
+ License give permission to use their names for publicity for or to
1460
+ assert or imply endorsement of any Modified Version.
1461
+
1462
+ 5. COMBINING DOCUMENTS
1463
+
1464
+ You may combine the Document with other documents released under
1465
+ this License, under the terms defined in section 4 above for
1466
+ modified versions, provided that you include in the combination
1467
+ all of the Invariant Sections of all of the original documents,
1468
+ unmodified, and list them all as Invariant Sections of your
1469
+ combined work in its license notice, and that you preserve all
1470
+ their Warranty Disclaimers.
1471
+
1472
+ The combined work need only contain one copy of this License, and
1473
+ multiple identical Invariant Sections may be replaced with a single
1474
+ copy. If there are multiple Invariant Sections with the same name
1475
+ but different contents, make the title of each such section unique
1476
+ by adding at the end of it, in parentheses, the name of the
1477
+ original author or publisher of that section if known, or else a
1478
+ unique number. Make the same adjustment to the section titles in
1479
+ the list of Invariant Sections in the license notice of the
1480
+ combined work.
1481
+
1482
+ In the combination, you must combine any sections Entitled
1483
+ "History" in the various original documents, forming one section
1484
+ Entitled "History"; likewise combine any sections Entitled
1485
+ "Acknowledgements", and any sections Entitled "Dedications". You
1486
+ must delete all sections Entitled "Endorsements."
1487
+
1488
+ 6. COLLECTIONS OF DOCUMENTS
1489
+
1490
+ You may make a collection consisting of the Document and other
1491
+ documents released under this License, and replace the individual
1492
+ copies of this License in the various documents with a single copy
1493
+ that is included in the collection, provided that you follow the
1494
+ rules of this License for verbatim copying of each of the
1495
+ documents in all other respects.
1496
+
1497
+ You may extract a single document from such a collection, and
1498
+ distribute it individually under this License, provided you insert
1499
+ a copy of this License into the extracted document, and follow
1500
+ this License in all other respects regarding verbatim copying of
1501
+ that document.
1502
+
1503
+ 7. AGGREGATION WITH INDEPENDENT WORKS
1504
+
1505
+ A compilation of the Document or its derivatives with other
1506
+ separate and independent documents or works, in or on a volume of
1507
+ a storage or distribution medium, is called an "aggregate" if the
1508
+ copyright resulting from the compilation is not used to limit the
1509
+ legal rights of the compilation's users beyond what the individual
1510
+ works permit. When the Document is included in an aggregate, this
1511
+ License does not apply to the other works in the aggregate which
1512
+ are not themselves derivative works of the Document.
1513
+
1514
+ If the Cover Text requirement of section 3 is applicable to these
1515
+ copies of the Document, then if the Document is less than one half
1516
+ of the entire aggregate, the Document's Cover Texts may be placed
1517
+ on covers that bracket the Document within the aggregate, or the
1518
+ electronic equivalent of covers if the Document is in electronic
1519
+ form. Otherwise they must appear on printed covers that bracket
1520
+ the whole aggregate.
1521
+
1522
+ 8. TRANSLATION
1523
+
1524
+ Translation is considered a kind of modification, so you may
1525
+ distribute translations of the Document under the terms of section
1526
+ 4. Replacing Invariant Sections with translations requires special
1527
+ permission from their copyright holders, but you may include
1528
+ translations of some or all Invariant Sections in addition to the
1529
+ original versions of these Invariant Sections. You may include a
1530
+ translation of this License, and all the license notices in the
1531
+ Document, and any Warranty Disclaimers, provided that you also
1532
+ include the original English version of this License and the
1533
+ original versions of those notices and disclaimers. In case of a
1534
+ disagreement between the translation and the original version of
1535
+ this License or a notice or disclaimer, the original version will
1536
+ prevail.
1537
+
1538
+ If a section in the Document is Entitled "Acknowledgements",
1539
+ "Dedications", or "History", the requirement (section 4) to
1540
+ Preserve its Title (section 1) will typically require changing the
1541
+ actual title.
1542
+
1543
+ 9. TERMINATION
1544
+
1545
+ You may not copy, modify, sublicense, or distribute the Document
1546
+ except as expressly provided for under this License. Any other
1547
+ attempt to copy, modify, sublicense or distribute the Document is
1548
+ void, and will automatically terminate your rights under this
1549
+ License. However, parties who have received copies, or rights,
1550
+ from you under this License will not have their licenses
1551
+ terminated so long as such parties remain in full compliance.
1552
+
1553
+ 10. FUTURE REVISIONS OF THIS LICENSE
1554
+
1555
+ The Free Software Foundation may publish new, revised versions of
1556
+ the GNU Free Documentation License from time to time. Such new
1557
+ versions will be similar in spirit to the present version, but may
1558
+ differ in detail to address new problems or concerns. See
1559
+ `http://www.gnu.org/copyleft/'.
1560
+
1561
+ Each version of the License is given a distinguishing version
1562
+ number. If the Document specifies that a particular numbered
1563
+ version of this License "or any later version" applies to it, you
1564
+ have the option of following the terms and conditions either of
1565
+ that specified version or of any later version that has been
1566
+ published (not as a draft) by the Free Software Foundation. If
1567
+ the Document does not specify a version number of this License,
1568
+ you may choose any version ever published (not as a draft) by the
1569
+ Free Software Foundation.
1570
+
1571
+ ADDENDUM: How to use this License for your documents
1572
+ ====================================================
1573
+
1574
+ To use this License in a document you have written, include a copy of
1575
+ the License in the document and put the following copyright and license
1576
+ notices just after the title page:
1577
+
1578
+ Copyright (C) YEAR YOUR NAME.
1579
+ Permission is granted to copy, distribute and/or modify this document
1580
+ under the terms of the GNU Free Documentation License, Version 1.2
1581
+ or any later version published by the Free Software Foundation;
1582
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
1583
+ Texts. A copy of the license is included in the section entitled ``GNU
1584
+ Free Documentation License''.
1585
+
1586
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
1587
+ Texts, replace the "with...Texts." line with this:
1588
+
1589
+ with the Invariant Sections being LIST THEIR TITLES, with
1590
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
1591
+ being LIST.
1592
+
1593
+ If you have Invariant Sections without Cover Texts, or some other
1594
+ combination of the three, merge those two alternatives to suit the
1595
+ situation.
1596
+
1597
+ If your document contains nontrivial examples of program code, we
1598
+ recommend releasing these examples in parallel under your choice of
1599
+ free software license, such as the GNU General Public License, to
1600
+ permit their use in free software.
1601
+
1602
+ 
1603
+ File: libtasn1.info, Node: GNU LGPL, Next: GNU GPL, Prev: GNU Free Documentation License, Up: Copying Information
1604
+
1605
+ A.2 GNU Lesser General Public License
1606
+ =====================================
1607
+
1608
+ Version 2.1, February 1999
1609
+
1610
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
1611
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1612
+
1613
+ Everyone is permitted to copy and distribute verbatim copies
1614
+ of this license document, but changing it is not allowed.
1615
+
1616
+ [This is the first released version of the Lesser GPL. It also counts
1617
+ as the successor of the GNU Library Public License, version 2, hence the
1618
+ version number 2.1.]
1619
+
1620
+ Preamble
1621
+ --------
1622
+
1623
+ The licenses for most software are designed to take away your freedom
1624
+ to share and change it. By contrast, the GNU General Public Licenses
1625
+ are intended to guarantee your freedom to share and change free
1626
+ software--to make sure the software is free for all its users.
1627
+
1628
+ This license, the Lesser General Public License, applies to some
1629
+ specially designated software--typically libraries--of the Free
1630
+ Software Foundation and other authors who decide to use it. You can use
1631
+ it too, but we suggest you first think carefully about whether this
1632
+ license or the ordinary General Public License is the better strategy to
1633
+ use in any particular case, based on the explanations below.
1634
+
1635
+ When we speak of free software, we are referring to freedom of use,
1636
+ not price. Our General Public Licenses are designed to make sure that
1637
+ you have the freedom to distribute copies of free software (and charge
1638
+ for this service if you wish); that you receive source code or can get
1639
+ it if you want it; that you can change the software and use pieces of it
1640
+ in new free programs; and that you are informed that you can do these
1641
+ things.
1642
+
1643
+ To protect your rights, we need to make restrictions that forbid
1644
+ distributors to deny you these rights or to ask you to surrender these
1645
+ rights. These restrictions translate to certain responsibilities for
1646
+ you if you distribute copies of the library or if you modify it.
1647
+
1648
+ For example, if you distribute copies of the library, whether gratis
1649
+ or for a fee, you must give the recipients all the rights that we gave
1650
+ you. You must make sure that they, too, receive or can get the source
1651
+ code. If you link other code with the library, you must provide
1652
+ complete object files to the recipients, so that they can relink them
1653
+ with the library after making changes to the library and recompiling
1654
+ it. And you must show them these terms so they know their rights.
1655
+
1656
+ We protect your rights with a two-step method: (1) we copyright the
1657
+ library, and (2) we offer you this license, which gives you legal
1658
+ permission to copy, distribute and/or modify the library.
1659
+
1660
+ To protect each distributor, we want to make it very clear that
1661
+ there is no warranty for the free library. Also, if the library is
1662
+ modified by someone else and passed on, the recipients should know that
1663
+ what they have is not the original version, so that the original
1664
+ author's reputation will not be affected by problems that might be
1665
+ introduced by others.
1666
+
1667
+ Finally, software patents pose a constant threat to the existence of
1668
+ any free program. We wish to make sure that a company cannot
1669
+ effectively restrict the users of a free program by obtaining a
1670
+ restrictive license from a patent holder. Therefore, we insist that
1671
+ any patent license obtained for a version of the library must be
1672
+ consistent with the full freedom of use specified in this license.
1673
+
1674
+ Most GNU software, including some libraries, is covered by the
1675
+ ordinary GNU General Public License. This license, the GNU Lesser
1676
+ General Public License, applies to certain designated libraries, and is
1677
+ quite different from the ordinary General Public License. We use this
1678
+ license for certain libraries in order to permit linking those
1679
+ libraries into non-free programs.
1680
+
1681
+ When a program is linked with a library, whether statically or using
1682
+ a shared library, the combination of the two is legally speaking a
1683
+ combined work, a derivative of the original library. The ordinary
1684
+ General Public License therefore permits such linking only if the
1685
+ entire combination fits its criteria of freedom. The Lesser General
1686
+ Public License permits more lax criteria for linking other code with
1687
+ the library.
1688
+
1689
+ We call this license the "Lesser" General Public License because it
1690
+ does _Less_ to protect the user's freedom than the ordinary General
1691
+ Public License. It also provides other free software developers Less
1692
+ of an advantage over competing non-free programs. These disadvantages
1693
+ are the reason we use the ordinary General Public License for many
1694
+ libraries. However, the Lesser license provides advantages in certain
1695
+ special circumstances.
1696
+
1697
+ For example, on rare occasions, there may be a special need to
1698
+ encourage the widest possible use of a certain library, so that it
1699
+ becomes a de-facto standard. To achieve this, non-free programs must be
1700
+ allowed to use the library. A more frequent case is that a free
1701
+ library does the same job as widely used non-free libraries. In this
1702
+ case, there is little to gain by limiting the free library to free
1703
+ software only, so we use the Lesser General Public License.
1704
+
1705
+ In other cases, permission to use a particular library in non-free
1706
+ programs enables a greater number of people to use a large body of free
1707
+ software. For example, permission to use the GNU C Library in non-free
1708
+ programs enables many more people to use the whole GNU operating
1709
+ system, as well as its variant, the GNU/Linux operating system.
1710
+
1711
+ Although the Lesser General Public License is Less protective of the
1712
+ users' freedom, it does ensure that the user of a program that is
1713
+ linked with the Library has the freedom and the wherewithal to run that
1714
+ program using a modified version of the Library.
1715
+
1716
+ The precise terms and conditions for copying, distribution and
1717
+ modification follow. Pay close attention to the difference between a
1718
+ "work based on the library" and a "work that uses the library". The
1719
+ former contains code derived from the library, whereas the latter must
1720
+ be combined with the library in order to run.
1721
+
1722
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
1723
+ ---------------------------------------------------------------
1724
+
1725
+ 0. This License Agreement applies to any software library or other
1726
+ program which contains a notice placed by the copyright holder or
1727
+ other authorized party saying it may be distributed under the
1728
+ terms of this Lesser General Public License (also called "this
1729
+ License"). Each licensee is addressed as "you".
1730
+
1731
+ A "library" means a collection of software functions and/or data
1732
+ prepared so as to be conveniently linked with application programs
1733
+ (which use some of those functions and data) to form executables.
1734
+
1735
+ The "Library", below, refers to any such software library or work
1736
+ which has been distributed under these terms. A "work based on the
1737
+ Library" means either the Library or any derivative work under
1738
+ copyright law: that is to say, a work containing the Library or a
1739
+ portion of it, either verbatim or with modifications and/or
1740
+ translated straightforwardly into another language. (Hereinafter,
1741
+ translation is included without limitation in the term
1742
+ "modification".)
1743
+
1744
+ "Source code" for a work means the preferred form of the work for
1745
+ making modifications to it. For a library, complete source code
1746
+ means all the source code for all modules it contains, plus any
1747
+ associated interface definition files, plus the scripts used to
1748
+ control compilation and installation of the library.
1749
+
1750
+ Activities other than copying, distribution and modification are
1751
+ not covered by this License; they are outside its scope. The act
1752
+ of running a program using the Library is not restricted, and
1753
+ output from such a program is covered only if its contents
1754
+ constitute a work based on the Library (independent of the use of
1755
+ the Library in a tool for writing it). Whether that is true
1756
+ depends on what the Library does and what the program that uses
1757
+ the Library does.
1758
+
1759
+ 1. You may copy and distribute verbatim copies of the Library's
1760
+ complete source code as you receive it, in any medium, provided
1761
+ that you conspicuously and appropriately publish on each copy an
1762
+ appropriate copyright notice and disclaimer of warranty; keep
1763
+ intact all the notices that refer to this License and to the
1764
+ absence of any warranty; and distribute a copy of this License
1765
+ along with the Library.
1766
+
1767
+ You may charge a fee for the physical act of transferring a copy,
1768
+ and you may at your option offer warranty protection in exchange
1769
+ for a fee.
1770
+
1771
+ 2. You may modify your copy or copies of the Library or any portion
1772
+ of it, thus forming a work based on the Library, and copy and
1773
+ distribute such modifications or work under the terms of Section 1
1774
+ above, provided that you also meet all of these conditions:
1775
+
1776
+ a. The modified work must itself be a software library.
1777
+
1778
+ b. You must cause the files modified to carry prominent notices
1779
+ stating that you changed the files and the date of any change.
1780
+
1781
+ c. You must cause the whole of the work to be licensed at no
1782
+ charge to all third parties under the terms of this License.
1783
+
1784
+ d. If a facility in the modified Library refers to a function or
1785
+ a table of data to be supplied by an application program that
1786
+ uses the facility, other than as an argument passed when the
1787
+ facility is invoked, then you must make a good faith effort
1788
+ to ensure that, in the event an application does not supply
1789
+ such function or table, the facility still operates, and
1790
+ performs whatever part of its purpose remains meaningful.
1791
+
1792
+ (For example, a function in a library to compute square roots
1793
+ has a purpose that is entirely well-defined independent of the
1794
+ application. Therefore, Subsection 2d requires that any
1795
+ application-supplied function or table used by this function
1796
+ must be optional: if the application does not supply it, the
1797
+ square root function must still compute square roots.)
1798
+
1799
+ These requirements apply to the modified work as a whole. If
1800
+ identifiable sections of that work are not derived from the
1801
+ Library, and can be reasonably considered independent and separate
1802
+ works in themselves, then this License, and its terms, do not
1803
+ apply to those sections when you distribute them as separate
1804
+ works. But when you distribute the same sections as part of a
1805
+ whole which is a work based on the Library, the distribution of
1806
+ the whole must be on the terms of this License, whose permissions
1807
+ for other licensees extend to the entire whole, and thus to each
1808
+ and every part regardless of who wrote it.
1809
+
1810
+ Thus, it is not the intent of this section to claim rights or
1811
+ contest your rights to work written entirely by you; rather, the
1812
+ intent is to exercise the right to control the distribution of
1813
+ derivative or collective works based on the Library.
1814
+
1815
+ In addition, mere aggregation of another work not based on the
1816
+ Library with the Library (or with a work based on the Library) on
1817
+ a volume of a storage or distribution medium does not bring the
1818
+ other work under the scope of this License.
1819
+
1820
+ 3. You may opt to apply the terms of the ordinary GNU General Public
1821
+ License instead of this License to a given copy of the Library.
1822
+ To do this, you must alter all the notices that refer to this
1823
+ License, so that they refer to the ordinary GNU General Public
1824
+ License, version 2, instead of to this License. (If a newer
1825
+ version than version 2 of the ordinary GNU General Public License
1826
+ has appeared, then you can specify that version instead if you
1827
+ wish.) Do not make any other change in these notices.
1828
+
1829
+ Once this change is made in a given copy, it is irreversible for
1830
+ that copy, so the ordinary GNU General Public License applies to
1831
+ all subsequent copies and derivative works made from that copy.
1832
+
1833
+ This option is useful when you wish to copy part of the code of
1834
+ the Library into a program that is not a library.
1835
+
1836
+ 4. You may copy and distribute the Library (or a portion or
1837
+ derivative of it, under Section 2) in object code or executable
1838
+ form under the terms of Sections 1 and 2 above provided that you
1839
+ accompany it with the complete corresponding machine-readable
1840
+ source code, which must be distributed under the terms of Sections
1841
+ 1 and 2 above on a medium customarily used for software
1842
+ interchange.
1843
+
1844
+ If distribution of object code is made by offering access to copy
1845
+ from a designated place, then offering equivalent access to copy
1846
+ the source code from the same place satisfies the requirement to
1847
+ distribute the source code, even though third parties are not
1848
+ compelled to copy the source along with the object code.
1849
+
1850
+ 5. A program that contains no derivative of any portion of the
1851
+ Library, but is designed to work with the Library by being
1852
+ compiled or linked with it, is called a "work that uses the
1853
+ Library". Such a work, in isolation, is not a derivative work of
1854
+ the Library, and therefore falls outside the scope of this License.
1855
+
1856
+ However, linking a "work that uses the Library" with the Library
1857
+ creates an executable that is a derivative of the Library (because
1858
+ it contains portions of the Library), rather than a "work that
1859
+ uses the library". The executable is therefore covered by this
1860
+ License. Section 6 states terms for distribution of such
1861
+ executables.
1862
+
1863
+ When a "work that uses the Library" uses material from a header
1864
+ file that is part of the Library, the object code for the work may
1865
+ be a derivative work of the Library even though the source code is
1866
+ not. Whether this is true is especially significant if the work
1867
+ can be linked without the Library, or if the work is itself a
1868
+ library. The threshold for this to be true is not precisely
1869
+ defined by law.
1870
+
1871
+ If such an object file uses only numerical parameters, data
1872
+ structure layouts and accessors, and small macros and small inline
1873
+ functions (ten lines or less in length), then the use of the object
1874
+ file is unrestricted, regardless of whether it is legally a
1875
+ derivative work. (Executables containing this object code plus
1876
+ portions of the Library will still fall under Section 6.)
1877
+
1878
+ Otherwise, if the work is a derivative of the Library, you may
1879
+ distribute the object code for the work under the terms of Section
1880
+ 6. Any executables containing that work also fall under Section 6,
1881
+ whether or not they are linked directly with the Library itself.
1882
+
1883
+ 6. As an exception to the Sections above, you may also combine or
1884
+ link a "work that uses the Library" with the Library to produce a
1885
+ work containing portions of the Library, and distribute that work
1886
+ under terms of your choice, provided that the terms permit
1887
+ modification of the work for the customer's own use and reverse
1888
+ engineering for debugging such modifications.
1889
+
1890
+ You must give prominent notice with each copy of the work that the
1891
+ Library is used in it and that the Library and its use are covered
1892
+ by this License. You must supply a copy of this License. If the
1893
+ work during execution displays copyright notices, you must include
1894
+ the copyright notice for the Library among them, as well as a
1895
+ reference directing the user to the copy of this License. Also,
1896
+ you must do one of these things:
1897
+
1898
+ a. Accompany the work with the complete corresponding
1899
+ machine-readable source code for the Library including
1900
+ whatever changes were used in the work (which must be
1901
+ distributed under Sections 1 and 2 above); and, if the work
1902
+ is an executable linked with the Library, with the complete
1903
+ machine-readable "work that uses the Library", as object code
1904
+ and/or source code, so that the user can modify the Library
1905
+ and then relink to produce a modified executable containing
1906
+ the modified Library. (It is understood that the user who
1907
+ changes the contents of definitions files in the Library will
1908
+ not necessarily be able to recompile the application to use
1909
+ the modified definitions.)
1910
+
1911
+ b. Use a suitable shared library mechanism for linking with the
1912
+ Library. A suitable mechanism is one that (1) uses at run
1913
+ time a copy of the library already present on the user's
1914
+ computer system, rather than copying library functions into
1915
+ the executable, and (2) will operate properly with a modified
1916
+ version of the library, if the user installs one, as long as
1917
+ the modified version is interface-compatible with the version
1918
+ that the work was made with.
1919
+
1920
+ c. Accompany the work with a written offer, valid for at least
1921
+ three years, to give the same user the materials specified in
1922
+ Subsection 6a, above, for a charge no more than the cost of
1923
+ performing this distribution.
1924
+
1925
+ d. If distribution of the work is made by offering access to copy
1926
+ from a designated place, offer equivalent access to copy the
1927
+ above specified materials from the same place.
1928
+
1929
+ e. Verify that the user has already received a copy of these
1930
+ materials or that you have already sent this user a copy.
1931
+
1932
+ For an executable, the required form of the "work that uses the
1933
+ Library" must include any data and utility programs needed for
1934
+ reproducing the executable from it. However, as a special
1935
+ exception, the materials to be distributed need not include
1936
+ anything that is normally distributed (in either source or binary
1937
+ form) with the major components (compiler, kernel, and so on) of
1938
+ the operating system on which the executable runs, unless that
1939
+ component itself accompanies the executable.
1940
+
1941
+ It may happen that this requirement contradicts the license
1942
+ restrictions of other proprietary libraries that do not normally
1943
+ accompany the operating system. Such a contradiction means you
1944
+ cannot use both them and the Library together in an executable
1945
+ that you distribute.
1946
+
1947
+ 7. You may place library facilities that are a work based on the
1948
+ Library side-by-side in a single library together with other
1949
+ library facilities not covered by this License, and distribute
1950
+ such a combined library, provided that the separate distribution
1951
+ of the work based on the Library and of the other library
1952
+ facilities is otherwise permitted, and provided that you do these
1953
+ two things:
1954
+
1955
+ a. Accompany the combined library with a copy of the same work
1956
+ based on the Library, uncombined with any other library
1957
+ facilities. This must be distributed under the terms of the
1958
+ Sections above.
1959
+
1960
+ b. Give prominent notice with the combined library of the fact
1961
+ that part of it is a work based on the Library, and explaining
1962
+ where to find the accompanying uncombined form of the same
1963
+ work.
1964
+
1965
+ 8. You may not copy, modify, sublicense, link with, or distribute the
1966
+ Library except as expressly provided under this License. Any
1967
+ attempt otherwise to copy, modify, sublicense, link with, or
1968
+ distribute the Library is void, and will automatically terminate
1969
+ your rights under this License. However, parties who have
1970
+ received copies, or rights, from you under this License will not
1971
+ have their licenses terminated so long as such parties remain in
1972
+ full compliance.
1973
+
1974
+ 9. You are not required to accept this License, since you have not
1975
+ signed it. However, nothing else grants you permission to modify
1976
+ or distribute the Library or its derivative works. These actions
1977
+ are prohibited by law if you do not accept this License.
1978
+ Therefore, by modifying or distributing the Library (or any work
1979
+ based on the Library), you indicate your acceptance of this
1980
+ License to do so, and all its terms and conditions for copying,
1981
+ distributing or modifying the Library or works based on it.
1982
+
1983
+ 10. Each time you redistribute the Library (or any work based on the
1984
+ Library), the recipient automatically receives a license from the
1985
+ original licensor to copy, distribute, link with or modify the
1986
+ Library subject to these terms and conditions. You may not impose
1987
+ any further restrictions on the recipients' exercise of the rights
1988
+ granted herein. You are not responsible for enforcing compliance
1989
+ by third parties with this License.
1990
+
1991
+ 11. If, as a consequence of a court judgment or allegation of patent
1992
+ infringement or for any other reason (not limited to patent
1993
+ issues), conditions are imposed on you (whether by court order,
1994
+ agreement or otherwise) that contradict the conditions of this
1995
+ License, they do not excuse you from the conditions of this
1996
+ License. If you cannot distribute so as to satisfy simultaneously
1997
+ your obligations under this License and any other pertinent
1998
+ obligations, then as a consequence you may not distribute the
1999
+ Library at all. For example, if a patent license would not permit
2000
+ royalty-free redistribution of the Library by all those who
2001
+ receive copies directly or indirectly through you, then the only
2002
+ way you could satisfy both it and this License would be to refrain
2003
+ entirely from distribution of the Library.
2004
+
2005
+ If any portion of this section is held invalid or unenforceable
2006
+ under any particular circumstance, the balance of the section is
2007
+ intended to apply, and the section as a whole is intended to apply
2008
+ in other circumstances.
2009
+
2010
+ It is not the purpose of this section to induce you to infringe any
2011
+ patents or other property right claims or to contest validity of
2012
+ any such claims; this section has the sole purpose of protecting
2013
+ the integrity of the free software distribution system which is
2014
+ implemented by public license practices. Many people have made
2015
+ generous contributions to the wide range of software distributed
2016
+ through that system in reliance on consistent application of that
2017
+ system; it is up to the author/donor to decide if he or she is
2018
+ willing to distribute software through any other system and a
2019
+ licensee cannot impose that choice.
2020
+
2021
+ This section is intended to make thoroughly clear what is believed
2022
+ to be a consequence of the rest of this License.
2023
+
2024
+ 12. If the distribution and/or use of the Library is restricted in
2025
+ certain countries either by patents or by copyrighted interfaces,
2026
+ the original copyright holder who places the Library under this
2027
+ License may add an explicit geographical distribution limitation
2028
+ excluding those countries, so that distribution is permitted only
2029
+ in or among countries not thus excluded. In such case, this
2030
+ License incorporates the limitation as if written in the body of
2031
+ this License.
2032
+
2033
+ 13. The Free Software Foundation may publish revised and/or new
2034
+ versions of the Lesser General Public License from time to time.
2035
+ Such new versions will be similar in spirit to the present version,
2036
+ but may differ in detail to address new problems or concerns.
2037
+
2038
+ Each version is given a distinguishing version number. If the
2039
+ Library specifies a version number of this License which applies
2040
+ to it and "any later version", you have the option of following
2041
+ the terms and conditions either of that version or of any later
2042
+ version published by the Free Software Foundation. If the Library
2043
+ does not specify a license version number, you may choose any
2044
+ version ever published by the Free Software Foundation.
2045
+
2046
+ 14. If you wish to incorporate parts of the Library into other free
2047
+ programs whose distribution conditions are incompatible with these,
2048
+ write to the author to ask for permission. For software which is
2049
+ copyrighted by the Free Software Foundation, write to the Free
2050
+ Software Foundation; we sometimes make exceptions for this. Our
2051
+ decision will be guided by the two goals of preserving the free
2052
+ status of all derivatives of our free software and of promoting
2053
+ the sharing and reuse of software generally.
2054
+
2055
+ NO WARRANTY
2056
+
2057
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
2058
+ WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
2059
+ LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
2060
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT
2061
+ WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
2062
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
2063
+ FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
2064
+ QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
2065
+ LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
2066
+ SERVICING, REPAIR OR CORRECTION.
2067
+
2068
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
2069
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
2070
+ MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
2071
+ LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
2072
+ INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
2073
+ INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
2074
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
2075
+ OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
2076
+ OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
2077
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
2078
+
2079
+ END OF TERMS AND CONDITIONS
2080
+
2081
+ How to Apply These Terms to Your New Libraries
2082
+ ----------------------------------------------
2083
+
2084
+ If you develop a new library, and you want it to be of the greatest
2085
+ possible use to the public, we recommend making it free software that
2086
+ everyone can redistribute and change. You can do so by permitting
2087
+ redistribution under these terms (or, alternatively, under the terms of
2088
+ the ordinary General Public License).
2089
+
2090
+ To apply these terms, attach the following notices to the library.
2091
+ It is safest to attach them to the start of each source file to most
2092
+ effectively convey the exclusion of warranty; and each file should have
2093
+ at least the "copyright" line and a pointer to where the full notice is
2094
+ found.
2095
+
2096
+ ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
2097
+ Copyright (C) YEAR NAME OF AUTHOR
2098
+
2099
+ This library is free software; you can redistribute it and/or modify it
2100
+ under the terms of the GNU Lesser General Public License as published by
2101
+ the Free Software Foundation; either version 2.1 of the License, or (at
2102
+ your option) any later version.
2103
+
2104
+ This library is distributed in the hope that it will be useful, but
2105
+ WITHOUT ANY WARRANTY; without even the implied warranty of
2106
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2107
+ Lesser General Public License for more details.
2108
+
2109
+ You should have received a copy of the GNU Lesser General Public
2110
+ License along with this library; if not, write to the Free Software
2111
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
2112
+ USA.
2113
+
2114
+ Also add information on how to contact you by electronic and paper
2115
+ mail.
2116
+
2117
+ You should also get your employer (if you work as a programmer) or
2118
+ your school, if any, to sign a "copyright disclaimer" for the library,
2119
+ if necessary. Here is a sample; alter the names:
2120
+
2121
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the library
2122
+ `Frob' (a library for tweaking knobs) written by James Random Hacker.
2123
+
2124
+ SIGNATURE OF TY COON, 1 April 1990
2125
+ Ty Coon, President of Vice
2126
+
2127
+ That's all there is to it!
2128
+
2129
+ 
2130
+ File: libtasn1.info, Node: GNU GPL, Prev: GNU LGPL, Up: Copying Information
2131
+
2132
+ A.3 GNU General Public License
2133
+ ==============================
2134
+
2135
+ Version 3, 29 June 2007
2136
+
2137
+ Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
2138
+
2139
+ Everyone is permitted to copy and distribute verbatim copies of this
2140
+ license document, but changing it is not allowed.
2141
+
2142
+ Preamble
2143
+ ========
2144
+
2145
+ The GNU General Public License is a free, copyleft license for software
2146
+ and other kinds of works.
2147
+
2148
+ The licenses for most software and other practical works are designed
2149
+ to take away your freedom to share and change the works. By contrast,
2150
+ the GNU General Public License is intended to guarantee your freedom to
2151
+ share and change all versions of a program--to make sure it remains
2152
+ free software for all its users. We, the Free Software Foundation, use
2153
+ the GNU General Public License for most of our software; it applies
2154
+ also to any other work released this way by its authors. You can apply
2155
+ it to your programs, too.
2156
+
2157
+ When we speak of free software, we are referring to freedom, not
2158
+ price. Our General Public Licenses are designed to make sure that you
2159
+ have the freedom to distribute copies of free software (and charge for
2160
+ them if you wish), that you receive source code or can get it if you
2161
+ want it, that you can change the software or use pieces of it in new
2162
+ free programs, and that you know you can do these things.
2163
+
2164
+ To protect your rights, we need to prevent others from denying you
2165
+ these rights or asking you to surrender the rights. Therefore, you
2166
+ have certain responsibilities if you distribute copies of the software,
2167
+ or if you modify it: responsibilities to respect the freedom of others.
2168
+
2169
+ For example, if you distribute copies of such a program, whether
2170
+ gratis or for a fee, you must pass on to the recipients the same
2171
+ freedoms that you received. You must make sure that they, too, receive
2172
+ or can get the source code. And you must show them these terms so they
2173
+ know their rights.
2174
+
2175
+ Developers that use the GNU GPL protect your rights with two steps:
2176
+ (1) assert copyright on the software, and (2) offer you this License
2177
+ giving you legal permission to copy, distribute and/or modify it.
2178
+
2179
+ For the developers' and authors' protection, the GPL clearly explains
2180
+ that there is no warranty for this free software. For both users' and
2181
+ authors' sake, the GPL requires that modified versions be marked as
2182
+ changed, so that their problems will not be attributed erroneously to
2183
+ authors of previous versions.
2184
+
2185
+ Some devices are designed to deny users access to install or run
2186
+ modified versions of the software inside them, although the
2187
+ manufacturer can do so. This is fundamentally incompatible with the
2188
+ aim of protecting users' freedom to change the software. The
2189
+ systematic pattern of such abuse occurs in the area of products for
2190
+ individuals to use, which is precisely where it is most unacceptable.
2191
+ Therefore, we have designed this version of the GPL to prohibit the
2192
+ practice for those products. If such problems arise substantially in
2193
+ other domains, we stand ready to extend this provision to those domains
2194
+ in future versions of the GPL, as needed to protect the freedom of
2195
+ users.
2196
+
2197
+ Finally, every program is threatened constantly by software patents.
2198
+ States should not allow patents to restrict development and use of
2199
+ software on general-purpose computers, but in those that do, we wish to
2200
+ avoid the special danger that patents applied to a free program could
2201
+ make it effectively proprietary. To prevent this, the GPL assures that
2202
+ patents cannot be used to render the program non-free.
2203
+
2204
+ The precise terms and conditions for copying, distribution and
2205
+ modification follow.
2206
+
2207
+ TERMS AND CONDITIONS
2208
+ ====================
2209
+
2210
+ 0. Definitions.
2211
+
2212
+ "This License" refers to version 3 of the GNU General Public
2213
+ License.
2214
+
2215
+ "Copyright" also means copyright-like laws that apply to other
2216
+ kinds of works, such as semiconductor masks.
2217
+
2218
+ "The Program" refers to any copyrightable work licensed under this
2219
+ License. Each licensee is addressed as "you". "Licensees" and
2220
+ "recipients" may be individuals or organizations.
2221
+
2222
+ To "modify" a work means to copy from or adapt all or part of the
2223
+ work in a fashion requiring copyright permission, other than the
2224
+ making of an exact copy. The resulting work is called a "modified
2225
+ version" of the earlier work or a work "based on" the earlier work.
2226
+
2227
+ A "covered work" means either the unmodified Program or a work
2228
+ based on the Program.
2229
+
2230
+ To "propagate" a work means to do anything with it that, without
2231
+ permission, would make you directly or secondarily liable for
2232
+ infringement under applicable copyright law, except executing it
2233
+ on a computer or modifying a private copy. Propagation includes
2234
+ copying, distribution (with or without modification), making
2235
+ available to the public, and in some countries other activities as
2236
+ well.
2237
+
2238
+ To "convey" a work means any kind of propagation that enables other
2239
+ parties to make or receive copies. Mere interaction with a user
2240
+ through a computer network, with no transfer of a copy, is not
2241
+ conveying.
2242
+
2243
+ An interactive user interface displays "Appropriate Legal Notices"
2244
+ to the extent that it includes a convenient and prominently visible
2245
+ feature that (1) displays an appropriate copyright notice, and (2)
2246
+ tells the user that there is no warranty for the work (except to
2247
+ the extent that warranties are provided), that licensees may
2248
+ convey the work under this License, and how to view a copy of this
2249
+ License. If the interface presents a list of user commands or
2250
+ options, such as a menu, a prominent item in the list meets this
2251
+ criterion.
2252
+
2253
+ 1. Source Code.
2254
+
2255
+ The "source code" for a work means the preferred form of the work
2256
+ for making modifications to it. "Object code" means any
2257
+ non-source form of a work.
2258
+
2259
+ A "Standard Interface" means an interface that either is an
2260
+ official standard defined by a recognized standards body, or, in
2261
+ the case of interfaces specified for a particular programming
2262
+ language, one that is widely used among developers working in that
2263
+ language.
2264
+
2265
+ The "System Libraries" of an executable work include anything,
2266
+ other than the work as a whole, that (a) is included in the normal
2267
+ form of packaging a Major Component, but which is not part of that
2268
+ Major Component, and (b) serves only to enable use of the work
2269
+ with that Major Component, or to implement a Standard Interface
2270
+ for which an implementation is available to the public in source
2271
+ code form. A "Major Component", in this context, means a major
2272
+ essential component (kernel, window system, and so on) of the
2273
+ specific operating system (if any) on which the executable work
2274
+ runs, or a compiler used to produce the work, or an object code
2275
+ interpreter used to run it.
2276
+
2277
+ The "Corresponding Source" for a work in object code form means all
2278
+ the source code needed to generate, install, and (for an executable
2279
+ work) run the object code and to modify the work, including
2280
+ scripts to control those activities. However, it does not include
2281
+ the work's System Libraries, or general-purpose tools or generally
2282
+ available free programs which are used unmodified in performing
2283
+ those activities but which are not part of the work. For example,
2284
+ Corresponding Source includes interface definition files
2285
+ associated with source files for the work, and the source code for
2286
+ shared libraries and dynamically linked subprograms that the work
2287
+ is specifically designed to require, such as by intimate data
2288
+ communication or control flow between those subprograms and other
2289
+ parts of the work.
2290
+
2291
+ The Corresponding Source need not include anything that users can
2292
+ regenerate automatically from other parts of the Corresponding
2293
+ Source.
2294
+
2295
+ The Corresponding Source for a work in source code form is that
2296
+ same work.
2297
+
2298
+ 2. Basic Permissions.
2299
+
2300
+ All rights granted under this License are granted for the term of
2301
+ copyright on the Program, and are irrevocable provided the stated
2302
+ conditions are met. This License explicitly affirms your unlimited
2303
+ permission to run the unmodified Program. The output from running
2304
+ a covered work is covered by this License only if the output,
2305
+ given its content, constitutes a covered work. This License
2306
+ acknowledges your rights of fair use or other equivalent, as
2307
+ provided by copyright law.
2308
+
2309
+ You may make, run and propagate covered works that you do not
2310
+ convey, without conditions so long as your license otherwise
2311
+ remains in force. You may convey covered works to others for the
2312
+ sole purpose of having them make modifications exclusively for
2313
+ you, or provide you with facilities for running those works,
2314
+ provided that you comply with the terms of this License in
2315
+ conveying all material for which you do not control copyright.
2316
+ Those thus making or running the covered works for you must do so
2317
+ exclusively on your behalf, under your direction and control, on
2318
+ terms that prohibit them from making any copies of your
2319
+ copyrighted material outside their relationship with you.
2320
+
2321
+ Conveying under any other circumstances is permitted solely under
2322
+ the conditions stated below. Sublicensing is not allowed; section
2323
+ 10 makes it unnecessary.
2324
+
2325
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
2326
+
2327
+ No covered work shall be deemed part of an effective technological
2328
+ measure under any applicable law fulfilling obligations under
2329
+ article 11 of the WIPO copyright treaty adopted on 20 December
2330
+ 1996, or similar laws prohibiting or restricting circumvention of
2331
+ such measures.
2332
+
2333
+ When you convey a covered work, you waive any legal power to forbid
2334
+ circumvention of technological measures to the extent such
2335
+ circumvention is effected by exercising rights under this License
2336
+ with respect to the covered work, and you disclaim any intention
2337
+ to limit operation or modification of the work as a means of
2338
+ enforcing, against the work's users, your or third parties' legal
2339
+ rights to forbid circumvention of technological measures.
2340
+
2341
+ 4. Conveying Verbatim Copies.
2342
+
2343
+ You may convey verbatim copies of the Program's source code as you
2344
+ receive it, in any medium, provided that you conspicuously and
2345
+ appropriately publish on each copy an appropriate copyright notice;
2346
+ keep intact all notices stating that this License and any
2347
+ non-permissive terms added in accord with section 7 apply to the
2348
+ code; keep intact all notices of the absence of any warranty; and
2349
+ give all recipients a copy of this License along with the Program.
2350
+
2351
+ You may charge any price or no price for each copy that you convey,
2352
+ and you may offer support or warranty protection for a fee.
2353
+
2354
+ 5. Conveying Modified Source Versions.
2355
+
2356
+ You may convey a work based on the Program, or the modifications to
2357
+ produce it from the Program, in the form of source code under the
2358
+ terms of section 4, provided that you also meet all of these
2359
+ conditions:
2360
+
2361
+ a. The work must carry prominent notices stating that you
2362
+ modified it, and giving a relevant date.
2363
+
2364
+ b. The work must carry prominent notices stating that it is
2365
+ released under this License and any conditions added under
2366
+ section 7. This requirement modifies the requirement in
2367
+ section 4 to "keep intact all notices".
2368
+
2369
+ c. You must license the entire work, as a whole, under this
2370
+ License to anyone who comes into possession of a copy. This
2371
+ License will therefore apply, along with any applicable
2372
+ section 7 additional terms, to the whole of the work, and all
2373
+ its parts, regardless of how they are packaged. This License
2374
+ gives no permission to license the work in any other way, but
2375
+ it does not invalidate such permission if you have separately
2376
+ received it.
2377
+
2378
+ d. If the work has interactive user interfaces, each must display
2379
+ Appropriate Legal Notices; however, if the Program has
2380
+ interactive interfaces that do not display Appropriate Legal
2381
+ Notices, your work need not make them do so.
2382
+
2383
+ A compilation of a covered work with other separate and independent
2384
+ works, which are not by their nature extensions of the covered
2385
+ work, and which are not combined with it such as to form a larger
2386
+ program, in or on a volume of a storage or distribution medium, is
2387
+ called an "aggregate" if the compilation and its resulting
2388
+ copyright are not used to limit the access or legal rights of the
2389
+ compilation's users beyond what the individual works permit.
2390
+ Inclusion of a covered work in an aggregate does not cause this
2391
+ License to apply to the other parts of the aggregate.
2392
+
2393
+ 6. Conveying Non-Source Forms.
2394
+
2395
+ You may convey a covered work in object code form under the terms
2396
+ of sections 4 and 5, provided that you also convey the
2397
+ machine-readable Corresponding Source under the terms of this
2398
+ License, in one of these ways:
2399
+
2400
+ a. Convey the object code in, or embodied in, a physical product
2401
+ (including a physical distribution medium), accompanied by the
2402
+ Corresponding Source fixed on a durable physical medium
2403
+ customarily used for software interchange.
2404
+
2405
+ b. Convey the object code in, or embodied in, a physical product
2406
+ (including a physical distribution medium), accompanied by a
2407
+ written offer, valid for at least three years and valid for
2408
+ as long as you offer spare parts or customer support for that
2409
+ product model, to give anyone who possesses the object code
2410
+ either (1) a copy of the Corresponding Source for all the
2411
+ software in the product that is covered by this License, on a
2412
+ durable physical medium customarily used for software
2413
+ interchange, for a price no more than your reasonable cost of
2414
+ physically performing this conveying of source, or (2) access
2415
+ to copy the Corresponding Source from a network server at no
2416
+ charge.
2417
+
2418
+ c. Convey individual copies of the object code with a copy of
2419
+ the written offer to provide the Corresponding Source. This
2420
+ alternative is allowed only occasionally and noncommercially,
2421
+ and only if you received the object code with such an offer,
2422
+ in accord with subsection 6b.
2423
+
2424
+ d. Convey the object code by offering access from a designated
2425
+ place (gratis or for a charge), and offer equivalent access
2426
+ to the Corresponding Source in the same way through the same
2427
+ place at no further charge. You need not require recipients
2428
+ to copy the Corresponding Source along with the object code.
2429
+ If the place to copy the object code is a network server, the
2430
+ Corresponding Source may be on a different server (operated
2431
+ by you or a third party) that supports equivalent copying
2432
+ facilities, provided you maintain clear directions next to
2433
+ the object code saying where to find the Corresponding Source.
2434
+ Regardless of what server hosts the Corresponding Source, you
2435
+ remain obligated to ensure that it is available for as long
2436
+ as needed to satisfy these requirements.
2437
+
2438
+ e. Convey the object code using peer-to-peer transmission,
2439
+ provided you inform other peers where the object code and
2440
+ Corresponding Source of the work are being offered to the
2441
+ general public at no charge under subsection 6d.
2442
+
2443
+
2444
+ A separable portion of the object code, whose source code is
2445
+ excluded from the Corresponding Source as a System Library, need
2446
+ not be included in conveying the object code work.
2447
+
2448
+ A "User Product" is either (1) a "consumer product", which means
2449
+ any tangible personal property which is normally used for personal,
2450
+ family, or household purposes, or (2) anything designed or sold for
2451
+ incorporation into a dwelling. In determining whether a product
2452
+ is a consumer product, doubtful cases shall be resolved in favor of
2453
+ coverage. For a particular product received by a particular user,
2454
+ "normally used" refers to a typical or common use of that class of
2455
+ product, regardless of the status of the particular user or of the
2456
+ way in which the particular user actually uses, or expects or is
2457
+ expected to use, the product. A product is a consumer product
2458
+ regardless of whether the product has substantial commercial,
2459
+ industrial or non-consumer uses, unless such uses represent the
2460
+ only significant mode of use of the product.
2461
+
2462
+ "Installation Information" for a User Product means any methods,
2463
+ procedures, authorization keys, or other information required to
2464
+ install and execute modified versions of a covered work in that
2465
+ User Product from a modified version of its Corresponding Source.
2466
+ The information must suffice to ensure that the continued
2467
+ functioning of the modified object code is in no case prevented or
2468
+ interfered with solely because modification has been made.
2469
+
2470
+ If you convey an object code work under this section in, or with,
2471
+ or specifically for use in, a User Product, and the conveying
2472
+ occurs as part of a transaction in which the right of possession
2473
+ and use of the User Product is transferred to the recipient in
2474
+ perpetuity or for a fixed term (regardless of how the transaction
2475
+ is characterized), the Corresponding Source conveyed under this
2476
+ section must be accompanied by the Installation Information. But
2477
+ this requirement does not apply if neither you nor any third party
2478
+ retains the ability to install modified object code on the User
2479
+ Product (for example, the work has been installed in ROM).
2480
+
2481
+ The requirement to provide Installation Information does not
2482
+ include a requirement to continue to provide support service,
2483
+ warranty, or updates for a work that has been modified or
2484
+ installed by the recipient, or for the User Product in which it
2485
+ has been modified or installed. Access to a network may be denied
2486
+ when the modification itself materially and adversely affects the
2487
+ operation of the network or violates the rules and protocols for
2488
+ communication across the network.
2489
+
2490
+ Corresponding Source conveyed, and Installation Information
2491
+ provided, in accord with this section must be in a format that is
2492
+ publicly documented (and with an implementation available to the
2493
+ public in source code form), and must require no special password
2494
+ or key for unpacking, reading or copying.
2495
+
2496
+ 7. Additional Terms.
2497
+
2498
+ "Additional permissions" are terms that supplement the terms of
2499
+ this License by making exceptions from one or more of its
2500
+ conditions. Additional permissions that are applicable to the
2501
+ entire Program shall be treated as though they were included in
2502
+ this License, to the extent that they are valid under applicable
2503
+ law. If additional permissions apply only to part of the Program,
2504
+ that part may be used separately under those permissions, but the
2505
+ entire Program remains governed by this License without regard to
2506
+ the additional permissions.
2507
+
2508
+ When you convey a copy of a covered work, you may at your option
2509
+ remove any additional permissions from that copy, or from any part
2510
+ of it. (Additional permissions may be written to require their own
2511
+ removal in certain cases when you modify the work.) You may place
2512
+ additional permissions on material, added by you to a covered work,
2513
+ for which you have or can give appropriate copyright permission.
2514
+
2515
+ Notwithstanding any other provision of this License, for material
2516
+ you add to a covered work, you may (if authorized by the copyright
2517
+ holders of that material) supplement the terms of this License
2518
+ with terms:
2519
+
2520
+ a. Disclaiming warranty or limiting liability differently from
2521
+ the terms of sections 15 and 16 of this License; or
2522
+
2523
+ b. Requiring preservation of specified reasonable legal notices
2524
+ or author attributions in that material or in the Appropriate
2525
+ Legal Notices displayed by works containing it; or
2526
+
2527
+ c. Prohibiting misrepresentation of the origin of that material,
2528
+ or requiring that modified versions of such material be
2529
+ marked in reasonable ways as different from the original
2530
+ version; or
2531
+
2532
+ d. Limiting the use for publicity purposes of names of licensors
2533
+ or authors of the material; or
2534
+
2535
+ e. Declining to grant rights under trademark law for use of some
2536
+ trade names, trademarks, or service marks; or
2537
+
2538
+ f. Requiring indemnification of licensors and authors of that
2539
+ material by anyone who conveys the material (or modified
2540
+ versions of it) with contractual assumptions of liability to
2541
+ the recipient, for any liability that these contractual
2542
+ assumptions directly impose on those licensors and authors.
2543
+
2544
+ All other non-permissive additional terms are considered "further
2545
+ restrictions" within the meaning of section 10. If the Program as
2546
+ you received it, or any part of it, contains a notice stating that
2547
+ it is governed by this License along with a term that is a further
2548
+ restriction, you may remove that term. If a license document
2549
+ contains a further restriction but permits relicensing or
2550
+ conveying under this License, you may add to a covered work
2551
+ material governed by the terms of that license document, provided
2552
+ that the further restriction does not survive such relicensing or
2553
+ conveying.
2554
+
2555
+ If you add terms to a covered work in accord with this section, you
2556
+ must place, in the relevant source files, a statement of the
2557
+ additional terms that apply to those files, or a notice indicating
2558
+ where to find the applicable terms.
2559
+
2560
+ Additional terms, permissive or non-permissive, may be stated in
2561
+ the form of a separately written license, or stated as exceptions;
2562
+ the above requirements apply either way.
2563
+
2564
+ 8. Termination.
2565
+
2566
+ You may not propagate or modify a covered work except as expressly
2567
+ provided under this License. Any attempt otherwise to propagate or
2568
+ modify it is void, and will automatically terminate your rights
2569
+ under this License (including any patent licenses granted under
2570
+ the third paragraph of section 11).
2571
+
2572
+ However, if you cease all violation of this License, then your
2573
+ license from a particular copyright holder is reinstated (a)
2574
+ provisionally, unless and until the copyright holder explicitly
2575
+ and finally terminates your license, and (b) permanently, if the
2576
+ copyright holder fails to notify you of the violation by some
2577
+ reasonable means prior to 60 days after the cessation.
2578
+
2579
+ Moreover, your license from a particular copyright holder is
2580
+ reinstated permanently if the copyright holder notifies you of the
2581
+ violation by some reasonable means, this is the first time you have
2582
+ received notice of violation of this License (for any work) from
2583
+ that copyright holder, and you cure the violation prior to 30 days
2584
+ after your receipt of the notice.
2585
+
2586
+ Termination of your rights under this section does not terminate
2587
+ the licenses of parties who have received copies or rights from
2588
+ you under this License. If your rights have been terminated and
2589
+ not permanently reinstated, you do not qualify to receive new
2590
+ licenses for the same material under section 10.
2591
+
2592
+ 9. Acceptance Not Required for Having Copies.
2593
+
2594
+ You are not required to accept this License in order to receive or
2595
+ run a copy of the Program. Ancillary propagation of a covered work
2596
+ occurring solely as a consequence of using peer-to-peer
2597
+ transmission to receive a copy likewise does not require
2598
+ acceptance. However, nothing other than this License grants you
2599
+ permission to propagate or modify any covered work. These actions
2600
+ infringe copyright if you do not accept this License. Therefore,
2601
+ by modifying or propagating a covered work, you indicate your
2602
+ acceptance of this License to do so.
2603
+
2604
+ 10. Automatic Licensing of Downstream Recipients.
2605
+
2606
+ Each time you convey a covered work, the recipient automatically
2607
+ receives a license from the original licensors, to run, modify and
2608
+ propagate that work, subject to this License. You are not
2609
+ responsible for enforcing compliance by third parties with this
2610
+ License.
2611
+
2612
+ An "entity transaction" is a transaction transferring control of an
2613
+ organization, or substantially all assets of one, or subdividing an
2614
+ organization, or merging organizations. If propagation of a
2615
+ covered work results from an entity transaction, each party to that
2616
+ transaction who receives a copy of the work also receives whatever
2617
+ licenses to the work the party's predecessor in interest had or
2618
+ could give under the previous paragraph, plus a right to
2619
+ possession of the Corresponding Source of the work from the
2620
+ predecessor in interest, if the predecessor has it or can get it
2621
+ with reasonable efforts.
2622
+
2623
+ You may not impose any further restrictions on the exercise of the
2624
+ rights granted or affirmed under this License. For example, you
2625
+ may not impose a license fee, royalty, or other charge for
2626
+ exercise of rights granted under this License, and you may not
2627
+ initiate litigation (including a cross-claim or counterclaim in a
2628
+ lawsuit) alleging that any patent claim is infringed by making,
2629
+ using, selling, offering for sale, or importing the Program or any
2630
+ portion of it.
2631
+
2632
+ 11. Patents.
2633
+
2634
+ A "contributor" is a copyright holder who authorizes use under this
2635
+ License of the Program or a work on which the Program is based.
2636
+ The work thus licensed is called the contributor's "contributor
2637
+ version".
2638
+
2639
+ A contributor's "essential patent claims" are all patent claims
2640
+ owned or controlled by the contributor, whether already acquired or
2641
+ hereafter acquired, that would be infringed by some manner,
2642
+ permitted by this License, of making, using, or selling its
2643
+ contributor version, but do not include claims that would be
2644
+ infringed only as a consequence of further modification of the
2645
+ contributor version. For purposes of this definition, "control"
2646
+ includes the right to grant patent sublicenses in a manner
2647
+ consistent with the requirements of this License.
2648
+
2649
+ Each contributor grants you a non-exclusive, worldwide,
2650
+ royalty-free patent license under the contributor's essential
2651
+ patent claims, to make, use, sell, offer for sale, import and
2652
+ otherwise run, modify and propagate the contents of its
2653
+ contributor version.
2654
+
2655
+ In the following three paragraphs, a "patent license" is any
2656
+ express agreement or commitment, however denominated, not to
2657
+ enforce a patent (such as an express permission to practice a
2658
+ patent or covenant not to sue for patent infringement). To
2659
+ "grant" such a patent license to a party means to make such an
2660
+ agreement or commitment not to enforce a patent against the party.
2661
+
2662
+ If you convey a covered work, knowingly relying on a patent
2663
+ license, and the Corresponding Source of the work is not available
2664
+ for anyone to copy, free of charge and under the terms of this
2665
+ License, through a publicly available network server or other
2666
+ readily accessible means, then you must either (1) cause the
2667
+ Corresponding Source to be so available, or (2) arrange to deprive
2668
+ yourself of the benefit of the patent license for this particular
2669
+ work, or (3) arrange, in a manner consistent with the requirements
2670
+ of this License, to extend the patent license to downstream
2671
+ recipients. "Knowingly relying" means you have actual knowledge
2672
+ that, but for the patent license, your conveying the covered work
2673
+ in a country, or your recipient's use of the covered work in a
2674
+ country, would infringe one or more identifiable patents in that
2675
+ country that you have reason to believe are valid.
2676
+
2677
+ If, pursuant to or in connection with a single transaction or
2678
+ arrangement, you convey, or propagate by procuring conveyance of, a
2679
+ covered work, and grant a patent license to some of the parties
2680
+ receiving the covered work authorizing them to use, propagate,
2681
+ modify or convey a specific copy of the covered work, then the
2682
+ patent license you grant is automatically extended to all
2683
+ recipients of the covered work and works based on it.
2684
+
2685
+ A patent license is "discriminatory" if it does not include within
2686
+ the scope of its coverage, prohibits the exercise of, or is
2687
+ conditioned on the non-exercise of one or more of the rights that
2688
+ are specifically granted under this License. You may not convey a
2689
+ covered work if you are a party to an arrangement with a third
2690
+ party that is in the business of distributing software, under
2691
+ which you make payment to the third party based on the extent of
2692
+ your activity of conveying the work, and under which the third
2693
+ party grants, to any of the parties who would receive the covered
2694
+ work from you, a discriminatory patent license (a) in connection
2695
+ with copies of the covered work conveyed by you (or copies made
2696
+ from those copies), or (b) primarily for and in connection with
2697
+ specific products or compilations that contain the covered work,
2698
+ unless you entered into that arrangement, or that patent license
2699
+ was granted, prior to 28 March 2007.
2700
+
2701
+ Nothing in this License shall be construed as excluding or limiting
2702
+ any implied license or other defenses to infringement that may
2703
+ otherwise be available to you under applicable patent law.
2704
+
2705
+ 12. No Surrender of Others' Freedom.
2706
+
2707
+ If conditions are imposed on you (whether by court order,
2708
+ agreement or otherwise) that contradict the conditions of this
2709
+ License, they do not excuse you from the conditions of this
2710
+ License. If you cannot convey a covered work so as to satisfy
2711
+ simultaneously your obligations under this License and any other
2712
+ pertinent obligations, then as a consequence you may not convey it
2713
+ at all. For example, if you agree to terms that obligate you to
2714
+ collect a royalty for further conveying from those to whom you
2715
+ convey the Program, the only way you could satisfy both those
2716
+ terms and this License would be to refrain entirely from conveying
2717
+ the Program.
2718
+
2719
+ 13. Use with the GNU Affero General Public License.
2720
+
2721
+ Notwithstanding any other provision of this License, you have
2722
+ permission to link or combine any covered work with a work licensed
2723
+ under version 3 of the GNU Affero General Public License into a
2724
+ single combined work, and to convey the resulting work. The terms
2725
+ of this License will continue to apply to the part which is the
2726
+ covered work, but the special requirements of the GNU Affero
2727
+ General Public License, section 13, concerning interaction through
2728
+ a network will apply to the combination as such.
2729
+
2730
+ 14. Revised Versions of this License.
2731
+
2732
+ The Free Software Foundation may publish revised and/or new
2733
+ versions of the GNU General Public License from time to time.
2734
+ Such new versions will be similar in spirit to the present
2735
+ version, but may differ in detail to address new problems or
2736
+ concerns.
2737
+
2738
+ Each version is given a distinguishing version number. If the
2739
+ Program specifies that a certain numbered version of the GNU
2740
+ General Public License "or any later version" applies to it, you
2741
+ have the option of following the terms and conditions either of
2742
+ that numbered version or of any later version published by the
2743
+ Free Software Foundation. If the Program does not specify a
2744
+ version number of the GNU General Public License, you may choose
2745
+ any version ever published by the Free Software Foundation.
2746
+
2747
+ If the Program specifies that a proxy can decide which future
2748
+ versions of the GNU General Public License can be used, that
2749
+ proxy's public statement of acceptance of a version permanently
2750
+ authorizes you to choose that version for the Program.
2751
+
2752
+ Later license versions may give you additional or different
2753
+ permissions. However, no additional obligations are imposed on any
2754
+ author or copyright holder as a result of your choosing to follow a
2755
+ later version.
2756
+
2757
+ 15. Disclaimer of Warranty.
2758
+
2759
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
2760
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
2761
+ COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
2762
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
2763
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
2764
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
2765
+ RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
2766
+ SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
2767
+ NECESSARY SERVICING, REPAIR OR CORRECTION.
2768
+
2769
+ 16. Limitation of Liability.
2770
+
2771
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
2772
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
2773
+ AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
2774
+ FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
2775
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
2776
+ THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
2777
+ BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
2778
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
2779
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
2780
+ THE POSSIBILITY OF SUCH DAMAGES.
2781
+
2782
+ 17. Interpretation of Sections 15 and 16.
2783
+
2784
+ If the disclaimer of warranty and limitation of liability provided
2785
+ above cannot be given local legal effect according to their terms,
2786
+ reviewing courts shall apply local law that most closely
2787
+ approximates an absolute waiver of all civil liability in
2788
+ connection with the Program, unless a warranty or assumption of
2789
+ liability accompanies a copy of the Program in return for a fee.
2790
+
2791
+
2792
+ END OF TERMS AND CONDITIONS
2793
+ ===========================
2794
+
2795
+ How to Apply These Terms to Your New Programs
2796
+ =============================================
2797
+
2798
+ If you develop a new program, and you want it to be of the greatest
2799
+ possible use to the public, the best way to achieve this is to make it
2800
+ free software which everyone can redistribute and change under these
2801
+ terms.
2802
+
2803
+ To do so, attach the following notices to the program. It is safest
2804
+ to attach them to the start of each source file to most effectively
2805
+ state the exclusion of warranty; and each file should have at least the
2806
+ "copyright" line and a pointer to where the full notice is found.
2807
+
2808
+ ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
2809
+ Copyright (C) YEAR NAME OF AUTHOR
2810
+
2811
+ This program is free software: you can redistribute it and/or modify
2812
+ it under the terms of the GNU General Public License as published by
2813
+ the Free Software Foundation, either version 3 of the License, or (at
2814
+ your option) any later version.
2815
+
2816
+ This program is distributed in the hope that it will be useful, but
2817
+ WITHOUT ANY WARRANTY; without even the implied warranty of
2818
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2819
+ General Public License for more details.
2820
+
2821
+ You should have received a copy of the GNU General Public License
2822
+ along with this program. If not, see `http://www.gnu.org/licenses/'.
2823
+
2824
+ Also add information on how to contact you by electronic and paper
2825
+ mail.
2826
+
2827
+ If the program does terminal interaction, make it output a short
2828
+ notice like this when it starts in an interactive mode:
2829
+
2830
+ PROGRAM Copyright (C) YEAR NAME OF AUTHOR
2831
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
2832
+ This is free software, and you are welcome to redistribute it
2833
+ under certain conditions; type `show c' for details.
2834
+
2835
+ The hypothetical commands `show w' and `show c' should show the
2836
+ appropriate parts of the General Public License. Of course, your
2837
+ program's commands might be different; for a GUI interface, you would
2838
+ use an "about box".
2839
+
2840
+ You should also get your employer (if you work as a programmer) or
2841
+ school, if any, to sign a "copyright disclaimer" for the program, if
2842
+ necessary. For more information on this, and how to apply and follow
2843
+ the GNU GPL, see `http://www.gnu.org/licenses/'.
2844
+
2845
+ The GNU General Public License does not permit incorporating your
2846
+ program into proprietary programs. If your program is a subroutine
2847
+ library, you may consider it more useful to permit linking proprietary
2848
+ applications with the library. If this is what you want to do, use the
2849
+ GNU Lesser General Public License instead of this License. But first,
2850
+ please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.
2851
+
2852
+ 
2853
+ File: libtasn1.info, Node: Concept Index, Next: Function and Data Index, Prev: Copying Information, Up: Top
2854
+
2855
+ Concept Index
2856
+ *************
2857
+
2858
+ [index]
2859
+ * Menu:
2860
+
2861
+ * ASN.1 schema: ASN.1 syntax. (line 6)
2862
+ * asn1Coding program: Invoking asn1Coding. (line 6)
2863
+ * asn1Decoding program: Invoking asn1Decoding.
2864
+ (line 6)
2865
+ * asn1Parser program: Invoking asn1Parser. (line 6)
2866
+ * FDL, GNU Free Documentation License: GNU Free Documentation License.
2867
+ (line 6)
2868
+ * Future developments: Future developments. (line 6)
2869
+ * GPL, GNU General Public License: GNU GPL. (line 6)
2870
+ * Header file libtasn1.h: Library Notes. (line 6)
2871
+ * LGPL, GNU Lesser General Public License: GNU LGPL. (line 6)
2872
+ * License, GNU GPL: GNU GPL. (line 6)
2873
+ * License, GNU LGPL: GNU LGPL. (line 6)
2874
+ * Main type ASN1_TYPE: Library Notes. (line 8)
2875
+ * Porting: Introduction. (line 31)
2876
+ * Supported ASN.1 types, list of: ASN.1 syntax. (line 33)
2877
+ * threads: Introduction. (line 28)
2878
+
2879
+ 
2880
+ File: libtasn1.info, Node: Function and Data Index, Prev: Concept Index, Up: Top
2881
+
2882
+ Function and Data Index
2883
+ ***********************
2884
+
2885
+ [index]
2886
+ * Menu:
2887
+
2888
+ * asn1_array2tree: ASN.1 field functions.
2889
+ (line 11)
2890
+ * asn1_bit_der: DER functions. (line 43)
2891
+ * asn1_check_version: Auxilliary functions.
2892
+ (line 26)
2893
+ * asn1_copy_node: ASN.1 field functions.
2894
+ (line 139)
2895
+ * asn1_create_element: ASN.1 field functions.
2896
+ (line 64)
2897
+ * asn1_delete_element: ASN.1 field functions.
2898
+ (line 48)
2899
+ * asn1_delete_structure: ASN.1 field functions.
2900
+ (line 34)
2901
+ * asn1_der_coding: DER functions. (line 60)
2902
+ * asn1_der_decoding: DER functions. (line 168)
2903
+ * asn1_der_decoding_element: DER functions. (line 195)
2904
+ * asn1_der_decoding_startEnd: DER functions. (line 227)
2905
+ * asn1_expand_any_defined_by: DER functions. (line 263)
2906
+ * asn1_expand_octet_string: DER functions. (line 286)
2907
+ * asn1_find_node: Auxilliary functions.
2908
+ (line 11)
2909
+ * asn1_find_structure_from_oid: ASN.1 field functions.
2910
+ (line 124)
2911
+ * asn1_get_bit_der: DER functions. (line 147)
2912
+ * asn1_get_length_der: DER functions. (line 88)
2913
+ * asn1_get_octet_der: DER functions. (line 124)
2914
+ * asn1_get_tag_der: DER functions. (line 104)
2915
+ * asn1_length_der: DER functions. (line 11)
2916
+ * asn1_number_of_elements: ASN.1 field functions.
2917
+ (line 104)
2918
+ * asn1_octet_der: DER functions. (line 27)
2919
+ * asn1_parser2array: ASN.1 schema functions.
2920
+ (line 44)
2921
+ * asn1_parser2tree: ASN.1 schema functions.
2922
+ (line 11)
2923
+ * asn1_print_structure: ASN.1 field functions.
2924
+ (line 86)
2925
+ * asn1_read_tag: ASN.1 field functions.
2926
+ (line 338)
2927
+ * asn1_read_value: ASN.1 field functions.
2928
+ (line 267)
2929
+ * asn1_write_value: ASN.1 field functions.
2930
+ (line 156)
2931
+ * libtasn1_perror: Error handling functions.
2932
+ (line 10)
2933
+ * libtasn1_strerror: Error handling functions.
2934
+ (line 19)
2935
+
2936
+
2937
+ 
2938
+ Tag Table:
2939
+ Node: Top908
2940
+ Node: Introduction1948
2941
+ Node: ASN.1 structure handling3241
2942
+ Node: ASN.1 syntax3481
2943
+ Node: Naming4633
2944
+ Node: Library Notes5551
2945
+ Node: Future developments6357
2946
+ Node: Utilities6651
2947
+ Node: Invoking asn1Parser6871
2948
+ Node: Invoking asn1Coding7328
2949
+ Node: Invoking asn1Decoding8042
2950
+ Node: Function reference8603
2951
+ Node: ASN.1 schema functions8887
2952
+ Ref: asn1_parser2tree9086
2953
+ Ref: asn1_parser2array10128
2954
+ Node: ASN.1 field functions11368
2955
+ Ref: asn1_array2tree11585
2956
+ Ref: asn1_delete_structure12445
2957
+ Ref: asn1_delete_element12840
2958
+ Ref: asn1_create_element13316
2959
+ Ref: asn1_print_structure13973
2960
+ Ref: asn1_number_of_elements14596
2961
+ Ref: asn1_find_structure_from_oid15195
2962
+ Ref: asn1_copy_node15668
2963
+ Ref: asn1_write_value16100
2964
+ Ref: asn1_read_value20165
2965
+ Ref: asn1_read_tag22629
2966
+ Node: DER functions23300
2967
+ Ref: asn1_length_der23503
2968
+ Ref: asn1_octet_der23925
2969
+ Ref: asn1_bit_der24324
2970
+ Ref: asn1_der_coding24739
2971
+ Ref: asn1_get_length_der25664
2972
+ Ref: asn1_get_tag_der26123
2973
+ Ref: asn1_get_octet_der26669
2974
+ Ref: asn1_get_bit_der27367
2975
+ Ref: asn1_der_decoding28048
2976
+ Ref: asn1_der_decoding_element28970
2977
+ Ref: asn1_der_decoding_startEnd30128
2978
+ Ref: asn1_expand_any_defined_by31380
2979
+ Ref: asn1_expand_octet_string32189
2980
+ Node: Error handling functions33136
2981
+ Ref: libtasn1_perror33360
2982
+ Ref: libtasn1_strerror33637
2983
+ Node: Auxilliary functions33990
2984
+ Ref: asn1_find_node34182
2985
+ Ref: asn1_check_version34762
2986
+ Node: Copying Information35376
2987
+ Node: GNU Free Documentation License35755
2988
+ Node: GNU LGPL58172
2989
+ Node: GNU GPL86349
2990
+ Node: Concept Index123895
2991
+ Node: Function and Data Index125293
2992
+ 
2993
+ End Tag Table