rhodes 3.3.5 → 3.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1678) hide show
  1. data/CHANGELOG +3 -1
  2. data/CREDITS +5 -0
  3. data/Rakefile +173 -17
  4. data/doc/build.txt +71 -27
  5. data/doc/configuration.txt +2 -0
  6. data/doc/device-caps.txt +103 -27
  7. data/doc/extensions.txt +49 -33
  8. data/doc/install.txt +15 -12
  9. data/doc/introduction.txt +1 -1
  10. data/doc/nfc.txt +3 -2
  11. data/doc/rhom.txt +22 -1
  12. data/doc/{rhostudio-eclipse.txt → rhostudio-eclipse_outdated.txt} +0 -0
  13. data/doc/rhostudio-test-plan.txt +79 -22
  14. data/doc/simulator.txt +19 -52
  15. data/doc/standard-css.txt +1 -1
  16. data/doc/synchronization.txt +2 -0
  17. data/doc/test-log-debug.txt +149 -1
  18. data/doc/ui.txt +57 -0
  19. data/lib/build/jake.rb +33 -22
  20. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +4 -10
  21. data/lib/extensions/debugger/debugger.rb +18 -5
  22. data/lib/extensions/digest-md5/digest/md5.rb +0 -0
  23. data/lib/extensions/digest-md5/ext/iphone/Dmd5.xcodeproj/project.pbxproj +4 -10
  24. data/lib/extensions/digest-sha1/digest/sha1.rb +0 -0
  25. data/lib/extensions/digest-sha1/ext/iphone/Dsha1.xcodeproj/project.pbxproj +4 -10
  26. data/lib/extensions/digest-sha2/digest/sha2.rb +0 -0
  27. data/lib/extensions/digest-sha2/ext.yml +2 -0
  28. data/lib/extensions/digest-sha2/ext/Rakefile +128 -0
  29. data/lib/extensions/digest-sha2/ext/build +12 -0
  30. data/lib/extensions/digest-sha2/ext/build.bat +1 -0
  31. data/lib/extensions/digest-sha2/ext/depend +6 -0
  32. data/lib/extensions/digest-sha2/ext/digest-sha2.sln +44 -0
  33. data/lib/extensions/digest-sha2/ext/digest-sha2.vcproj +666 -0
  34. data/lib/extensions/digest-sha2/ext/extconf.rb +27 -0
  35. data/lib/extensions/digest-sha2/ext/iphone/Dsha2.xcodeproj/project.pbxproj +272 -0
  36. data/lib/extensions/digest-sha2/ext/iphone/Dsha2_Prefix.pch +7 -0
  37. data/lib/extensions/digest-sha2/ext/iphone/Rakefile +79 -0
  38. data/lib/extensions/digest-sha2/ext/sha2.c +1070 -0
  39. data/lib/extensions/digest-sha2/ext/sha2.h +225 -0
  40. data/lib/extensions/digest-sha2/ext/sha2.rb +1 -0
  41. data/lib/extensions/digest-sha2/ext/sha2init.c +56 -0
  42. data/lib/extensions/digest-sha2/ext/sha2ossl.c +11 -0
  43. data/lib/extensions/digest-sha2/ext/sha2ossl.h +17 -0
  44. data/lib/extensions/digest-sha2/sha2/sha2.rb +74 -0
  45. data/lib/extensions/digest/digest.so.rb +0 -0
  46. data/lib/extensions/digest/ext/iphone/Digest.xcodeproj/project.pbxproj +4 -10
  47. data/lib/extensions/esri/ext/esri/platform/iphone/ESRI.xcodeproj/project.pbxproj +4 -10
  48. data/lib/extensions/ezcrypto/ext/CHANGELOG +85 -0
  49. data/lib/extensions/ezcrypto/ext/MIT-LICENSE +21 -0
  50. data/lib/extensions/ezcrypto/ext/README.rdoc +152 -0
  51. data/lib/extensions/ezcrypto/ext/README_ACTIVE_CRYPTO +122 -0
  52. data/lib/extensions/ezcrypto/ext/README_DIGITAL_SIGNATURES +55 -0
  53. data/lib/extensions/ezcrypto/ext/rakefile +200 -0
  54. data/lib/extensions/ezcrypto/ext/test/active_crypto_test.rb +211 -0
  55. data/lib/extensions/ezcrypto/ext/test/agree2.com.cert +31 -0
  56. data/lib/extensions/ezcrypto/ext/test/association_key_holder_test.rb +38 -0
  57. data/lib/extensions/ezcrypto/ext/test/database.yml +18 -0
  58. data/lib/extensions/ezcrypto/ext/test/digest_test.rb +51 -0
  59. data/lib/extensions/ezcrypto/ext/test/dsakey.pem +12 -0
  60. data/lib/extensions/ezcrypto/ext/test/dsapubkey.pem +12 -0
  61. data/lib/extensions/ezcrypto/ext/test/dsig_test.rb +288 -0
  62. data/lib/extensions/ezcrypto/ext/test/encrypt_test.rb +41 -0
  63. data/lib/extensions/ezcrypto/ext/test/ezcrypto_test.rb +212 -0
  64. data/lib/extensions/ezcrypto/ext/test/key_holder_test.rb +44 -0
  65. data/lib/extensions/ezcrypto/ext/test/protectedsigner.pem +12 -0
  66. data/lib/extensions/ezcrypto/ext/test/sf-class2-root.crt +24 -0
  67. data/lib/extensions/ezcrypto/ext/test/sf_intermediate.crt +29 -0
  68. data/lib/extensions/ezcrypto/ext/test/test_helper.rb +35 -0
  69. data/lib/extensions/ezcrypto/ext/test/testchild.pem +15 -0
  70. data/lib/extensions/ezcrypto/ext/test/testchild.req +12 -0
  71. data/lib/extensions/ezcrypto/ext/test/testpub.pem +4 -0
  72. data/lib/extensions/ezcrypto/ext/test/testsigner.cert +20 -0
  73. data/lib/extensions/ezcrypto/ext/test/testsigner.pem +9 -0
  74. data/lib/extensions/ezcrypto/ext/test/valicert_class2_root.crt +18 -0
  75. data/lib/extensions/ezcrypto/ezcrypto.rb +1 -0
  76. data/lib/extensions/ezcrypto/ezcrypto/ezcrypto.rb +612 -0
  77. data/lib/extensions/ezcrypto/ezcrypto/ezsig.rb +535 -0
  78. data/lib/extensions/ezcrypto/ezcrypto/trusted.pem +2363 -0
  79. data/lib/extensions/fcntl/ext/iphone/Fcntl.xcodeproj/project.pbxproj +4 -10
  80. data/lib/extensions/fcntl/fcntl.rb +0 -0
  81. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/Nfc.java +9 -22
  82. data/lib/extensions/openssl.so.src/ext.yml +2 -0
  83. data/lib/extensions/openssl.so.src/ext/Rakefile +107 -0
  84. data/lib/extensions/openssl.so.src/ext/build +12 -0
  85. data/lib/extensions/openssl.so.src/ext/build.bat +1 -0
  86. data/lib/extensions/openssl.so/ext.yml +9 -0
  87. data/lib/extensions/openssl.so/ext/Rakefile +139 -0
  88. data/lib/extensions/openssl.so/ext/android/libopenssl.so.a +0 -0
  89. data/lib/extensions/openssl.so/ext/build +12 -0
  90. data/lib/extensions/openssl.so/ext/build.bat +1 -0
  91. data/lib/extensions/openssl.so/ext/iphone/Rakefile +79 -0
  92. data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
  93. data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
  94. data/lib/extensions/openssl.so/ext/iphone/openssl/openssl.xcodeproj/project.pbxproj +4300 -0
  95. data/lib/extensions/openssl.so/ext/iphone/openssl/openssl/openssl-Prefix.pch +7 -0
  96. data/lib/extensions/openssl.so/ext/sources/apps/apps.h +373 -0
  97. data/lib/extensions/openssl.so/ext/sources/apps/progs.h +366 -0
  98. data/lib/extensions/openssl.so/ext/sources/apps/s_apps.h +176 -0
  99. data/lib/extensions/openssl.so/ext/sources/apps/testdsa.h +217 -0
  100. data/lib/extensions/openssl.so/ext/sources/apps/testrsa.h +518 -0
  101. data/lib/extensions/openssl.so/ext/sources/crypto/LPdir_unix.c +127 -0
  102. data/lib/extensions/openssl.so/ext/sources/crypto/LPdir_win.c +153 -0
  103. data/lib/extensions/openssl.so/ext/sources/crypto/LPdir_win32.c +30 -0
  104. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes.h +147 -0
  105. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_cbc.c +63 -0
  106. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_cfb.c +81 -0
  107. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_core.c +1358 -0
  108. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_ctr.c +61 -0
  109. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_ecb.c +73 -0
  110. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_ige.c +323 -0
  111. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_locl.h +89 -0
  112. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_misc.c +85 -0
  113. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_ofb.c +60 -0
  114. data/lib/extensions/openssl.so/ext/sources/crypto/aes/aes_wrap.c +259 -0
  115. data/lib/extensions/openssl.so/ext/sources/crypto/arm_arch.h +51 -0
  116. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_bitstr.c +248 -0
  117. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_bool.c +114 -0
  118. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_bytes.c +314 -0
  119. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_d2i_fp.c +286 -0
  120. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_digest.c +113 -0
  121. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_dup.c +109 -0
  122. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_enum.c +182 -0
  123. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_gentm.c +263 -0
  124. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_i2d_fp.c +163 -0
  125. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_int.c +458 -0
  126. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_mbstr.c +400 -0
  127. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_object.c +403 -0
  128. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_octet.c +71 -0
  129. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_print.c +127 -0
  130. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_set.c +241 -0
  131. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_sign.c +333 -0
  132. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_strex.c +574 -0
  133. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_strnid.c +290 -0
  134. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_time.c +198 -0
  135. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_type.c +159 -0
  136. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_utctm.c +318 -0
  137. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_utf8.c +211 -0
  138. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/a_verify.c +228 -0
  139. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/ameth_lib.c +460 -0
  140. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1.h +1404 -0
  141. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_err.c +332 -0
  142. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_gen.c +854 -0
  143. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_lib.c +482 -0
  144. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_locl.h +145 -0
  145. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_mac.h +578 -0
  146. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1_par.c +437 -0
  147. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn1t.h +960 -0
  148. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn_mime.c +951 -0
  149. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn_moid.c +160 -0
  150. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/asn_pack.c +191 -0
  151. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/bio_asn1.c +495 -0
  152. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/bio_ndef.c +243 -0
  153. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/charmap.h +15 -0
  154. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/d2i_pr.c +170 -0
  155. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/d2i_pu.c +139 -0
  156. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/evp_asn1.c +189 -0
  157. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/f_enum.c +207 -0
  158. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/f_int.c +219 -0
  159. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/f_string.c +212 -0
  160. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/i2d_pr.c +80 -0
  161. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/i2d_pu.c +95 -0
  162. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/n_pkey.c +357 -0
  163. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/nsseq.c +83 -0
  164. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/p5_pbe.c +148 -0
  165. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/p5_pbev2.c +280 -0
  166. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/p8_pkey.c +155 -0
  167. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_bitst.c +102 -0
  168. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_crl.c +132 -0
  169. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_pkey.c +114 -0
  170. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_req.c +266 -0
  171. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_spki.c +107 -0
  172. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_x509.c +528 -0
  173. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/t_x509a.c +110 -0
  174. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_dec.c +1347 -0
  175. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_enc.c +691 -0
  176. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_fre.c +266 -0
  177. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_new.c +396 -0
  178. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_prn.c +627 -0
  179. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_typ.c +148 -0
  180. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/tasn_utl.c +279 -0
  181. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_algor.c +144 -0
  182. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_attrib.c +118 -0
  183. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_bignum.c +139 -0
  184. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_crl.c +527 -0
  185. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_exten.c +76 -0
  186. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_info.c +114 -0
  187. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_long.c +179 -0
  188. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_name.c +519 -0
  189. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_nx509.c +72 -0
  190. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_pkey.c +151 -0
  191. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_pubkey.c +382 -0
  192. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_req.c +113 -0
  193. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_sig.c +69 -0
  194. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_spki.c +81 -0
  195. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_val.c +69 -0
  196. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_x509.c +194 -0
  197. data/lib/extensions/openssl.so/ext/sources/crypto/asn1/x_x509a.c +180 -0
  198. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_cfb64.c +121 -0
  199. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_ecb.c +96 -0
  200. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_enc.c +306 -0
  201. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_locl.h +219 -0
  202. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_ofb64.c +110 -0
  203. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_pi.h +325 -0
  204. data/lib/extensions/openssl.so/ext/sources/crypto/bf/bf_skey.c +124 -0
  205. data/lib/extensions/openssl.so/ext/sources/crypto/bf/blowfish.h +129 -0
  206. data/lib/extensions/openssl.so/ext/sources/crypto/bio/b_dump.c +187 -0
  207. data/lib/extensions/openssl.so/ext/sources/crypto/bio/b_print.c +842 -0
  208. data/lib/extensions/openssl.so/ext/sources/crypto/bio/b_sock.c +975 -0
  209. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bf_buff.c +512 -0
  210. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bf_nbio.c +253 -0
  211. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bf_null.c +183 -0
  212. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bio.h +847 -0
  213. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bio_cb.c +143 -0
  214. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bio_err.c +155 -0
  215. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bio_lcl.h +36 -0
  216. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bio_lib.c +602 -0
  217. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_acpt.c +478 -0
  218. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_bio.c +924 -0
  219. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_conn.c +652 -0
  220. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_dgram.c +1832 -0
  221. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_fd.c +319 -0
  222. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_file.c +477 -0
  223. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_log.c +399 -0
  224. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_mem.c +319 -0
  225. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_null.c +150 -0
  226. data/lib/extensions/openssl.so/ext/sources/crypto/bio/bss_sock.c +294 -0
  227. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn.h +891 -0
  228. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_add.c +313 -0
  229. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_asm.c +1030 -0
  230. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_blind.c +385 -0
  231. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_const.c +402 -0
  232. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_ctx.c +454 -0
  233. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_depr.c +112 -0
  234. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_div.c +446 -0
  235. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_err.c +150 -0
  236. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_exp.c +1097 -0
  237. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_exp2.c +312 -0
  238. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_gcd.c +654 -0
  239. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_gf2m.c +1113 -0
  240. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_kron.c +184 -0
  241. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_lcl.h +508 -0
  242. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_lib.c +826 -0
  243. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_mod.c +301 -0
  244. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_mont.c +509 -0
  245. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_mpi.c +130 -0
  246. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_mul.c +1166 -0
  247. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_nist.c +1102 -0
  248. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_prime.c +494 -0
  249. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_prime.h +327 -0
  250. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_print.c +378 -0
  251. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_rand.c +305 -0
  252. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_recp.c +234 -0
  253. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_shift.c +223 -0
  254. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_sqr.c +294 -0
  255. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_sqrt.c +393 -0
  256. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_word.c +247 -0
  257. data/lib/extensions/openssl.so/ext/sources/crypto/bn/bn_x931p.c +272 -0
  258. data/lib/extensions/openssl.so/ext/sources/crypto/buffer/buf_err.c +99 -0
  259. data/lib/extensions/openssl.so/ext/sources/crypto/buffer/buf_str.c +119 -0
  260. data/lib/extensions/openssl.so/ext/sources/crypto/buffer/buffer.c +203 -0
  261. data/lib/extensions/openssl.so/ext/sources/crypto/buffer/buffer.h +119 -0
  262. data/lib/extensions/openssl.so/ext/sources/crypto/buildinf.h +12 -0
  263. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/camellia.c +582 -0
  264. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/camellia.h +130 -0
  265. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_cbc.c +64 -0
  266. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_cfb.c +139 -0
  267. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_ctr.c +64 -0
  268. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_ecb.c +74 -0
  269. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_locl.h +86 -0
  270. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_misc.c +80 -0
  271. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_ofb.c +119 -0
  272. data/lib/extensions/openssl.so/ext/sources/crypto/camellia/cmll_utl.c +64 -0
  273. data/lib/extensions/openssl.so/ext/sources/crypto/cast/c_cfb64.c +121 -0
  274. data/lib/extensions/openssl.so/ext/sources/crypto/cast/c_ecb.c +79 -0
  275. data/lib/extensions/openssl.so/ext/sources/crypto/cast/c_enc.c +208 -0
  276. data/lib/extensions/openssl.so/ext/sources/crypto/cast/c_ofb64.c +110 -0
  277. data/lib/extensions/openssl.so/ext/sources/crypto/cast/c_skey.c +173 -0
  278. data/lib/extensions/openssl.so/ext/sources/crypto/cast/cast.h +107 -0
  279. data/lib/extensions/openssl.so/ext/sources/crypto/cast/cast_lcl.h +227 -0
  280. data/lib/extensions/openssl.so/ext/sources/crypto/cast/cast_s.h +585 -0
  281. data/lib/extensions/openssl.so/ext/sources/crypto/cmac/cm_ameth.c +97 -0
  282. data/lib/extensions/openssl.so/ext/sources/crypto/cmac/cm_pmeth.c +224 -0
  283. data/lib/extensions/openssl.so/ext/sources/crypto/cmac/cmac.c +308 -0
  284. data/lib/extensions/openssl.so/ext/sources/crypto/cmac/cmac.h +82 -0
  285. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms.h +501 -0
  286. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_asn1.c +389 -0
  287. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_att.c +195 -0
  288. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_cd.c +134 -0
  289. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_dd.c +148 -0
  290. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_enc.c +294 -0
  291. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_env.c +876 -0
  292. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_err.c +245 -0
  293. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_ess.c +420 -0
  294. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_io.c +133 -0
  295. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_lcl.h +473 -0
  296. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_lib.c +626 -0
  297. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_pwri.c +454 -0
  298. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_sd.c +985 -0
  299. data/lib/extensions/openssl.so/ext/sources/crypto/cms/cms_smime.c +850 -0
  300. data/lib/extensions/openssl.so/ext/sources/crypto/comp/c_rle.c +61 -0
  301. data/lib/extensions/openssl.so/ext/sources/crypto/comp/c_zlib.c +799 -0
  302. data/lib/extensions/openssl.so/ext/sources/crypto/comp/comp.h +80 -0
  303. data/lib/extensions/openssl.so/ext/sources/crypto/comp/comp_err.c +100 -0
  304. data/lib/extensions/openssl.so/ext/sources/crypto/comp/comp_lib.c +72 -0
  305. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf.h +263 -0
  306. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_api.c +301 -0
  307. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_api.h +89 -0
  308. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_def.c +740 -0
  309. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_def.h +180 -0
  310. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_err.c +131 -0
  311. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_lib.c +407 -0
  312. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_mall.c +80 -0
  313. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_mod.c +623 -0
  314. data/lib/extensions/openssl.so/ext/sources/crypto/conf/conf_sap.c +111 -0
  315. data/lib/extensions/openssl.so/ext/sources/crypto/cpt_err.c +105 -0
  316. data/lib/extensions/openssl.so/ext/sources/crypto/cryptlib.c +926 -0
  317. data/lib/extensions/openssl.so/ext/sources/crypto/cryptlib.h +111 -0
  318. data/lib/extensions/openssl.so/ext/sources/crypto/crypto.h +604 -0
  319. data/lib/extensions/openssl.so/ext/sources/crypto/cversion.c +117 -0
  320. data/lib/extensions/openssl.so/ext/sources/crypto/des/cbc_cksm.c +106 -0
  321. data/lib/extensions/openssl.so/ext/sources/crypto/des/cbc_enc.c +61 -0
  322. data/lib/extensions/openssl.so/ext/sources/crypto/des/cfb64ede.c +254 -0
  323. data/lib/extensions/openssl.so/ext/sources/crypto/des/cfb64enc.c +121 -0
  324. data/lib/extensions/openssl.so/ext/sources/crypto/des/cfb_enc.c +195 -0
  325. data/lib/extensions/openssl.so/ext/sources/crypto/des/des.h +248 -0
  326. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_enc.c +400 -0
  327. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_locl.h +432 -0
  328. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_old.c +273 -0
  329. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_old.h +446 -0
  330. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_old2.c +82 -0
  331. data/lib/extensions/openssl.so/ext/sources/crypto/des/des_ver.h +71 -0
  332. data/lib/extensions/openssl.so/ext/sources/crypto/des/ecb3_enc.c +83 -0
  333. data/lib/extensions/openssl.so/ext/sources/crypto/des/ecb_enc.c +122 -0
  334. data/lib/extensions/openssl.so/ext/sources/crypto/des/ede_cbcm_enc.c +199 -0
  335. data/lib/extensions/openssl.so/ext/sources/crypto/des/enc_read.c +240 -0
  336. data/lib/extensions/openssl.so/ext/sources/crypto/des/enc_writ.c +179 -0
  337. data/lib/extensions/openssl.so/ext/sources/crypto/des/fcrypt.c +170 -0
  338. data/lib/extensions/openssl.so/ext/sources/crypto/des/fcrypt_b.c +143 -0
  339. data/lib/extensions/openssl.so/ext/sources/crypto/des/ncbc_enc.c +148 -0
  340. data/lib/extensions/openssl.so/ext/sources/crypto/des/ofb64ede.c +125 -0
  341. data/lib/extensions/openssl.so/ext/sources/crypto/des/ofb64enc.c +110 -0
  342. data/lib/extensions/openssl.so/ext/sources/crypto/des/ofb_enc.c +135 -0
  343. data/lib/extensions/openssl.so/ext/sources/crypto/des/pcbc_enc.c +123 -0
  344. data/lib/extensions/openssl.so/ext/sources/crypto/des/qud_cksm.c +139 -0
  345. data/lib/extensions/openssl.so/ext/sources/crypto/des/rand_key.c +68 -0
  346. data/lib/extensions/openssl.so/ext/sources/crypto/des/read2pwd.c +140 -0
  347. data/lib/extensions/openssl.so/ext/sources/crypto/des/rpc_des.h +131 -0
  348. data/lib/extensions/openssl.so/ext/sources/crypto/des/rpc_enc.c +98 -0
  349. data/lib/extensions/openssl.so/ext/sources/crypto/des/set_key.c +416 -0
  350. data/lib/extensions/openssl.so/ext/sources/crypto/des/spr.h +204 -0
  351. data/lib/extensions/openssl.so/ext/sources/crypto/des/str2key.c +174 -0
  352. data/lib/extensions/openssl.so/ext/sources/crypto/des/xcbc_enc.c +197 -0
  353. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh.h +280 -0
  354. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_ameth.c +501 -0
  355. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_asn1.c +93 -0
  356. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_check.c +142 -0
  357. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_depr.c +83 -0
  358. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_err.c +122 -0
  359. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_gen.c +192 -0
  360. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_key.c +292 -0
  361. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_lib.c +260 -0
  362. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_pmeth.c +254 -0
  363. data/lib/extensions/openssl.so/ext/sources/crypto/dh/dh_prn.c +80 -0
  364. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa.h +327 -0
  365. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_ameth.c +704 -0
  366. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_asn1.c +188 -0
  367. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_depr.c +106 -0
  368. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_err.c +130 -0
  369. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_gen.c +371 -0
  370. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_key.c +144 -0
  371. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_lib.c +329 -0
  372. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_locl.h +60 -0
  373. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_ossl.c +412 -0
  374. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_pmeth.c +318 -0
  375. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_prn.c +121 -0
  376. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_sign.c +114 -0
  377. data/lib/extensions/openssl.so/ext/sources/crypto/dsa/dsa_vrf.c +76 -0
  378. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso.h +409 -0
  379. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_beos.c +270 -0
  380. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_dl.c +393 -0
  381. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_dlfcn.c +484 -0
  382. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_err.c +159 -0
  383. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_lib.c +483 -0
  384. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_null.c +90 -0
  385. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_openssl.c +83 -0
  386. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_vms.c +525 -0
  387. data/lib/extensions/openssl.so/ext/sources/crypto/dso/dso_win32.c +844 -0
  388. data/lib/extensions/openssl.so/ext/sources/crypto/ebcdic.c +221 -0
  389. data/lib/extensions/openssl.so/ext/sources/crypto/ebcdic.h +19 -0
  390. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec.h +1159 -0
  391. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec2_mult.c +390 -0
  392. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec2_oct.c +407 -0
  393. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec2_smpl.c +719 -0
  394. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_ameth.c +660 -0
  395. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_asn1.c +1447 -0
  396. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_check.c +123 -0
  397. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_curve.c +2100 -0
  398. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_cvt.c +170 -0
  399. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_err.c +276 -0
  400. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_key.c +563 -0
  401. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_lcl.h +446 -0
  402. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_lib.c +1096 -0
  403. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_mult.c +940 -0
  404. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_oct.c +199 -0
  405. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_pmeth.c +341 -0
  406. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ec_print.c +195 -0
  407. data/lib/extensions/openssl.so/ext/sources/crypto/ec/eck_prn.c +392 -0
  408. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_mont.c +323 -0
  409. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_nist.c +217 -0
  410. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_nistp224.c +1658 -0
  411. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_nistp256.c +2171 -0
  412. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_nistp521.c +2025 -0
  413. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_nistputil.c +197 -0
  414. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_oct.c +433 -0
  415. data/lib/extensions/openssl.so/ext/sources/crypto/ec/ecp_smpl.c +1360 -0
  416. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ecdh.h +125 -0
  417. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ech_err.c +100 -0
  418. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ech_key.c +83 -0
  419. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ech_lib.c +266 -0
  420. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ech_locl.h +102 -0
  421. data/lib/extensions/openssl.so/ext/sources/crypto/ecdh/ech_ossl.c +215 -0
  422. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecdsa.h +260 -0
  423. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_asn1.c +69 -0
  424. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_err.c +106 -0
  425. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_lib.c +278 -0
  426. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_locl.h +115 -0
  427. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_ossl.c +483 -0
  428. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_sign.c +106 -0
  429. data/lib/extensions/openssl.so/ext/sources/crypto/ecdsa/ecs_vrf.c +96 -0
  430. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_all.c +135 -0
  431. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_cnf.c +259 -0
  432. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_cryptodev.c +1450 -0
  433. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_ctrl.c +389 -0
  434. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_dyn.c +548 -0
  435. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_err.c +173 -0
  436. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_fat.c +182 -0
  437. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_init.c +154 -0
  438. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_int.h +206 -0
  439. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_lib.c +332 -0
  440. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_list.c +433 -0
  441. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_openssl.c +384 -0
  442. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_pkey.c +196 -0
  443. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_rdrand.c +142 -0
  444. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_rsax.c +668 -0
  445. data/lib/extensions/openssl.so/ext/sources/crypto/engine/eng_table.c +351 -0
  446. data/lib/extensions/openssl.so/ext/sources/crypto/engine/engine.h +842 -0
  447. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_asnmth.c +246 -0
  448. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_cipher.c +143 -0
  449. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_dh.c +118 -0
  450. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_digest.c +143 -0
  451. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_dsa.c +118 -0
  452. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_ecdh.c +133 -0
  453. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_ecdsa.c +118 -0
  454. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_pkmeth.c +167 -0
  455. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_rand.c +118 -0
  456. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_rsa.c +118 -0
  457. data/lib/extensions/openssl.so/ext/sources/crypto/engine/tb_store.c +123 -0
  458. data/lib/extensions/openssl.so/ext/sources/crypto/err/err.c +1138 -0
  459. data/lib/extensions/openssl.so/ext/sources/crypto/err/err.h +386 -0
  460. data/lib/extensions/openssl.so/ext/sources/crypto/err/err_all.c +167 -0
  461. data/lib/extensions/openssl.so/ext/sources/crypto/err/err_prn.c +114 -0
  462. data/lib/extensions/openssl.so/ext/sources/crypto/evp/bio_b64.c +598 -0
  463. data/lib/extensions/openssl.so/ext/sources/crypto/evp/bio_enc.c +428 -0
  464. data/lib/extensions/openssl.so/ext/sources/crypto/evp/bio_md.c +275 -0
  465. data/lib/extensions/openssl.so/ext/sources/crypto/evp/bio_ok.c +624 -0
  466. data/lib/extensions/openssl.so/ext/sources/crypto/evp/c_all.c +90 -0
  467. data/lib/extensions/openssl.so/ext/sources/crypto/evp/c_allc.c +230 -0
  468. data/lib/extensions/openssl.so/ext/sources/crypto/evp/c_alld.c +114 -0
  469. data/lib/extensions/openssl.so/ext/sources/crypto/evp/digest.c +403 -0
  470. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_aes.c +1313 -0
  471. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_aes_cbc_hmac_sha1.c +406 -0
  472. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_bf.c +88 -0
  473. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_camellia.c +131 -0
  474. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_cast.c +90 -0
  475. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_des.c +224 -0
  476. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_des3.c +316 -0
  477. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_idea.c +118 -0
  478. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_null.c +104 -0
  479. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_old.c +125 -0
  480. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_rc2.c +238 -0
  481. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_rc4.c +137 -0
  482. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_rc4_hmac_md5.c +298 -0
  483. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_rc5.c +126 -0
  484. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_seed.c +83 -0
  485. data/lib/extensions/openssl.so/ext/sources/crypto/evp/e_xcbc_d.c +138 -0
  486. data/lib/extensions/openssl.so/ext/sources/crypto/evp/encode.c +445 -0
  487. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp.h +1402 -0
  488. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_acnf.c +73 -0
  489. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_enc.c +681 -0
  490. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_err.c +234 -0
  491. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_fips.c +113 -0
  492. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_key.c +189 -0
  493. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_lib.c +316 -0
  494. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_locl.h +385 -0
  495. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_pbe.c +316 -0
  496. data/lib/extensions/openssl.so/ext/sources/crypto/evp/evp_pkey.c +242 -0
  497. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_dss.c +101 -0
  498. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_dss1.c +103 -0
  499. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_ecdsa.c +151 -0
  500. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_md4.c +103 -0
  501. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_md5.c +102 -0
  502. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_mdc2.c +103 -0
  503. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_null.c +95 -0
  504. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_ripemd.c +102 -0
  505. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_sha.c +101 -0
  506. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_sha1.c +209 -0
  507. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_sigver.c +200 -0
  508. data/lib/extensions/openssl.so/ext/sources/crypto/evp/m_wp.c +43 -0
  509. data/lib/extensions/openssl.so/ext/sources/crypto/evp/names.c +206 -0
  510. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p5_crpt.c +143 -0
  511. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p5_crpt2.c +322 -0
  512. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_dec.c +87 -0
  513. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_enc.c +86 -0
  514. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_lib.c +469 -0
  515. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_open.c +128 -0
  516. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_seal.c +116 -0
  517. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_sign.c +139 -0
  518. data/lib/extensions/openssl.so/ext/sources/crypto/evp/p_verify.c +121 -0
  519. data/lib/extensions/openssl.so/ext/sources/crypto/evp/pmeth_fn.c +368 -0
  520. data/lib/extensions/openssl.so/ext/sources/crypto/evp/pmeth_gn.c +221 -0
  521. data/lib/extensions/openssl.so/ext/sources/crypto/evp/pmeth_lib.c +593 -0
  522. data/lib/extensions/openssl.so/ext/sources/crypto/ex_data.c +636 -0
  523. data/lib/extensions/openssl.so/ext/sources/crypto/fips_err.h +209 -0
  524. data/lib/extensions/openssl.so/ext/sources/crypto/fips_ers.c +7 -0
  525. data/lib/extensions/openssl.so/ext/sources/crypto/hmac/hm_ameth.c +167 -0
  526. data/lib/extensions/openssl.so/ext/sources/crypto/hmac/hm_pmeth.c +271 -0
  527. data/lib/extensions/openssl.so/ext/sources/crypto/hmac/hmac.c +251 -0
  528. data/lib/extensions/openssl.so/ext/sources/crypto/hmac/hmac.h +110 -0
  529. data/lib/extensions/openssl.so/ext/sources/crypto/idea/i_cbc.c +168 -0
  530. data/lib/extensions/openssl.so/ext/sources/crypto/idea/i_cfb64.c +122 -0
  531. data/lib/extensions/openssl.so/ext/sources/crypto/idea/i_ecb.c +85 -0
  532. data/lib/extensions/openssl.so/ext/sources/crypto/idea/i_ofb64.c +111 -0
  533. data/lib/extensions/openssl.so/ext/sources/crypto/idea/i_skey.c +164 -0
  534. data/lib/extensions/openssl.so/ext/sources/crypto/idea/idea.h +103 -0
  535. data/lib/extensions/openssl.so/ext/sources/crypto/idea/idea_lcl.h +215 -0
  536. data/lib/extensions/openssl.so/ext/sources/crypto/krb5/krb5_asn.c +167 -0
  537. data/lib/extensions/openssl.so/ext/sources/crypto/krb5/krb5_asn.h +256 -0
  538. data/lib/extensions/openssl.so/ext/sources/crypto/lhash/lh_stats.c +248 -0
  539. data/lib/extensions/openssl.so/ext/sources/crypto/lhash/lhash.c +475 -0
  540. data/lib/extensions/openssl.so/ext/sources/crypto/lhash/lhash.h +241 -0
  541. data/lib/extensions/openssl.so/ext/sources/crypto/md32_common.h +415 -0
  542. data/lib/extensions/openssl.so/ext/sources/crypto/md4/md4.h +120 -0
  543. data/lib/extensions/openssl.so/ext/sources/crypto/md4/md4_dgst.c +168 -0
  544. data/lib/extensions/openssl.so/ext/sources/crypto/md4/md4_locl.h +112 -0
  545. data/lib/extensions/openssl.so/ext/sources/crypto/md4/md4_one.c +97 -0
  546. data/lib/extensions/openssl.so/ext/sources/crypto/md5/md5.h +120 -0
  547. data/lib/extensions/openssl.so/ext/sources/crypto/md5/md5_dgst.c +185 -0
  548. data/lib/extensions/openssl.so/ext/sources/crypto/md5/md5_locl.h +130 -0
  549. data/lib/extensions/openssl.so/ext/sources/crypto/md5/md5_one.c +97 -0
  550. data/lib/extensions/openssl.so/ext/sources/crypto/mdc2/mdc2.h +98 -0
  551. data/lib/extensions/openssl.so/ext/sources/crypto/mdc2/mdc2_one.c +76 -0
  552. data/lib/extensions/openssl.so/ext/sources/crypto/mdc2/mdc2dgst.c +200 -0
  553. data/lib/extensions/openssl.so/ext/sources/crypto/mem.c +420 -0
  554. data/lib/extensions/openssl.so/ext/sources/crypto/mem_clr.c +77 -0
  555. data/lib/extensions/openssl.so/ext/sources/crypto/mem_dbg.c +874 -0
  556. data/lib/extensions/openssl.so/ext/sources/crypto/modes/cbc128.c +202 -0
  557. data/lib/extensions/openssl.so/ext/sources/crypto/modes/ccm128.c +441 -0
  558. data/lib/extensions/openssl.so/ext/sources/crypto/modes/cfb128.c +242 -0
  559. data/lib/extensions/openssl.so/ext/sources/crypto/modes/ctr128.c +252 -0
  560. data/lib/extensions/openssl.so/ext/sources/crypto/modes/cts128.c +465 -0
  561. data/lib/extensions/openssl.so/ext/sources/crypto/modes/gcm128.c +1757 -0
  562. data/lib/extensions/openssl.so/ext/sources/crypto/modes/modes.h +135 -0
  563. data/lib/extensions/openssl.so/ext/sources/crypto/modes/modes_lcl.h +131 -0
  564. data/lib/extensions/openssl.so/ext/sources/crypto/modes/ofb128.c +121 -0
  565. data/lib/extensions/openssl.so/ext/sources/crypto/modes/xts128.c +187 -0
  566. data/lib/extensions/openssl.so/ext/sources/crypto/o_dir.c +83 -0
  567. data/lib/extensions/openssl.so/ext/sources/crypto/o_dir.h +53 -0
  568. data/lib/extensions/openssl.so/ext/sources/crypto/o_fips.c +96 -0
  569. data/lib/extensions/openssl.so/ext/sources/crypto/o_init.c +82 -0
  570. data/lib/extensions/openssl.so/ext/sources/crypto/o_str.c +111 -0
  571. data/lib/extensions/openssl.so/ext/sources/crypto/o_str.h +68 -0
  572. data/lib/extensions/openssl.so/ext/sources/crypto/o_time.c +372 -0
  573. data/lib/extensions/openssl.so/ext/sources/crypto/o_time.h +67 -0
  574. data/lib/extensions/openssl.so/ext/sources/crypto/objects/o_names.c +372 -0
  575. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_dat.c +810 -0
  576. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_dat.h +5102 -0
  577. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_err.c +102 -0
  578. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_lib.c +129 -0
  579. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_mac.h +4032 -0
  580. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_xref.c +234 -0
  581. data/lib/extensions/openssl.so/ext/sources/crypto/objects/obj_xref.h +77 -0
  582. data/lib/extensions/openssl.so/ext/sources/crypto/objects/objects.h +1138 -0
  583. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp.h +623 -0
  584. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_asn.c +182 -0
  585. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_cl.c +371 -0
  586. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_err.c +142 -0
  587. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_ext.c +518 -0
  588. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_ht.c +504 -0
  589. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_lib.c +266 -0
  590. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_prn.c +290 -0
  591. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_srv.c +264 -0
  592. data/lib/extensions/openssl.so/ext/sources/crypto/ocsp/ocsp_vfy.c +446 -0
  593. data/lib/extensions/openssl.so/ext/sources/crypto/opensslconf.h +230 -0
  594. data/lib/extensions/openssl.so/ext/sources/crypto/opensslconf.h.in +154 -0
  595. data/lib/extensions/openssl.so/ext/sources/crypto/opensslv.h +89 -0
  596. data/lib/extensions/openssl.so/ext/sources/crypto/ossl_typ.h +202 -0
  597. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem.h +641 -0
  598. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem2.h +70 -0
  599. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_all.c +296 -0
  600. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_err.c +161 -0
  601. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_info.c +405 -0
  602. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_lib.c +852 -0
  603. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_oth.c +86 -0
  604. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_pk8.c +242 -0
  605. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_pkey.c +242 -0
  606. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_seal.c +189 -0
  607. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_sign.c +102 -0
  608. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_x509.c +68 -0
  609. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pem_xaux.c +68 -0
  610. data/lib/extensions/openssl.so/ext/sources/crypto/pem/pvkfmt.c +950 -0
  611. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_add.c +240 -0
  612. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_asn.c +125 -0
  613. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_attr.c +145 -0
  614. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_crpt.c +112 -0
  615. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_crt.c +359 -0
  616. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_decr.c +184 -0
  617. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_init.c +92 -0
  618. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_key.c +219 -0
  619. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_kiss.c +302 -0
  620. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_mutl.c +190 -0
  621. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_npas.c +225 -0
  622. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_p8d.c +68 -0
  623. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_p8e.c +97 -0
  624. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/p12_utl.c +146 -0
  625. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/pk12err.c +144 -0
  626. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs12/pkcs12.h +331 -0
  627. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/bio_pk7.c +69 -0
  628. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_asn1.c +247 -0
  629. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_attr.c +165 -0
  630. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_doit.c +1299 -0
  631. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_lib.c +665 -0
  632. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_mime.c +97 -0
  633. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pk7_smime.c +606 -0
  634. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pkcs7.h +499 -0
  635. data/lib/extensions/openssl.so/ext/sources/crypto/pkcs7/pkcs7err.c +187 -0
  636. data/lib/extensions/openssl.so/ext/sources/crypto/pqueue/pqueue.c +252 -0
  637. data/lib/extensions/openssl.so/ext/sources/crypto/pqueue/pqueue.h +94 -0
  638. data/lib/extensions/openssl.so/ext/sources/crypto/rand/md_rand.c +592 -0
  639. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand.h +149 -0
  640. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_egd.c +303 -0
  641. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_err.c +100 -0
  642. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_lcl.h +158 -0
  643. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_lib.c +295 -0
  644. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_nw.c +183 -0
  645. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_os2.c +153 -0
  646. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_unix.c +431 -0
  647. data/lib/extensions/openssl.so/ext/sources/crypto/rand/rand_win.c +807 -0
  648. data/lib/extensions/openssl.so/ext/sources/crypto/rand/randfile.c +326 -0
  649. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2.h +103 -0
  650. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2_cbc.c +226 -0
  651. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2_ecb.c +88 -0
  652. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2_locl.h +156 -0
  653. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2_skey.c +153 -0
  654. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2cfb64.c +122 -0
  655. data/lib/extensions/openssl.so/ext/sources/crypto/rc2/rc2ofb64.c +111 -0
  656. data/lib/extensions/openssl.so/ext/sources/crypto/rc4/rc4.h +90 -0
  657. data/lib/extensions/openssl.so/ext/sources/crypto/rc4/rc4_enc.c +315 -0
  658. data/lib/extensions/openssl.so/ext/sources/crypto/rc4/rc4_locl.h +5 -0
  659. data/lib/extensions/openssl.so/ext/sources/crypto/rc4/rc4_skey.c +116 -0
  660. data/lib/extensions/openssl.so/ext/sources/crypto/rc4/rc4_utl.c +62 -0
  661. data/lib/extensions/openssl.so/ext/sources/crypto/ripemd/ripemd.h +107 -0
  662. data/lib/extensions/openssl.so/ext/sources/crypto/ripemd/rmd_dgst.c +292 -0
  663. data/lib/extensions/openssl.so/ext/sources/crypto/ripemd/rmd_locl.h +150 -0
  664. data/lib/extensions/openssl.so/ext/sources/crypto/ripemd/rmd_one.c +78 -0
  665. data/lib/extensions/openssl.so/ext/sources/crypto/ripemd/rmdconst.h +399 -0
  666. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa.h +582 -0
  667. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_ameth.c +698 -0
  668. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_asn1.c +121 -0
  669. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_chk.c +184 -0
  670. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_crpt.c +257 -0
  671. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_depr.c +101 -0
  672. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_eay.c +915 -0
  673. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_err.c +209 -0
  674. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_gen.c +234 -0
  675. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_lib.c +333 -0
  676. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_locl.h +4 -0
  677. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_none.c +98 -0
  678. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_null.c +151 -0
  679. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_oaep.c +235 -0
  680. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_pk1.c +224 -0
  681. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_pmeth.c +723 -0
  682. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_prn.c +93 -0
  683. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_pss.c +300 -0
  684. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_saos.c +150 -0
  685. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_sign.c +318 -0
  686. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_ssl.c +154 -0
  687. data/lib/extensions/openssl.so/ext/sources/crypto/rsa/rsa_x931.c +177 -0
  688. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed.c +336 -0
  689. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed.h +139 -0
  690. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed_cbc.c +63 -0
  691. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed_cfb.c +116 -0
  692. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed_ecb.c +60 -0
  693. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed_locl.h +116 -0
  694. data/lib/extensions/openssl.so/ext/sources/crypto/seed/seed_ofb.c +116 -0
  695. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha.h +214 -0
  696. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha1_one.c +78 -0
  697. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha1dgst.c +75 -0
  698. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha256.c +282 -0
  699. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha512.c +597 -0
  700. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha_dgst.c +75 -0
  701. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha_locl.h +441 -0
  702. data/lib/extensions/openssl.so/ext/sources/crypto/sha/sha_one.c +78 -0
  703. data/lib/extensions/openssl.so/ext/sources/crypto/srp/srp.h +172 -0
  704. data/lib/extensions/openssl.so/ext/sources/crypto/srp/srp_grps.h +517 -0
  705. data/lib/extensions/openssl.so/ext/sources/crypto/srp/srp_lcl.h +83 -0
  706. data/lib/extensions/openssl.so/ext/sources/crypto/srp/srp_lib.c +357 -0
  707. data/lib/extensions/openssl.so/ext/sources/crypto/srp/srp_vfy.c +657 -0
  708. data/lib/extensions/openssl.so/ext/sources/crypto/stack/safestack.h +2663 -0
  709. data/lib/extensions/openssl.so/ext/sources/crypto/stack/stack.c +334 -0
  710. data/lib/extensions/openssl.so/ext/sources/crypto/stack/stack.h +108 -0
  711. data/lib/extensions/openssl.so/ext/sources/crypto/symhacks.h +477 -0
  712. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts.h +858 -0
  713. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_asn1.c +322 -0
  714. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_conf.c +507 -0
  715. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_err.c +179 -0
  716. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_lib.c +145 -0
  717. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_req_print.c +102 -0
  718. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_req_utils.c +234 -0
  719. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_rsp_print.c +287 -0
  720. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_rsp_sign.c +1020 -0
  721. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_rsp_utils.c +409 -0
  722. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_rsp_verify.c +728 -0
  723. data/lib/extensions/openssl.so/ext/sources/crypto/ts/ts_verify_ctx.c +159 -0
  724. data/lib/extensions/openssl.so/ext/sources/crypto/txt_db/txt_db.c +388 -0
  725. data/lib/extensions/openssl.so/ext/sources/crypto/txt_db/txt_db.h +112 -0
  726. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui.h +383 -0
  727. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_compat.c +67 -0
  728. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_compat.h +83 -0
  729. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_err.c +112 -0
  730. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_lib.c +924 -0
  731. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_locl.h +153 -0
  732. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_openssl.c +712 -0
  733. data/lib/extensions/openssl.so/ext/sources/crypto/ui/ui_util.c +91 -0
  734. data/lib/extensions/openssl.so/ext/sources/crypto/uid.c +89 -0
  735. data/lib/extensions/openssl.so/ext/sources/crypto/vms_rms.h +51 -0
  736. data/lib/extensions/openssl.so/ext/sources/crypto/whrlpool/whrlpool.h +41 -0
  737. data/lib/extensions/openssl.so/ext/sources/crypto/whrlpool/wp_block.c +655 -0
  738. data/lib/extensions/openssl.so/ext/sources/crypto/whrlpool/wp_dgst.c +265 -0
  739. data/lib/extensions/openssl.so/ext/sources/crypto/whrlpool/wp_locl.h +3 -0
  740. data/lib/extensions/openssl.so/ext/sources/crypto/x509/by_dir.c +482 -0
  741. data/lib/extensions/openssl.so/ext/sources/crypto/x509/by_file.c +300 -0
  742. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509.h +1297 -0
  743. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_att.c +359 -0
  744. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_cmp.c +344 -0
  745. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_d2.c +107 -0
  746. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_def.c +81 -0
  747. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_err.c +164 -0
  748. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_ext.c +210 -0
  749. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_lu.c +716 -0
  750. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_obj.c +226 -0
  751. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_r2x.c +114 -0
  752. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_req.c +316 -0
  753. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_set.c +150 -0
  754. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_trs.c +288 -0
  755. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_txt.c +193 -0
  756. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_v3.c +274 -0
  757. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_vfy.c +2214 -0
  758. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_vfy.h +567 -0
  759. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509_vpm.c +438 -0
  760. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509cset.c +170 -0
  761. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509name.c +383 -0
  762. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509rset.c +83 -0
  763. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509spki.c +121 -0
  764. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x509type.c +131 -0
  765. data/lib/extensions/openssl.so/ext/sources/crypto/x509/x_all.c +535 -0
  766. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/ext_dat.h +132 -0
  767. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_cache.c +286 -0
  768. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_data.c +135 -0
  769. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_int.h +212 -0
  770. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_lib.c +167 -0
  771. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_map.c +132 -0
  772. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_node.c +197 -0
  773. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/pcy_tree.c +872 -0
  774. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_addr.c +1338 -0
  775. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_akey.c +208 -0
  776. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_akeya.c +72 -0
  777. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_alt.c +614 -0
  778. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_asid.c +890 -0
  779. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_bcons.c +124 -0
  780. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_bitst.c +141 -0
  781. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_conf.c +525 -0
  782. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_cpols.c +457 -0
  783. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_crld.c +616 -0
  784. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_enum.c +97 -0
  785. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_extku.c +144 -0
  786. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_genn.c +252 -0
  787. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_ia5.c +116 -0
  788. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_info.c +193 -0
  789. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_int.c +89 -0
  790. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_lib.c +309 -0
  791. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_ncons.c +505 -0
  792. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_ocsp.c +289 -0
  793. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_pci.c +328 -0
  794. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_pcia.c +55 -0
  795. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_pcons.c +140 -0
  796. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_pku.c +108 -0
  797. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_pmaps.c +155 -0
  798. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_prn.c +234 -0
  799. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_purp.c +767 -0
  800. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_skey.c +145 -0
  801. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_sxnet.c +262 -0
  802. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3_utl.c +874 -0
  803. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/v3err.c +226 -0
  804. data/lib/extensions/openssl.so/ext/sources/crypto/x509v3/x509v3.h +1007 -0
  805. data/lib/extensions/openssl.so/ext/sources/e_os.h +735 -0
  806. data/lib/extensions/openssl.so/ext/sources/e_os2.h +315 -0
  807. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/e_gost_err.c +212 -0
  808. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/e_gost_err.h +156 -0
  809. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost2001.c +343 -0
  810. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost2001_keyx.c +308 -0
  811. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost2001_keyx.h +10 -0
  812. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost89.c +409 -0
  813. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost89.h +96 -0
  814. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost94_keyx.c +291 -0
  815. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_ameth.c +945 -0
  816. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_asn1.c +55 -0
  817. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_crypt.c +617 -0
  818. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_ctl.c +89 -0
  819. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_eng.c +273 -0
  820. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_keywrap.c +109 -0
  821. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_keywrap.h +56 -0
  822. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_lcl.h +221 -0
  823. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_md.c +75 -0
  824. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_params.c +198 -0
  825. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_params.h +34 -0
  826. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_pmeth.c +628 -0
  827. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gost_sign.c +321 -0
  828. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gosthash.c +255 -0
  829. data/lib/extensions/openssl.so/ext/sources/engines/ccgost/gosthash.h +48 -0
  830. data/lib/extensions/openssl.so/ext/sources/engines/e_4758cca.c +987 -0
  831. data/lib/extensions/openssl.so/ext/sources/engines/e_4758cca_err.c +153 -0
  832. data/lib/extensions/openssl.so/ext/sources/engines/e_4758cca_err.h +97 -0
  833. data/lib/extensions/openssl.so/ext/sources/engines/e_aep.c +1139 -0
  834. data/lib/extensions/openssl.so/ext/sources/engines/e_aep_err.c +161 -0
  835. data/lib/extensions/openssl.so/ext/sources/engines/e_aep_err.h +105 -0
  836. data/lib/extensions/openssl.so/ext/sources/engines/e_atalla.c +607 -0
  837. data/lib/extensions/openssl.so/ext/sources/engines/e_atalla_err.c +149 -0
  838. data/lib/extensions/openssl.so/ext/sources/engines/e_atalla_err.h +93 -0
  839. data/lib/extensions/openssl.so/ext/sources/engines/e_capi.c +1913 -0
  840. data/lib/extensions/openssl.so/ext/sources/engines/e_capi_err.c +184 -0
  841. data/lib/extensions/openssl.so/ext/sources/engines/e_capi_err.h +128 -0
  842. data/lib/extensions/openssl.so/ext/sources/engines/e_chil.c +1356 -0
  843. data/lib/extensions/openssl.so/ext/sources/engines/e_chil_err.c +160 -0
  844. data/lib/extensions/openssl.so/ext/sources/engines/e_chil_err.h +104 -0
  845. data/lib/extensions/openssl.so/ext/sources/engines/e_cswift.c +1129 -0
  846. data/lib/extensions/openssl.so/ext/sources/engines/e_cswift_err.c +154 -0
  847. data/lib/extensions/openssl.so/ext/sources/engines/e_cswift_err.h +98 -0
  848. data/lib/extensions/openssl.so/ext/sources/engines/e_gmp.c +480 -0
  849. data/lib/extensions/openssl.so/ext/sources/engines/e_gmp_err.c +141 -0
  850. data/lib/extensions/openssl.so/ext/sources/engines/e_gmp_err.h +85 -0
  851. data/lib/extensions/openssl.so/ext/sources/engines/e_nuron.c +434 -0
  852. data/lib/extensions/openssl.so/ext/sources/engines/e_nuron_err.c +146 -0
  853. data/lib/extensions/openssl.so/ext/sources/engines/e_nuron_err.h +90 -0
  854. data/lib/extensions/openssl.so/ext/sources/engines/e_padlock.c +1239 -0
  855. data/lib/extensions/openssl.so/ext/sources/engines/e_sureware.c +1055 -0
  856. data/lib/extensions/openssl.so/ext/sources/engines/e_sureware_err.c +158 -0
  857. data/lib/extensions/openssl.so/ext/sources/engines/e_sureware_err.h +102 -0
  858. data/lib/extensions/openssl.so/ext/sources/engines/e_ubsec.c +1069 -0
  859. data/lib/extensions/openssl.so/ext/sources/engines/e_ubsec_err.c +157 -0
  860. data/lib/extensions/openssl.so/ext/sources/engines/e_ubsec_err.h +101 -0
  861. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/aep.h +178 -0
  862. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/atalla.h +48 -0
  863. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/cswift.h +234 -0
  864. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/hw_4758_cca.h +149 -0
  865. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/hw_ubsec.h +100 -0
  866. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/hwcryptohook.h +486 -0
  867. data/lib/extensions/openssl.so/ext/sources/engines/vendor_defns/sureware.h +239 -0
  868. data/lib/extensions/openssl.so/ext/sources/include/openssl/aes.h +1 -0
  869. data/lib/extensions/openssl.so/ext/sources/include/openssl/asn1.h +1 -0
  870. data/lib/extensions/openssl.so/ext/sources/include/openssl/asn1_mac.h +1 -0
  871. data/lib/extensions/openssl.so/ext/sources/include/openssl/asn1t.h +1 -0
  872. data/lib/extensions/openssl.so/ext/sources/include/openssl/bio.h +1 -0
  873. data/lib/extensions/openssl.so/ext/sources/include/openssl/blowfish.h +1 -0
  874. data/lib/extensions/openssl.so/ext/sources/include/openssl/bn.h +1 -0
  875. data/lib/extensions/openssl.so/ext/sources/include/openssl/buffer.h +1 -0
  876. data/lib/extensions/openssl.so/ext/sources/include/openssl/camellia.h +1 -0
  877. data/lib/extensions/openssl.so/ext/sources/include/openssl/cast.h +1 -0
  878. data/lib/extensions/openssl.so/ext/sources/include/openssl/cmac.h +1 -0
  879. data/lib/extensions/openssl.so/ext/sources/include/openssl/cms.h +1 -0
  880. data/lib/extensions/openssl.so/ext/sources/include/openssl/comp.h +1 -0
  881. data/lib/extensions/openssl.so/ext/sources/include/openssl/conf.h +1 -0
  882. data/lib/extensions/openssl.so/ext/sources/include/openssl/conf_api.h +1 -0
  883. data/lib/extensions/openssl.so/ext/sources/include/openssl/crypto.h +1 -0
  884. data/lib/extensions/openssl.so/ext/sources/include/openssl/des.h +1 -0
  885. data/lib/extensions/openssl.so/ext/sources/include/openssl/des_old.h +1 -0
  886. data/lib/extensions/openssl.so/ext/sources/include/openssl/dh.h +1 -0
  887. data/lib/extensions/openssl.so/ext/sources/include/openssl/dsa.h +1 -0
  888. data/lib/extensions/openssl.so/ext/sources/include/openssl/dso.h +1 -0
  889. data/lib/extensions/openssl.so/ext/sources/include/openssl/dtls1.h +1 -0
  890. data/lib/extensions/openssl.so/ext/sources/include/openssl/e_os2.h +1 -0
  891. data/lib/extensions/openssl.so/ext/sources/include/openssl/ebcdic.h +1 -0
  892. data/lib/extensions/openssl.so/ext/sources/include/openssl/ec.h +1 -0
  893. data/lib/extensions/openssl.so/ext/sources/include/openssl/ecdh.h +1 -0
  894. data/lib/extensions/openssl.so/ext/sources/include/openssl/ecdsa.h +1 -0
  895. data/lib/extensions/openssl.so/ext/sources/include/openssl/engine.h +1 -0
  896. data/lib/extensions/openssl.so/ext/sources/include/openssl/err.h +1 -0
  897. data/lib/extensions/openssl.so/ext/sources/include/openssl/evp.h +1 -0
  898. data/lib/extensions/openssl.so/ext/sources/include/openssl/hmac.h +1 -0
  899. data/lib/extensions/openssl.so/ext/sources/include/openssl/idea.h +1 -0
  900. data/lib/extensions/openssl.so/ext/sources/include/openssl/krb5_asn.h +1 -0
  901. data/lib/extensions/openssl.so/ext/sources/include/openssl/kssl.h +1 -0
  902. data/lib/extensions/openssl.so/ext/sources/include/openssl/lhash.h +1 -0
  903. data/lib/extensions/openssl.so/ext/sources/include/openssl/md4.h +1 -0
  904. data/lib/extensions/openssl.so/ext/sources/include/openssl/md5.h +1 -0
  905. data/lib/extensions/openssl.so/ext/sources/include/openssl/mdc2.h +1 -0
  906. data/lib/extensions/openssl.so/ext/sources/include/openssl/modes.h +1 -0
  907. data/lib/extensions/openssl.so/ext/sources/include/openssl/obj_mac.h +1 -0
  908. data/lib/extensions/openssl.so/ext/sources/include/openssl/objects.h +1 -0
  909. data/lib/extensions/openssl.so/ext/sources/include/openssl/ocsp.h +1 -0
  910. data/lib/extensions/openssl.so/ext/sources/include/openssl/opensslconf.h +1 -0
  911. data/lib/extensions/openssl.so/ext/sources/include/openssl/opensslv.h +1 -0
  912. data/lib/extensions/openssl.so/ext/sources/include/openssl/ossl_typ.h +1 -0
  913. data/lib/extensions/openssl.so/ext/sources/include/openssl/pem.h +1 -0
  914. data/lib/extensions/openssl.so/ext/sources/include/openssl/pem2.h +1 -0
  915. data/lib/extensions/openssl.so/ext/sources/include/openssl/pkcs12.h +1 -0
  916. data/lib/extensions/openssl.so/ext/sources/include/openssl/pkcs7.h +1 -0
  917. data/lib/extensions/openssl.so/ext/sources/include/openssl/pqueue.h +1 -0
  918. data/lib/extensions/openssl.so/ext/sources/include/openssl/rand.h +1 -0
  919. data/lib/extensions/openssl.so/ext/sources/include/openssl/rc2.h +1 -0
  920. data/lib/extensions/openssl.so/ext/sources/include/openssl/rc4.h +1 -0
  921. data/lib/extensions/openssl.so/ext/sources/include/openssl/ripemd.h +1 -0
  922. data/lib/extensions/openssl.so/ext/sources/include/openssl/rsa.h +1 -0
  923. data/lib/extensions/openssl.so/ext/sources/include/openssl/safestack.h +1 -0
  924. data/lib/extensions/openssl.so/ext/sources/include/openssl/seed.h +1 -0
  925. data/lib/extensions/openssl.so/ext/sources/include/openssl/sha.h +1 -0
  926. data/lib/extensions/openssl.so/ext/sources/include/openssl/srp.h +1 -0
  927. data/lib/extensions/openssl.so/ext/sources/include/openssl/srtp.h +1 -0
  928. data/lib/extensions/openssl.so/ext/sources/include/openssl/ssl.h +1 -0
  929. data/lib/extensions/openssl.so/ext/sources/include/openssl/ssl2.h +1 -0
  930. data/lib/extensions/openssl.so/ext/sources/include/openssl/ssl23.h +1 -0
  931. data/lib/extensions/openssl.so/ext/sources/include/openssl/ssl3.h +1 -0
  932. data/lib/extensions/openssl.so/ext/sources/include/openssl/stack.h +1 -0
  933. data/lib/extensions/openssl.so/ext/sources/include/openssl/store.h +1 -0
  934. data/lib/extensions/openssl.so/ext/sources/include/openssl/symhacks.h +1 -0
  935. data/lib/extensions/openssl.so/ext/sources/include/openssl/tls1.h +1 -0
  936. data/lib/extensions/openssl.so/ext/sources/include/openssl/ts.h +1 -0
  937. data/lib/extensions/openssl.so/ext/sources/include/openssl/txt_db.h +1 -0
  938. data/lib/extensions/openssl.so/ext/sources/include/openssl/ui.h +1 -0
  939. data/lib/extensions/openssl.so/ext/sources/include/openssl/ui_compat.h +1 -0
  940. data/lib/extensions/openssl.so/ext/sources/include/openssl/whrlpool.h +1 -0
  941. data/lib/extensions/openssl.so/ext/sources/include/openssl/x509.h +1 -0
  942. data/lib/extensions/openssl.so/ext/sources/include/openssl/x509_vfy.h +1 -0
  943. data/lib/extensions/openssl.so/ext/sources/include/openssl/x509v3.h +1 -0
  944. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/assert.h +50 -0
  945. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/conio.h +40 -0
  946. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/ctype.h +90 -0
  947. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/direct.h +22 -0
  948. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/errno.h +158 -0
  949. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/fcntl.h +56 -0
  950. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/float.h +330 -0
  951. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/io.h +63 -0
  952. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/limits.h +95 -0
  953. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/malloc.h +59 -0
  954. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/math.h +95 -0
  955. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/memory.h +44 -0
  956. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/process.h +59 -0
  957. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/setjmp.h +69 -0
  958. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/signal.h +53 -0
  959. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/stdarg.h +78 -0
  960. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/stddef.h +88 -0
  961. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/stdio.h +182 -0
  962. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/stdlib.h +142 -0
  963. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/string.h +109 -0
  964. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/strings.h +3 -0
  965. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/locking.h +31 -0
  966. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/stat.h +92 -0
  967. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/time.h +20 -0
  968. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/timeb.h +58 -0
  969. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/types.h +35 -0
  970. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/sys/utime.h +21 -0
  971. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/time.h +81 -0
  972. data/lib/extensions/openssl.so/ext/sources/include/wcecompat/winsock_extras.h +46 -0
  973. data/lib/extensions/openssl.so/ext/sources/ssl/bio_ssl.c +605 -0
  974. data/lib/extensions/openssl.so/ext/sources/ssl/d1_both.c +1591 -0
  975. data/lib/extensions/openssl.so/ext/sources/ssl/d1_clnt.c +1710 -0
  976. data/lib/extensions/openssl.so/ext/sources/ssl/d1_enc.c +289 -0
  977. data/lib/extensions/openssl.so/ext/sources/ssl/d1_lib.c +482 -0
  978. data/lib/extensions/openssl.so/ext/sources/ssl/d1_meth.c +77 -0
  979. data/lib/extensions/openssl.so/ext/sources/ssl/d1_pkt.c +1876 -0
  980. data/lib/extensions/openssl.so/ext/sources/ssl/d1_srtp.c +493 -0
  981. data/lib/extensions/openssl.so/ext/sources/ssl/d1_srvr.c +1711 -0
  982. data/lib/extensions/openssl.so/ext/sources/ssl/dtls1.h +283 -0
  983. data/lib/extensions/openssl.so/ext/sources/ssl/kssl.c +2221 -0
  984. data/lib/extensions/openssl.so/ext/sources/ssl/kssl.h +183 -0
  985. data/lib/extensions/openssl.so/ext/sources/ssl/kssl_lcl.h +87 -0
  986. data/lib/extensions/openssl.so/ext/sources/ssl/s23_clnt.c +779 -0
  987. data/lib/extensions/openssl.so/ext/sources/ssl/s23_lib.c +187 -0
  988. data/lib/extensions/openssl.so/ext/sources/ssl/s23_meth.c +92 -0
  989. data/lib/extensions/openssl.so/ext/sources/ssl/s23_pkt.c +117 -0
  990. data/lib/extensions/openssl.so/ext/sources/ssl/s23_srvr.c +638 -0
  991. data/lib/extensions/openssl.so/ext/sources/ssl/s2_clnt.c +1125 -0
  992. data/lib/extensions/openssl.so/ext/sources/ssl/s2_enc.c +193 -0
  993. data/lib/extensions/openssl.so/ext/sources/ssl/s2_lib.c +556 -0
  994. data/lib/extensions/openssl.so/ext/sources/ssl/s2_meth.c +84 -0
  995. data/lib/extensions/openssl.so/ext/sources/ssl/s2_pkt.c +744 -0
  996. data/lib/extensions/openssl.so/ext/sources/ssl/s2_srvr.c +1142 -0
  997. data/lib/extensions/openssl.so/ext/sources/ssl/s3_both.c +843 -0
  998. data/lib/extensions/openssl.so/ext/sources/ssl/s3_clnt.c +3371 -0
  999. data/lib/extensions/openssl.so/ext/sources/ssl/s3_enc.c +861 -0
  1000. data/lib/extensions/openssl.so/ext/sources/ssl/s3_lib.c +4282 -0
  1001. data/lib/extensions/openssl.so/ext/sources/ssl/s3_meth.c +77 -0
  1002. data/lib/extensions/openssl.so/ext/sources/ssl/s3_pkt.c +1518 -0
  1003. data/lib/extensions/openssl.so/ext/sources/ssl/s3_srvr.c +3586 -0
  1004. data/lib/extensions/openssl.so/ext/sources/ssl/srtp.h +145 -0
  1005. data/lib/extensions/openssl.so/ext/sources/ssl/ssl.h +2573 -0
  1006. data/lib/extensions/openssl.so/ext/sources/ssl/ssl2.h +272 -0
  1007. data/lib/extensions/openssl.so/ext/sources/ssl/ssl23.h +83 -0
  1008. data/lib/extensions/openssl.so/ext/sources/ssl/ssl3.h +678 -0
  1009. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_algs.c +149 -0
  1010. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_asn1.c +642 -0
  1011. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_cert.c +853 -0
  1012. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_ciph.c +1852 -0
  1013. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_err.c +609 -0
  1014. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_err2.c +70 -0
  1015. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_lib.c +3251 -0
  1016. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_locl.h +1134 -0
  1017. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_rsa.c +779 -0
  1018. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_sess.c +1159 -0
  1019. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_stat.c +567 -0
  1020. data/lib/extensions/openssl.so/ext/sources/ssl/ssl_txt.c +248 -0
  1021. data/lib/extensions/openssl.so/ext/sources/ssl/t1_clnt.c +92 -0
  1022. data/lib/extensions/openssl.so/ext/sources/ssl/t1_enc.c +1256 -0
  1023. data/lib/extensions/openssl.so/ext/sources/ssl/t1_lib.c +2578 -0
  1024. data/lib/extensions/openssl.so/ext/sources/ssl/t1_meth.c +88 -0
  1025. data/lib/extensions/openssl.so/ext/sources/ssl/t1_reneg.c +292 -0
  1026. data/lib/extensions/openssl.so/ext/sources/ssl/t1_srvr.c +93 -0
  1027. data/lib/extensions/openssl.so/ext/sources/ssl/tls1.h +735 -0
  1028. data/lib/extensions/openssl.so/ext/sources/ssl/tls_srp.c +506 -0
  1029. data/lib/extensions/openssl.so/ext/win32/UPDATE +15 -0
  1030. data/lib/extensions/openssl.so/ext/win32/bin/libeay32.dll +0 -0
  1031. data/lib/extensions/openssl.so/ext/win32/bin/ssleay32.dll +0 -0
  1032. data/lib/extensions/openssl.so/ext/win32/include/openssl/aes.h +147 -0
  1033. data/lib/extensions/openssl.so/ext/win32/include/openssl/applink.c +94 -0
  1034. data/lib/extensions/openssl.so/ext/win32/include/openssl/asn1.h +1404 -0
  1035. data/lib/extensions/openssl.so/ext/win32/include/openssl/asn1_mac.h +578 -0
  1036. data/lib/extensions/openssl.so/ext/win32/include/openssl/asn1t.h +960 -0
  1037. data/lib/extensions/openssl.so/ext/win32/include/openssl/bio.h +847 -0
  1038. data/lib/extensions/openssl.so/ext/win32/include/openssl/blowfish.h +129 -0
  1039. data/lib/extensions/openssl.so/ext/win32/include/openssl/bn.h +891 -0
  1040. data/lib/extensions/openssl.so/ext/win32/include/openssl/buffer.h +119 -0
  1041. data/lib/extensions/openssl.so/ext/win32/include/openssl/camellia.h +130 -0
  1042. data/lib/extensions/openssl.so/ext/win32/include/openssl/cast.h +107 -0
  1043. data/lib/extensions/openssl.so/ext/win32/include/openssl/cmac.h +82 -0
  1044. data/lib/extensions/openssl.so/ext/win32/include/openssl/cms.h +501 -0
  1045. data/lib/extensions/openssl.so/ext/win32/include/openssl/comp.h +80 -0
  1046. data/lib/extensions/openssl.so/ext/win32/include/openssl/conf.h +263 -0
  1047. data/lib/extensions/openssl.so/ext/win32/include/openssl/conf_api.h +89 -0
  1048. data/lib/extensions/openssl.so/ext/win32/include/openssl/crypto.h +604 -0
  1049. data/lib/extensions/openssl.so/ext/win32/include/openssl/des.h +248 -0
  1050. data/lib/extensions/openssl.so/ext/win32/include/openssl/des_old.h +446 -0
  1051. data/lib/extensions/openssl.so/ext/win32/include/openssl/dh.h +280 -0
  1052. data/lib/extensions/openssl.so/ext/win32/include/openssl/dsa.h +327 -0
  1053. data/lib/extensions/openssl.so/ext/win32/include/openssl/dso.h +409 -0
  1054. data/lib/extensions/openssl.so/ext/win32/include/openssl/dtls1.h +283 -0
  1055. data/lib/extensions/openssl.so/ext/win32/include/openssl/e_os2.h +315 -0
  1056. data/lib/extensions/openssl.so/ext/win32/include/openssl/ebcdic.h +19 -0
  1057. data/lib/extensions/openssl.so/ext/win32/include/openssl/ec.h +1159 -0
  1058. data/lib/extensions/openssl.so/ext/win32/include/openssl/ecdh.h +125 -0
  1059. data/lib/extensions/openssl.so/ext/win32/include/openssl/ecdsa.h +260 -0
  1060. data/lib/extensions/openssl.so/ext/win32/include/openssl/engine.h +842 -0
  1061. data/lib/extensions/openssl.so/ext/win32/include/openssl/err.h +386 -0
  1062. data/lib/extensions/openssl.so/ext/win32/include/openssl/evp.h +1402 -0
  1063. data/lib/extensions/openssl.so/ext/win32/include/openssl/hmac.h +110 -0
  1064. data/lib/extensions/openssl.so/ext/win32/include/openssl/idea.h +103 -0
  1065. data/lib/extensions/openssl.so/ext/win32/include/openssl/krb5_asn.h +256 -0
  1066. data/lib/extensions/openssl.so/ext/win32/include/openssl/kssl.h +183 -0
  1067. data/lib/extensions/openssl.so/ext/win32/include/openssl/lhash.h +241 -0
  1068. data/lib/extensions/openssl.so/ext/win32/include/openssl/md4.h +120 -0
  1069. data/lib/extensions/openssl.so/ext/win32/include/openssl/md5.h +120 -0
  1070. data/lib/extensions/openssl.so/ext/win32/include/openssl/mdc2.h +98 -0
  1071. data/lib/extensions/openssl.so/ext/win32/include/openssl/modes.h +135 -0
  1072. data/lib/extensions/openssl.so/ext/win32/include/openssl/obj_mac.h +4032 -0
  1073. data/lib/extensions/openssl.so/ext/win32/include/openssl/objects.h +1138 -0
  1074. data/lib/extensions/openssl.so/ext/win32/include/openssl/ocsp.h +623 -0
  1075. data/lib/extensions/openssl.so/ext/win32/include/openssl/opensslconf.h +235 -0
  1076. data/lib/extensions/openssl.so/ext/win32/include/openssl/opensslv.h +89 -0
  1077. data/lib/extensions/openssl.so/ext/win32/include/openssl/ossl_typ.h +202 -0
  1078. data/lib/extensions/openssl.so/ext/win32/include/openssl/pem.h +641 -0
  1079. data/lib/extensions/openssl.so/ext/win32/include/openssl/pem2.h +70 -0
  1080. data/lib/extensions/openssl.so/ext/win32/include/openssl/pkcs12.h +331 -0
  1081. data/lib/extensions/openssl.so/ext/win32/include/openssl/pkcs7.h +499 -0
  1082. data/lib/extensions/openssl.so/ext/win32/include/openssl/pqueue.h +94 -0
  1083. data/lib/extensions/openssl.so/ext/win32/include/openssl/rand.h +149 -0
  1084. data/lib/extensions/openssl.so/ext/win32/include/openssl/rc2.h +103 -0
  1085. data/lib/extensions/openssl.so/ext/win32/include/openssl/rc4.h +90 -0
  1086. data/lib/extensions/openssl.so/ext/win32/include/openssl/ripemd.h +107 -0
  1087. data/lib/extensions/openssl.so/ext/win32/include/openssl/rsa.h +582 -0
  1088. data/lib/extensions/openssl.so/ext/win32/include/openssl/safestack.h +2663 -0
  1089. data/lib/extensions/openssl.so/ext/win32/include/openssl/seed.h +139 -0
  1090. data/lib/extensions/openssl.so/ext/win32/include/openssl/sha.h +214 -0
  1091. data/lib/extensions/openssl.so/ext/win32/include/openssl/srp.h +172 -0
  1092. data/lib/extensions/openssl.so/ext/win32/include/openssl/srtp.h +145 -0
  1093. data/lib/extensions/openssl.so/ext/win32/include/openssl/ssl.h +2572 -0
  1094. data/lib/extensions/openssl.so/ext/win32/include/openssl/ssl2.h +272 -0
  1095. data/lib/extensions/openssl.so/ext/win32/include/openssl/ssl23.h +83 -0
  1096. data/lib/extensions/openssl.so/ext/win32/include/openssl/ssl3.h +678 -0
  1097. data/lib/extensions/openssl.so/ext/win32/include/openssl/stack.h +108 -0
  1098. data/lib/extensions/openssl.so/ext/win32/include/openssl/symhacks.h +477 -0
  1099. data/lib/extensions/openssl.so/ext/win32/include/openssl/tls1.h +735 -0
  1100. data/lib/extensions/openssl.so/ext/win32/include/openssl/ts.h +858 -0
  1101. data/lib/extensions/openssl.so/ext/win32/include/openssl/txt_db.h +112 -0
  1102. data/lib/extensions/openssl.so/ext/win32/include/openssl/ui.h +383 -0
  1103. data/lib/extensions/openssl.so/ext/win32/include/openssl/ui_compat.h +83 -0
  1104. data/lib/extensions/openssl.so/ext/win32/include/openssl/whrlpool.h +41 -0
  1105. data/lib/extensions/openssl.so/ext/win32/include/openssl/x509.h +1297 -0
  1106. data/lib/extensions/openssl.so/ext/win32/include/openssl/x509_vfy.h +567 -0
  1107. data/lib/extensions/openssl.so/ext/win32/include/openssl/x509v3.h +1007 -0
  1108. data/lib/extensions/openssl.so/ext/win32/lib/libeay32.lib +0 -0
  1109. data/lib/extensions/openssl.so/ext/win32/lib/ssleay32.lib +0 -0
  1110. data/lib/extensions/openssl.so/ext/wm/lib/libopenssl.lib +0 -0
  1111. data/lib/extensions/openssl.so/ext/wm/openssl.sln +30 -0
  1112. data/lib/extensions/openssl.so/ext/wm/openssl.vcproj +3254 -0
  1113. data/lib/extensions/openssl.so/ext/wm/tmp/MC3000c50b (ARMV4I)/Release/BuildLog.htm +0 -0
  1114. data/lib/extensions/openssl.so/ext/wm/tmp/Windows Mobile 6 Professional SDK (ARMV4I)/Release/BuildLog.htm +0 -0
  1115. data/lib/extensions/openssl.so/openssl.so.rb +1 -0
  1116. data/lib/extensions/openssl/ext.yml +2 -0
  1117. data/lib/extensions/openssl/ext/Rakefile +132 -0
  1118. data/lib/extensions/openssl/ext/android/extconf.h +55 -0
  1119. data/lib/extensions/openssl/ext/build +12 -0
  1120. data/lib/extensions/openssl/ext/build.bat +1 -0
  1121. data/lib/extensions/openssl/ext/extconf.rb +141 -0
  1122. data/lib/extensions/openssl/ext/iphone/Rakefile +79 -0
  1123. data/lib/extensions/openssl/ext/iphone/extconf.h +55 -0
  1124. data/lib/extensions/openssl/ext/iphone/openssl.xcodeproj/project.pbxproj +472 -0
  1125. data/lib/extensions/openssl/ext/iphone/openssl_Prefix.pch +7 -0
  1126. data/lib/extensions/openssl/ext/macosx/extconf.h +53 -0
  1127. data/lib/extensions/openssl/ext/openssl.sln +44 -0
  1128. data/lib/extensions/openssl/ext/openssl.vcproj +844 -0
  1129. data/lib/extensions/openssl/ext/openssl_missing.c +361 -0
  1130. data/lib/extensions/openssl/ext/openssl_missing.h +194 -0
  1131. data/lib/extensions/openssl/ext/ossl.c +514 -0
  1132. data/lib/extensions/openssl/ext/ossl.h +243 -0
  1133. data/lib/extensions/openssl/ext/ossl_asn1.c +1170 -0
  1134. data/lib/extensions/openssl/ext/ossl_asn1.h +59 -0
  1135. data/lib/extensions/openssl/ext/ossl_bio.c +86 -0
  1136. data/lib/extensions/openssl/ext/ossl_bio.h +21 -0
  1137. data/lib/extensions/openssl/ext/ossl_bn.c +852 -0
  1138. data/lib/extensions/openssl/ext/ossl_bn.h +25 -0
  1139. data/lib/extensions/openssl/ext/ossl_cipher.c +546 -0
  1140. data/lib/extensions/openssl/ext/ossl_cipher.h +22 -0
  1141. data/lib/extensions/openssl/ext/ossl_config.c +492 -0
  1142. data/lib/extensions/openssl/ext/ossl_config.h +22 -0
  1143. data/lib/extensions/openssl/ext/ossl_digest.c +257 -0
  1144. data/lib/extensions/openssl/ext/ossl_digest.h +22 -0
  1145. data/lib/extensions/openssl/ext/ossl_engine.c +411 -0
  1146. data/lib/extensions/openssl/ext/ossl_engine.h +20 -0
  1147. data/lib/extensions/openssl/ext/ossl_hmac.c +270 -0
  1148. data/lib/extensions/openssl/ext/ossl_hmac.h +19 -0
  1149. data/lib/extensions/openssl/ext/ossl_ns_spki.c +257 -0
  1150. data/lib/extensions/openssl/ext/ossl_ns_spki.h +21 -0
  1151. data/lib/extensions/openssl/ext/ossl_ocsp.c +773 -0
  1152. data/lib/extensions/openssl/ext/ossl_ocsp.h +24 -0
  1153. data/lib/extensions/openssl/ext/ossl_pkcs12.c +212 -0
  1154. data/lib/extensions/openssl/ext/ossl_pkcs12.h +15 -0
  1155. data/lib/extensions/openssl/ext/ossl_pkcs5.c +98 -0
  1156. data/lib/extensions/openssl/ext/ossl_pkcs5.h +6 -0
  1157. data/lib/extensions/openssl/ext/ossl_pkcs7.c +1041 -0
  1158. data/lib/extensions/openssl/ext/ossl_pkcs7.h +22 -0
  1159. data/lib/extensions/openssl/ext/ossl_pkey.c +240 -0
  1160. data/lib/extensions/openssl/ext/ossl_pkey.h +141 -0
  1161. data/lib/extensions/openssl/ext/ossl_pkey_dh.c +536 -0
  1162. data/lib/extensions/openssl/ext/ossl_pkey_dsa.c +492 -0
  1163. data/lib/extensions/openssl/ext/ossl_pkey_ec.c +1597 -0
  1164. data/lib/extensions/openssl/ext/ossl_pkey_rsa.c +601 -0
  1165. data/lib/extensions/openssl/ext/ossl_rand.c +202 -0
  1166. data/lib/extensions/openssl/ext/ossl_rand.h +20 -0
  1167. data/lib/extensions/openssl/ext/ossl_ssl.c +1691 -0
  1168. data/lib/extensions/openssl/ext/ossl_ssl.h +36 -0
  1169. data/lib/extensions/openssl/ext/ossl_ssl_session.c +306 -0
  1170. data/lib/extensions/openssl/ext/ossl_version.h +16 -0
  1171. data/lib/extensions/openssl/ext/ossl_x509.c +104 -0
  1172. data/lib/extensions/openssl/ext/ossl_x509.h +114 -0
  1173. data/lib/extensions/openssl/ext/ossl_x509attr.c +275 -0
  1174. data/lib/extensions/openssl/ext/ossl_x509cert.c +766 -0
  1175. data/lib/extensions/openssl/ext/ossl_x509crl.c +537 -0
  1176. data/lib/extensions/openssl/ext/ossl_x509ext.c +459 -0
  1177. data/lib/extensions/openssl/ext/ossl_x509name.c +375 -0
  1178. data/lib/extensions/openssl/ext/ossl_x509req.c +468 -0
  1179. data/lib/extensions/openssl/ext/ossl_x509revoked.c +229 -0
  1180. data/lib/extensions/openssl/ext/ossl_x509store.c +624 -0
  1181. data/lib/extensions/openssl/ext/ruby_missing.h +41 -0
  1182. data/lib/extensions/openssl/ext/windows/extconf.h +66 -0
  1183. data/lib/extensions/openssl/openssl.rb +24 -0
  1184. data/lib/extensions/openssl/openssl/bn.rb +35 -0
  1185. data/lib/extensions/openssl/openssl/buffering.rb +341 -0
  1186. data/lib/extensions/openssl/openssl/cipher.rb +65 -0
  1187. data/lib/extensions/openssl/openssl/digest.rb +61 -0
  1188. data/lib/extensions/openssl/openssl/ssl-internal.rb +178 -0
  1189. data/lib/extensions/openssl/openssl/ssl.rb +1 -0
  1190. data/lib/extensions/openssl/openssl/x509-internal.rb +153 -0
  1191. data/lib/extensions/openssl/openssl/x509.rb +1 -0
  1192. data/lib/extensions/rhoxml/rexml/xmldecl.rb +119 -0
  1193. data/lib/extensions/zlib/ext.yml +2 -0
  1194. data/lib/extensions/zlib/ext/README +115 -0
  1195. data/lib/extensions/zlib/ext/Rakefile +127 -0
  1196. data/lib/extensions/zlib/ext/adler32.c +179 -0
  1197. data/lib/extensions/zlib/ext/build +12 -0
  1198. data/lib/extensions/zlib/ext/build.bat +1 -0
  1199. data/lib/extensions/zlib/ext/compress.c +80 -0
  1200. data/lib/extensions/zlib/ext/crc32.c +425 -0
  1201. data/lib/extensions/zlib/ext/crc32.h +441 -0
  1202. data/lib/extensions/zlib/ext/deflate.c +1965 -0
  1203. data/lib/extensions/zlib/ext/deflate.h +346 -0
  1204. data/lib/extensions/zlib/ext/gzclose.c +25 -0
  1205. data/lib/extensions/zlib/ext/gzguts.h +193 -0
  1206. data/lib/extensions/zlib/ext/gzlib.c +620 -0
  1207. data/lib/extensions/zlib/ext/gzread.c +589 -0
  1208. data/lib/extensions/zlib/ext/gzwrite.c +565 -0
  1209. data/lib/extensions/zlib/ext/infback.c +640 -0
  1210. data/lib/extensions/zlib/ext/inffast.c +340 -0
  1211. data/lib/extensions/zlib/ext/inffast.h +11 -0
  1212. data/lib/extensions/zlib/ext/inffixed.h +94 -0
  1213. data/lib/extensions/zlib/ext/inflate.c +1496 -0
  1214. data/lib/extensions/zlib/ext/inflate.h +122 -0
  1215. data/lib/extensions/zlib/ext/inftrees.c +306 -0
  1216. data/lib/extensions/zlib/ext/inftrees.h +62 -0
  1217. data/lib/extensions/zlib/ext/iphone/Rakefile +79 -0
  1218. data/lib/extensions/zlib/ext/iphone/zlib.xcodeproj/project.pbxproj +360 -0
  1219. data/lib/extensions/zlib/ext/iphone/zlib_Prefix.pch +7 -0
  1220. data/lib/extensions/zlib/ext/trees.c +1224 -0
  1221. data/lib/extensions/zlib/ext/trees.h +128 -0
  1222. data/lib/extensions/zlib/ext/uncompr.c +59 -0
  1223. data/lib/extensions/zlib/ext/zconf.h +506 -0
  1224. data/lib/extensions/zlib/ext/zlib.c +3762 -0
  1225. data/lib/extensions/zlib/ext/zlib.h +1744 -0
  1226. data/lib/extensions/zlib/ext/zlib.sln +36 -0
  1227. data/lib/extensions/zlib/ext/zlib.vcproj +746 -0
  1228. data/lib/extensions/zlib/ext/zlib.vsprops +16 -0
  1229. data/lib/extensions/zlib/ext/zutil.c +324 -0
  1230. data/lib/extensions/zlib/ext/zutil.h +252 -0
  1231. data/lib/extensions/zlib/zlib.rb +0 -0
  1232. data/lib/framework/rbconfig.rb +1 -1
  1233. data/lib/framework/rho/render.rb +31 -34
  1234. data/lib/framework/rho/rho.rb +89 -24
  1235. data/lib/framework/rho/rhocontroller.rb +8 -5
  1236. data/lib/framework/rho/rhofsconnector.rb +3 -0
  1237. data/lib/framework/rhodes.rb +9 -9
  1238. data/lib/framework/rhom/rhom.rb +15 -0
  1239. data/lib/framework/rhom/rhom_db_adapter.rb +18 -0
  1240. data/lib/framework/rhom/rhom_object_factory.rb +36 -26
  1241. data/lib/framework/rhomotoapi.rb +65 -1
  1242. data/lib/framework/rhosystem.rb +23 -19
  1243. data/lib/framework/version.rb +7 -7
  1244. data/lib/rhodes.rb +9 -9
  1245. data/platform/android/Rhodes/AndroidManifest.xml +117 -117
  1246. data/platform/android/Rhodes/AndroidManifest.xml.erb +77 -0
  1247. data/platform/android/Rhodes/PushReceiver.erb +14 -0
  1248. data/platform/android/Rhodes/jni/Android.mk +3 -1
  1249. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_Logger.h +16 -0
  1250. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +8 -0
  1251. data/platform/android/Rhodes/jni/src/fileapi.cpp +18 -0
  1252. data/platform/android/Rhodes/jni/src/logger.cpp +16 -0
  1253. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +9 -2
  1254. data/platform/android/Rhodes/jni/src/signature.cpp +3 -28
  1255. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +41 -37
  1256. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java +5 -5
  1257. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +6 -2
  1258. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +38 -15
  1259. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +49 -9
  1260. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +130 -10
  1261. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java +13 -1
  1262. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +8 -6
  1263. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +20 -0
  1264. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +5 -0
  1265. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +14 -0
  1266. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +2 -0
  1267. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +16 -13
  1268. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +1 -1
  1269. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +3 -0
  1270. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +1 -1
  1271. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +3 -1
  1272. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManager.java +10 -0
  1273. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +23 -35
  1274. data/platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java +10 -0
  1275. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +60 -34
  1276. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +14 -1
  1277. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +38 -3
  1278. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +26 -4
  1279. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +47 -0
  1280. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
  1281. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java +9 -1
  1282. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +10 -0
  1283. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/IRhoWebView.java +2 -0
  1284. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -3
  1285. data/platform/android/build/RhodesSRC_build.files +1 -1
  1286. data/platform/android/build/android.rake +567 -556
  1287. data/platform/android/build/android_tools.rb +87 -0
  1288. data/platform/android/build/librhocommon_build.files +3 -0
  1289. data/platform/android/build/librhodb_build.files +2 -0
  1290. data/platform/android/build/manifest_generator.rb +96 -0
  1291. data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +2 -4
  1292. data/platform/bb/RubyVM/src/com/rho/RhoProfiler.java +11 -0
  1293. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +61 -48
  1294. data/platform/bb/build/rhodes_build.files +0 -1
  1295. data/platform/bb/rhodes/platform/4.7/com/rho/rubyext/SignatureCapture.java +314 -0
  1296. data/platform/bb/rhodes/platform/common/com/rho/rubyext/SignatureCapture.java +312 -0
  1297. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +4 -1
  1298. data/platform/iphone/Classes/AppManager/AppManager.h +1 -0
  1299. data/platform/iphone/Classes/AppManager/AppManager.m +165 -123
  1300. data/platform/iphone/Classes/Event/Event.m +53 -14
  1301. data/platform/iphone/Classes/Rhodes.h +5 -4
  1302. data/platform/iphone/Classes/Rhodes.m +10 -8
  1303. data/platform/iphone/Classes/Signature/SignatureDelegate.m +2 -2
  1304. data/platform/iphone/Classes/SimpleMainView.m +55 -17
  1305. data/platform/iphone/Classes/SplashViewController.m +28 -1
  1306. data/platform/iphone/Info.plist +59 -54
  1307. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +43 -14
  1308. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +15 -18
  1309. data/platform/iphone/rbuild/iphone.rake +113 -4
  1310. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +15 -17
  1311. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +6 -14
  1312. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +20 -23
  1313. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +22 -14
  1314. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +0 -0
  1315. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui +0 -0
  1316. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork +0 -0
  1317. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit +0 -0
  1318. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
  1319. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
  1320. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib +0 -0
  1321. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqcorewlanbearer.dylib +0 -0
  1322. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqgenericbearer.dylib +0 -0
  1323. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqcncodecs.dylib +0 -0
  1324. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqjpcodecs.dylib +0 -0
  1325. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqkrcodecs.dylib +0 -0
  1326. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqtwcodecs.dylib +0 -0
  1327. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/graphicssystems/libqtracegraphicssystem.dylib +0 -0
  1328. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqgif.dylib +0 -0
  1329. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqico.dylib +0 -0
  1330. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqjpeg.dylib +0 -0
  1331. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqmng.dylib +0 -0
  1332. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtga.dylib +0 -0
  1333. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtiff.dylib +0 -0
  1334. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_inspector.dylib +0 -0
  1335. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_tcp.dylib +0 -0
  1336. data/platform/osx/build/osx.rake +18 -9
  1337. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +12 -0
  1338. data/platform/shared/RhoConnectClient/RhoConnectClient.h +3 -0
  1339. data/platform/shared/common/Android.mk +1 -0
  1340. data/platform/shared/common/BundleManager.cpp +503 -47
  1341. data/platform/shared/common/ExtManager.h +4 -0
  1342. data/platform/shared/common/RhoSettingsDefs.h +3 -0
  1343. data/platform/shared/common/RhoStd.h +14 -1
  1344. data/platform/shared/common/RhodesApp.cpp +84 -137
  1345. data/platform/shared/common/RhodesApp.h +12 -7
  1346. data/platform/shared/common/RhodesAppBase.cpp +124 -2
  1347. data/platform/shared/common/RhodesAppBase.h +43 -2
  1348. data/platform/shared/common/ThreadQueue.cpp +1 -1
  1349. data/platform/shared/common/app_build_capabilities.h +0 -7
  1350. data/platform/shared/common/map/MapEngine.h +1 -0
  1351. data/platform/shared/common/push/IRhoPushClient.h +46 -0
  1352. data/platform/shared/common/push/RhoPushManager.cpp +146 -0
  1353. data/platform/shared/common/push/RhoPushManager.h +79 -0
  1354. data/platform/shared/curl/lib/curl_config.h +8 -0
  1355. data/platform/shared/curl/lib/netrc.c +2 -0
  1356. data/platform/shared/db/Android.mk +4 -1
  1357. data/platform/shared/db/DBAdapter.cpp +218 -12
  1358. data/platform/shared/db/DBAdapter.h +16 -1
  1359. data/platform/shared/db/DBAttrManager.cpp +18 -1
  1360. data/platform/shared/db/DBAttrManager.h +2 -1
  1361. data/platform/shared/db/DBImportTransaction.cpp +300 -0
  1362. data/platform/shared/db/DBImportTransaction.h +56 -0
  1363. data/platform/shared/db/DBRequestHelper.cpp +114 -0
  1364. data/platform/shared/db/DBRequestHelper.h +27 -0
  1365. data/platform/shared/logging/RhoLogConf.h +2 -0
  1366. data/platform/shared/net/AsyncHttp.cpp +4 -3
  1367. data/platform/shared/net/AsyncHttp.h +3 -2
  1368. data/platform/shared/net/CURLNetRequest.cpp +18 -5
  1369. data/platform/shared/net/HttpServer.cpp +18 -14
  1370. data/platform/shared/qt/rhodes/MainWindowCallback.h +0 -1
  1371. data/platform/shared/qt/rhodes/QtMainWindow.cpp +180 -36
  1372. data/platform/shared/qt/rhodes/QtMainWindow.h +13 -1
  1373. data/platform/shared/qt/rhodes/QtMainWindow.ui +22 -3
  1374. data/platform/shared/qt/rhodes/RhoSimulator.h +3 -0
  1375. data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +22 -0
  1376. data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +6 -0
  1377. data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +15 -0
  1378. data/platform/shared/qt/rhodes/main.cpp +15 -1
  1379. data/platform/shared/qt/rholib/rholib.pro +8 -2
  1380. data/platform/shared/qt/syncengine/syncengine.pro +6 -2
  1381. data/platform/shared/ruby/ext/rho/extensions.c +2 -0
  1382. data/platform/shared/ruby/ext/rho/rhoruby.c +12 -0
  1383. data/platform/shared/ruby/ext/rho/rhoruby.h +2 -0
  1384. data/platform/shared/ruby/ext/rho/rhosupport.c +77 -38
  1385. data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +54 -2
  1386. data/platform/shared/ruby/ext/syncengine/syncengine.i +4 -0
  1387. data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +40 -1
  1388. data/platform/shared/ruby/ext/system/system.i +38 -4
  1389. data/platform/shared/ruby/ext/system/system_wrap.c +277 -9
  1390. data/platform/shared/ruby/iphone/ruby/config.h +28 -0
  1391. data/platform/shared/ruby/main.c +8 -0
  1392. data/platform/shared/ruby/wince/sys/timeb.c +4 -0
  1393. data/platform/shared/ruby/wince/sys/timeb.h +1 -0
  1394. data/platform/shared/rubyext/Android.mk +2 -1
  1395. data/platform/shared/rubyext/System.cpp +93 -3
  1396. data/platform/shared/rubyext/ZipFiles.cpp +65 -0
  1397. data/platform/shared/statistic/RhoProfiler.cpp +36 -6
  1398. data/platform/shared/statistic/RhoProfiler.h +3 -0
  1399. data/platform/shared/sync/ClientRegister.cpp +21 -5
  1400. data/platform/shared/sync/ClientRegister.h +4 -2
  1401. data/platform/shared/sync/ISyncProtocol.h +5 -2
  1402. data/platform/shared/sync/SyncEngine.cpp +85 -15
  1403. data/platform/shared/sync/SyncEngine.h +5 -0
  1404. data/platform/shared/sync/SyncNotify.cpp +3 -0
  1405. data/platform/shared/sync/SyncProtocol_3.h +14 -2
  1406. data/platform/shared/sync/SyncSource.cpp +238 -40
  1407. data/platform/shared/sync/SyncSource.h +2 -0
  1408. data/platform/shared/sync/SyncThread.cpp +7 -0
  1409. data/platform/shared/sync/SyncThread.h +1 -0
  1410. data/platform/shared/tcmalloc/rhomem.h +1 -1
  1411. data/platform/shared/tcmalloc/windows/port.cpp +1 -1
  1412. data/platform/shared/unzip/Android.mk +1 -1
  1413. data/platform/shared/unzip/zip.cpp +2953 -0
  1414. data/platform/shared/unzip/zip.h +255 -0
  1415. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  1416. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  1417. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  1418. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  1419. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  1420. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  1421. data/platform/win32/RhoSimulator/imageformats/qico4.dll +0 -0
  1422. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  1423. data/platform/win32/RhoSimulator/imageformats/qmng4.dll +0 -0
  1424. data/platform/win32/RhoSimulator/imageformats/qsvg4.dll +0 -0
  1425. data/platform/win32/RhoSimulator/imageformats/qtiff4.dll +0 -0
  1426. data/platform/win32/RhoSimulator/phonon4.dll +0 -0
  1427. data/platform/win32/RubyWin/RubyWin.sln +2 -2
  1428. data/platform/win32/RubyWin/RubyWin.vcproj +6 -7
  1429. data/platform/wm/RhoLib/RhoLib.vcproj +33 -3
  1430. data/platform/wm/build/rhodes.nsi +64 -230
  1431. data/platform/wm/build/wm.rake +306 -93
  1432. data/platform/wm/rhodes.sln +70 -21
  1433. data/platform/wm/rhodes/DateTimePicker.h +1 -1
  1434. data/platform/wm/rhodes/IEBrowserEngine.cpp +4 -1
  1435. data/platform/wm/rhodes/MainWindow.cpp +8 -7
  1436. data/platform/wm/rhodes/MainWindow.h +1 -1
  1437. data/platform/wm/rhodes/RhoNativeViewManager.cpp +2 -2
  1438. data/platform/wm/rhodes/Rhodes.cpp +80 -30
  1439. data/platform/wm/rhodes/camera/Camera.cpp +44 -65
  1440. data/platform/wm/rhodes/camera/Camera.h +6 -0
  1441. data/platform/wm/rhodes/rho/common/ExtManager.cpp +29 -6
  1442. data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +6 -1
  1443. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +3 -0
  1444. data/platform/wm/rhodes/rho/net/NetRequestImpl.h +1 -1
  1445. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.cpp +5 -5
  1446. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +188 -29
  1447. data/platform/wm/rhodes/rho/rubyext/WebView.cpp +3 -3
  1448. data/platform/wm/rhodes/rhodes.vcproj +2284 -148
  1449. data/platform/wm/rhodes/simulator/MainWindowQt.cpp +48 -10
  1450. data/platform/wm/rhodes/simulator/MainWindowQt.h +6 -2
  1451. data/platform/wm/rhoelements.sln +122 -0
  1452. data/platform/wm/rubylib/rubylib.vcproj +4 -2
  1453. data/platform/wm/sqlite3/sqlite3.vcproj +4 -2
  1454. data/platform/wm/syncengine/syncengine.vcproj +20 -2
  1455. data/platform/wm/tcmalloc/tcmalloc.vcproj +160 -0
  1456. data/platform/wp7/RhoRubyLib/rubyext/RhoSyncEngine.cs +4 -0
  1457. data/platform/wp7/RhoRubyLib/rubyext/RhoSystem.cs +4 -0
  1458. data/rakefile.rb +173 -17
  1459. data/res/build-tools/license_rc.dll +0 -0
  1460. data/res/build-tools/win32/license_rc.dll +0 -0
  1461. data/res/generators/templates/application/app/layout.erb +7 -3
  1462. data/res/generators/templates/application/public/css/re_webkit.css +1 -1
  1463. data/res/generators/templates/application/public/css/re_webkit_flat.css +753 -0
  1464. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +4 -10
  1465. data/spec/framework_spec/app/spec/core/file/new_spec.rb +2 -2
  1466. data/spec/framework_spec/app/spec/core/file/open_spec.rb +6 -6
  1467. data/spec/framework_spec/app/spec/core/file/shared/open.rb +1 -1
  1468. data/spec/framework_spec/app/spec/core/file/shared/stat.rb +2 -2
  1469. data/spec/framework_spec/app/spec/core/file/stat/blksize_spec.rb +1 -1
  1470. data/spec/framework_spec/app/spec/core/file/stat/blocks_spec.rb +1 -1
  1471. data/spec/framework_spec/app/spec/core/file/stat/comparison_spec.rb +1 -1
  1472. data/spec/framework_spec/app/spec/core/file/stat/ino_spec.rb +1 -1
  1473. data/spec/framework_spec/app/spec/core/file/stat/inspect_spec.rb +1 -1
  1474. data/spec/framework_spec/app/spec/core/file/stat/mode_spec.rb +1 -1
  1475. data/spec/framework_spec/app/spec/core/file/stat/nlink_spec.rb +1 -1
  1476. data/spec/framework_spec/app/spec/core/file/stat_spec.rb +1 -1
  1477. data/spec/framework_spec/app/spec/core/file/sticky_spec.rb +2 -2
  1478. data/spec/framework_spec/app/spec/core/io/close_read_spec.rb +1 -1
  1479. data/spec/framework_spec/app/spec/core/io/close_write_spec.rb +1 -1
  1480. data/spec/framework_spec/app/spec/core/io/foreach_spec.rb +8 -8
  1481. data/spec/framework_spec/app/spec/core/io/getc_spec.rb +1 -1
  1482. data/spec/framework_spec/app/spec/core/io/gets_spec.rb +1 -1
  1483. data/spec/framework_spec/app/spec/core/io/stat_spec.rb +1 -1
  1484. data/spec/framework_spec/app/spec/core/kernel/respond_to_spec.rb +1 -1
  1485. data/spec/framework_spec/app/spec/core/time/shared/gmt_offset.rb +1 -1
  1486. data/spec/framework_spec/app/spec/library/digest/hmac_spec.rb +91 -0
  1487. data/spec/framework_spec/app/spec/library/digest/md5/file_spec.rb +1 -1
  1488. data/spec/framework_spec/app/spec/library/digest/sha256/append_spec.rb +7 -0
  1489. data/spec/framework_spec/app/spec/library/digest/sha256/block_length_spec.rb +12 -0
  1490. data/spec/framework_spec/app/spec/library/digest/sha256/digest_bang_spec.rb +13 -0
  1491. data/spec/framework_spec/app/spec/library/digest/sha256/digest_length_spec.rb +12 -0
  1492. data/spec/framework_spec/app/spec/library/digest/sha256/digest_spec.rb +32 -0
  1493. data/spec/framework_spec/app/spec/library/digest/sha256/equal_spec.rb +37 -0
  1494. data/spec/framework_spec/app/spec/library/digest/sha256/file_spec.rb +47 -0
  1495. data/spec/framework_spec/app/spec/library/digest/sha256/hexdigest_bang_spec.rb +14 -0
  1496. data/spec/framework_spec/app/spec/library/digest/sha256/hexdigest_spec.rb +32 -0
  1497. data/spec/framework_spec/app/spec/library/digest/sha256/inspect_spec.rb +12 -0
  1498. data/spec/framework_spec/app/spec/library/digest/sha256/length_spec.rb +8 -0
  1499. data/spec/framework_spec/app/spec/library/digest/sha256/reset_spec.rb +15 -0
  1500. data/spec/framework_spec/app/spec/library/digest/sha256/shared/constants.rb +15 -0
  1501. data/spec/framework_spec/app/spec/library/digest/sha256/shared/length.rb +8 -0
  1502. data/spec/framework_spec/app/spec/library/digest/sha256/shared/update.rb +7 -0
  1503. data/spec/framework_spec/app/spec/library/digest/sha256/size_spec.rb +8 -0
  1504. data/spec/framework_spec/app/spec/library/digest/sha256/to_s_spec.rb +21 -0
  1505. data/spec/framework_spec/app/spec/library/digest/sha256/update_spec.rb +7 -0
  1506. data/spec/framework_spec/app/spec/library/digest/sha384/append_spec.rb +7 -0
  1507. data/spec/framework_spec/app/spec/library/digest/sha384/block_length_spec.rb +12 -0
  1508. data/spec/framework_spec/app/spec/library/digest/sha384/digest_bang_spec.rb +13 -0
  1509. data/spec/framework_spec/app/spec/library/digest/sha384/digest_length_spec.rb +12 -0
  1510. data/spec/framework_spec/app/spec/library/digest/sha384/digest_spec.rb +32 -0
  1511. data/spec/framework_spec/app/spec/library/digest/sha384/equal_spec.rb +37 -0
  1512. data/spec/framework_spec/app/spec/library/digest/sha384/file_spec.rb +47 -0
  1513. data/spec/framework_spec/app/spec/library/digest/sha384/hexdigest_bang_spec.rb +14 -0
  1514. data/spec/framework_spec/app/spec/library/digest/sha384/hexdigest_spec.rb +32 -0
  1515. data/spec/framework_spec/app/spec/library/digest/sha384/inspect_spec.rb +12 -0
  1516. data/spec/framework_spec/app/spec/library/digest/sha384/length_spec.rb +8 -0
  1517. data/spec/framework_spec/app/spec/library/digest/sha384/reset_spec.rb +15 -0
  1518. data/spec/framework_spec/app/spec/library/digest/sha384/shared/constants.rb +16 -0
  1519. data/spec/framework_spec/app/spec/library/digest/sha384/shared/length.rb +8 -0
  1520. data/spec/framework_spec/app/spec/library/digest/sha384/shared/update.rb +7 -0
  1521. data/spec/framework_spec/app/spec/library/digest/sha384/size_spec.rb +8 -0
  1522. data/spec/framework_spec/app/spec/library/digest/sha384/to_s_spec.rb +21 -0
  1523. data/spec/framework_spec/app/spec/library/digest/sha384/update_spec.rb +7 -0
  1524. data/spec/framework_spec/app/spec/library/digest/sha512/append_spec.rb +7 -0
  1525. data/spec/framework_spec/app/spec/library/digest/sha512/block_length_spec.rb +12 -0
  1526. data/spec/framework_spec/app/spec/library/digest/sha512/digest_bang_spec.rb +13 -0
  1527. data/spec/framework_spec/app/spec/library/digest/sha512/digest_length_spec.rb +12 -0
  1528. data/spec/framework_spec/app/spec/library/digest/sha512/digest_spec.rb +32 -0
  1529. data/spec/framework_spec/app/spec/library/digest/sha512/equal_spec.rb +37 -0
  1530. data/spec/framework_spec/app/spec/library/digest/sha512/file_spec.rb +47 -0
  1531. data/spec/framework_spec/app/spec/library/digest/sha512/hexdigest_bang_spec.rb +14 -0
  1532. data/spec/framework_spec/app/spec/library/digest/sha512/hexdigest_spec.rb +32 -0
  1533. data/spec/framework_spec/app/spec/library/digest/sha512/inspect_spec.rb +12 -0
  1534. data/spec/framework_spec/app/spec/library/digest/sha512/length_spec.rb +8 -0
  1535. data/spec/framework_spec/app/spec/library/digest/sha512/reset_spec.rb +15 -0
  1536. data/spec/framework_spec/app/spec/library/digest/sha512/shared/constants.rb +15 -0
  1537. data/spec/framework_spec/app/spec/library/digest/sha512/shared/length.rb +8 -0
  1538. data/spec/framework_spec/app/spec/library/digest/sha512/shared/update.rb +7 -0
  1539. data/spec/framework_spec/app/spec/library/digest/sha512/size_spec.rb +8 -0
  1540. data/spec/framework_spec/app/spec/library/digest/sha512/to_s_spec.rb +21 -0
  1541. data/spec/framework_spec/app/spec/library/digest/sha512/update_spec.rb +7 -0
  1542. data/spec/framework_spec/app/spec/library/ezcrypto/ezcrypto_spec.rb +13 -0
  1543. data/spec/framework_spec/app/spec/library/net/ftp/nlst_spec.rb +1 -1
  1544. data/spec/framework_spec/app/spec/library/net/ftp/retrbinary_spec.rb +1 -1
  1545. data/spec/framework_spec/app/spec/library/net/ftp/retrlines_spec.rb +1 -1
  1546. data/spec/framework_spec/app/spec/library/net/ftp/shared/getbinaryfile.rb +1 -1
  1547. data/spec/framework_spec/app/spec/library/net/ftp/shared/gettextfile.rb +1 -1
  1548. data/spec/framework_spec/app/spec/library/net/ftp/shared/list.rb +1 -1
  1549. data/spec/framework_spec/app/spec/library/net/ftp/shared/putbinaryfile.rb +1 -1
  1550. data/spec/framework_spec/app/spec/library/net/ftp/shared/puttextfile.rb +1 -1
  1551. data/spec/framework_spec/app/spec/library/net/ftp/storbinary_spec.rb +1 -1
  1552. data/spec/framework_spec/app/spec/library/net/ftp/storlines_spec.rb +1 -1
  1553. data/spec/framework_spec/app/spec/library/openssl/cipher_spec.rb +19 -0
  1554. data/spec/framework_spec/app/spec/library/openssl/config/freeze_spec.rb +21 -0
  1555. data/spec/framework_spec/app/spec/library/openssl/hmac/digest_spec.rb +18 -0
  1556. data/spec/framework_spec/app/spec/library/openssl/hmac/hexdigest_spec.rb +18 -0
  1557. data/spec/framework_spec/app/spec/library/openssl/random/pseudo_bytes_spec.rb +7 -0
  1558. data/spec/framework_spec/app/spec/library/openssl/random/random_bytes_spec.rb +7 -0
  1559. data/spec/framework_spec/app/spec/library/openssl/random/shared/random_bytes.rb +29 -0
  1560. data/spec/framework_spec/app/spec/library/openssl/shared/constants.rb +10 -0
  1561. data/spec/framework_spec/app/spec/library/zlib/adler32_spec.rb +46 -0
  1562. data/spec/framework_spec/app/spec/library/zlib/crc32_spec.rb +52 -0
  1563. data/spec/framework_spec/app/spec/library/zlib/crc_table_spec.rb +11 -0
  1564. data/spec/framework_spec/app/spec/library/zlib/deflate/append_spec.rb +1 -0
  1565. data/spec/framework_spec/app/spec/library/zlib/deflate/deflate_spec.rb +49 -0
  1566. data/spec/framework_spec/app/spec/library/zlib/deflate/flush_spec.rb +1 -0
  1567. data/spec/framework_spec/app/spec/library/zlib/deflate/initialize_copy_spec.rb +1 -0
  1568. data/spec/framework_spec/app/spec/library/zlib/deflate/new_spec.rb +1 -0
  1569. data/spec/framework_spec/app/spec/library/zlib/deflate/params_spec.rb +20 -0
  1570. data/spec/framework_spec/app/spec/library/zlib/deflate/set_dictionary_spec.rb +14 -0
  1571. data/spec/framework_spec/app/spec/library/zlib/gzipfile/close_spec.rb +23 -0
  1572. data/spec/framework_spec/app/spec/library/zlib/gzipfile/closed_spec.rb +17 -0
  1573. data/spec/framework_spec/app/spec/library/zlib/gzipfile/comment_spec.rb +27 -0
  1574. data/spec/framework_spec/app/spec/library/zlib/gzipfile/crc_spec.rb +1 -0
  1575. data/spec/framework_spec/app/spec/library/zlib/gzipfile/finish_spec.rb +1 -0
  1576. data/spec/framework_spec/app/spec/library/zlib/gzipfile/level_spec.rb +1 -0
  1577. data/spec/framework_spec/app/spec/library/zlib/gzipfile/mtime_spec.rb +1 -0
  1578. data/spec/framework_spec/app/spec/library/zlib/gzipfile/orig_name_spec.rb +27 -0
  1579. data/spec/framework_spec/app/spec/library/zlib/gzipfile/os_code_spec.rb +1 -0
  1580. data/spec/framework_spec/app/spec/library/zlib/gzipfile/sync_spec.rb +1 -0
  1581. data/spec/framework_spec/app/spec/library/zlib/gzipfile/to_io_spec.rb +1 -0
  1582. data/spec/framework_spec/app/spec/library/zlib/gzipfile/wrap_spec.rb +1 -0
  1583. data/spec/framework_spec/app/spec/library/zlib/gzipreader/each_byte_spec.rb +33 -0
  1584. data/spec/framework_spec/app/spec/library/zlib/gzipreader/each_line_spec.rb +1 -0
  1585. data/spec/framework_spec/app/spec/library/zlib/gzipreader/each_spec.rb +1 -0
  1586. data/spec/framework_spec/app/spec/library/zlib/gzipreader/eof_spec.rb +55 -0
  1587. data/spec/framework_spec/app/spec/library/zlib/gzipreader/getc_spec.rb +55 -0
  1588. data/spec/framework_spec/app/spec/library/zlib/gzipreader/gets_spec.rb +1 -0
  1589. data/spec/framework_spec/app/spec/library/zlib/gzipreader/lineno_spec.rb +1 -0
  1590. data/spec/framework_spec/app/spec/library/zlib/gzipreader/new_spec.rb +1 -0
  1591. data/spec/framework_spec/app/spec/library/zlib/gzipreader/open_spec.rb +1 -0
  1592. data/spec/framework_spec/app/spec/library/zlib/gzipreader/pos_spec.rb +26 -0
  1593. data/spec/framework_spec/app/spec/library/zlib/gzipreader/read_spec.rb +58 -0
  1594. data/spec/framework_spec/app/spec/library/zlib/gzipreader/readchar_spec.rb +1 -0
  1595. data/spec/framework_spec/app/spec/library/zlib/gzipreader/readline_spec.rb +1 -0
  1596. data/spec/framework_spec/app/spec/library/zlib/gzipreader/readlines_spec.rb +1 -0
  1597. data/spec/framework_spec/app/spec/library/zlib/gzipreader/rewind_spec.rb +47 -0
  1598. data/spec/framework_spec/app/spec/library/zlib/gzipreader/tell_spec.rb +1 -0
  1599. data/spec/framework_spec/app/spec/library/zlib/gzipreader/ungetc_spec.rb +1 -0
  1600. data/spec/framework_spec/app/spec/library/zlib/gzipreader/unused_spec.rb +1 -0
  1601. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/append_spec.rb +1 -0
  1602. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/comment_spec.rb +1 -0
  1603. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/flush_spec.rb +1 -0
  1604. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/mtime_spec.rb +41 -0
  1605. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/new_spec.rb +1 -0
  1606. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/open_spec.rb +1 -0
  1607. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/orig_name_spec.rb +1 -0
  1608. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/pos_spec.rb +1 -0
  1609. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/print_spec.rb +1 -0
  1610. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/printf_spec.rb +1 -0
  1611. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/putc_spec.rb +1 -0
  1612. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/puts_spec.rb +1 -0
  1613. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/tell_spec.rb +1 -0
  1614. data/spec/framework_spec/app/spec/library/zlib/gzipwriter/write_spec.rb +24 -0
  1615. data/spec/framework_spec/app/spec/library/zlib/inflate/append_spec.rb +60 -0
  1616. data/spec/framework_spec/app/spec/library/zlib/inflate/inflate_spec.rb +109 -0
  1617. data/spec/framework_spec/app/spec/library/zlib/inflate/new_spec.rb +1 -0
  1618. data/spec/framework_spec/app/spec/library/zlib/inflate/set_dictionary_spec.rb +20 -0
  1619. data/spec/framework_spec/app/spec/library/zlib/inflate/sync_point_spec.rb +1 -0
  1620. data/spec/framework_spec/app/spec/library/zlib/inflate/sync_spec.rb +1 -0
  1621. data/spec/framework_spec/app/spec/library/zlib/zlib_version_spec.rb +1 -0
  1622. data/spec/framework_spec/app/spec/library/zlib/zstream/adler_spec.rb +1 -0
  1623. data/spec/framework_spec/app/spec/library/zlib/zstream/avail_in_spec.rb +1 -0
  1624. data/spec/framework_spec/app/spec/library/zlib/zstream/avail_out_spec.rb +1 -0
  1625. data/spec/framework_spec/app/spec/library/zlib/zstream/close_spec.rb +1 -0
  1626. data/spec/framework_spec/app/spec/library/zlib/zstream/closed_spec.rb +1 -0
  1627. data/spec/framework_spec/app/spec/library/zlib/zstream/data_type_spec.rb +1 -0
  1628. data/spec/framework_spec/app/spec/library/zlib/zstream/end_spec.rb +1 -0
  1629. data/spec/framework_spec/app/spec/library/zlib/zstream/ended_spec.rb +1 -0
  1630. data/spec/framework_spec/app/spec/library/zlib/zstream/finish_spec.rb +1 -0
  1631. data/spec/framework_spec/app/spec/library/zlib/zstream/finished_spec.rb +1 -0
  1632. data/spec/framework_spec/app/spec/library/zlib/zstream/flush_next_in_spec.rb +1 -0
  1633. data/spec/framework_spec/app/spec/library/zlib/zstream/flush_next_out_spec.rb +16 -0
  1634. data/spec/framework_spec/app/spec/library/zlib/zstream/reset_spec.rb +1 -0
  1635. data/spec/framework_spec/app/spec/library/zlib/zstream/stream_end_spec.rb +1 -0
  1636. data/spec/framework_spec/app/spec/library/zlib/zstream/total_in_spec.rb +1 -0
  1637. data/spec/framework_spec/app/spec/library/zlib/zstream/total_out_spec.rb +1 -0
  1638. data/spec/framework_spec/app/spec/shared/file/executable_real.rb +1 -1
  1639. data/spec/framework_spec/app/spec/shared/file/file.rb +1 -1
  1640. data/spec/framework_spec/app/spec_runner.rb +6 -5
  1641. data/spec/framework_spec/build.yml +4 -1
  1642. data/spec/phone_spec/app/BlobBulkTest/blob_bulk_test.png +0 -0
  1643. data/spec/phone_spec/app/BlobBulkTest/blob_bulk_test.rb +11 -0
  1644. data/spec/phone_spec/app/BlobBulkTest_s/blob_bulk_test_s.png +0 -0
  1645. data/spec/phone_spec/app/BlobBulkTest_s/blob_bulk_test_s.rb +11 -0
  1646. data/spec/phone_spec/app/Data/invalid_import_db.zip +0 -0
  1647. data/spec/phone_spec/app/Data/valid_import_db.zip +0 -0
  1648. data/spec/phone_spec/app/spec/asynchttp_spec.rb +1 -1
  1649. data/spec/phone_spec/app/spec/blob_bulksync_spec.rb +160 -0
  1650. data/spec/phone_spec/app/spec/bulksync_spec.rb +51 -1
  1651. data/spec/phone_spec/app/spec/bundle_update_spec.rb +85 -0
  1652. data/spec/phone_spec/app/spec/database_spec.rb +174 -0
  1653. data/spec/phone_spec/app/spec/events_spec.rb +4 -4
  1654. data/spec/phone_spec/app/spec/json_spec.rb +1 -1
  1655. data/spec/phone_spec/app/spec/rho_spec.rb +88 -12
  1656. data/spec/phone_spec/app/spec/rhofile_spec.rb +1 -1
  1657. data/spec/phone_spec/app/spec/rhom_object_spec.rb +8 -5
  1658. data/spec/phone_spec/app/spec/syncengine_spec.rb +281 -18
  1659. data/spec/phone_spec/app/spec/uri_spec.rb +5 -5
  1660. data/spec/phone_spec/app/spec_runner.rb +16 -9
  1661. data/spec/phone_spec/build.yml +2 -1
  1662. data/spec/phone_spec/public/file_for_replace.txt +1 -0
  1663. data/spec/phone_spec/public/file_to_remove.png +0 -0
  1664. data/spec/phone_spec/public/folder_to_remove.png +0 -0
  1665. data/spec/phone_spec/public/folder_to_remove/switch.png +0 -0
  1666. data/spec/phone_spec/public/partial_update_bundle/upgrade_bundle_partial.zip +0 -0
  1667. data/spec/phone_spec/upgrade_package_add_files.txt +2 -0
  1668. data/spec/phone_spec/upgrade_package_remove_files.txt +2 -0
  1669. data/version +1 -1
  1670. metadata +1384 -12
  1671. data/Manifest.txt +0 -8054
  1672. data/doc/alert-api.txt +0 -51
  1673. data/doc/files.txt +0 -4
  1674. data/doc/rhodes-api.txt +0 -147
  1675. data/doc/scanner.txt +0 -507
  1676. data/doc/timer-api.txt +0 -39
  1677. data/doc/tutorial.txt +0 -130
  1678. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/WebkitExtension.java +0 -53
@@ -0,0 +1,145 @@
1
+ /* ssl/tls1.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+ /* ====================================================================
59
+ * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
60
+ *
61
+ * Redistribution and use in source and binary forms, with or without
62
+ * modification, are permitted provided that the following conditions
63
+ * are met:
64
+ *
65
+ * 1. Redistributions of source code must retain the above copyright
66
+ * notice, this list of conditions and the following disclaimer.
67
+ *
68
+ * 2. Redistributions in binary form must reproduce the above copyright
69
+ * notice, this list of conditions and the following disclaimer in
70
+ * the documentation and/or other materials provided with the
71
+ * distribution.
72
+ *
73
+ * 3. All advertising materials mentioning features or use of this
74
+ * software must display the following acknowledgment:
75
+ * "This product includes software developed by the OpenSSL Project
76
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
77
+ *
78
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
79
+ * endorse or promote products derived from this software without
80
+ * prior written permission. For written permission, please contact
81
+ * openssl-core@openssl.org.
82
+ *
83
+ * 5. Products derived from this software may not be called "OpenSSL"
84
+ * nor may "OpenSSL" appear in their names without prior written
85
+ * permission of the OpenSSL Project.
86
+ *
87
+ * 6. Redistributions of any form whatsoever must retain the following
88
+ * acknowledgment:
89
+ * "This product includes software developed by the OpenSSL Project
90
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
91
+ *
92
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
93
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
94
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
95
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
96
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
97
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
98
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
99
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
100
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
101
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
102
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
103
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
104
+ * ====================================================================
105
+ *
106
+ * This product includes cryptographic software written by Eric Young
107
+ * (eay@cryptsoft.com). This product includes software written by Tim
108
+ * Hudson (tjh@cryptsoft.com).
109
+ *
110
+ */
111
+ /*
112
+ DTLS code by Eric Rescorla <ekr@rtfm.com>
113
+
114
+ Copyright (C) 2006, Network Resonance, Inc.
115
+ Copyright (C) 2011, RTFM, Inc.
116
+ */
117
+
118
+ #ifndef HEADER_D1_SRTP_H
119
+ #define HEADER_D1_SRTP_H
120
+
121
+ #ifdef __cplusplus
122
+ extern "C" {
123
+ #endif
124
+
125
+
126
+ #define SRTP_AES128_CM_SHA1_80 0x0001
127
+ #define SRTP_AES128_CM_SHA1_32 0x0002
128
+ #define SRTP_AES128_F8_SHA1_80 0x0003
129
+ #define SRTP_AES128_F8_SHA1_32 0x0004
130
+ #define SRTP_NULL_SHA1_80 0x0005
131
+ #define SRTP_NULL_SHA1_32 0x0006
132
+
133
+ int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles);
134
+ int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles);
135
+ SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
136
+
137
+ STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl);
138
+ SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
139
+
140
+ #ifdef __cplusplus
141
+ }
142
+ #endif
143
+
144
+ #endif
145
+
@@ -0,0 +1,2572 @@
1
+ /* ssl/ssl.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+ /* ====================================================================
59
+ * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
60
+ *
61
+ * Redistribution and use in source and binary forms, with or without
62
+ * modification, are permitted provided that the following conditions
63
+ * are met:
64
+ *
65
+ * 1. Redistributions of source code must retain the above copyright
66
+ * notice, this list of conditions and the following disclaimer.
67
+ *
68
+ * 2. Redistributions in binary form must reproduce the above copyright
69
+ * notice, this list of conditions and the following disclaimer in
70
+ * the documentation and/or other materials provided with the
71
+ * distribution.
72
+ *
73
+ * 3. All advertising materials mentioning features or use of this
74
+ * software must display the following acknowledgment:
75
+ * "This product includes software developed by the OpenSSL Project
76
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
77
+ *
78
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
79
+ * endorse or promote products derived from this software without
80
+ * prior written permission. For written permission, please contact
81
+ * openssl-core@openssl.org.
82
+ *
83
+ * 5. Products derived from this software may not be called "OpenSSL"
84
+ * nor may "OpenSSL" appear in their names without prior written
85
+ * permission of the OpenSSL Project.
86
+ *
87
+ * 6. Redistributions of any form whatsoever must retain the following
88
+ * acknowledgment:
89
+ * "This product includes software developed by the OpenSSL Project
90
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
91
+ *
92
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
93
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
94
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
95
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
96
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
97
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
98
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
99
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
100
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
101
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
102
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
103
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
104
+ * ====================================================================
105
+ *
106
+ * This product includes cryptographic software written by Eric Young
107
+ * (eay@cryptsoft.com). This product includes software written by Tim
108
+ * Hudson (tjh@cryptsoft.com).
109
+ *
110
+ */
111
+ /* ====================================================================
112
+ * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
113
+ * ECC cipher suite support in OpenSSL originally developed by
114
+ * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
115
+ */
116
+ /* ====================================================================
117
+ * Copyright 2005 Nokia. All rights reserved.
118
+ *
119
+ * The portions of the attached software ("Contribution") is developed by
120
+ * Nokia Corporation and is licensed pursuant to the OpenSSL open source
121
+ * license.
122
+ *
123
+ * The Contribution, originally written by Mika Kousa and Pasi Eronen of
124
+ * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites
125
+ * support (see RFC 4279) to OpenSSL.
126
+ *
127
+ * No patent licenses or other rights except those expressly stated in
128
+ * the OpenSSL open source license shall be deemed granted or received
129
+ * expressly, by implication, estoppel, or otherwise.
130
+ *
131
+ * No assurances are provided by Nokia that the Contribution does not
132
+ * infringe the patent or other intellectual property rights of any third
133
+ * party or that the license provides you with all the necessary rights
134
+ * to make use of the Contribution.
135
+ *
136
+ * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN
137
+ * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA
138
+ * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY
139
+ * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR
140
+ * OTHERWISE.
141
+ */
142
+
143
+ #ifndef HEADER_SSL_H
144
+ #define HEADER_SSL_H
145
+
146
+ #include <openssl/e_os2.h>
147
+
148
+ #ifndef OPENSSL_NO_COMP
149
+ #include <openssl/comp.h>
150
+ #endif
151
+ #ifndef OPENSSL_NO_BIO
152
+ #include <openssl/bio.h>
153
+ #endif
154
+ #ifndef OPENSSL_NO_DEPRECATED
155
+ #ifndef OPENSSL_NO_X509
156
+ #include <openssl/x509.h>
157
+ #endif
158
+ #include <openssl/crypto.h>
159
+ #include <openssl/lhash.h>
160
+ #include <openssl/buffer.h>
161
+ #endif
162
+ #include <openssl/pem.h>
163
+ #include <openssl/hmac.h>
164
+
165
+ #include <openssl/kssl.h>
166
+ #include <openssl/safestack.h>
167
+ #include <openssl/symhacks.h>
168
+
169
+ #ifdef __cplusplus
170
+ extern "C" {
171
+ #endif
172
+
173
+ /* SSLeay version number for ASN.1 encoding of the session information */
174
+ /* Version 0 - initial version
175
+ * Version 1 - added the optional peer certificate
176
+ */
177
+ #define SSL_SESSION_ASN1_VERSION 0x0001
178
+
179
+ /* text strings for the ciphers */
180
+ #define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5
181
+ #define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5
182
+ #define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5
183
+ #define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5
184
+ #define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5
185
+ #define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5
186
+ #define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5
187
+ #define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA
188
+ #define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5
189
+ #define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA
190
+
191
+ /* VRS Additional Kerberos5 entries
192
+ */
193
+ #define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA
194
+ #define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA
195
+ #define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA
196
+ #define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA
197
+ #define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5
198
+ #define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5
199
+ #define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5
200
+ #define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5
201
+
202
+ #define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA
203
+ #define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA
204
+ #define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA
205
+ #define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5
206
+ #define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5
207
+ #define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5
208
+
209
+ #define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA
210
+ #define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5
211
+ #define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA
212
+ #define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5
213
+ #define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA
214
+ #define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5
215
+ #define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256
216
+
217
+ #define SSL_MAX_SSL_SESSION_ID_LENGTH 32
218
+ #define SSL_MAX_SID_CTX_LENGTH 32
219
+
220
+ #define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8)
221
+ #define SSL_MAX_KEY_ARG_LENGTH 8
222
+ #define SSL_MAX_MASTER_KEY_LENGTH 48
223
+
224
+
225
+ /* These are used to specify which ciphers to use and not to use */
226
+
227
+ #define SSL_TXT_EXP40 "EXPORT40"
228
+ #define SSL_TXT_EXP56 "EXPORT56"
229
+ #define SSL_TXT_LOW "LOW"
230
+ #define SSL_TXT_MEDIUM "MEDIUM"
231
+ #define SSL_TXT_HIGH "HIGH"
232
+ #define SSL_TXT_FIPS "FIPS"
233
+
234
+ #define SSL_TXT_kFZA "kFZA" /* unused! */
235
+ #define SSL_TXT_aFZA "aFZA" /* unused! */
236
+ #define SSL_TXT_eFZA "eFZA" /* unused! */
237
+ #define SSL_TXT_FZA "FZA" /* unused! */
238
+
239
+ #define SSL_TXT_aNULL "aNULL"
240
+ #define SSL_TXT_eNULL "eNULL"
241
+ #define SSL_TXT_NULL "NULL"
242
+
243
+ #define SSL_TXT_kRSA "kRSA"
244
+ #define SSL_TXT_kDHr "kDHr" /* no such ciphersuites supported! */
245
+ #define SSL_TXT_kDHd "kDHd" /* no such ciphersuites supported! */
246
+ #define SSL_TXT_kDH "kDH" /* no such ciphersuites supported! */
247
+ #define SSL_TXT_kEDH "kEDH"
248
+ #define SSL_TXT_kKRB5 "kKRB5"
249
+ #define SSL_TXT_kECDHr "kECDHr"
250
+ #define SSL_TXT_kECDHe "kECDHe"
251
+ #define SSL_TXT_kECDH "kECDH"
252
+ #define SSL_TXT_kEECDH "kEECDH"
253
+ #define SSL_TXT_kPSK "kPSK"
254
+ #define SSL_TXT_kGOST "kGOST"
255
+ #define SSL_TXT_kSRP "kSRP"
256
+
257
+ #define SSL_TXT_aRSA "aRSA"
258
+ #define SSL_TXT_aDSS "aDSS"
259
+ #define SSL_TXT_aDH "aDH" /* no such ciphersuites supported! */
260
+ #define SSL_TXT_aECDH "aECDH"
261
+ #define SSL_TXT_aKRB5 "aKRB5"
262
+ #define SSL_TXT_aECDSA "aECDSA"
263
+ #define SSL_TXT_aPSK "aPSK"
264
+ #define SSL_TXT_aGOST94 "aGOST94"
265
+ #define SSL_TXT_aGOST01 "aGOST01"
266
+ #define SSL_TXT_aGOST "aGOST"
267
+
268
+ #define SSL_TXT_DSS "DSS"
269
+ #define SSL_TXT_DH "DH"
270
+ #define SSL_TXT_EDH "EDH" /* same as "kEDH:-ADH" */
271
+ #define SSL_TXT_ADH "ADH"
272
+ #define SSL_TXT_RSA "RSA"
273
+ #define SSL_TXT_ECDH "ECDH"
274
+ #define SSL_TXT_EECDH "EECDH" /* same as "kEECDH:-AECDH" */
275
+ #define SSL_TXT_AECDH "AECDH"
276
+ #define SSL_TXT_ECDSA "ECDSA"
277
+ #define SSL_TXT_KRB5 "KRB5"
278
+ #define SSL_TXT_PSK "PSK"
279
+ #define SSL_TXT_SRP "SRP"
280
+
281
+ #define SSL_TXT_DES "DES"
282
+ #define SSL_TXT_3DES "3DES"
283
+ #define SSL_TXT_RC4 "RC4"
284
+ #define SSL_TXT_RC2 "RC2"
285
+ #define SSL_TXT_IDEA "IDEA"
286
+ #define SSL_TXT_SEED "SEED"
287
+ #define SSL_TXT_AES128 "AES128"
288
+ #define SSL_TXT_AES256 "AES256"
289
+ #define SSL_TXT_AES "AES"
290
+ #define SSL_TXT_AES_GCM "AESGCM"
291
+ #define SSL_TXT_CAMELLIA128 "CAMELLIA128"
292
+ #define SSL_TXT_CAMELLIA256 "CAMELLIA256"
293
+ #define SSL_TXT_CAMELLIA "CAMELLIA"
294
+
295
+ #define SSL_TXT_MD5 "MD5"
296
+ #define SSL_TXT_SHA1 "SHA1"
297
+ #define SSL_TXT_SHA "SHA" /* same as "SHA1" */
298
+ #define SSL_TXT_GOST94 "GOST94"
299
+ #define SSL_TXT_GOST89MAC "GOST89MAC"
300
+ #define SSL_TXT_SHA256 "SHA256"
301
+ #define SSL_TXT_SHA384 "SHA384"
302
+
303
+ #define SSL_TXT_SSLV2 "SSLv2"
304
+ #define SSL_TXT_SSLV3 "SSLv3"
305
+ #define SSL_TXT_TLSV1 "TLSv1"
306
+ #define SSL_TXT_TLSV1_1 "TLSv1.1"
307
+ #define SSL_TXT_TLSV1_2 "TLSv1.2"
308
+
309
+ #define SSL_TXT_EXP "EXP"
310
+ #define SSL_TXT_EXPORT "EXPORT"
311
+
312
+ #define SSL_TXT_ALL "ALL"
313
+
314
+ /*
315
+ * COMPLEMENTOF* definitions. These identifiers are used to (de-select)
316
+ * ciphers normally not being used.
317
+ * Example: "RC4" will activate all ciphers using RC4 including ciphers
318
+ * without authentication, which would normally disabled by DEFAULT (due
319
+ * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT"
320
+ * will make sure that it is also disabled in the specific selection.
321
+ * COMPLEMENTOF* identifiers are portable between version, as adjustments
322
+ * to the default cipher setup will also be included here.
323
+ *
324
+ * COMPLEMENTOFDEFAULT does not experience the same special treatment that
325
+ * DEFAULT gets, as only selection is being done and no sorting as needed
326
+ * for DEFAULT.
327
+ */
328
+ #define SSL_TXT_CMPALL "COMPLEMENTOFALL"
329
+ #define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT"
330
+
331
+ /* The following cipher list is used by default.
332
+ * It also is substituted when an application-defined cipher list string
333
+ * starts with 'DEFAULT'. */
334
+ #define SSL_DEFAULT_CIPHER_LIST "ALL:!aNULL:!eNULL:!SSLv2"
335
+ /* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
336
+ * starts with a reasonable order, and all we have to do for DEFAULT is
337
+ * throwing out anonymous and unencrypted ciphersuites!
338
+ * (The latter are not actually enabled by ALL, but "ALL:RSA" would enable
339
+ * some of them.)
340
+ */
341
+
342
+ /* Used in SSL_set_shutdown()/SSL_get_shutdown(); */
343
+ #define SSL_SENT_SHUTDOWN 1
344
+ #define SSL_RECEIVED_SHUTDOWN 2
345
+
346
+ #ifdef __cplusplus
347
+ }
348
+ #endif
349
+
350
+ #ifdef __cplusplus
351
+ extern "C" {
352
+ #endif
353
+
354
+ #if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2)
355
+ #define OPENSSL_NO_SSL2
356
+ #endif
357
+
358
+ #define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1
359
+ #define SSL_FILETYPE_PEM X509_FILETYPE_PEM
360
+
361
+ /* This is needed to stop compilers complaining about the
362
+ * 'struct ssl_st *' function parameters used to prototype callbacks
363
+ * in SSL_CTX. */
364
+ typedef struct ssl_st *ssl_crock_st;
365
+ typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT;
366
+ typedef struct ssl_method_st SSL_METHOD;
367
+ typedef struct ssl_cipher_st SSL_CIPHER;
368
+ typedef struct ssl_session_st SSL_SESSION;
369
+
370
+ DECLARE_STACK_OF(SSL_CIPHER)
371
+
372
+ /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
373
+ typedef struct srtp_protection_profile_st
374
+ {
375
+ const char *name;
376
+ unsigned long id;
377
+ } SRTP_PROTECTION_PROFILE;
378
+
379
+ DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE)
380
+
381
+ typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, int len, void *arg);
382
+ typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, STACK_OF(SSL_CIPHER) *peer_ciphers, SSL_CIPHER **cipher, void *arg);
383
+
384
+
385
+ #ifndef OPENSSL_NO_SSL_INTERN
386
+
387
+ /* used to hold info on the particular ciphers used */
388
+ struct ssl_cipher_st
389
+ {
390
+ int valid;
391
+ const char *name; /* text name */
392
+ unsigned long id; /* id, 4 bytes, first is version */
393
+
394
+ /* changed in 0.9.9: these four used to be portions of a single value 'algorithms' */
395
+ unsigned long algorithm_mkey; /* key exchange algorithm */
396
+ unsigned long algorithm_auth; /* server authentication */
397
+ unsigned long algorithm_enc; /* symmetric encryption */
398
+ unsigned long algorithm_mac; /* symmetric authentication */
399
+ unsigned long algorithm_ssl; /* (major) protocol version */
400
+
401
+ unsigned long algo_strength; /* strength and export flags */
402
+ unsigned long algorithm2; /* Extra flags */
403
+ int strength_bits; /* Number of bits really used */
404
+ int alg_bits; /* Number of bits for algorithm */
405
+ };
406
+
407
+
408
+ /* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */
409
+ struct ssl_method_st
410
+ {
411
+ int version;
412
+ int (*ssl_new)(SSL *s);
413
+ void (*ssl_clear)(SSL *s);
414
+ void (*ssl_free)(SSL *s);
415
+ int (*ssl_accept)(SSL *s);
416
+ int (*ssl_connect)(SSL *s);
417
+ int (*ssl_read)(SSL *s,void *buf,int len);
418
+ int (*ssl_peek)(SSL *s,void *buf,int len);
419
+ int (*ssl_write)(SSL *s,const void *buf,int len);
420
+ int (*ssl_shutdown)(SSL *s);
421
+ int (*ssl_renegotiate)(SSL *s);
422
+ int (*ssl_renegotiate_check)(SSL *s);
423
+ long (*ssl_get_message)(SSL *s, int st1, int stn, int mt, long
424
+ max, int *ok);
425
+ int (*ssl_read_bytes)(SSL *s, int type, unsigned char *buf, int len,
426
+ int peek);
427
+ int (*ssl_write_bytes)(SSL *s, int type, const void *buf_, int len);
428
+ int (*ssl_dispatch_alert)(SSL *s);
429
+ long (*ssl_ctrl)(SSL *s,int cmd,long larg,void *parg);
430
+ long (*ssl_ctx_ctrl)(SSL_CTX *ctx,int cmd,long larg,void *parg);
431
+ const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr);
432
+ int (*put_cipher_by_char)(const SSL_CIPHER *cipher,unsigned char *ptr);
433
+ int (*ssl_pending)(const SSL *s);
434
+ int (*num_ciphers)(void);
435
+ const SSL_CIPHER *(*get_cipher)(unsigned ncipher);
436
+ const struct ssl_method_st *(*get_ssl_method)(int version);
437
+ long (*get_timeout)(void);
438
+ struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */
439
+ int (*ssl_version)(void);
440
+ long (*ssl_callback_ctrl)(SSL *s, int cb_id, void (*fp)(void));
441
+ long (*ssl_ctx_callback_ctrl)(SSL_CTX *s, int cb_id, void (*fp)(void));
442
+ };
443
+
444
+ /* Lets make this into an ASN.1 type structure as follows
445
+ * SSL_SESSION_ID ::= SEQUENCE {
446
+ * version INTEGER, -- structure version number
447
+ * SSLversion INTEGER, -- SSL version number
448
+ * Cipher OCTET STRING, -- the 3 byte cipher ID
449
+ * Session_ID OCTET STRING, -- the Session ID
450
+ * Master_key OCTET STRING, -- the master key
451
+ * KRB5_principal OCTET STRING -- optional Kerberos principal
452
+ * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument
453
+ * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time
454
+ * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds
455
+ * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate
456
+ * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context
457
+ * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer'
458
+ * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension
459
+ * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint
460
+ * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity
461
+ * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket
462
+ * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only)
463
+ * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method
464
+ * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username
465
+ * }
466
+ * Look in ssl/ssl_asn1.c for more details
467
+ * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-).
468
+ */
469
+ struct ssl_session_st
470
+ {
471
+ int ssl_version; /* what ssl version session info is
472
+ * being kept in here? */
473
+
474
+ /* only really used in SSLv2 */
475
+ unsigned int key_arg_length;
476
+ unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH];
477
+ int master_key_length;
478
+ unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH];
479
+ /* session_id - valid? */
480
+ unsigned int session_id_length;
481
+ unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH];
482
+ /* this is used to determine whether the session is being reused in
483
+ * the appropriate context. It is up to the application to set this,
484
+ * via SSL_new */
485
+ unsigned int sid_ctx_length;
486
+ unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
487
+
488
+ #ifndef OPENSSL_NO_KRB5
489
+ unsigned int krb5_client_princ_len;
490
+ unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH];
491
+ #endif /* OPENSSL_NO_KRB5 */
492
+ #ifndef OPENSSL_NO_PSK
493
+ char *psk_identity_hint;
494
+ char *psk_identity;
495
+ #endif
496
+ int not_resumable;
497
+
498
+ /* The cert is the certificate used to establish this connection */
499
+ struct sess_cert_st /* SESS_CERT */ *sess_cert;
500
+
501
+ /* This is the cert for the other end.
502
+ * On clients, it will be the same as sess_cert->peer_key->x509
503
+ * (the latter is not enough as sess_cert is not retained
504
+ * in the external representation of sessions, see ssl_asn1.c). */
505
+ X509 *peer;
506
+ /* when app_verify_callback accepts a session where the peer's certificate
507
+ * is not ok, we must remember the error for session reuse: */
508
+ long verify_result; /* only for servers */
509
+
510
+ int references;
511
+ long timeout;
512
+ long time;
513
+
514
+ unsigned int compress_meth; /* Need to lookup the method */
515
+
516
+ const SSL_CIPHER *cipher;
517
+ unsigned long cipher_id; /* when ASN.1 loaded, this
518
+ * needs to be used to load
519
+ * the 'cipher' structure */
520
+
521
+ STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */
522
+
523
+ CRYPTO_EX_DATA ex_data; /* application specific data */
524
+
525
+ /* These are used to make removal of session-ids more
526
+ * efficient and to implement a maximum cache size. */
527
+ struct ssl_session_st *prev,*next;
528
+ #ifndef OPENSSL_NO_TLSEXT
529
+ char *tlsext_hostname;
530
+ #ifndef OPENSSL_NO_EC
531
+ size_t tlsext_ecpointformatlist_length;
532
+ unsigned char *tlsext_ecpointformatlist; /* peer's list */
533
+ size_t tlsext_ellipticcurvelist_length;
534
+ unsigned char *tlsext_ellipticcurvelist; /* peer's list */
535
+ #endif /* OPENSSL_NO_EC */
536
+ /* RFC4507 info */
537
+ unsigned char *tlsext_tick; /* Session ticket */
538
+ size_t tlsext_ticklen; /* Session ticket length */
539
+ long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */
540
+ #endif
541
+ #ifndef OPENSSL_NO_SRP
542
+ char *srp_username;
543
+ #endif
544
+ };
545
+
546
+ #endif
547
+
548
+ #define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L
549
+ #define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L
550
+ /* Allow initial connection to servers that don't support RI */
551
+ #define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L
552
+ #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L
553
+ #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x00000010L
554
+ #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L
555
+ #define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x00000040L /* no effect since 0.9.7h and 0.9.8b */
556
+ #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L
557
+ #define SSL_OP_TLS_D5_BUG 0x00000100L
558
+ #define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L
559
+ #define SSL_OP_NO_TLSv1_1 0x00000400L
560
+
561
+ /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
562
+ * in OpenSSL 0.9.6d. Usually (depending on the application protocol)
563
+ * the workaround is not needed. Unfortunately some broken SSL/TLS
564
+ * implementations cannot handle it at all, which is why we include
565
+ * it in SSL_OP_ALL. */
566
+ #define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L /* added in 0.9.6e */
567
+
568
+ /* SSL_OP_ALL: various bug workarounds that should be rather harmless.
569
+ * This used to be 0x000FFFFFL before 0.9.7. */
570
+ #define SSL_OP_ALL 0x80000BFFL
571
+
572
+ /* DTLS options */
573
+ #define SSL_OP_NO_QUERY_MTU 0x00001000L
574
+ /* Turn on Cookie Exchange (on relevant for servers) */
575
+ #define SSL_OP_COOKIE_EXCHANGE 0x00002000L
576
+ /* Don't use RFC4507 ticket extension */
577
+ #define SSL_OP_NO_TICKET 0x00004000L
578
+ /* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */
579
+ #define SSL_OP_CISCO_ANYCONNECT 0x00008000L
580
+
581
+ /* As server, disallow session resumption on renegotiation */
582
+ #define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L
583
+ /* Don't use compression even if supported */
584
+ #define SSL_OP_NO_COMPRESSION 0x00020000L
585
+ /* Permit unsafe legacy renegotiation */
586
+ #define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L
587
+ /* If set, always create a new key when using tmp_ecdh parameters */
588
+ #define SSL_OP_SINGLE_ECDH_USE 0x00080000L
589
+ /* If set, always create a new key when using tmp_dh parameters */
590
+ #define SSL_OP_SINGLE_DH_USE 0x00100000L
591
+ /* Set to always use the tmp_rsa key when doing RSA operations,
592
+ * even when this violates protocol specs */
593
+ #define SSL_OP_EPHEMERAL_RSA 0x00200000L
594
+ /* Set on servers to choose the cipher according to the server's
595
+ * preferences */
596
+ #define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L
597
+ /* If set, a server will allow a client to issue a SSLv3.0 version number
598
+ * as latest version supported in the premaster secret, even when TLSv1.0
599
+ * (version 3.1) was announced in the client hello. Normally this is
600
+ * forbidden to prevent version rollback attacks. */
601
+ #define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L
602
+
603
+ #define SSL_OP_NO_SSLv2 0x01000000L
604
+ #define SSL_OP_NO_SSLv3 0x02000000L
605
+ #define SSL_OP_NO_TLSv1 0x04000000L
606
+ #define SSL_OP_NO_TLSv1_2 0x08000000L
607
+
608
+ /* These next two were never actually used for anything since SSLeay
609
+ * zap so we have some more flags.
610
+ */
611
+ /* The next flag deliberately changes the ciphertest, this is a check
612
+ * for the PKCS#1 attack */
613
+ #define SSL_OP_PKCS1_CHECK_1 0x0
614
+ #define SSL_OP_PKCS1_CHECK_2 0x0
615
+
616
+ #define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L
617
+ #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L
618
+ /* Make server add server-hello extension from early version of
619
+ * cryptopro draft, when GOST ciphersuite is negotiated.
620
+ * Required for interoperability with CryptoPro CSP 3.x
621
+ */
622
+ #define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000L
623
+
624
+ /* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success
625
+ * when just a single record has been written): */
626
+ #define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L
627
+ /* Make it possible to retry SSL_write() with changed buffer location
628
+ * (buffer contents must stay the same!); this is not the default to avoid
629
+ * the misconception that non-blocking SSL_write() behaves like
630
+ * non-blocking write(): */
631
+ #define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L
632
+ /* Never bother the application with retries if the transport
633
+ * is blocking: */
634
+ #define SSL_MODE_AUTO_RETRY 0x00000004L
635
+ /* Don't attempt to automatically build certificate chain */
636
+ #define SSL_MODE_NO_AUTO_CHAIN 0x00000008L
637
+ /* Save RAM by releasing read and write buffers when they're empty. (SSL3 and
638
+ * TLS only.) "Released" buffers are put onto a free-list in the context
639
+ * or just freed (depending on the context's setting for freelist_max_len). */
640
+ #define SSL_MODE_RELEASE_BUFFERS 0x00000010L
641
+
642
+ /* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value,
643
+ * they cannot be used to clear bits. */
644
+
645
+ #define SSL_CTX_set_options(ctx,op) \
646
+ SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
647
+ #define SSL_CTX_clear_options(ctx,op) \
648
+ SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL)
649
+ #define SSL_CTX_get_options(ctx) \
650
+ SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL)
651
+ #define SSL_set_options(ssl,op) \
652
+ SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL)
653
+ #define SSL_clear_options(ssl,op) \
654
+ SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL)
655
+ #define SSL_get_options(ssl) \
656
+ SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL)
657
+
658
+ #define SSL_CTX_set_mode(ctx,op) \
659
+ SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
660
+ #define SSL_CTX_clear_mode(ctx,op) \
661
+ SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL)
662
+ #define SSL_CTX_get_mode(ctx) \
663
+ SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL)
664
+ #define SSL_clear_mode(ssl,op) \
665
+ SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL)
666
+ #define SSL_set_mode(ssl,op) \
667
+ SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL)
668
+ #define SSL_get_mode(ssl) \
669
+ SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL)
670
+ #define SSL_set_mtu(ssl, mtu) \
671
+ SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL)
672
+
673
+ #define SSL_get_secure_renegotiation_support(ssl) \
674
+ SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL)
675
+
676
+ #ifndef OPENSSL_NO_HEARTBEATS
677
+ #define SSL_heartbeat(ssl) \
678
+ SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL)
679
+ #endif
680
+
681
+ void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
682
+ void SSL_set_msg_callback(SSL *ssl, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
683
+ #define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
684
+ #define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg))
685
+
686
+ #ifndef OPENSSL_NO_SRP
687
+
688
+ #ifndef OPENSSL_NO_SSL_INTERN
689
+
690
+ typedef struct srp_ctx_st
691
+ {
692
+ /* param for all the callbacks */
693
+ void *SRP_cb_arg;
694
+ /* set client Hello login callback */
695
+ int (*TLS_ext_srp_username_callback)(SSL *, int *, void *);
696
+ /* set SRP N/g param callback for verification */
697
+ int (*SRP_verify_param_callback)(SSL *, void *);
698
+ /* set SRP client passwd callback */
699
+ char *(*SRP_give_srp_client_pwd_callback)(SSL *, void *);
700
+
701
+ char *login;
702
+ BIGNUM *N,*g,*s,*B,*A;
703
+ BIGNUM *a,*b,*v;
704
+ char *info;
705
+ int strength;
706
+
707
+ unsigned long srp_Mask;
708
+ } SRP_CTX;
709
+
710
+ #endif
711
+
712
+ /* see tls_srp.c */
713
+ int SSL_SRP_CTX_init(SSL *s);
714
+ int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx);
715
+ int SSL_SRP_CTX_free(SSL *ctx);
716
+ int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx);
717
+ int SSL_srp_server_param_with_username(SSL *s, int *ad);
718
+ int SRP_generate_server_master_secret(SSL *s,unsigned char *master_key);
719
+ int SRP_Calc_A_param(SSL *s);
720
+ int SRP_generate_client_master_secret(SSL *s,unsigned char *master_key);
721
+
722
+ #endif
723
+
724
+ #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32)
725
+ #define SSL_MAX_CERT_LIST_DEFAULT 1024*30 /* 30k max cert list :-) */
726
+ #else
727
+ #define SSL_MAX_CERT_LIST_DEFAULT 1024*100 /* 100k max cert list :-) */
728
+ #endif
729
+
730
+ #define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20)
731
+
732
+ /* This callback type is used inside SSL_CTX, SSL, and in the functions that set
733
+ * them. It is used to override the generation of SSL/TLS session IDs in a
734
+ * server. Return value should be zero on an error, non-zero to proceed. Also,
735
+ * callbacks should themselves check if the id they generate is unique otherwise
736
+ * the SSL handshake will fail with an error - callbacks can do this using the
737
+ * 'ssl' value they're passed by;
738
+ * SSL_has_matching_session_id(ssl, id, *id_len)
739
+ * The length value passed in is set at the maximum size the session ID can be.
740
+ * In SSLv2 this is 16 bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback
741
+ * can alter this length to be less if desired, but under SSLv2 session IDs are
742
+ * supposed to be fixed at 16 bytes so the id will be padded after the callback
743
+ * returns in this case. It is also an error for the callback to set the size to
744
+ * zero. */
745
+ typedef int (*GEN_SESSION_CB)(const SSL *ssl, unsigned char *id,
746
+ unsigned int *id_len);
747
+
748
+ typedef struct ssl_comp_st SSL_COMP;
749
+
750
+ #ifndef OPENSSL_NO_SSL_INTERN
751
+
752
+ struct ssl_comp_st
753
+ {
754
+ int id;
755
+ const char *name;
756
+ #ifndef OPENSSL_NO_COMP
757
+ COMP_METHOD *method;
758
+ #else
759
+ char *method;
760
+ #endif
761
+ };
762
+
763
+ DECLARE_STACK_OF(SSL_COMP)
764
+ DECLARE_LHASH_OF(SSL_SESSION);
765
+
766
+ struct ssl_ctx_st
767
+ {
768
+ const SSL_METHOD *method;
769
+
770
+ STACK_OF(SSL_CIPHER) *cipher_list;
771
+ /* same as above but sorted for lookup */
772
+ STACK_OF(SSL_CIPHER) *cipher_list_by_id;
773
+
774
+ struct x509_store_st /* X509_STORE */ *cert_store;
775
+ LHASH_OF(SSL_SESSION) *sessions;
776
+ /* Most session-ids that will be cached, default is
777
+ * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. */
778
+ unsigned long session_cache_size;
779
+ struct ssl_session_st *session_cache_head;
780
+ struct ssl_session_st *session_cache_tail;
781
+
782
+ /* This can have one of 2 values, ored together,
783
+ * SSL_SESS_CACHE_CLIENT,
784
+ * SSL_SESS_CACHE_SERVER,
785
+ * Default is SSL_SESSION_CACHE_SERVER, which means only
786
+ * SSL_accept which cache SSL_SESSIONS. */
787
+ int session_cache_mode;
788
+
789
+ /* If timeout is not 0, it is the default timeout value set
790
+ * when SSL_new() is called. This has been put in to make
791
+ * life easier to set things up */
792
+ long session_timeout;
793
+
794
+ /* If this callback is not null, it will be called each
795
+ * time a session id is added to the cache. If this function
796
+ * returns 1, it means that the callback will do a
797
+ * SSL_SESSION_free() when it has finished using it. Otherwise,
798
+ * on 0, it means the callback has finished with it.
799
+ * If remove_session_cb is not null, it will be called when
800
+ * a session-id is removed from the cache. After the call,
801
+ * OpenSSL will SSL_SESSION_free() it. */
802
+ int (*new_session_cb)(struct ssl_st *ssl,SSL_SESSION *sess);
803
+ void (*remove_session_cb)(struct ssl_ctx_st *ctx,SSL_SESSION *sess);
804
+ SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl,
805
+ unsigned char *data,int len,int *copy);
806
+
807
+ struct
808
+ {
809
+ int sess_connect; /* SSL new conn - started */
810
+ int sess_connect_renegotiate;/* SSL reneg - requested */
811
+ int sess_connect_good; /* SSL new conne/reneg - finished */
812
+ int sess_accept; /* SSL new accept - started */
813
+ int sess_accept_renegotiate;/* SSL reneg - requested */
814
+ int sess_accept_good; /* SSL accept/reneg - finished */
815
+ int sess_miss; /* session lookup misses */
816
+ int sess_timeout; /* reuse attempt on timeouted session */
817
+ int sess_cache_full; /* session removed due to full cache */
818
+ int sess_hit; /* session reuse actually done */
819
+ int sess_cb_hit; /* session-id that was not
820
+ * in the cache was
821
+ * passed back via the callback. This
822
+ * indicates that the application is
823
+ * supplying session-id's from other
824
+ * processes - spooky :-) */
825
+ } stats;
826
+
827
+ int references;
828
+
829
+ /* if defined, these override the X509_verify_cert() calls */
830
+ int (*app_verify_callback)(X509_STORE_CTX *, void *);
831
+ void *app_verify_arg;
832
+ /* before OpenSSL 0.9.7, 'app_verify_arg' was ignored
833
+ * ('app_verify_callback' was called with just one argument) */
834
+
835
+ /* Default password callback. */
836
+ pem_password_cb *default_passwd_callback;
837
+
838
+ /* Default password callback user data. */
839
+ void *default_passwd_callback_userdata;
840
+
841
+ /* get client cert callback */
842
+ int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
843
+
844
+ /* cookie generate callback */
845
+ int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie,
846
+ unsigned int *cookie_len);
847
+
848
+ /* verify cookie callback */
849
+ int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie,
850
+ unsigned int cookie_len);
851
+
852
+ CRYPTO_EX_DATA ex_data;
853
+
854
+ const EVP_MD *rsa_md5;/* For SSLv2 - name is 'ssl2-md5' */
855
+ const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */
856
+ const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */
857
+
858
+ STACK_OF(X509) *extra_certs;
859
+ STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */
860
+
861
+
862
+ /* Default values used when no per-SSL value is defined follow */
863
+
864
+ void (*info_callback)(const SSL *ssl,int type,int val); /* used if SSL's info_callback is NULL */
865
+
866
+ /* what we put in client cert requests */
867
+ STACK_OF(X509_NAME) *client_CA;
868
+
869
+
870
+ /* Default values to use in SSL structures follow (these are copied by SSL_new) */
871
+
872
+ unsigned long options;
873
+ unsigned long mode;
874
+ long max_cert_list;
875
+
876
+ struct cert_st /* CERT */ *cert;
877
+ int read_ahead;
878
+
879
+ /* callback that allows applications to peek at protocol messages */
880
+ void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg);
881
+ void *msg_callback_arg;
882
+
883
+ int verify_mode;
884
+ unsigned int sid_ctx_length;
885
+ unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
886
+ int (*default_verify_callback)(int ok,X509_STORE_CTX *ctx); /* called 'verify_callback' in the SSL */
887
+
888
+ /* Default generate session ID callback. */
889
+ GEN_SESSION_CB generate_session_id;
890
+
891
+ X509_VERIFY_PARAM *param;
892
+
893
+ #if 0
894
+ int purpose; /* Purpose setting */
895
+ int trust; /* Trust setting */
896
+ #endif
897
+
898
+ int quiet_shutdown;
899
+
900
+ /* Maximum amount of data to send in one fragment.
901
+ * actual record size can be more than this due to
902
+ * padding and MAC overheads.
903
+ */
904
+ unsigned int max_send_fragment;
905
+
906
+ #ifndef OPENSSL_ENGINE
907
+ /* Engine to pass requests for client certs to
908
+ */
909
+ ENGINE *client_cert_engine;
910
+ #endif
911
+
912
+ #ifndef OPENSSL_NO_TLSEXT
913
+ /* TLS extensions servername callback */
914
+ int (*tlsext_servername_callback)(SSL*, int *, void *);
915
+ void *tlsext_servername_arg;
916
+ /* RFC 4507 session ticket keys */
917
+ unsigned char tlsext_tick_key_name[16];
918
+ unsigned char tlsext_tick_hmac_key[16];
919
+ unsigned char tlsext_tick_aes_key[16];
920
+ /* Callback to support customisation of ticket key setting */
921
+ int (*tlsext_ticket_key_cb)(SSL *ssl,
922
+ unsigned char *name, unsigned char *iv,
923
+ EVP_CIPHER_CTX *ectx,
924
+ HMAC_CTX *hctx, int enc);
925
+
926
+ /* certificate status request info */
927
+ /* Callback for status request */
928
+ int (*tlsext_status_cb)(SSL *ssl, void *arg);
929
+ void *tlsext_status_arg;
930
+ /* draft-rescorla-tls-opaque-prf-input-00.txt information */
931
+ int (*tlsext_opaque_prf_input_callback)(SSL *, void *peerinput, size_t len, void *arg);
932
+ void *tlsext_opaque_prf_input_callback_arg;
933
+ #endif
934
+
935
+ #ifndef OPENSSL_NO_PSK
936
+ char *psk_identity_hint;
937
+ unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, char *identity,
938
+ unsigned int max_identity_len, unsigned char *psk,
939
+ unsigned int max_psk_len);
940
+ unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
941
+ unsigned char *psk, unsigned int max_psk_len);
942
+ #endif
943
+
944
+ #ifndef OPENSSL_NO_BUF_FREELISTS
945
+ #define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32
946
+ unsigned int freelist_max_len;
947
+ struct ssl3_buf_freelist_st *wbuf_freelist;
948
+ struct ssl3_buf_freelist_st *rbuf_freelist;
949
+ #endif
950
+ #ifndef OPENSSL_NO_SRP
951
+ SRP_CTX srp_ctx; /* ctx for SRP authentication */
952
+ #endif
953
+
954
+ #ifndef OPENSSL_NO_TLSEXT
955
+ # ifndef OPENSSL_NO_NEXTPROTONEG
956
+ /* Next protocol negotiation information */
957
+ /* (for experimental NPN extension). */
958
+
959
+ /* For a server, this contains a callback function by which the set of
960
+ * advertised protocols can be provided. */
961
+ int (*next_protos_advertised_cb)(SSL *s, const unsigned char **buf,
962
+ unsigned int *len, void *arg);
963
+ void *next_protos_advertised_cb_arg;
964
+ /* For a client, this contains a callback function that selects the
965
+ * next protocol from the list provided by the server. */
966
+ int (*next_proto_select_cb)(SSL *s, unsigned char **out,
967
+ unsigned char *outlen,
968
+ const unsigned char *in,
969
+ unsigned int inlen,
970
+ void *arg);
971
+ void *next_proto_select_cb_arg;
972
+ # endif
973
+ /* SRTP profiles we are willing to do from RFC 5764 */
974
+ STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles;
975
+ #endif
976
+ };
977
+
978
+ #endif
979
+
980
+ #define SSL_SESS_CACHE_OFF 0x0000
981
+ #define SSL_SESS_CACHE_CLIENT 0x0001
982
+ #define SSL_SESS_CACHE_SERVER 0x0002
983
+ #define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER)
984
+ #define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080
985
+ /* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */
986
+ #define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100
987
+ #define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200
988
+ #define SSL_SESS_CACHE_NO_INTERNAL \
989
+ (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE)
990
+
991
+ LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx);
992
+ #define SSL_CTX_sess_number(ctx) \
993
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL)
994
+ #define SSL_CTX_sess_connect(ctx) \
995
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL)
996
+ #define SSL_CTX_sess_connect_good(ctx) \
997
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL)
998
+ #define SSL_CTX_sess_connect_renegotiate(ctx) \
999
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL)
1000
+ #define SSL_CTX_sess_accept(ctx) \
1001
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL)
1002
+ #define SSL_CTX_sess_accept_renegotiate(ctx) \
1003
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL)
1004
+ #define SSL_CTX_sess_accept_good(ctx) \
1005
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL)
1006
+ #define SSL_CTX_sess_hits(ctx) \
1007
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL)
1008
+ #define SSL_CTX_sess_cb_hits(ctx) \
1009
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL)
1010
+ #define SSL_CTX_sess_misses(ctx) \
1011
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL)
1012
+ #define SSL_CTX_sess_timeouts(ctx) \
1013
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL)
1014
+ #define SSL_CTX_sess_cache_full(ctx) \
1015
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL)
1016
+
1017
+ void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*new_session_cb)(struct ssl_st *ssl,SSL_SESSION *sess));
1018
+ int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, SSL_SESSION *sess);
1019
+ void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*remove_session_cb)(struct ssl_ctx_st *ctx,SSL_SESSION *sess));
1020
+ void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, SSL_SESSION *sess);
1021
+ void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, unsigned char *data,int len,int *copy));
1022
+ SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, unsigned char *Data, int len, int *copy);
1023
+ void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl,int type,int val));
1024
+ void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,int type,int val);
1025
+ void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));
1026
+ int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
1027
+ #ifndef OPENSSL_NO_ENGINE
1028
+ int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e);
1029
+ #endif
1030
+ void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len));
1031
+ void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int cookie_len));
1032
+ #ifndef OPENSSL_NO_NEXTPROTONEG
1033
+ void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s,
1034
+ int (*cb) (SSL *ssl,
1035
+ const unsigned char **out,
1036
+ unsigned int *outlen,
1037
+ void *arg),
1038
+ void *arg);
1039
+ void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s,
1040
+ int (*cb) (SSL *ssl,
1041
+ unsigned char **out,
1042
+ unsigned char *outlen,
1043
+ const unsigned char *in,
1044
+ unsigned int inlen,
1045
+ void *arg),
1046
+ void *arg);
1047
+
1048
+ int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,
1049
+ const unsigned char *in, unsigned int inlen,
1050
+ const unsigned char *client, unsigned int client_len);
1051
+ void SSL_get0_next_proto_negotiated(const SSL *s,
1052
+ const unsigned char **data, unsigned *len);
1053
+
1054
+ #define OPENSSL_NPN_UNSUPPORTED 0
1055
+ #define OPENSSL_NPN_NEGOTIATED 1
1056
+ #define OPENSSL_NPN_NO_OVERLAP 2
1057
+ #endif
1058
+
1059
+ #ifndef OPENSSL_NO_PSK
1060
+ /* the maximum length of the buffer given to callbacks containing the
1061
+ * resulting identity/psk */
1062
+ #define PSK_MAX_IDENTITY_LEN 128
1063
+ #define PSK_MAX_PSK_LEN 256
1064
+ void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx,
1065
+ unsigned int (*psk_client_callback)(SSL *ssl, const char *hint,
1066
+ char *identity, unsigned int max_identity_len, unsigned char *psk,
1067
+ unsigned int max_psk_len));
1068
+ void SSL_set_psk_client_callback(SSL *ssl,
1069
+ unsigned int (*psk_client_callback)(SSL *ssl, const char *hint,
1070
+ char *identity, unsigned int max_identity_len, unsigned char *psk,
1071
+ unsigned int max_psk_len));
1072
+ void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx,
1073
+ unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
1074
+ unsigned char *psk, unsigned int max_psk_len));
1075
+ void SSL_set_psk_server_callback(SSL *ssl,
1076
+ unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
1077
+ unsigned char *psk, unsigned int max_psk_len));
1078
+ int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint);
1079
+ int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint);
1080
+ const char *SSL_get_psk_identity_hint(const SSL *s);
1081
+ const char *SSL_get_psk_identity(const SSL *s);
1082
+ #endif
1083
+
1084
+ #define SSL_NOTHING 1
1085
+ #define SSL_WRITING 2
1086
+ #define SSL_READING 3
1087
+ #define SSL_X509_LOOKUP 4
1088
+
1089
+ /* These will only be used when doing non-blocking IO */
1090
+ #define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING)
1091
+ #define SSL_want_read(s) (SSL_want(s) == SSL_READING)
1092
+ #define SSL_want_write(s) (SSL_want(s) == SSL_WRITING)
1093
+ #define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP)
1094
+
1095
+ #define SSL_MAC_FLAG_READ_MAC_STREAM 1
1096
+ #define SSL_MAC_FLAG_WRITE_MAC_STREAM 2
1097
+
1098
+ #ifndef OPENSSL_NO_SSL_INTERN
1099
+
1100
+ struct ssl_st
1101
+ {
1102
+ /* protocol version
1103
+ * (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, DTLS1_VERSION)
1104
+ */
1105
+ int version;
1106
+ int type; /* SSL_ST_CONNECT or SSL_ST_ACCEPT */
1107
+
1108
+ const SSL_METHOD *method; /* SSLv3 */
1109
+
1110
+ /* There are 2 BIO's even though they are normally both the
1111
+ * same. This is so data can be read and written to different
1112
+ * handlers */
1113
+
1114
+ #ifndef OPENSSL_NO_BIO
1115
+ BIO *rbio; /* used by SSL_read */
1116
+ BIO *wbio; /* used by SSL_write */
1117
+ BIO *bbio; /* used during session-id reuse to concatenate
1118
+ * messages */
1119
+ #else
1120
+ char *rbio; /* used by SSL_read */
1121
+ char *wbio; /* used by SSL_write */
1122
+ char *bbio;
1123
+ #endif
1124
+ /* This holds a variable that indicates what we were doing
1125
+ * when a 0 or -1 is returned. This is needed for
1126
+ * non-blocking IO so we know what request needs re-doing when
1127
+ * in SSL_accept or SSL_connect */
1128
+ int rwstate;
1129
+
1130
+ /* true when we are actually in SSL_accept() or SSL_connect() */
1131
+ int in_handshake;
1132
+ int (*handshake_func)(SSL *);
1133
+
1134
+ /* Imagine that here's a boolean member "init" that is
1135
+ * switched as soon as SSL_set_{accept/connect}_state
1136
+ * is called for the first time, so that "state" and
1137
+ * "handshake_func" are properly initialized. But as
1138
+ * handshake_func is == 0 until then, we use this
1139
+ * test instead of an "init" member.
1140
+ */
1141
+
1142
+ int server; /* are we the server side? - mostly used by SSL_clear*/
1143
+
1144
+ int new_session;/* Generate a new session or reuse an old one.
1145
+ * NB: For servers, the 'new' session may actually be a previously
1146
+ * cached session or even the previous session unless
1147
+ * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set */
1148
+ int quiet_shutdown;/* don't send shutdown packets */
1149
+ int shutdown; /* we have shut things down, 0x01 sent, 0x02
1150
+ * for received */
1151
+ int state; /* where we are */
1152
+ int rstate; /* where we are when reading */
1153
+
1154
+ BUF_MEM *init_buf; /* buffer used during init */
1155
+ void *init_msg; /* pointer to handshake message body, set by ssl3_get_message() */
1156
+ int init_num; /* amount read/written */
1157
+ int init_off; /* amount read/written */
1158
+
1159
+ /* used internally to point at a raw packet */
1160
+ unsigned char *packet;
1161
+ unsigned int packet_length;
1162
+
1163
+ struct ssl2_state_st *s2; /* SSLv2 variables */
1164
+ struct ssl3_state_st *s3; /* SSLv3 variables */
1165
+ struct dtls1_state_st *d1; /* DTLSv1 variables */
1166
+
1167
+ int read_ahead; /* Read as many input bytes as possible
1168
+ * (for non-blocking reads) */
1169
+
1170
+ /* callback that allows applications to peek at protocol messages */
1171
+ void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg);
1172
+ void *msg_callback_arg;
1173
+
1174
+ int hit; /* reusing a previous session */
1175
+
1176
+ X509_VERIFY_PARAM *param;
1177
+
1178
+ #if 0
1179
+ int purpose; /* Purpose setting */
1180
+ int trust; /* Trust setting */
1181
+ #endif
1182
+
1183
+ /* crypto */
1184
+ STACK_OF(SSL_CIPHER) *cipher_list;
1185
+ STACK_OF(SSL_CIPHER) *cipher_list_by_id;
1186
+
1187
+ /* These are the ones being used, the ones in SSL_SESSION are
1188
+ * the ones to be 'copied' into these ones */
1189
+ int mac_flags;
1190
+ EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */
1191
+ EVP_MD_CTX *read_hash; /* used for mac generation */
1192
+ #ifndef OPENSSL_NO_COMP
1193
+ COMP_CTX *expand; /* uncompress */
1194
+ #else
1195
+ char *expand;
1196
+ #endif
1197
+
1198
+ EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */
1199
+ EVP_MD_CTX *write_hash; /* used for mac generation */
1200
+ #ifndef OPENSSL_NO_COMP
1201
+ COMP_CTX *compress; /* compression */
1202
+ #else
1203
+ char *compress;
1204
+ #endif
1205
+
1206
+ /* session info */
1207
+
1208
+ /* client cert? */
1209
+ /* This is used to hold the server certificate used */
1210
+ struct cert_st /* CERT */ *cert;
1211
+
1212
+ /* the session_id_context is used to ensure sessions are only reused
1213
+ * in the appropriate context */
1214
+ unsigned int sid_ctx_length;
1215
+ unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH];
1216
+
1217
+ /* This can also be in the session once a session is established */
1218
+ SSL_SESSION *session;
1219
+
1220
+ /* Default generate session ID callback. */
1221
+ GEN_SESSION_CB generate_session_id;
1222
+
1223
+ /* Used in SSL2 and SSL3 */
1224
+ int verify_mode; /* 0 don't care about verify failure.
1225
+ * 1 fail if verify fails */
1226
+ int (*verify_callback)(int ok,X509_STORE_CTX *ctx); /* fail if callback returns 0 */
1227
+
1228
+ void (*info_callback)(const SSL *ssl,int type,int val); /* optional informational callback */
1229
+
1230
+ int error; /* error bytes to be written */
1231
+ int error_code; /* actual code */
1232
+
1233
+ #ifndef OPENSSL_NO_KRB5
1234
+ KSSL_CTX *kssl_ctx; /* Kerberos 5 context */
1235
+ #endif /* OPENSSL_NO_KRB5 */
1236
+
1237
+ #ifndef OPENSSL_NO_PSK
1238
+ unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, char *identity,
1239
+ unsigned int max_identity_len, unsigned char *psk,
1240
+ unsigned int max_psk_len);
1241
+ unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
1242
+ unsigned char *psk, unsigned int max_psk_len);
1243
+ #endif
1244
+
1245
+ SSL_CTX *ctx;
1246
+ /* set this flag to 1 and a sleep(1) is put into all SSL_read()
1247
+ * and SSL_write() calls, good for nbio debuging :-) */
1248
+ int debug;
1249
+
1250
+ /* extra application data */
1251
+ long verify_result;
1252
+ CRYPTO_EX_DATA ex_data;
1253
+
1254
+ /* for server side, keep the list of CA_dn we can use */
1255
+ STACK_OF(X509_NAME) *client_CA;
1256
+
1257
+ int references;
1258
+ unsigned long options; /* protocol behaviour */
1259
+ unsigned long mode; /* API behaviour */
1260
+ long max_cert_list;
1261
+ int first_packet;
1262
+ int client_version; /* what was passed, used for
1263
+ * SSLv3/TLS rollback check */
1264
+ unsigned int max_send_fragment;
1265
+ #ifndef OPENSSL_NO_TLSEXT
1266
+ /* TLS extension debug callback */
1267
+ void (*tlsext_debug_cb)(SSL *s, int client_server, int type,
1268
+ unsigned char *data, int len,
1269
+ void *arg);
1270
+ void *tlsext_debug_arg;
1271
+ char *tlsext_hostname;
1272
+ int servername_done; /* no further mod of servername
1273
+ 0 : call the servername extension callback.
1274
+ 1 : prepare 2, allow last ack just after in server callback.
1275
+ 2 : don't call servername callback, no ack in server hello
1276
+ */
1277
+ /* certificate status request info */
1278
+ /* Status type or -1 if no status type */
1279
+ int tlsext_status_type;
1280
+ /* Expect OCSP CertificateStatus message */
1281
+ int tlsext_status_expected;
1282
+ /* OCSP status request only */
1283
+ STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids;
1284
+ X509_EXTENSIONS *tlsext_ocsp_exts;
1285
+ /* OCSP response received or to be sent */
1286
+ unsigned char *tlsext_ocsp_resp;
1287
+ int tlsext_ocsp_resplen;
1288
+
1289
+ /* RFC4507 session ticket expected to be received or sent */
1290
+ int tlsext_ticket_expected;
1291
+ #ifndef OPENSSL_NO_EC
1292
+ size_t tlsext_ecpointformatlist_length;
1293
+ unsigned char *tlsext_ecpointformatlist; /* our list */
1294
+ size_t tlsext_ellipticcurvelist_length;
1295
+ unsigned char *tlsext_ellipticcurvelist; /* our list */
1296
+ #endif /* OPENSSL_NO_EC */
1297
+
1298
+ /* draft-rescorla-tls-opaque-prf-input-00.txt information to be used for handshakes */
1299
+ void *tlsext_opaque_prf_input;
1300
+ size_t tlsext_opaque_prf_input_len;
1301
+
1302
+ /* TLS Session Ticket extension override */
1303
+ TLS_SESSION_TICKET_EXT *tlsext_session_ticket;
1304
+
1305
+ /* TLS Session Ticket extension callback */
1306
+ tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb;
1307
+ void *tls_session_ticket_ext_cb_arg;
1308
+
1309
+ /* TLS pre-shared secret session resumption */
1310
+ tls_session_secret_cb_fn tls_session_secret_cb;
1311
+ void *tls_session_secret_cb_arg;
1312
+
1313
+ SSL_CTX * initial_ctx; /* initial ctx, used to store sessions */
1314
+
1315
+ #ifndef OPENSSL_NO_NEXTPROTONEG
1316
+ /* Next protocol negotiation. For the client, this is the protocol that
1317
+ * we sent in NextProtocol and is set when handling ServerHello
1318
+ * extensions.
1319
+ *
1320
+ * For a server, this is the client's selected_protocol from
1321
+ * NextProtocol and is set when handling the NextProtocol message,
1322
+ * before the Finished message. */
1323
+ unsigned char *next_proto_negotiated;
1324
+ unsigned char next_proto_negotiated_len;
1325
+ #endif
1326
+
1327
+ #define session_ctx initial_ctx
1328
+
1329
+ STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; /* What we'll do */
1330
+ SRTP_PROTECTION_PROFILE *srtp_profile; /* What's been chosen */
1331
+
1332
+ unsigned int tlsext_heartbeat; /* Is use of the Heartbeat extension negotiated?
1333
+ 0: disabled
1334
+ 1: enabled
1335
+ 2: enabled, but not allowed to send Requests
1336
+ */
1337
+ unsigned int tlsext_hb_pending; /* Indicates if a HeartbeatRequest is in flight */
1338
+ unsigned int tlsext_hb_seq; /* HeartbeatRequest sequence number */
1339
+ #else
1340
+ #define session_ctx ctx
1341
+ #endif /* OPENSSL_NO_TLSEXT */
1342
+
1343
+ int renegotiate;/* 1 if we are renegotiating.
1344
+ * 2 if we are a server and are inside a handshake
1345
+ * (i.e. not just sending a HelloRequest) */
1346
+
1347
+ #ifndef OPENSSL_NO_SRP
1348
+ SRP_CTX srp_ctx; /* ctx for SRP authentication */
1349
+ #endif
1350
+ };
1351
+
1352
+ #endif
1353
+
1354
+ #ifdef __cplusplus
1355
+ }
1356
+ #endif
1357
+
1358
+ #include <openssl/ssl2.h>
1359
+ #include <openssl/ssl3.h>
1360
+ #include <openssl/tls1.h> /* This is mostly sslv3 with a few tweaks */
1361
+ #include <openssl/dtls1.h> /* Datagram TLS */
1362
+ #include <openssl/ssl23.h>
1363
+ #include <openssl/srtp.h> /* Support for the use_srtp extension */
1364
+
1365
+ #ifdef __cplusplus
1366
+ extern "C" {
1367
+ #endif
1368
+
1369
+ /* compatibility */
1370
+ #define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg))
1371
+ #define SSL_get_app_data(s) (SSL_get_ex_data(s,0))
1372
+ #define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a))
1373
+ #define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0))
1374
+ #define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0))
1375
+ #define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg))
1376
+
1377
+ /* The following are the possible values for ssl->state are are
1378
+ * used to indicate where we are up to in the SSL connection establishment.
1379
+ * The macros that follow are about the only things you should need to use
1380
+ * and even then, only when using non-blocking IO.
1381
+ * It can also be useful to work out where you were when the connection
1382
+ * failed */
1383
+
1384
+ #define SSL_ST_CONNECT 0x1000
1385
+ #define SSL_ST_ACCEPT 0x2000
1386
+ #define SSL_ST_MASK 0x0FFF
1387
+ #define SSL_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT)
1388
+ #define SSL_ST_BEFORE 0x4000
1389
+ #define SSL_ST_OK 0x03
1390
+ #define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT)
1391
+
1392
+ #define SSL_CB_LOOP 0x01
1393
+ #define SSL_CB_EXIT 0x02
1394
+ #define SSL_CB_READ 0x04
1395
+ #define SSL_CB_WRITE 0x08
1396
+ #define SSL_CB_ALERT 0x4000 /* used in callback */
1397
+ #define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ)
1398
+ #define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE)
1399
+ #define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP)
1400
+ #define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT)
1401
+ #define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP)
1402
+ #define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT)
1403
+ #define SSL_CB_HANDSHAKE_START 0x10
1404
+ #define SSL_CB_HANDSHAKE_DONE 0x20
1405
+
1406
+ /* Is the SSL_connection established? */
1407
+ #define SSL_get_state(a) SSL_state(a)
1408
+ #define SSL_is_init_finished(a) (SSL_state(a) == SSL_ST_OK)
1409
+ #define SSL_in_init(a) (SSL_state(a)&SSL_ST_INIT)
1410
+ #define SSL_in_before(a) (SSL_state(a)&SSL_ST_BEFORE)
1411
+ #define SSL_in_connect_init(a) (SSL_state(a)&SSL_ST_CONNECT)
1412
+ #define SSL_in_accept_init(a) (SSL_state(a)&SSL_ST_ACCEPT)
1413
+
1414
+ /* The following 2 states are kept in ssl->rstate when reads fail,
1415
+ * you should not need these */
1416
+ #define SSL_ST_READ_HEADER 0xF0
1417
+ #define SSL_ST_READ_BODY 0xF1
1418
+ #define SSL_ST_READ_DONE 0xF2
1419
+
1420
+ /* Obtain latest Finished message
1421
+ * -- that we sent (SSL_get_finished)
1422
+ * -- that we expected from peer (SSL_get_peer_finished).
1423
+ * Returns length (0 == no Finished so far), copies up to 'count' bytes. */
1424
+ size_t SSL_get_finished(const SSL *s, void *buf, size_t count);
1425
+ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
1426
+
1427
+ /* use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options
1428
+ * are 'ored' with SSL_VERIFY_PEER if they are desired */
1429
+ #define SSL_VERIFY_NONE 0x00
1430
+ #define SSL_VERIFY_PEER 0x01
1431
+ #define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
1432
+ #define SSL_VERIFY_CLIENT_ONCE 0x04
1433
+
1434
+ #define OpenSSL_add_ssl_algorithms() SSL_library_init()
1435
+ #define SSLeay_add_ssl_algorithms() SSL_library_init()
1436
+
1437
+ /* this is for backward compatibility */
1438
+ #if 0 /* NEW_SSLEAY */
1439
+ #define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c)
1440
+ #define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n)
1441
+ #define SSL_add_session(a,b) SSL_CTX_add_session((a),(b))
1442
+ #define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b))
1443
+ #define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b))
1444
+ #endif
1445
+ /* More backward compatibility */
1446
+ #define SSL_get_cipher(s) \
1447
+ SSL_CIPHER_get_name(SSL_get_current_cipher(s))
1448
+ #define SSL_get_cipher_bits(s,np) \
1449
+ SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np)
1450
+ #define SSL_get_cipher_version(s) \
1451
+ SSL_CIPHER_get_version(SSL_get_current_cipher(s))
1452
+ #define SSL_get_cipher_name(s) \
1453
+ SSL_CIPHER_get_name(SSL_get_current_cipher(s))
1454
+ #define SSL_get_time(a) SSL_SESSION_get_time(a)
1455
+ #define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b))
1456
+ #define SSL_get_timeout(a) SSL_SESSION_get_timeout(a)
1457
+ #define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b))
1458
+
1459
+ #define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id)
1460
+ #define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id)
1461
+
1462
+ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
1463
+
1464
+ #define SSL_AD_REASON_OFFSET 1000 /* offset to get SSL_R_... value from SSL_AD_... */
1465
+
1466
+ /* These alert types are for SSLv3 and TLSv1 */
1467
+ #define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY
1468
+ #define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE /* fatal */
1469
+ #define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC /* fatal */
1470
+ #define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED
1471
+ #define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW
1472
+ #define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE/* fatal */
1473
+ #define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE/* fatal */
1474
+ #define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE /* Not for TLS */
1475
+ #define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE
1476
+ #define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE
1477
+ #define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED
1478
+ #define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED
1479
+ #define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN
1480
+ #define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER /* fatal */
1481
+ #define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA /* fatal */
1482
+ #define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED /* fatal */
1483
+ #define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR /* fatal */
1484
+ #define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR
1485
+ #define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION/* fatal */
1486
+ #define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION /* fatal */
1487
+ #define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY/* fatal */
1488
+ #define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR /* fatal */
1489
+ #define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED
1490
+ #define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION
1491
+ #define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION
1492
+ #define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
1493
+ #define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME
1494
+ #define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
1495
+ #define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
1496
+ #define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY /* fatal */
1497
+
1498
+ #define SSL_ERROR_NONE 0
1499
+ #define SSL_ERROR_SSL 1
1500
+ #define SSL_ERROR_WANT_READ 2
1501
+ #define SSL_ERROR_WANT_WRITE 3
1502
+ #define SSL_ERROR_WANT_X509_LOOKUP 4
1503
+ #define SSL_ERROR_SYSCALL 5 /* look at error stack/return value/errno */
1504
+ #define SSL_ERROR_ZERO_RETURN 6
1505
+ #define SSL_ERROR_WANT_CONNECT 7
1506
+ #define SSL_ERROR_WANT_ACCEPT 8
1507
+
1508
+ #define SSL_CTRL_NEED_TMP_RSA 1
1509
+ #define SSL_CTRL_SET_TMP_RSA 2
1510
+ #define SSL_CTRL_SET_TMP_DH 3
1511
+ #define SSL_CTRL_SET_TMP_ECDH 4
1512
+ #define SSL_CTRL_SET_TMP_RSA_CB 5
1513
+ #define SSL_CTRL_SET_TMP_DH_CB 6
1514
+ #define SSL_CTRL_SET_TMP_ECDH_CB 7
1515
+
1516
+ #define SSL_CTRL_GET_SESSION_REUSED 8
1517
+ #define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9
1518
+ #define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10
1519
+ #define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11
1520
+ #define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12
1521
+ #define SSL_CTRL_GET_FLAGS 13
1522
+ #define SSL_CTRL_EXTRA_CHAIN_CERT 14
1523
+
1524
+ #define SSL_CTRL_SET_MSG_CALLBACK 15
1525
+ #define SSL_CTRL_SET_MSG_CALLBACK_ARG 16
1526
+
1527
+ /* only applies to datagram connections */
1528
+ #define SSL_CTRL_SET_MTU 17
1529
+ /* Stats */
1530
+ #define SSL_CTRL_SESS_NUMBER 20
1531
+ #define SSL_CTRL_SESS_CONNECT 21
1532
+ #define SSL_CTRL_SESS_CONNECT_GOOD 22
1533
+ #define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23
1534
+ #define SSL_CTRL_SESS_ACCEPT 24
1535
+ #define SSL_CTRL_SESS_ACCEPT_GOOD 25
1536
+ #define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26
1537
+ #define SSL_CTRL_SESS_HIT 27
1538
+ #define SSL_CTRL_SESS_CB_HIT 28
1539
+ #define SSL_CTRL_SESS_MISSES 29
1540
+ #define SSL_CTRL_SESS_TIMEOUTS 30
1541
+ #define SSL_CTRL_SESS_CACHE_FULL 31
1542
+ #define SSL_CTRL_OPTIONS 32
1543
+ #define SSL_CTRL_MODE 33
1544
+
1545
+ #define SSL_CTRL_GET_READ_AHEAD 40
1546
+ #define SSL_CTRL_SET_READ_AHEAD 41
1547
+ #define SSL_CTRL_SET_SESS_CACHE_SIZE 42
1548
+ #define SSL_CTRL_GET_SESS_CACHE_SIZE 43
1549
+ #define SSL_CTRL_SET_SESS_CACHE_MODE 44
1550
+ #define SSL_CTRL_GET_SESS_CACHE_MODE 45
1551
+
1552
+ #define SSL_CTRL_GET_MAX_CERT_LIST 50
1553
+ #define SSL_CTRL_SET_MAX_CERT_LIST 51
1554
+
1555
+ #define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52
1556
+
1557
+ /* see tls1.h for macros based on these */
1558
+ #ifndef OPENSSL_NO_TLSEXT
1559
+ #define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53
1560
+ #define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54
1561
+ #define SSL_CTRL_SET_TLSEXT_HOSTNAME 55
1562
+ #define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56
1563
+ #define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57
1564
+ #define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58
1565
+ #define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59
1566
+ #define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60
1567
+ #define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61
1568
+ #define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62
1569
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63
1570
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64
1571
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65
1572
+ #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66
1573
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67
1574
+ #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68
1575
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69
1576
+ #define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70
1577
+ #define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71
1578
+
1579
+ #define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72
1580
+
1581
+ #define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75
1582
+ #define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76
1583
+ #define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77
1584
+
1585
+ #define SSL_CTRL_SET_SRP_ARG 78
1586
+ #define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79
1587
+ #define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80
1588
+ #define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81
1589
+ #ifndef OPENSSL_NO_HEARTBEATS
1590
+ #define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT 85
1591
+ #define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86
1592
+ #define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87
1593
+ #endif
1594
+ #endif
1595
+
1596
+ #define DTLS_CTRL_GET_TIMEOUT 73
1597
+ #define DTLS_CTRL_HANDLE_TIMEOUT 74
1598
+ #define DTLS_CTRL_LISTEN 75
1599
+
1600
+ #define SSL_CTRL_GET_RI_SUPPORT 76
1601
+ #define SSL_CTRL_CLEAR_OPTIONS 77
1602
+ #define SSL_CTRL_CLEAR_MODE 78
1603
+
1604
+ #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82
1605
+ #define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83
1606
+
1607
+ #define DTLSv1_get_timeout(ssl, arg) \
1608
+ SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg)
1609
+ #define DTLSv1_handle_timeout(ssl) \
1610
+ SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL)
1611
+ #define DTLSv1_listen(ssl, peer) \
1612
+ SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer)
1613
+
1614
+ #define SSL_session_reused(ssl) \
1615
+ SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL)
1616
+ #define SSL_num_renegotiations(ssl) \
1617
+ SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL)
1618
+ #define SSL_clear_num_renegotiations(ssl) \
1619
+ SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL)
1620
+ #define SSL_total_renegotiations(ssl) \
1621
+ SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL)
1622
+
1623
+ #define SSL_CTX_need_tmp_RSA(ctx) \
1624
+ SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL)
1625
+ #define SSL_CTX_set_tmp_rsa(ctx,rsa) \
1626
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa)
1627
+ #define SSL_CTX_set_tmp_dh(ctx,dh) \
1628
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh)
1629
+ #define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \
1630
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh)
1631
+
1632
+ #define SSL_need_tmp_RSA(ssl) \
1633
+ SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL)
1634
+ #define SSL_set_tmp_rsa(ssl,rsa) \
1635
+ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa)
1636
+ #define SSL_set_tmp_dh(ssl,dh) \
1637
+ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh)
1638
+ #define SSL_set_tmp_ecdh(ssl,ecdh) \
1639
+ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh)
1640
+
1641
+ #define SSL_CTX_add_extra_chain_cert(ctx,x509) \
1642
+ SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
1643
+ #define SSL_CTX_get_extra_chain_certs(ctx,px509) \
1644
+ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509)
1645
+ #define SSL_CTX_clear_extra_chain_certs(ctx) \
1646
+ SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL)
1647
+
1648
+ #ifndef OPENSSL_NO_BIO
1649
+ BIO_METHOD *BIO_f_ssl(void);
1650
+ BIO *BIO_new_ssl(SSL_CTX *ctx,int client);
1651
+ BIO *BIO_new_ssl_connect(SSL_CTX *ctx);
1652
+ BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx);
1653
+ int BIO_ssl_copy_session_id(BIO *to,BIO *from);
1654
+ void BIO_ssl_shutdown(BIO *ssl_bio);
1655
+
1656
+ #endif
1657
+
1658
+ int SSL_CTX_set_cipher_list(SSL_CTX *,const char *str);
1659
+ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
1660
+ void SSL_CTX_free(SSL_CTX *);
1661
+ long SSL_CTX_set_timeout(SSL_CTX *ctx,long t);
1662
+ long SSL_CTX_get_timeout(const SSL_CTX *ctx);
1663
+ X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *);
1664
+ void SSL_CTX_set_cert_store(SSL_CTX *,X509_STORE *);
1665
+ int SSL_want(const SSL *s);
1666
+ int SSL_clear(SSL *s);
1667
+
1668
+ void SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm);
1669
+
1670
+ const SSL_CIPHER *SSL_get_current_cipher(const SSL *s);
1671
+ int SSL_CIPHER_get_bits(const SSL_CIPHER *c,int *alg_bits);
1672
+ char * SSL_CIPHER_get_version(const SSL_CIPHER *c);
1673
+ const char * SSL_CIPHER_get_name(const SSL_CIPHER *c);
1674
+ unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c);
1675
+
1676
+ int SSL_get_fd(const SSL *s);
1677
+ int SSL_get_rfd(const SSL *s);
1678
+ int SSL_get_wfd(const SSL *s);
1679
+ const char * SSL_get_cipher_list(const SSL *s,int n);
1680
+ char * SSL_get_shared_ciphers(const SSL *s, char *buf, int len);
1681
+ int SSL_get_read_ahead(const SSL * s);
1682
+ int SSL_pending(const SSL *s);
1683
+ #ifndef OPENSSL_NO_SOCK
1684
+ int SSL_set_fd(SSL *s, int fd);
1685
+ int SSL_set_rfd(SSL *s, int fd);
1686
+ int SSL_set_wfd(SSL *s, int fd);
1687
+ #endif
1688
+ #ifndef OPENSSL_NO_BIO
1689
+ void SSL_set_bio(SSL *s, BIO *rbio,BIO *wbio);
1690
+ BIO * SSL_get_rbio(const SSL *s);
1691
+ BIO * SSL_get_wbio(const SSL *s);
1692
+ #endif
1693
+ int SSL_set_cipher_list(SSL *s, const char *str);
1694
+ void SSL_set_read_ahead(SSL *s, int yes);
1695
+ int SSL_get_verify_mode(const SSL *s);
1696
+ int SSL_get_verify_depth(const SSL *s);
1697
+ int (*SSL_get_verify_callback(const SSL *s))(int,X509_STORE_CTX *);
1698
+ void SSL_set_verify(SSL *s, int mode,
1699
+ int (*callback)(int ok,X509_STORE_CTX *ctx));
1700
+ void SSL_set_verify_depth(SSL *s, int depth);
1701
+ #ifndef OPENSSL_NO_RSA
1702
+ int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
1703
+ #endif
1704
+ int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);
1705
+ int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
1706
+ int SSL_use_PrivateKey_ASN1(int pk,SSL *ssl, const unsigned char *d, long len);
1707
+ int SSL_use_certificate(SSL *ssl, X509 *x);
1708
+ int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);
1709
+
1710
+ #ifndef OPENSSL_NO_STDIO
1711
+ int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
1712
+ int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
1713
+ int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
1714
+ int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type);
1715
+ int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);
1716
+ int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);
1717
+ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); /* PEM type */
1718
+ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
1719
+ int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
1720
+ const char *file);
1721
+ #ifndef OPENSSL_SYS_VMS
1722
+ #ifndef OPENSSL_SYS_MACINTOSH_CLASSIC /* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */
1723
+ int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
1724
+ const char *dir);
1725
+ #endif
1726
+ #endif
1727
+
1728
+ #endif
1729
+
1730
+ void SSL_load_error_strings(void );
1731
+ const char *SSL_state_string(const SSL *s);
1732
+ const char *SSL_rstate_string(const SSL *s);
1733
+ const char *SSL_state_string_long(const SSL *s);
1734
+ const char *SSL_rstate_string_long(const SSL *s);
1735
+ long SSL_SESSION_get_time(const SSL_SESSION *s);
1736
+ long SSL_SESSION_set_time(SSL_SESSION *s, long t);
1737
+ long SSL_SESSION_get_timeout(const SSL_SESSION *s);
1738
+ long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
1739
+ void SSL_copy_session_id(SSL *to,const SSL *from);
1740
+ X509 *SSL_SESSION_get0_peer(SSL_SESSION *s);
1741
+ int SSL_SESSION_set1_id_context(SSL_SESSION *s,const unsigned char *sid_ctx,
1742
+ unsigned int sid_ctx_len);
1743
+
1744
+ SSL_SESSION *SSL_SESSION_new(void);
1745
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s,
1746
+ unsigned int *len);
1747
+ unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s);
1748
+ #ifndef OPENSSL_NO_FP_API
1749
+ int SSL_SESSION_print_fp(FILE *fp,const SSL_SESSION *ses);
1750
+ #endif
1751
+ #ifndef OPENSSL_NO_BIO
1752
+ int SSL_SESSION_print(BIO *fp,const SSL_SESSION *ses);
1753
+ #endif
1754
+ void SSL_SESSION_free(SSL_SESSION *ses);
1755
+ int i2d_SSL_SESSION(SSL_SESSION *in,unsigned char **pp);
1756
+ int SSL_set_session(SSL *to, SSL_SESSION *session);
1757
+ int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c);
1758
+ int SSL_CTX_remove_session(SSL_CTX *,SSL_SESSION *c);
1759
+ int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB);
1760
+ int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB);
1761
+ int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id,
1762
+ unsigned int id_len);
1763
+ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a,const unsigned char **pp,
1764
+ long length);
1765
+
1766
+ #ifdef HEADER_X509_H
1767
+ X509 * SSL_get_peer_certificate(const SSL *s);
1768
+ #endif
1769
+
1770
+ STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s);
1771
+
1772
+ int SSL_CTX_get_verify_mode(const SSL_CTX *ctx);
1773
+ int SSL_CTX_get_verify_depth(const SSL_CTX *ctx);
1774
+ int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int,X509_STORE_CTX *);
1775
+ void SSL_CTX_set_verify(SSL_CTX *ctx,int mode,
1776
+ int (*callback)(int, X509_STORE_CTX *));
1777
+ void SSL_CTX_set_verify_depth(SSL_CTX *ctx,int depth);
1778
+ void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, int (*cb)(X509_STORE_CTX *,void *), void *arg);
1779
+ #ifndef OPENSSL_NO_RSA
1780
+ int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
1781
+ #endif
1782
+ int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len);
1783
+ int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
1784
+ int SSL_CTX_use_PrivateKey_ASN1(int pk,SSL_CTX *ctx,
1785
+ const unsigned char *d, long len);
1786
+ int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
1787
+ int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d);
1788
+
1789
+ void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb);
1790
+ void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u);
1791
+
1792
+ int SSL_CTX_check_private_key(const SSL_CTX *ctx);
1793
+ int SSL_check_private_key(const SSL *ctx);
1794
+
1795
+ int SSL_CTX_set_session_id_context(SSL_CTX *ctx,const unsigned char *sid_ctx,
1796
+ unsigned int sid_ctx_len);
1797
+
1798
+ SSL * SSL_new(SSL_CTX *ctx);
1799
+ int SSL_set_session_id_context(SSL *ssl,const unsigned char *sid_ctx,
1800
+ unsigned int sid_ctx_len);
1801
+
1802
+ int SSL_CTX_set_purpose(SSL_CTX *s, int purpose);
1803
+ int SSL_set_purpose(SSL *s, int purpose);
1804
+ int SSL_CTX_set_trust(SSL_CTX *s, int trust);
1805
+ int SSL_set_trust(SSL *s, int trust);
1806
+
1807
+ int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm);
1808
+ int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);
1809
+
1810
+ #ifndef OPENSSL_NO_SRP
1811
+ int SSL_CTX_set_srp_username(SSL_CTX *ctx,char *name);
1812
+ int SSL_CTX_set_srp_password(SSL_CTX *ctx,char *password);
1813
+ int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength);
1814
+ int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx,
1815
+ char *(*cb)(SSL *,void *));
1816
+ int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx,
1817
+ int (*cb)(SSL *,void *));
1818
+ int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx,
1819
+ int (*cb)(SSL *,int *,void *));
1820
+ int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg);
1821
+
1822
+ int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
1823
+ BIGNUM *sa, BIGNUM *v, char *info);
1824
+ int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass,
1825
+ const char *grp);
1826
+
1827
+ BIGNUM *SSL_get_srp_g(SSL *s);
1828
+ BIGNUM *SSL_get_srp_N(SSL *s);
1829
+
1830
+ char *SSL_get_srp_username(SSL *s);
1831
+ char *SSL_get_srp_userinfo(SSL *s);
1832
+ #endif
1833
+
1834
+ void SSL_free(SSL *ssl);
1835
+ int SSL_accept(SSL *ssl);
1836
+ int SSL_connect(SSL *ssl);
1837
+ int SSL_read(SSL *ssl,void *buf,int num);
1838
+ int SSL_peek(SSL *ssl,void *buf,int num);
1839
+ int SSL_write(SSL *ssl,const void *buf,int num);
1840
+ long SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
1841
+ long SSL_callback_ctrl(SSL *, int, void (*)(void));
1842
+ long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd, long larg, void *parg);
1843
+ long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void));
1844
+
1845
+ int SSL_get_error(const SSL *s,int ret_code);
1846
+ const char *SSL_get_version(const SSL *s);
1847
+
1848
+ /* This sets the 'default' SSL version that SSL_new() will create */
1849
+ int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);
1850
+
1851
+ #ifndef OPENSSL_NO_SSL2
1852
+ const SSL_METHOD *SSLv2_method(void); /* SSLv2 */
1853
+ const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */
1854
+ const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */
1855
+ #endif
1856
+
1857
+ const SSL_METHOD *SSLv3_method(void); /* SSLv3 */
1858
+ const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */
1859
+ const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */
1860
+
1861
+ const SSL_METHOD *SSLv23_method(void); /* SSLv3 but can rollback to v2 */
1862
+ const SSL_METHOD *SSLv23_server_method(void); /* SSLv3 but can rollback to v2 */
1863
+ const SSL_METHOD *SSLv23_client_method(void); /* SSLv3 but can rollback to v2 */
1864
+
1865
+ const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */
1866
+ const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */
1867
+ const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */
1868
+
1869
+ const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */
1870
+ const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */
1871
+ const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */
1872
+
1873
+ const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */
1874
+ const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */
1875
+ const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */
1876
+
1877
+
1878
+ const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */
1879
+ const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */
1880
+ const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */
1881
+
1882
+ STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s);
1883
+
1884
+ int SSL_do_handshake(SSL *s);
1885
+ int SSL_renegotiate(SSL *s);
1886
+ int SSL_renegotiate_abbreviated(SSL *s);
1887
+ int SSL_renegotiate_pending(SSL *s);
1888
+ int SSL_shutdown(SSL *s);
1889
+
1890
+ const SSL_METHOD *SSL_get_ssl_method(SSL *s);
1891
+ int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
1892
+ const char *SSL_alert_type_string_long(int value);
1893
+ const char *SSL_alert_type_string(int value);
1894
+ const char *SSL_alert_desc_string_long(int value);
1895
+ const char *SSL_alert_desc_string(int value);
1896
+
1897
+ void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list);
1898
+ void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list);
1899
+ STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s);
1900
+ STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s);
1901
+ int SSL_add_client_CA(SSL *ssl,X509 *x);
1902
+ int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x);
1903
+
1904
+ void SSL_set_connect_state(SSL *s);
1905
+ void SSL_set_accept_state(SSL *s);
1906
+
1907
+ long SSL_get_default_timeout(const SSL *s);
1908
+
1909
+ int SSL_library_init(void );
1910
+
1911
+ char *SSL_CIPHER_description(const SSL_CIPHER *,char *buf,int size);
1912
+ STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk);
1913
+
1914
+ SSL *SSL_dup(SSL *ssl);
1915
+
1916
+ X509 *SSL_get_certificate(const SSL *ssl);
1917
+ /* EVP_PKEY */ struct evp_pkey_st *SSL_get_privatekey(SSL *ssl);
1918
+
1919
+ void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx,int mode);
1920
+ int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
1921
+ void SSL_set_quiet_shutdown(SSL *ssl,int mode);
1922
+ int SSL_get_quiet_shutdown(const SSL *ssl);
1923
+ void SSL_set_shutdown(SSL *ssl,int mode);
1924
+ int SSL_get_shutdown(const SSL *ssl);
1925
+ int SSL_version(const SSL *ssl);
1926
+ int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
1927
+ int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
1928
+ const char *CApath);
1929
+ #define SSL_get0_session SSL_get_session /* just peek at pointer */
1930
+ SSL_SESSION *SSL_get_session(const SSL *ssl);
1931
+ SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */
1932
+ SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
1933
+ SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX* ctx);
1934
+ void SSL_set_info_callback(SSL *ssl,
1935
+ void (*cb)(const SSL *ssl,int type,int val));
1936
+ void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,int type,int val);
1937
+ int SSL_state(const SSL *ssl);
1938
+ void SSL_set_state(SSL *ssl, int state);
1939
+
1940
+ void SSL_set_verify_result(SSL *ssl,long v);
1941
+ long SSL_get_verify_result(const SSL *ssl);
1942
+
1943
+ int SSL_set_ex_data(SSL *ssl,int idx,void *data);
1944
+ void *SSL_get_ex_data(const SSL *ssl,int idx);
1945
+ int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
1946
+ CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
1947
+
1948
+ int SSL_SESSION_set_ex_data(SSL_SESSION *ss,int idx,void *data);
1949
+ void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss,int idx);
1950
+ int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
1951
+ CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
1952
+
1953
+ int SSL_CTX_set_ex_data(SSL_CTX *ssl,int idx,void *data);
1954
+ void *SSL_CTX_get_ex_data(const SSL_CTX *ssl,int idx);
1955
+ int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
1956
+ CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
1957
+
1958
+ int SSL_get_ex_data_X509_STORE_CTX_idx(void );
1959
+
1960
+ #define SSL_CTX_sess_set_cache_size(ctx,t) \
1961
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL)
1962
+ #define SSL_CTX_sess_get_cache_size(ctx) \
1963
+ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL)
1964
+ #define SSL_CTX_set_session_cache_mode(ctx,m) \
1965
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL)
1966
+ #define SSL_CTX_get_session_cache_mode(ctx) \
1967
+ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL)
1968
+
1969
+ #define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx)
1970
+ #define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m)
1971
+ #define SSL_CTX_get_read_ahead(ctx) \
1972
+ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL)
1973
+ #define SSL_CTX_set_read_ahead(ctx,m) \
1974
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL)
1975
+ #define SSL_CTX_get_max_cert_list(ctx) \
1976
+ SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
1977
+ #define SSL_CTX_set_max_cert_list(ctx,m) \
1978
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
1979
+ #define SSL_get_max_cert_list(ssl) \
1980
+ SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL)
1981
+ #define SSL_set_max_cert_list(ssl,m) \
1982
+ SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL)
1983
+
1984
+ #define SSL_CTX_set_max_send_fragment(ctx,m) \
1985
+ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
1986
+ #define SSL_set_max_send_fragment(ssl,m) \
1987
+ SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL)
1988
+
1989
+ /* NB: the keylength is only applicable when is_export is true */
1990
+ #ifndef OPENSSL_NO_RSA
1991
+ void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx,
1992
+ RSA *(*cb)(SSL *ssl,int is_export,
1993
+ int keylength));
1994
+
1995
+ void SSL_set_tmp_rsa_callback(SSL *ssl,
1996
+ RSA *(*cb)(SSL *ssl,int is_export,
1997
+ int keylength));
1998
+ #endif
1999
+ #ifndef OPENSSL_NO_DH
2000
+ void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,
2001
+ DH *(*dh)(SSL *ssl,int is_export,
2002
+ int keylength));
2003
+ void SSL_set_tmp_dh_callback(SSL *ssl,
2004
+ DH *(*dh)(SSL *ssl,int is_export,
2005
+ int keylength));
2006
+ #endif
2007
+ #ifndef OPENSSL_NO_ECDH
2008
+ void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx,
2009
+ EC_KEY *(*ecdh)(SSL *ssl,int is_export,
2010
+ int keylength));
2011
+ void SSL_set_tmp_ecdh_callback(SSL *ssl,
2012
+ EC_KEY *(*ecdh)(SSL *ssl,int is_export,
2013
+ int keylength));
2014
+ #endif
2015
+
2016
+ #ifndef OPENSSL_NO_COMP
2017
+ const COMP_METHOD *SSL_get_current_compression(SSL *s);
2018
+ const COMP_METHOD *SSL_get_current_expansion(SSL *s);
2019
+ const char *SSL_COMP_get_name(const COMP_METHOD *comp);
2020
+ STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void);
2021
+ int SSL_COMP_add_compression_method(int id,COMP_METHOD *cm);
2022
+ #else
2023
+ const void *SSL_get_current_compression(SSL *s);
2024
+ const void *SSL_get_current_expansion(SSL *s);
2025
+ const char *SSL_COMP_get_name(const void *comp);
2026
+ void *SSL_COMP_get_compression_methods(void);
2027
+ int SSL_COMP_add_compression_method(int id,void *cm);
2028
+ #endif
2029
+
2030
+ /* TLS extensions functions */
2031
+ int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len);
2032
+
2033
+ int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb,
2034
+ void *arg);
2035
+
2036
+ /* Pre-shared secret session resumption functions */
2037
+ int SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn tls_session_secret_cb, void *arg);
2038
+
2039
+ void SSL_set_debug(SSL *s, int debug);
2040
+ int SSL_cache_hit(SSL *s);
2041
+
2042
+ /* BEGIN ERROR CODES */
2043
+ /* The following lines are auto generated by the script mkerr.pl. Any changes
2044
+ * made after this point may be overwritten when the script is next run.
2045
+ */
2046
+ void ERR_load_SSL_strings(void);
2047
+
2048
+ /* Error codes for the SSL functions. */
2049
+
2050
+ /* Function codes. */
2051
+ #define SSL_F_CLIENT_CERTIFICATE 100
2052
+ #define SSL_F_CLIENT_FINISHED 167
2053
+ #define SSL_F_CLIENT_HELLO 101
2054
+ #define SSL_F_CLIENT_MASTER_KEY 102
2055
+ #define SSL_F_D2I_SSL_SESSION 103
2056
+ #define SSL_F_DO_DTLS1_WRITE 245
2057
+ #define SSL_F_DO_SSL3_WRITE 104
2058
+ #define SSL_F_DTLS1_ACCEPT 246
2059
+ #define SSL_F_DTLS1_ADD_CERT_TO_BUF 295
2060
+ #define SSL_F_DTLS1_BUFFER_RECORD 247
2061
+ #define SSL_F_DTLS1_CLIENT_HELLO 248
2062
+ #define SSL_F_DTLS1_CONNECT 249
2063
+ #define SSL_F_DTLS1_ENC 250
2064
+ #define SSL_F_DTLS1_GET_HELLO_VERIFY 251
2065
+ #define SSL_F_DTLS1_GET_MESSAGE 252
2066
+ #define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253
2067
+ #define SSL_F_DTLS1_GET_RECORD 254
2068
+ #define SSL_F_DTLS1_HANDLE_TIMEOUT 297
2069
+ #define SSL_F_DTLS1_HEARTBEAT 305
2070
+ #define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255
2071
+ #define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288
2072
+ #define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256
2073
+ #define SSL_F_DTLS1_PROCESS_RECORD 257
2074
+ #define SSL_F_DTLS1_READ_BYTES 258
2075
+ #define SSL_F_DTLS1_READ_FAILED 259
2076
+ #define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260
2077
+ #define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261
2078
+ #define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262
2079
+ #define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263
2080
+ #define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264
2081
+ #define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265
2082
+ #define SSL_F_DTLS1_SEND_SERVER_HELLO 266
2083
+ #define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267
2084
+ #define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268
2085
+ #define SSL_F_GET_CLIENT_FINISHED 105
2086
+ #define SSL_F_GET_CLIENT_HELLO 106
2087
+ #define SSL_F_GET_CLIENT_MASTER_KEY 107
2088
+ #define SSL_F_GET_SERVER_FINISHED 108
2089
+ #define SSL_F_GET_SERVER_HELLO 109
2090
+ #define SSL_F_GET_SERVER_VERIFY 110
2091
+ #define SSL_F_I2D_SSL_SESSION 111
2092
+ #define SSL_F_READ_N 112
2093
+ #define SSL_F_REQUEST_CERTIFICATE 113
2094
+ #define SSL_F_SERVER_FINISH 239
2095
+ #define SSL_F_SERVER_HELLO 114
2096
+ #define SSL_F_SERVER_VERIFY 240
2097
+ #define SSL_F_SSL23_ACCEPT 115
2098
+ #define SSL_F_SSL23_CLIENT_HELLO 116
2099
+ #define SSL_F_SSL23_CONNECT 117
2100
+ #define SSL_F_SSL23_GET_CLIENT_HELLO 118
2101
+ #define SSL_F_SSL23_GET_SERVER_HELLO 119
2102
+ #define SSL_F_SSL23_PEEK 237
2103
+ #define SSL_F_SSL23_READ 120
2104
+ #define SSL_F_SSL23_WRITE 121
2105
+ #define SSL_F_SSL2_ACCEPT 122
2106
+ #define SSL_F_SSL2_CONNECT 123
2107
+ #define SSL_F_SSL2_ENC_INIT 124
2108
+ #define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241
2109
+ #define SSL_F_SSL2_PEEK 234
2110
+ #define SSL_F_SSL2_READ 125
2111
+ #define SSL_F_SSL2_READ_INTERNAL 236
2112
+ #define SSL_F_SSL2_SET_CERTIFICATE 126
2113
+ #define SSL_F_SSL2_WRITE 127
2114
+ #define SSL_F_SSL3_ACCEPT 128
2115
+ #define SSL_F_SSL3_ADD_CERT_TO_BUF 296
2116
+ #define SSL_F_SSL3_CALLBACK_CTRL 233
2117
+ #define SSL_F_SSL3_CHANGE_CIPHER_STATE 129
2118
+ #define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130
2119
+ #define SSL_F_SSL3_CHECK_CLIENT_HELLO 304
2120
+ #define SSL_F_SSL3_CLIENT_HELLO 131
2121
+ #define SSL_F_SSL3_CONNECT 132
2122
+ #define SSL_F_SSL3_CTRL 213
2123
+ #define SSL_F_SSL3_CTX_CTRL 133
2124
+ #define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293
2125
+ #define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292
2126
+ #define SSL_F_SSL3_ENC 134
2127
+ #define SSL_F_SSL3_GENERATE_KEY_BLOCK 238
2128
+ #define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135
2129
+ #define SSL_F_SSL3_GET_CERT_STATUS 289
2130
+ #define SSL_F_SSL3_GET_CERT_VERIFY 136
2131
+ #define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137
2132
+ #define SSL_F_SSL3_GET_CLIENT_HELLO 138
2133
+ #define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139
2134
+ #define SSL_F_SSL3_GET_FINISHED 140
2135
+ #define SSL_F_SSL3_GET_KEY_EXCHANGE 141
2136
+ #define SSL_F_SSL3_GET_MESSAGE 142
2137
+ #define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283
2138
+ #define SSL_F_SSL3_GET_NEXT_PROTO 306
2139
+ #define SSL_F_SSL3_GET_RECORD 143
2140
+ #define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144
2141
+ #define SSL_F_SSL3_GET_SERVER_DONE 145
2142
+ #define SSL_F_SSL3_GET_SERVER_HELLO 146
2143
+ #define SSL_F_SSL3_HANDSHAKE_MAC 285
2144
+ #define SSL_F_SSL3_NEW_SESSION_TICKET 287
2145
+ #define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147
2146
+ #define SSL_F_SSL3_PEEK 235
2147
+ #define SSL_F_SSL3_READ_BYTES 148
2148
+ #define SSL_F_SSL3_READ_N 149
2149
+ #define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150
2150
+ #define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151
2151
+ #define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152
2152
+ #define SSL_F_SSL3_SEND_CLIENT_VERIFY 153
2153
+ #define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154
2154
+ #define SSL_F_SSL3_SEND_SERVER_HELLO 242
2155
+ #define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155
2156
+ #define SSL_F_SSL3_SETUP_KEY_BLOCK 157
2157
+ #define SSL_F_SSL3_SETUP_READ_BUFFER 156
2158
+ #define SSL_F_SSL3_SETUP_WRITE_BUFFER 291
2159
+ #define SSL_F_SSL3_WRITE_BYTES 158
2160
+ #define SSL_F_SSL3_WRITE_PENDING 159
2161
+ #define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298
2162
+ #define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277
2163
+ #define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307
2164
+ #define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215
2165
+ #define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216
2166
+ #define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299
2167
+ #define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278
2168
+ #define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308
2169
+ #define SSL_F_SSL_BAD_METHOD 160
2170
+ #define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161
2171
+ #define SSL_F_SSL_CERT_DUP 221
2172
+ #define SSL_F_SSL_CERT_INST 222
2173
+ #define SSL_F_SSL_CERT_INSTANTIATE 214
2174
+ #define SSL_F_SSL_CERT_NEW 162
2175
+ #define SSL_F_SSL_CHECK_PRIVATE_KEY 163
2176
+ #define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280
2177
+ #define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279
2178
+ #define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230
2179
+ #define SSL_F_SSL_CIPHER_STRENGTH_SORT 231
2180
+ #define SSL_F_SSL_CLEAR 164
2181
+ #define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165
2182
+ #define SSL_F_SSL_CREATE_CIPHER_LIST 166
2183
+ #define SSL_F_SSL_CTRL 232
2184
+ #define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168
2185
+ #define SSL_F_SSL_CTX_MAKE_PROFILES 309
2186
+ #define SSL_F_SSL_CTX_NEW 169
2187
+ #define SSL_F_SSL_CTX_SET_CIPHER_LIST 269
2188
+ #define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290
2189
+ #define SSL_F_SSL_CTX_SET_PURPOSE 226
2190
+ #define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219
2191
+ #define SSL_F_SSL_CTX_SET_SSL_VERSION 170
2192
+ #define SSL_F_SSL_CTX_SET_TRUST 229
2193
+ #define SSL_F_SSL_CTX_USE_CERTIFICATE 171
2194
+ #define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172
2195
+ #define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220
2196
+ #define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173
2197
+ #define SSL_F_SSL_CTX_USE_PRIVATEKEY 174
2198
+ #define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175
2199
+ #define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176
2200
+ #define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272
2201
+ #define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177
2202
+ #define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178
2203
+ #define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179
2204
+ #define SSL_F_SSL_DO_HANDSHAKE 180
2205
+ #define SSL_F_SSL_GET_NEW_SESSION 181
2206
+ #define SSL_F_SSL_GET_PREV_SESSION 217
2207
+ #define SSL_F_SSL_GET_SERVER_SEND_CERT 182
2208
+ #define SSL_F_SSL_GET_SIGN_PKEY 183
2209
+ #define SSL_F_SSL_INIT_WBIO_BUFFER 184
2210
+ #define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185
2211
+ #define SSL_F_SSL_NEW 186
2212
+ #define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300
2213
+ #define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302
2214
+ #define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310
2215
+ #define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301
2216
+ #define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303
2217
+ #define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311
2218
+ #define SSL_F_SSL_PEEK 270
2219
+ #define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281
2220
+ #define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282
2221
+ #define SSL_F_SSL_READ 223
2222
+ #define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187
2223
+ #define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188
2224
+ #define SSL_F_SSL_SESSION_NEW 189
2225
+ #define SSL_F_SSL_SESSION_PRINT_FP 190
2226
+ #define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312
2227
+ #define SSL_F_SSL_SESS_CERT_NEW 225
2228
+ #define SSL_F_SSL_SET_CERT 191
2229
+ #define SSL_F_SSL_SET_CIPHER_LIST 271
2230
+ #define SSL_F_SSL_SET_FD 192
2231
+ #define SSL_F_SSL_SET_PKEY 193
2232
+ #define SSL_F_SSL_SET_PURPOSE 227
2233
+ #define SSL_F_SSL_SET_RFD 194
2234
+ #define SSL_F_SSL_SET_SESSION 195
2235
+ #define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218
2236
+ #define SSL_F_SSL_SET_SESSION_TICKET_EXT 294
2237
+ #define SSL_F_SSL_SET_TRUST 228
2238
+ #define SSL_F_SSL_SET_WFD 196
2239
+ #define SSL_F_SSL_SHUTDOWN 224
2240
+ #define SSL_F_SSL_SRP_CTX_INIT 313
2241
+ #define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243
2242
+ #define SSL_F_SSL_UNDEFINED_FUNCTION 197
2243
+ #define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244
2244
+ #define SSL_F_SSL_USE_CERTIFICATE 198
2245
+ #define SSL_F_SSL_USE_CERTIFICATE_ASN1 199
2246
+ #define SSL_F_SSL_USE_CERTIFICATE_FILE 200
2247
+ #define SSL_F_SSL_USE_PRIVATEKEY 201
2248
+ #define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202
2249
+ #define SSL_F_SSL_USE_PRIVATEKEY_FILE 203
2250
+ #define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273
2251
+ #define SSL_F_SSL_USE_RSAPRIVATEKEY 204
2252
+ #define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205
2253
+ #define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206
2254
+ #define SSL_F_SSL_VERIFY_CERT_CHAIN 207
2255
+ #define SSL_F_SSL_WRITE 208
2256
+ #define SSL_F_TLS1_CERT_VERIFY_MAC 286
2257
+ #define SSL_F_TLS1_CHANGE_CIPHER_STATE 209
2258
+ #define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274
2259
+ #define SSL_F_TLS1_ENC 210
2260
+ #define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314
2261
+ #define SSL_F_TLS1_HEARTBEAT 315
2262
+ #define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275
2263
+ #define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276
2264
+ #define SSL_F_TLS1_PRF 284
2265
+ #define SSL_F_TLS1_SETUP_KEY_BLOCK 211
2266
+ #define SSL_F_WRITE_PENDING 212
2267
+
2268
+ /* Reason codes. */
2269
+ #define SSL_R_APP_DATA_IN_HANDSHAKE 100
2270
+ #define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272
2271
+ #define SSL_R_BAD_ALERT_RECORD 101
2272
+ #define SSL_R_BAD_AUTHENTICATION_TYPE 102
2273
+ #define SSL_R_BAD_CHANGE_CIPHER_SPEC 103
2274
+ #define SSL_R_BAD_CHECKSUM 104
2275
+ #define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106
2276
+ #define SSL_R_BAD_DECOMPRESSION 107
2277
+ #define SSL_R_BAD_DH_G_LENGTH 108
2278
+ #define SSL_R_BAD_DH_PUB_KEY_LENGTH 109
2279
+ #define SSL_R_BAD_DH_P_LENGTH 110
2280
+ #define SSL_R_BAD_DIGEST_LENGTH 111
2281
+ #define SSL_R_BAD_DSA_SIGNATURE 112
2282
+ #define SSL_R_BAD_ECC_CERT 304
2283
+ #define SSL_R_BAD_ECDSA_SIGNATURE 305
2284
+ #define SSL_R_BAD_ECPOINT 306
2285
+ #define SSL_R_BAD_HANDSHAKE_LENGTH 332
2286
+ #define SSL_R_BAD_HELLO_REQUEST 105
2287
+ #define SSL_R_BAD_LENGTH 271
2288
+ #define SSL_R_BAD_MAC_DECODE 113
2289
+ #define SSL_R_BAD_MAC_LENGTH 333
2290
+ #define SSL_R_BAD_MESSAGE_TYPE 114
2291
+ #define SSL_R_BAD_PACKET_LENGTH 115
2292
+ #define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116
2293
+ #define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316
2294
+ #define SSL_R_BAD_RESPONSE_ARGUMENT 117
2295
+ #define SSL_R_BAD_RSA_DECRYPT 118
2296
+ #define SSL_R_BAD_RSA_ENCRYPT 119
2297
+ #define SSL_R_BAD_RSA_E_LENGTH 120
2298
+ #define SSL_R_BAD_RSA_MODULUS_LENGTH 121
2299
+ #define SSL_R_BAD_RSA_SIGNATURE 122
2300
+ #define SSL_R_BAD_SIGNATURE 123
2301
+ #define SSL_R_BAD_SRP_A_LENGTH 347
2302
+ #define SSL_R_BAD_SRP_B_LENGTH 348
2303
+ #define SSL_R_BAD_SRP_G_LENGTH 349
2304
+ #define SSL_R_BAD_SRP_N_LENGTH 350
2305
+ #define SSL_R_BAD_SRP_S_LENGTH 351
2306
+ #define SSL_R_BAD_SRTP_MKI_VALUE 352
2307
+ #define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353
2308
+ #define SSL_R_BAD_SSL_FILETYPE 124
2309
+ #define SSL_R_BAD_SSL_SESSION_ID_LENGTH 125
2310
+ #define SSL_R_BAD_STATE 126
2311
+ #define SSL_R_BAD_WRITE_RETRY 127
2312
+ #define SSL_R_BIO_NOT_SET 128
2313
+ #define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129
2314
+ #define SSL_R_BN_LIB 130
2315
+ #define SSL_R_CA_DN_LENGTH_MISMATCH 131
2316
+ #define SSL_R_CA_DN_TOO_LONG 132
2317
+ #define SSL_R_CCS_RECEIVED_EARLY 133
2318
+ #define SSL_R_CERTIFICATE_VERIFY_FAILED 134
2319
+ #define SSL_R_CERT_LENGTH_MISMATCH 135
2320
+ #define SSL_R_CHALLENGE_IS_DIFFERENT 136
2321
+ #define SSL_R_CIPHER_CODE_WRONG_LENGTH 137
2322
+ #define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138
2323
+ #define SSL_R_CIPHER_TABLE_SRC_ERROR 139
2324
+ #define SSL_R_CLIENTHELLO_TLSEXT 226
2325
+ #define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140
2326
+ #define SSL_R_COMPRESSION_DISABLED 343
2327
+ #define SSL_R_COMPRESSION_FAILURE 141
2328
+ #define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307
2329
+ #define SSL_R_COMPRESSION_LIBRARY_ERROR 142
2330
+ #define SSL_R_CONNECTION_ID_IS_DIFFERENT 143
2331
+ #define SSL_R_CONNECTION_TYPE_NOT_SET 144
2332
+ #define SSL_R_COOKIE_MISMATCH 308
2333
+ #define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145
2334
+ #define SSL_R_DATA_LENGTH_TOO_LONG 146
2335
+ #define SSL_R_DECRYPTION_FAILED 147
2336
+ #define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281
2337
+ #define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148
2338
+ #define SSL_R_DIGEST_CHECK_FAILED 149
2339
+ #define SSL_R_DTLS_MESSAGE_TOO_BIG 334
2340
+ #define SSL_R_DUPLICATE_COMPRESSION_ID 309
2341
+ #define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317
2342
+ #define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318
2343
+ #define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322
2344
+ #define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323
2345
+ #define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310
2346
+ #define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354
2347
+ #define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150
2348
+ #define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282
2349
+ #define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151
2350
+ #define SSL_R_EXCESSIVE_MESSAGE_SIZE 152
2351
+ #define SSL_R_EXTRA_DATA_IN_MESSAGE 153
2352
+ #define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154
2353
+ #define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355
2354
+ #define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356
2355
+ #define SSL_R_HTTPS_PROXY_REQUEST 155
2356
+ #define SSL_R_HTTP_REQUEST 156
2357
+ #define SSL_R_ILLEGAL_PADDING 283
2358
+ #define SSL_R_INCONSISTENT_COMPRESSION 340
2359
+ #define SSL_R_INVALID_CHALLENGE_LENGTH 158
2360
+ #define SSL_R_INVALID_COMMAND 280
2361
+ #define SSL_R_INVALID_COMPRESSION_ALGORITHM 341
2362
+ #define SSL_R_INVALID_PURPOSE 278
2363
+ #define SSL_R_INVALID_SRP_USERNAME 357
2364
+ #define SSL_R_INVALID_STATUS_RESPONSE 328
2365
+ #define SSL_R_INVALID_TICKET_KEYS_LENGTH 325
2366
+ #define SSL_R_INVALID_TRUST 279
2367
+ #define SSL_R_KEY_ARG_TOO_LONG 284
2368
+ #define SSL_R_KRB5 285
2369
+ #define SSL_R_KRB5_C_CC_PRINC 286
2370
+ #define SSL_R_KRB5_C_GET_CRED 287
2371
+ #define SSL_R_KRB5_C_INIT 288
2372
+ #define SSL_R_KRB5_C_MK_REQ 289
2373
+ #define SSL_R_KRB5_S_BAD_TICKET 290
2374
+ #define SSL_R_KRB5_S_INIT 291
2375
+ #define SSL_R_KRB5_S_RD_REQ 292
2376
+ #define SSL_R_KRB5_S_TKT_EXPIRED 293
2377
+ #define SSL_R_KRB5_S_TKT_NYV 294
2378
+ #define SSL_R_KRB5_S_TKT_SKEW 295
2379
+ #define SSL_R_LENGTH_MISMATCH 159
2380
+ #define SSL_R_LENGTH_TOO_SHORT 160
2381
+ #define SSL_R_LIBRARY_BUG 274
2382
+ #define SSL_R_LIBRARY_HAS_NO_CIPHERS 161
2383
+ #define SSL_R_MESSAGE_TOO_LONG 296
2384
+ #define SSL_R_MISSING_DH_DSA_CERT 162
2385
+ #define SSL_R_MISSING_DH_KEY 163
2386
+ #define SSL_R_MISSING_DH_RSA_CERT 164
2387
+ #define SSL_R_MISSING_DSA_SIGNING_CERT 165
2388
+ #define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166
2389
+ #define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167
2390
+ #define SSL_R_MISSING_RSA_CERTIFICATE 168
2391
+ #define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169
2392
+ #define SSL_R_MISSING_RSA_SIGNING_CERT 170
2393
+ #define SSL_R_MISSING_SRP_PARAM 358
2394
+ #define SSL_R_MISSING_TMP_DH_KEY 171
2395
+ #define SSL_R_MISSING_TMP_ECDH_KEY 311
2396
+ #define SSL_R_MISSING_TMP_RSA_KEY 172
2397
+ #define SSL_R_MISSING_TMP_RSA_PKEY 173
2398
+ #define SSL_R_MISSING_VERIFY_MESSAGE 174
2399
+ #define SSL_R_MULTIPLE_SGC_RESTARTS 346
2400
+ #define SSL_R_NON_SSLV2_INITIAL_PACKET 175
2401
+ #define SSL_R_NO_CERTIFICATES_RETURNED 176
2402
+ #define SSL_R_NO_CERTIFICATE_ASSIGNED 177
2403
+ #define SSL_R_NO_CERTIFICATE_RETURNED 178
2404
+ #define SSL_R_NO_CERTIFICATE_SET 179
2405
+ #define SSL_R_NO_CERTIFICATE_SPECIFIED 180
2406
+ #define SSL_R_NO_CIPHERS_AVAILABLE 181
2407
+ #define SSL_R_NO_CIPHERS_PASSED 182
2408
+ #define SSL_R_NO_CIPHERS_SPECIFIED 183
2409
+ #define SSL_R_NO_CIPHER_LIST 184
2410
+ #define SSL_R_NO_CIPHER_MATCH 185
2411
+ #define SSL_R_NO_CLIENT_CERT_METHOD 331
2412
+ #define SSL_R_NO_CLIENT_CERT_RECEIVED 186
2413
+ #define SSL_R_NO_COMPRESSION_SPECIFIED 187
2414
+ #define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330
2415
+ #define SSL_R_NO_METHOD_SPECIFIED 188
2416
+ #define SSL_R_NO_PRIVATEKEY 189
2417
+ #define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190
2418
+ #define SSL_R_NO_PROTOCOLS_AVAILABLE 191
2419
+ #define SSL_R_NO_PUBLICKEY 192
2420
+ #define SSL_R_NO_RENEGOTIATION 339
2421
+ #define SSL_R_NO_REQUIRED_DIGEST 324
2422
+ #define SSL_R_NO_SHARED_CIPHER 193
2423
+ #define SSL_R_NO_SRTP_PROFILES 359
2424
+ #define SSL_R_NO_VERIFY_CALLBACK 194
2425
+ #define SSL_R_NULL_SSL_CTX 195
2426
+ #define SSL_R_NULL_SSL_METHOD_PASSED 196
2427
+ #define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197
2428
+ #define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344
2429
+ #define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297
2430
+ #define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327
2431
+ #define SSL_R_PACKET_LENGTH_TOO_LONG 198
2432
+ #define SSL_R_PARSE_TLSEXT 227
2433
+ #define SSL_R_PATH_TOO_LONG 270
2434
+ #define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199
2435
+ #define SSL_R_PEER_ERROR 200
2436
+ #define SSL_R_PEER_ERROR_CERTIFICATE 201
2437
+ #define SSL_R_PEER_ERROR_NO_CERTIFICATE 202
2438
+ #define SSL_R_PEER_ERROR_NO_CIPHER 203
2439
+ #define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204
2440
+ #define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205
2441
+ #define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206
2442
+ #define SSL_R_PROTOCOL_IS_SHUTDOWN 207
2443
+ #define SSL_R_PSK_IDENTITY_NOT_FOUND 223
2444
+ #define SSL_R_PSK_NO_CLIENT_CB 224
2445
+ #define SSL_R_PSK_NO_SERVER_CB 225
2446
+ #define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208
2447
+ #define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209
2448
+ #define SSL_R_PUBLIC_KEY_NOT_RSA 210
2449
+ #define SSL_R_READ_BIO_NOT_SET 211
2450
+ #define SSL_R_READ_TIMEOUT_EXPIRED 312
2451
+ #define SSL_R_READ_WRONG_PACKET_TYPE 212
2452
+ #define SSL_R_RECORD_LENGTH_MISMATCH 213
2453
+ #define SSL_R_RECORD_TOO_LARGE 214
2454
+ #define SSL_R_RECORD_TOO_SMALL 298
2455
+ #define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335
2456
+ #define SSL_R_RENEGOTIATION_ENCODING_ERR 336
2457
+ #define SSL_R_RENEGOTIATION_MISMATCH 337
2458
+ #define SSL_R_REQUIRED_CIPHER_MISSING 215
2459
+ #define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342
2460
+ #define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216
2461
+ #define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217
2462
+ #define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218
2463
+ #define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345
2464
+ #define SSL_R_SERVERHELLO_TLSEXT 275
2465
+ #define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277
2466
+ #define SSL_R_SHORT_READ 219
2467
+ #define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360
2468
+ #define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220
2469
+ #define SSL_R_SRP_A_CALC 361
2470
+ #define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362
2471
+ #define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363
2472
+ #define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364
2473
+ #define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221
2474
+ #define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299
2475
+ #define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321
2476
+ #define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319
2477
+ #define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320
2478
+ #define SSL_R_SSL3_SESSION_ID_TOO_LONG 300
2479
+ #define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222
2480
+ #define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042
2481
+ #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
2482
+ #define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045
2483
+ #define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044
2484
+ #define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046
2485
+ #define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030
2486
+ #define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040
2487
+ #define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047
2488
+ #define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041
2489
+ #define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
2490
+ #define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043
2491
+ #define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228
2492
+ #define SSL_R_SSL_HANDSHAKE_FAILURE 229
2493
+ #define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230
2494
+ #define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301
2495
+ #define SSL_R_SSL_SESSION_ID_CONFLICT 302
2496
+ #define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273
2497
+ #define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303
2498
+ #define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231
2499
+ #define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049
2500
+ #define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050
2501
+ #define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021
2502
+ #define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051
2503
+ #define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060
2504
+ #define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071
2505
+ #define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080
2506
+ #define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100
2507
+ #define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070
2508
+ #define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022
2509
+ #define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048
2510
+ #define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090
2511
+ #define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114
2512
+ #define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113
2513
+ #define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111
2514
+ #define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112
2515
+ #define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110
2516
+ #define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232
2517
+ #define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365
2518
+ #define SSL_R_TLS_HEARTBEAT_PENDING 366
2519
+ #define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367
2520
+ #define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157
2521
+ #define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233
2522
+ #define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234
2523
+ #define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235
2524
+ #define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236
2525
+ #define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313
2526
+ #define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237
2527
+ #define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238
2528
+ #define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314
2529
+ #define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239
2530
+ #define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240
2531
+ #define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241
2532
+ #define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242
2533
+ #define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243
2534
+ #define SSL_R_UNEXPECTED_MESSAGE 244
2535
+ #define SSL_R_UNEXPECTED_RECORD 245
2536
+ #define SSL_R_UNINITIALIZED 276
2537
+ #define SSL_R_UNKNOWN_ALERT_TYPE 246
2538
+ #define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247
2539
+ #define SSL_R_UNKNOWN_CIPHER_RETURNED 248
2540
+ #define SSL_R_UNKNOWN_CIPHER_TYPE 249
2541
+ #define SSL_R_UNKNOWN_DIGEST 368
2542
+ #define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250
2543
+ #define SSL_R_UNKNOWN_PKEY_TYPE 251
2544
+ #define SSL_R_UNKNOWN_PROTOCOL 252
2545
+ #define SSL_R_UNKNOWN_REMOTE_ERROR_TYPE 253
2546
+ #define SSL_R_UNKNOWN_SSL_VERSION 254
2547
+ #define SSL_R_UNKNOWN_STATE 255
2548
+ #define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338
2549
+ #define SSL_R_UNSUPPORTED_CIPHER 256
2550
+ #define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257
2551
+ #define SSL_R_UNSUPPORTED_DIGEST_TYPE 326
2552
+ #define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315
2553
+ #define SSL_R_UNSUPPORTED_PROTOCOL 258
2554
+ #define SSL_R_UNSUPPORTED_SSL_VERSION 259
2555
+ #define SSL_R_UNSUPPORTED_STATUS_TYPE 329
2556
+ #define SSL_R_USE_SRTP_NOT_NEGOTIATED 369
2557
+ #define SSL_R_WRITE_BIO_NOT_SET 260
2558
+ #define SSL_R_WRONG_CIPHER_RETURNED 261
2559
+ #define SSL_R_WRONG_MESSAGE_TYPE 262
2560
+ #define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263
2561
+ #define SSL_R_WRONG_SIGNATURE_LENGTH 264
2562
+ #define SSL_R_WRONG_SIGNATURE_SIZE 265
2563
+ #define SSL_R_WRONG_SIGNATURE_TYPE 370
2564
+ #define SSL_R_WRONG_SSL_VERSION 266
2565
+ #define SSL_R_WRONG_VERSION_NUMBER 267
2566
+ #define SSL_R_X509_LIB 268
2567
+ #define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269
2568
+
2569
+ #ifdef __cplusplus
2570
+ }
2571
+ #endif
2572
+ #endif