grpc 0.12.0 → 0.13.0.pre1.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (673) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +5707 -22222
  3. data/include/grpc/byte_buffer.h +2 -83
  4. data/include/grpc/census.h +191 -121
  5. data/include/grpc/compression.h +14 -38
  6. data/include/grpc/grpc.h +88 -434
  7. data/include/grpc/grpc_security.h +76 -46
  8. data/include/grpc/grpc_zookeeper.h +1 -1
  9. data/include/grpc/impl/codegen/alloc.h +74 -0
  10. data/include/grpc/impl/codegen/atm.h +92 -0
  11. data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
  12. data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
  13. data/include/grpc/impl/codegen/atm_win32.h +125 -0
  14. data/include/grpc/impl/codegen/byte_buffer.h +121 -0
  15. data/include/grpc/impl/codegen/compression_types.h +73 -0
  16. data/include/grpc/impl/codegen/connectivity_state.h +59 -0
  17. data/include/grpc/impl/codegen/grpc_types.h +373 -0
  18. data/include/grpc/impl/codegen/log.h +110 -0
  19. data/include/grpc/impl/codegen/port_platform.h +362 -0
  20. data/include/grpc/impl/codegen/propagation_bits.h +67 -0
  21. data/include/grpc/impl/codegen/slice.h +182 -0
  22. data/include/grpc/impl/codegen/slice_buffer.h +105 -0
  23. data/include/grpc/impl/codegen/status.h +163 -0
  24. data/include/grpc/impl/codegen/sync.h +316 -0
  25. data/include/grpc/impl/codegen/sync_generic.h +55 -0
  26. data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
  27. data/include/grpc/impl/codegen/sync_win32.h +49 -0
  28. data/include/grpc/impl/codegen/time.h +132 -0
  29. data/include/grpc/status.h +2 -126
  30. data/include/grpc/support/alloc.h +2 -35
  31. data/include/grpc/support/atm.h +2 -55
  32. data/include/grpc/support/atm_gcc_atomic.h +5 -38
  33. data/include/grpc/support/atm_gcc_sync.h +2 -50
  34. data/include/grpc/support/atm_win32.h +2 -88
  35. data/include/grpc/support/avl.h +7 -7
  36. data/include/grpc/support/cmdline.h +15 -13
  37. data/include/grpc/support/cpu.h +5 -3
  38. data/include/grpc/support/histogram.h +23 -20
  39. data/include/grpc/support/host_port.h +5 -3
  40. data/include/grpc/support/log.h +2 -71
  41. data/include/grpc/support/log_win32.h +2 -2
  42. data/include/grpc/support/port_platform.h +2 -319
  43. data/include/grpc/support/slice.h +2 -145
  44. data/include/grpc/support/slice_buffer.h +2 -65
  45. data/include/grpc/support/string_util.h +3 -3
  46. data/include/grpc/support/subprocess.h +8 -6
  47. data/include/grpc/support/sync.h +2 -278
  48. data/include/grpc/support/sync_generic.h +2 -18
  49. data/include/grpc/support/sync_posix.h +2 -10
  50. data/include/grpc/support/sync_win32.h +2 -12
  51. data/include/grpc/support/thd.h +11 -11
  52. data/include/grpc/support/time.h +2 -91
  53. data/include/grpc/support/tls.h +1 -1
  54. data/include/grpc/support/tls_gcc.h +1 -1
  55. data/include/grpc/support/tls_msvc.h +1 -1
  56. data/include/grpc/support/tls_pthread.h +2 -2
  57. data/src/boringssl/err_data.c +1252 -0
  58. data/src/core/census/context.c +492 -8
  59. data/src/core/census/grpc_filter.c +3 -3
  60. data/src/core/census/initialize.c +4 -7
  61. data/src/core/census/operation.c +2 -2
  62. data/src/core/census/placeholders.c +109 -0
  63. data/src/core/census/rpc_metric_id.h +6 -6
  64. data/src/core/census/tracing.c +1 -1
  65. data/src/core/channel/channel_args.c +4 -3
  66. data/src/core/channel/channel_stack.c +1 -1
  67. data/src/core/channel/client_channel.c +18 -14
  68. data/src/core/channel/client_uchannel.c +3 -3
  69. data/src/core/channel/compress_filter.c +8 -8
  70. data/src/core/channel/http_client_filter.c +2 -2
  71. data/src/core/channel/http_server_filter.c +9 -9
  72. data/src/core/channel/subchannel_call_holder.c +12 -10
  73. data/src/core/client_config/lb_policies/pick_first.c +49 -31
  74. data/src/core/client_config/lb_policies/round_robin.c +7 -7
  75. data/src/core/client_config/resolvers/dns_resolver.c +3 -3
  76. data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
  77. data/src/core/client_config/subchannel.c +36 -25
  78. data/src/core/compression/algorithm.c +3 -3
  79. data/src/core/httpcli/format_request.c +1 -1
  80. data/src/core/httpcli/httpcli.c +5 -5
  81. data/src/core/httpcli/httpcli_security_connector.c +2 -3
  82. data/src/core/httpcli/parser.c +7 -7
  83. data/src/core/httpcli/parser.h +1 -1
  84. data/src/core/iomgr/closure.c +7 -7
  85. data/src/core/iomgr/closure.h +6 -5
  86. data/src/core/iomgr/exec_ctx.c +12 -8
  87. data/src/core/iomgr/exec_ctx.h +12 -5
  88. data/src/core/iomgr/executor.c +4 -4
  89. data/src/core/iomgr/executor.h +2 -2
  90. data/src/core/iomgr/fd_posix.c +28 -17
  91. data/src/core/iomgr/fd_posix.h +7 -4
  92. data/src/core/iomgr/iocp_windows.c +6 -8
  93. data/src/core/iomgr/pollset_multipoller_with_epoll.c +70 -5
  94. data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +4 -2
  95. data/src/core/iomgr/pollset_posix.c +15 -15
  96. data/src/core/iomgr/pollset_posix.h +4 -2
  97. data/src/core/iomgr/pollset_windows.c +3 -12
  98. data/src/core/iomgr/resolve_address_posix.c +2 -2
  99. data/src/core/iomgr/resolve_address_windows.c +2 -2
  100. data/src/core/iomgr/sockaddr_utils.c +6 -6
  101. data/src/core/iomgr/sockaddr_win32.h +1 -6
  102. data/src/core/iomgr/tcp_client_posix.c +7 -7
  103. data/src/core/iomgr/tcp_client_windows.c +4 -4
  104. data/src/core/iomgr/tcp_posix.c +14 -8
  105. data/src/core/iomgr/tcp_posix.h +7 -1
  106. data/src/core/iomgr/tcp_server.h +40 -20
  107. data/src/core/iomgr/tcp_server_posix.c +106 -49
  108. data/src/core/iomgr/tcp_server_windows.c +98 -49
  109. data/src/core/iomgr/tcp_windows.c +11 -15
  110. data/src/core/iomgr/timer.c +8 -8
  111. data/src/core/iomgr/timer.h +1 -1
  112. data/src/core/iomgr/timer_heap.c +10 -10
  113. data/src/core/iomgr/timer_heap.h +2 -2
  114. data/src/core/iomgr/udp_server.c +2 -12
  115. data/src/core/iomgr/udp_server.h +1 -9
  116. data/src/core/iomgr/workqueue.h +2 -4
  117. data/src/core/iomgr/workqueue_posix.c +3 -3
  118. data/src/core/json/json_reader.c +11 -12
  119. data/src/core/json/json_reader.h +4 -4
  120. data/src/core/json/json_string.c +19 -19
  121. data/src/core/json/json_writer.c +7 -9
  122. data/src/core/profiling/basic_timers.c +1 -1
  123. data/src/core/security/base64.c +9 -9
  124. data/src/core/security/client_auth_filter.c +4 -4
  125. data/src/core/security/credentials.c +5 -5
  126. data/src/core/security/google_default_credentials.c +3 -3
  127. data/src/core/security/handshake.c +6 -5
  128. data/src/core/security/json_token.c +13 -7
  129. data/src/core/security/jwt_verifier.c +3 -2
  130. data/src/core/security/secure_endpoint.c +16 -16
  131. data/src/core/security/security_connector.c +47 -17
  132. data/src/core/security/security_connector.h +5 -5
  133. data/src/core/security/server_auth_filter.c +3 -3
  134. data/src/core/security/server_secure_chttp2.c +30 -31
  135. data/src/core/statistics/census_interface.h +2 -2
  136. data/src/core/statistics/census_rpc_stats.h +3 -3
  137. data/src/core/support/alloc.c +1 -1
  138. data/src/core/support/cpu_posix.c +2 -2
  139. data/src/core/support/env_linux.c +12 -2
  140. data/src/core/support/env_win32.c +15 -7
  141. data/src/core/support/histogram.c +5 -5
  142. data/src/core/support/log_posix.c +1 -1
  143. data/src/core/support/log_win32.c +4 -3
  144. data/src/core/support/murmur_hash.c +11 -11
  145. data/src/core/support/murmur_hash.h +1 -1
  146. data/src/core/support/slice.c +11 -11
  147. data/src/core/support/slice_buffer.c +6 -6
  148. data/src/core/support/stack_lockfree.c +20 -10
  149. data/src/core/support/string.c +15 -15
  150. data/src/core/support/string.h +5 -5
  151. data/src/core/support/string_win32.c +5 -5
  152. data/src/core/support/subprocess_windows.c +141 -0
  153. data/src/core/support/sync.c +4 -4
  154. data/src/core/support/sync_posix.c +2 -2
  155. data/src/core/support/sync_win32.c +10 -5
  156. data/src/core/support/time.c +29 -29
  157. data/src/core/support/time_posix.c +15 -6
  158. data/src/core/support/time_precise.c +2 -2
  159. data/src/core/support/time_win32.c +18 -9
  160. data/src/core/support/tls_pthread.c +1 -1
  161. data/src/core/support/wrap_memcpy.c +53 -0
  162. data/src/core/surface/alarm.c +83 -0
  163. data/src/core/surface/byte_buffer_reader.c +1 -1
  164. data/src/core/surface/call.c +78 -69
  165. data/src/core/surface/call.h +2 -2
  166. data/src/core/surface/call_test_only.h +2 -2
  167. data/src/core/surface/channel.c +9 -9
  168. data/src/core/surface/channel.h +1 -1
  169. data/src/core/surface/channel_connectivity.c +3 -3
  170. data/src/core/surface/channel_create.c +3 -3
  171. data/src/core/surface/channel_ping.c +2 -2
  172. data/src/core/surface/completion_queue.c +11 -12
  173. data/src/core/surface/completion_queue.h +1 -1
  174. data/src/core/surface/init.c +7 -5
  175. data/src/core/surface/lame_client.c +3 -3
  176. data/src/core/surface/secure_channel_create.c +3 -3
  177. data/src/core/surface/server.c +28 -28
  178. data/src/core/surface/server_chttp2.c +8 -8
  179. data/src/core/surface/server_create.c +1 -4
  180. data/src/core/surface/validate_metadata.c +3 -3
  181. data/src/core/surface/version.c +2 -2
  182. data/src/core/transport/byte_stream.c +8 -6
  183. data/src/core/transport/byte_stream.h +6 -5
  184. data/src/core/transport/chttp2/bin_encoder.c +29 -29
  185. data/src/core/transport/chttp2/frame_data.c +29 -26
  186. data/src/core/transport/chttp2/frame_data.h +6 -6
  187. data/src/core/transport/chttp2/frame_goaway.c +30 -30
  188. data/src/core/transport/chttp2/frame_goaway.h +6 -6
  189. data/src/core/transport/chttp2/frame_ping.c +6 -6
  190. data/src/core/transport/chttp2/frame_ping.h +5 -5
  191. data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
  192. data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
  193. data/src/core/transport/chttp2/frame_settings.c +30 -30
  194. data/src/core/transport/chttp2/frame_settings.h +13 -13
  195. data/src/core/transport/chttp2/frame_window_update.c +17 -18
  196. data/src/core/transport/chttp2/frame_window_update.h +5 -7
  197. data/src/core/transport/chttp2/hpack_encoder.c +69 -73
  198. data/src/core/transport/chttp2/hpack_encoder.h +16 -16
  199. data/src/core/transport/chttp2/hpack_parser.c +167 -167
  200. data/src/core/transport/chttp2/hpack_parser.h +16 -16
  201. data/src/core/transport/chttp2/hpack_table.c +13 -13
  202. data/src/core/transport/chttp2/hpack_table.h +11 -11
  203. data/src/core/transport/chttp2/internal.h +97 -86
  204. data/src/core/transport/chttp2/parsing.c +25 -25
  205. data/src/core/transport/chttp2/stream_lists.c +26 -3
  206. data/src/core/transport/chttp2/stream_map.c +13 -14
  207. data/src/core/transport/chttp2/stream_map.h +6 -7
  208. data/src/core/transport/chttp2/timeout_encoding.c +19 -16
  209. data/src/core/transport/chttp2/varint.c +8 -9
  210. data/src/core/transport/chttp2/varint.h +7 -8
  211. data/src/core/transport/chttp2/writing.c +26 -23
  212. data/src/core/transport/chttp2_transport.c +133 -92
  213. data/src/core/transport/connectivity_state.c +6 -6
  214. data/src/core/transport/metadata.c +18 -18
  215. data/src/core/transport/metadata.h +5 -5
  216. data/src/core/transport/static_metadata.c +15 -16
  217. data/src/core/transport/static_metadata.h +5 -5
  218. data/src/core/transport/transport.c +5 -5
  219. data/src/core/transport/transport.h +14 -1
  220. data/src/core/tsi/fake_transport_security.c +7 -7
  221. data/src/core/tsi/ssl_transport_security.c +6 -4
  222. data/src/core/tsi/ssl_types.h +55 -0
  223. data/src/ruby/ext/grpc/extconf.rb +51 -14
  224. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
  225. data/src/ruby/ext/grpc/rb_call.c +6 -3
  226. data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
  227. data/src/ruby/ext/grpc/rb_channel.c +4 -2
  228. data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
  229. data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
  230. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
  231. data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
  232. data/src/ruby/ext/grpc/rb_grpc.c +11 -3
  233. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +560 -0
  234. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +843 -0
  235. data/src/ruby/ext/grpc/rb_loader.c +72 -0
  236. data/src/ruby/ext/grpc/rb_loader.h +40 -0
  237. data/src/ruby/ext/grpc/rb_server.c +3 -1
  238. data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
  239. data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
  240. data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
  241. data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
  242. data/src/ruby/lib/grpc/grpc.rb +34 -0
  243. data/src/ruby/lib/grpc/version.rb +1 -1
  244. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  245. data/third_party/boringssl/crypto/aes/aes.c +1142 -0
  246. data/third_party/boringssl/crypto/aes/internal.h +87 -0
  247. data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
  248. data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
  249. data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
  250. data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
  251. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
  252. data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
  253. data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
  254. data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
  255. data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
  256. data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
  257. data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
  258. data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
  259. data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
  260. data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
  261. data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
  262. data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
  263. data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
  264. data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
  265. data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
  266. data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
  267. data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
  268. data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
  269. data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
  270. data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
  271. data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
  272. data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
  273. data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
  274. data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
  275. data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
  276. data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
  277. data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
  278. data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
  279. data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
  280. data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
  281. data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
  282. data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
  283. data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
  284. data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
  285. data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
  286. data/third_party/boringssl/crypto/base64/base64.c +478 -0
  287. data/third_party/boringssl/crypto/bio/bio.c +608 -0
  288. data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
  289. data/third_party/boringssl/crypto/bio/buffer.c +496 -0
  290. data/third_party/boringssl/crypto/bio/connect.c +544 -0
  291. data/third_party/boringssl/crypto/bio/fd.c +270 -0
  292. data/third_party/boringssl/crypto/bio/file.c +349 -0
  293. data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
  294. data/third_party/boringssl/crypto/bio/internal.h +108 -0
  295. data/third_party/boringssl/crypto/bio/pair.c +803 -0
  296. data/third_party/boringssl/crypto/bio/printf.c +119 -0
  297. data/third_party/boringssl/crypto/bio/socket.c +195 -0
  298. data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
  299. data/third_party/boringssl/crypto/bn/add.c +377 -0
  300. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
  301. data/third_party/boringssl/crypto/bn/bn.c +341 -0
  302. data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
  303. data/third_party/boringssl/crypto/bn/cmp.c +200 -0
  304. data/third_party/boringssl/crypto/bn/convert.c +597 -0
  305. data/third_party/boringssl/crypto/bn/ctx.c +311 -0
  306. data/third_party/boringssl/crypto/bn/div.c +625 -0
  307. data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
  308. data/third_party/boringssl/crypto/bn/gcd.c +711 -0
  309. data/third_party/boringssl/crypto/bn/generic.c +1019 -0
  310. data/third_party/boringssl/crypto/bn/internal.h +294 -0
  311. data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
  312. data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
  313. data/third_party/boringssl/crypto/bn/mul.c +888 -0
  314. data/third_party/boringssl/crypto/bn/prime.c +845 -0
  315. data/third_party/boringssl/crypto/bn/random.c +326 -0
  316. data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
  317. data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
  318. data/third_party/boringssl/crypto/bn/shift.c +299 -0
  319. data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
  320. data/third_party/boringssl/crypto/buf/buf.c +235 -0
  321. data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
  322. data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
  323. data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
  324. data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
  325. data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
  326. data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
  327. data/third_party/boringssl/crypto/cipher/aead.c +167 -0
  328. data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
  329. data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
  330. data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
  331. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
  332. data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
  333. data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
  334. data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
  335. data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
  336. data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
  337. data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
  338. data/third_party/boringssl/crypto/cipher/internal.h +164 -0
  339. data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
  340. data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
  341. data/third_party/boringssl/crypto/conf/conf.c +778 -0
  342. data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
  343. data/third_party/boringssl/crypto/conf/internal.h +31 -0
  344. data/third_party/boringssl/crypto/cpu-arm.c +199 -0
  345. data/third_party/boringssl/crypto/cpu-intel.c +261 -0
  346. data/third_party/boringssl/crypto/crypto.c +140 -0
  347. data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
  348. data/third_party/boringssl/crypto/des/des.c +771 -0
  349. data/third_party/boringssl/crypto/des/internal.h +212 -0
  350. data/third_party/boringssl/crypto/dh/check.c +180 -0
  351. data/third_party/boringssl/crypto/dh/dh.c +463 -0
  352. data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
  353. data/third_party/boringssl/crypto/dh/internal.h +80 -0
  354. data/third_party/boringssl/crypto/dh/params.c +301 -0
  355. data/third_party/boringssl/crypto/digest/digest.c +248 -0
  356. data/third_party/boringssl/crypto/digest/digests.c +321 -0
  357. data/third_party/boringssl/crypto/digest/internal.h +112 -0
  358. data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
  359. data/third_party/boringssl/crypto/directory.h +66 -0
  360. data/third_party/boringssl/crypto/directory_posix.c +108 -0
  361. data/third_party/boringssl/crypto/directory_win.c +144 -0
  362. data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
  363. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
  364. data/third_party/boringssl/crypto/dsa/internal.h +78 -0
  365. data/third_party/boringssl/crypto/ec/ec.c +889 -0
  366. data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
  367. data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
  368. data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
  369. data/third_party/boringssl/crypto/ec/internal.h +318 -0
  370. data/third_party/boringssl/crypto/ec/oct.c +416 -0
  371. data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
  372. data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
  373. data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
  374. data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
  375. data/third_party/boringssl/crypto/ec/simple.c +1313 -0
  376. data/third_party/boringssl/crypto/ec/util-64.c +183 -0
  377. data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
  378. data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
  379. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
  380. data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
  381. data/third_party/boringssl/crypto/engine/engine.c +96 -0
  382. data/third_party/boringssl/crypto/err/err.c +756 -0
  383. data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
  384. data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
  385. data/third_party/boringssl/crypto/evp/evp.c +411 -0
  386. data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
  387. data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
  388. data/third_party/boringssl/crypto/evp/internal.h +278 -0
  389. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
  390. data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
  391. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
  392. data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
  393. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
  394. data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
  395. data/third_party/boringssl/crypto/evp/sign.c +151 -0
  396. data/third_party/boringssl/crypto/ex_data.c +294 -0
  397. data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
  398. data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
  399. data/third_party/boringssl/crypto/internal.h +532 -0
  400. data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
  401. data/third_party/boringssl/crypto/md4/md4.c +225 -0
  402. data/third_party/boringssl/crypto/md5/md5.c +275 -0
  403. data/third_party/boringssl/crypto/mem.c +200 -0
  404. data/third_party/boringssl/crypto/modes/cbc.c +216 -0
  405. data/third_party/boringssl/crypto/modes/cfb.c +231 -0
  406. data/third_party/boringssl/crypto/modes/ctr.c +226 -0
  407. data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
  408. data/third_party/boringssl/crypto/modes/internal.h +370 -0
  409. data/third_party/boringssl/crypto/modes/ofb.c +108 -0
  410. data/third_party/boringssl/crypto/obj/obj.c +664 -0
  411. data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
  412. data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
  413. data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
  414. data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
  415. data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
  416. data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
  417. data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
  418. data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
  419. data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
  420. data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
  421. data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
  422. data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
  423. data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
  424. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
  425. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
  426. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
  427. data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
  428. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
  429. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
  430. data/third_party/boringssl/crypto/rand/internal.h +32 -0
  431. data/third_party/boringssl/crypto/rand/rand.c +239 -0
  432. data/third_party/boringssl/crypto/rand/urandom.c +223 -0
  433. data/third_party/boringssl/crypto/rand/windows.c +56 -0
  434. data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
  435. data/third_party/boringssl/crypto/refcount_c11.c +67 -0
  436. data/third_party/boringssl/crypto/refcount_lock.c +53 -0
  437. data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
  438. data/third_party/boringssl/crypto/rsa/internal.h +164 -0
  439. data/third_party/boringssl/crypto/rsa/padding.c +711 -0
  440. data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
  441. data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
  442. data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
  443. data/third_party/boringssl/crypto/sha/sha1.c +337 -0
  444. data/third_party/boringssl/crypto/sha/sha256.c +327 -0
  445. data/third_party/boringssl/crypto/sha/sha512.c +607 -0
  446. data/third_party/boringssl/crypto/stack/stack.c +386 -0
  447. data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
  448. data/third_party/boringssl/crypto/test/test_util.h +35 -0
  449. data/third_party/boringssl/crypto/thread.c +101 -0
  450. data/third_party/boringssl/crypto/thread_none.c +55 -0
  451. data/third_party/boringssl/crypto/thread_pthread.c +167 -0
  452. data/third_party/boringssl/crypto/thread_win.c +282 -0
  453. data/third_party/boringssl/crypto/time_support.c +212 -0
  454. data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
  455. data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
  456. data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
  457. data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
  458. data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
  459. data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
  460. data/third_party/boringssl/crypto/x509/by_file.c +295 -0
  461. data/third_party/boringssl/crypto/x509/charmap.h +15 -0
  462. data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
  463. data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
  464. data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
  465. data/third_party/boringssl/crypto/x509/t_req.c +246 -0
  466. data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
  467. data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
  468. data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
  469. data/third_party/boringssl/crypto/x509/x509.c +152 -0
  470. data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
  471. data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
  472. data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
  473. data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
  474. data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
  475. data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
  476. data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
  477. data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
  478. data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
  479. data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
  480. data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
  481. data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
  482. data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
  483. data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
  484. data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
  485. data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
  486. data/third_party/boringssl/crypto/x509/x509name.c +381 -0
  487. data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
  488. data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
  489. data/third_party/boringssl/crypto/x509/x509type.c +128 -0
  490. data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
  491. data/third_party/boringssl/crypto/x509/x_all.c +547 -0
  492. data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
  493. data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
  494. data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
  495. data/third_party/boringssl/crypto/x509/x_info.c +95 -0
  496. data/third_party/boringssl/crypto/x509/x_name.c +538 -0
  497. data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
  498. data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
  499. data/third_party/boringssl/crypto/x509/x_req.c +112 -0
  500. data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
  501. data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
  502. data/third_party/boringssl/crypto/x509/x_val.c +69 -0
  503. data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
  504. data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
  505. data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
  506. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
  507. data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
  508. data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
  509. data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
  510. data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
  511. data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
  512. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
  513. data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
  514. data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
  515. data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
  516. data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
  517. data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
  518. data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
  519. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
  520. data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
  521. data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
  522. data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
  523. data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
  524. data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
  525. data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
  526. data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
  527. data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
  528. data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
  529. data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
  530. data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
  531. data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
  532. data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
  533. data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
  534. data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
  535. data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
  536. data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
  537. data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
  538. data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
  539. data/third_party/boringssl/include/openssl/aead.h +346 -0
  540. data/third_party/boringssl/include/openssl/aes.h +158 -0
  541. data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
  542. data/third_party/boringssl/include/openssl/asn1.h +1168 -0
  543. data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
  544. data/third_party/boringssl/include/openssl/asn1t.h +906 -0
  545. data/third_party/boringssl/include/openssl/base.h +261 -0
  546. data/third_party/boringssl/include/openssl/base64.h +184 -0
  547. data/third_party/boringssl/include/openssl/bio.h +902 -0
  548. data/third_party/boringssl/include/openssl/blowfish.h +93 -0
  549. data/third_party/boringssl/include/openssl/bn.h +885 -0
  550. data/third_party/boringssl/include/openssl/buf.h +118 -0
  551. data/third_party/boringssl/include/openssl/buffer.h +18 -0
  552. data/third_party/boringssl/include/openssl/bytestring.h +360 -0
  553. data/third_party/boringssl/include/openssl/cast.h +96 -0
  554. data/third_party/boringssl/include/openssl/chacha.h +37 -0
  555. data/third_party/boringssl/include/openssl/cipher.h +571 -0
  556. data/third_party/boringssl/include/openssl/cmac.h +76 -0
  557. data/third_party/boringssl/include/openssl/conf.h +145 -0
  558. data/third_party/boringssl/include/openssl/cpu.h +184 -0
  559. data/third_party/boringssl/include/openssl/crypto.h +68 -0
  560. data/third_party/boringssl/include/openssl/curve25519.h +88 -0
  561. data/third_party/boringssl/include/openssl/des.h +177 -0
  562. data/third_party/boringssl/include/openssl/dh.h +238 -0
  563. data/third_party/boringssl/include/openssl/digest.h +258 -0
  564. data/third_party/boringssl/include/openssl/dsa.h +343 -0
  565. data/third_party/boringssl/include/openssl/dtls1.h +16 -0
  566. data/third_party/boringssl/include/openssl/ec.h +355 -0
  567. data/third_party/boringssl/include/openssl/ec_key.h +280 -0
  568. data/third_party/boringssl/include/openssl/ecdh.h +102 -0
  569. data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
  570. data/third_party/boringssl/include/openssl/engine.h +98 -0
  571. data/third_party/boringssl/include/openssl/err.h +487 -0
  572. data/third_party/boringssl/include/openssl/evp.h +750 -0
  573. data/third_party/boringssl/include/openssl/ex_data.h +213 -0
  574. data/third_party/boringssl/include/openssl/hkdf.h +44 -0
  575. data/third_party/boringssl/include/openssl/hmac.h +160 -0
  576. data/third_party/boringssl/include/openssl/lhash.h +192 -0
  577. data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
  578. data/third_party/boringssl/include/openssl/md4.h +102 -0
  579. data/third_party/boringssl/include/openssl/md5.h +107 -0
  580. data/third_party/boringssl/include/openssl/mem.h +140 -0
  581. data/third_party/boringssl/include/openssl/obj.h +198 -0
  582. data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
  583. data/third_party/boringssl/include/openssl/objects.h +18 -0
  584. data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
  585. data/third_party/boringssl/include/openssl/opensslv.h +18 -0
  586. data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  587. data/third_party/boringssl/include/openssl/pem.h +521 -0
  588. data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  589. data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
  590. data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
  591. data/third_party/boringssl/include/openssl/poly1305.h +51 -0
  592. data/third_party/boringssl/include/openssl/pqueue.h +146 -0
  593. data/third_party/boringssl/include/openssl/rand.h +113 -0
  594. data/third_party/boringssl/include/openssl/rc4.h +90 -0
  595. data/third_party/boringssl/include/openssl/rsa.h +637 -0
  596. data/third_party/boringssl/include/openssl/safestack.h +16 -0
  597. data/third_party/boringssl/include/openssl/sha.h +256 -0
  598. data/third_party/boringssl/include/openssl/srtp.h +18 -0
  599. data/third_party/boringssl/include/openssl/ssl.h +4466 -0
  600. data/third_party/boringssl/include/openssl/ssl3.h +441 -0
  601. data/third_party/boringssl/include/openssl/stack.h +298 -0
  602. data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
  603. data/third_party/boringssl/include/openssl/thread.h +173 -0
  604. data/third_party/boringssl/include/openssl/time_support.h +90 -0
  605. data/third_party/boringssl/include/openssl/tls1.h +653 -0
  606. data/third_party/boringssl/include/openssl/type_check.h +91 -0
  607. data/third_party/boringssl/include/openssl/x509.h +1258 -0
  608. data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
  609. data/third_party/boringssl/include/openssl/x509v3.h +798 -0
  610. data/third_party/boringssl/ssl/custom_extensions.c +257 -0
  611. data/third_party/boringssl/ssl/d1_both.c +880 -0
  612. data/third_party/boringssl/ssl/d1_clnt.c +566 -0
  613. data/third_party/boringssl/ssl/d1_lib.c +340 -0
  614. data/third_party/boringssl/ssl/d1_meth.c +130 -0
  615. data/third_party/boringssl/ssl/d1_pkt.c +578 -0
  616. data/third_party/boringssl/ssl/d1_srtp.c +234 -0
  617. data/third_party/boringssl/ssl/d1_srvr.c +485 -0
  618. data/third_party/boringssl/ssl/dtls_record.c +308 -0
  619. data/third_party/boringssl/ssl/internal.h +1276 -0
  620. data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
  621. data/third_party/boringssl/ssl/s3_both.c +571 -0
  622. data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
  623. data/third_party/boringssl/ssl/s3_enc.c +494 -0
  624. data/third_party/boringssl/ssl/s3_lib.c +587 -0
  625. data/third_party/boringssl/ssl/s3_meth.c +166 -0
  626. data/third_party/boringssl/ssl/s3_pkt.c +732 -0
  627. data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
  628. data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
  629. data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
  630. data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
  631. data/third_party/boringssl/ssl/ssl_cert.c +539 -0
  632. data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
  633. data/third_party/boringssl/ssl/ssl_file.c +633 -0
  634. data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
  635. data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
  636. data/third_party/boringssl/ssl/ssl_session.c +764 -0
  637. data/third_party/boringssl/ssl/ssl_stat.c +591 -0
  638. data/third_party/boringssl/ssl/t1_enc.c +708 -0
  639. data/third_party/boringssl/ssl/t1_lib.c +2905 -0
  640. data/third_party/boringssl/ssl/test/async_bio.h +45 -0
  641. data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
  642. data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
  643. data/third_party/boringssl/ssl/test/test_config.h +108 -0
  644. data/third_party/boringssl/ssl/tls_record.c +342 -0
  645. data/third_party/zlib/adler32.c +179 -0
  646. data/third_party/zlib/compress.c +80 -0
  647. data/third_party/zlib/crc32.c +425 -0
  648. data/third_party/zlib/crc32.h +441 -0
  649. data/third_party/zlib/deflate.c +1967 -0
  650. data/third_party/zlib/deflate.h +346 -0
  651. data/third_party/zlib/gzclose.c +25 -0
  652. data/third_party/zlib/gzguts.h +209 -0
  653. data/third_party/zlib/gzlib.c +634 -0
  654. data/third_party/zlib/gzread.c +594 -0
  655. data/third_party/zlib/gzwrite.c +577 -0
  656. data/third_party/zlib/infback.c +640 -0
  657. data/third_party/zlib/inffast.c +340 -0
  658. data/third_party/zlib/inffast.h +11 -0
  659. data/third_party/zlib/inffixed.h +94 -0
  660. data/third_party/zlib/inflate.c +1512 -0
  661. data/third_party/zlib/inflate.h +122 -0
  662. data/third_party/zlib/inftrees.c +306 -0
  663. data/third_party/zlib/inftrees.h +62 -0
  664. data/third_party/zlib/trees.c +1226 -0
  665. data/third_party/zlib/trees.h +128 -0
  666. data/third_party/zlib/uncompr.c +59 -0
  667. data/third_party/zlib/zconf.h +511 -0
  668. data/third_party/zlib/zlib.h +1768 -0
  669. data/third_party/zlib/zutil.c +324 -0
  670. data/third_party/zlib/zutil.h +253 -0
  671. metadata +492 -25
  672. data/Rakefile +0 -63
  673. data/src/ruby/lib/grpc/grpc.so +0 -0
@@ -0,0 +1,798 @@
1
+ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
2
+ * project 1999. */
3
+ /* ====================================================================
4
+ * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions
8
+ * are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ *
13
+ * 2. Redistributions in binary form must reproduce the above copyright
14
+ * notice, this list of conditions and the following disclaimer in
15
+ * the documentation and/or other materials provided with the
16
+ * distribution.
17
+ *
18
+ * 3. All advertising materials mentioning features or use of this
19
+ * software must display the following acknowledgment:
20
+ * "This product includes software developed by the OpenSSL Project
21
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
22
+ *
23
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
24
+ * endorse or promote products derived from this software without
25
+ * prior written permission. For written permission, please contact
26
+ * licensing@OpenSSL.org.
27
+ *
28
+ * 5. Products derived from this software may not be called "OpenSSL"
29
+ * nor may "OpenSSL" appear in their names without prior written
30
+ * permission of the OpenSSL Project.
31
+ *
32
+ * 6. Redistributions of any form whatsoever must retain the following
33
+ * acknowledgment:
34
+ * "This product includes software developed by the OpenSSL Project
35
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
36
+ *
37
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
38
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
39
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
40
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
41
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
43
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
44
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
45
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
46
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
47
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
48
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
49
+ * ====================================================================
50
+ *
51
+ * This product includes cryptographic software written by Eric Young
52
+ * (eay@cryptsoft.com). This product includes software written by Tim
53
+ * Hudson (tjh@cryptsoft.com). */
54
+
55
+ #ifndef HEADER_X509V3_H
56
+ #define HEADER_X509V3_H
57
+
58
+ #include <openssl/bio.h>
59
+ #include <openssl/conf.h>
60
+ #include <openssl/x509.h>
61
+
62
+ #ifdef __cplusplus
63
+ extern "C" {
64
+ #endif
65
+
66
+ /* Forward reference */
67
+ struct v3_ext_method;
68
+ struct v3_ext_ctx;
69
+
70
+ /* Useful typedefs */
71
+
72
+ typedef void * (*X509V3_EXT_NEW)(void);
73
+ typedef void (*X509V3_EXT_FREE)(void *);
74
+ typedef void * (*X509V3_EXT_D2I)(void *, const unsigned char ** , long);
75
+ typedef int (*X509V3_EXT_I2D)(void *, unsigned char **);
76
+ typedef STACK_OF(CONF_VALUE) *
77
+ (*X509V3_EXT_I2V)(const struct v3_ext_method *method, void *ext,
78
+ STACK_OF(CONF_VALUE) *extlist);
79
+ typedef void * (*X509V3_EXT_V2I)(const struct v3_ext_method *method,
80
+ struct v3_ext_ctx *ctx,
81
+ STACK_OF(CONF_VALUE) *values);
82
+ typedef char * (*X509V3_EXT_I2S)(const struct v3_ext_method *method, void *ext);
83
+ typedef void * (*X509V3_EXT_S2I)(const struct v3_ext_method *method,
84
+ struct v3_ext_ctx *ctx, const char *str);
85
+ typedef int (*X509V3_EXT_I2R)(const struct v3_ext_method *method, void *ext,
86
+ BIO *out, int indent);
87
+ typedef void * (*X509V3_EXT_R2I)(const struct v3_ext_method *method,
88
+ struct v3_ext_ctx *ctx, const char *str);
89
+
90
+ /* V3 extension structure */
91
+
92
+ struct v3_ext_method {
93
+ int ext_nid;
94
+ int ext_flags;
95
+ /* If this is set the following four fields are ignored */
96
+ ASN1_ITEM_EXP *it;
97
+ /* Old style ASN1 calls */
98
+ X509V3_EXT_NEW ext_new;
99
+ X509V3_EXT_FREE ext_free;
100
+ X509V3_EXT_D2I d2i;
101
+ X509V3_EXT_I2D i2d;
102
+
103
+ /* The following pair is used for string extensions */
104
+ X509V3_EXT_I2S i2s;
105
+ X509V3_EXT_S2I s2i;
106
+
107
+ /* The following pair is used for multi-valued extensions */
108
+ X509V3_EXT_I2V i2v;
109
+ X509V3_EXT_V2I v2i;
110
+
111
+ /* The following are used for raw extensions */
112
+ X509V3_EXT_I2R i2r;
113
+ X509V3_EXT_R2I r2i;
114
+
115
+ void *usr_data; /* Any extension specific data */
116
+ };
117
+
118
+ typedef struct X509V3_CONF_METHOD_st {
119
+ char * (*get_string)(void *db, char *section, char *value);
120
+ STACK_OF(CONF_VALUE) * (*get_section)(void *db, char *section);
121
+ void (*free_string)(void *db, char * string);
122
+ void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section);
123
+ } X509V3_CONF_METHOD;
124
+
125
+ /* Context specific info */
126
+ struct v3_ext_ctx {
127
+ #define CTX_TEST 0x1
128
+ int flags;
129
+ X509 *issuer_cert;
130
+ X509 *subject_cert;
131
+ X509_REQ *subject_req;
132
+ X509_CRL *crl;
133
+ const X509V3_CONF_METHOD *db_meth;
134
+ void *db;
135
+ /* Maybe more here */
136
+ };
137
+
138
+ typedef struct v3_ext_method X509V3_EXT_METHOD;
139
+
140
+ DECLARE_STACK_OF(X509V3_EXT_METHOD)
141
+
142
+ /* ext_flags values */
143
+ #define X509V3_EXT_DYNAMIC 0x1
144
+ #define X509V3_EXT_CTX_DEP 0x2
145
+ #define X509V3_EXT_MULTILINE 0x4
146
+
147
+ typedef BIT_STRING_BITNAME ENUMERATED_NAMES;
148
+
149
+ typedef struct BASIC_CONSTRAINTS_st {
150
+ int ca;
151
+ ASN1_INTEGER *pathlen;
152
+ } BASIC_CONSTRAINTS;
153
+
154
+
155
+ typedef struct PKEY_USAGE_PERIOD_st {
156
+ ASN1_GENERALIZEDTIME *notBefore;
157
+ ASN1_GENERALIZEDTIME *notAfter;
158
+ } PKEY_USAGE_PERIOD;
159
+
160
+ typedef struct otherName_st {
161
+ ASN1_OBJECT *type_id;
162
+ ASN1_TYPE *value;
163
+ } OTHERNAME;
164
+
165
+ typedef struct EDIPartyName_st {
166
+ ASN1_STRING *nameAssigner;
167
+ ASN1_STRING *partyName;
168
+ } EDIPARTYNAME;
169
+
170
+ typedef struct GENERAL_NAME_st {
171
+
172
+ #define GEN_OTHERNAME 0
173
+ #define GEN_EMAIL 1
174
+ #define GEN_DNS 2
175
+ #define GEN_X400 3
176
+ #define GEN_DIRNAME 4
177
+ #define GEN_EDIPARTY 5
178
+ #define GEN_URI 6
179
+ #define GEN_IPADD 7
180
+ #define GEN_RID 8
181
+
182
+ int type;
183
+ union {
184
+ char *ptr;
185
+ OTHERNAME *otherName; /* otherName */
186
+ ASN1_IA5STRING *rfc822Name;
187
+ ASN1_IA5STRING *dNSName;
188
+ ASN1_TYPE *x400Address;
189
+ X509_NAME *directoryName;
190
+ EDIPARTYNAME *ediPartyName;
191
+ ASN1_IA5STRING *uniformResourceIdentifier;
192
+ ASN1_OCTET_STRING *iPAddress;
193
+ ASN1_OBJECT *registeredID;
194
+
195
+ /* Old names */
196
+ ASN1_OCTET_STRING *ip; /* iPAddress */
197
+ X509_NAME *dirn; /* dirn */
198
+ ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */
199
+ ASN1_OBJECT *rid; /* registeredID */
200
+ ASN1_TYPE *other; /* x400Address */
201
+ } d;
202
+ } GENERAL_NAME;
203
+
204
+ typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES;
205
+
206
+ typedef struct ACCESS_DESCRIPTION_st {
207
+ ASN1_OBJECT *method;
208
+ GENERAL_NAME *location;
209
+ } ACCESS_DESCRIPTION;
210
+
211
+ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
212
+
213
+ typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE;
214
+
215
+ DECLARE_STACK_OF(GENERAL_NAME)
216
+ DECLARE_ASN1_SET_OF(GENERAL_NAME)
217
+
218
+ DECLARE_STACK_OF(ACCESS_DESCRIPTION)
219
+ DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION)
220
+
221
+ typedef struct DIST_POINT_NAME_st {
222
+ int type;
223
+ union {
224
+ GENERAL_NAMES *fullname;
225
+ STACK_OF(X509_NAME_ENTRY) *relativename;
226
+ } name;
227
+ /* If relativename then this contains the full distribution point name */
228
+ X509_NAME *dpname;
229
+ } DIST_POINT_NAME;
230
+ /* All existing reasons */
231
+ #define CRLDP_ALL_REASONS 0x807f
232
+
233
+ #define CRL_REASON_NONE -1
234
+ #define CRL_REASON_UNSPECIFIED 0
235
+ #define CRL_REASON_KEY_COMPROMISE 1
236
+ #define CRL_REASON_CA_COMPROMISE 2
237
+ #define CRL_REASON_AFFILIATION_CHANGED 3
238
+ #define CRL_REASON_SUPERSEDED 4
239
+ #define CRL_REASON_CESSATION_OF_OPERATION 5
240
+ #define CRL_REASON_CERTIFICATE_HOLD 6
241
+ #define CRL_REASON_REMOVE_FROM_CRL 8
242
+ #define CRL_REASON_PRIVILEGE_WITHDRAWN 9
243
+ #define CRL_REASON_AA_COMPROMISE 10
244
+
245
+ struct DIST_POINT_st {
246
+ DIST_POINT_NAME *distpoint;
247
+ ASN1_BIT_STRING *reasons;
248
+ GENERAL_NAMES *CRLissuer;
249
+ int dp_reasons;
250
+ };
251
+
252
+ typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
253
+
254
+ DECLARE_STACK_OF(DIST_POINT)
255
+ DECLARE_ASN1_SET_OF(DIST_POINT)
256
+
257
+ struct AUTHORITY_KEYID_st {
258
+ ASN1_OCTET_STRING *keyid;
259
+ GENERAL_NAMES *issuer;
260
+ ASN1_INTEGER *serial;
261
+ };
262
+
263
+ /* Strong extranet structures */
264
+
265
+ typedef struct SXNET_ID_st {
266
+ ASN1_INTEGER *zone;
267
+ ASN1_OCTET_STRING *user;
268
+ } SXNETID;
269
+
270
+ DECLARE_STACK_OF(SXNETID)
271
+ DECLARE_ASN1_SET_OF(SXNETID)
272
+
273
+ typedef struct SXNET_st {
274
+ ASN1_INTEGER *version;
275
+ STACK_OF(SXNETID) *ids;
276
+ } SXNET;
277
+
278
+ typedef struct NOTICEREF_st {
279
+ ASN1_STRING *organization;
280
+ STACK_OF(ASN1_INTEGER) *noticenos;
281
+ } NOTICEREF;
282
+
283
+ typedef struct USERNOTICE_st {
284
+ NOTICEREF *noticeref;
285
+ ASN1_STRING *exptext;
286
+ } USERNOTICE;
287
+
288
+ typedef struct POLICYQUALINFO_st {
289
+ ASN1_OBJECT *pqualid;
290
+ union {
291
+ ASN1_IA5STRING *cpsuri;
292
+ USERNOTICE *usernotice;
293
+ ASN1_TYPE *other;
294
+ } d;
295
+ } POLICYQUALINFO;
296
+
297
+ DECLARE_STACK_OF(POLICYQUALINFO)
298
+ DECLARE_ASN1_SET_OF(POLICYQUALINFO)
299
+
300
+ typedef struct POLICYINFO_st {
301
+ ASN1_OBJECT *policyid;
302
+ STACK_OF(POLICYQUALINFO) *qualifiers;
303
+ } POLICYINFO;
304
+
305
+ typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES;
306
+
307
+ DECLARE_STACK_OF(POLICYINFO)
308
+ DECLARE_ASN1_SET_OF(POLICYINFO)
309
+
310
+ typedef struct POLICY_MAPPING_st {
311
+ ASN1_OBJECT *issuerDomainPolicy;
312
+ ASN1_OBJECT *subjectDomainPolicy;
313
+ } POLICY_MAPPING;
314
+
315
+ DECLARE_STACK_OF(POLICY_MAPPING)
316
+
317
+ typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS;
318
+
319
+ typedef struct GENERAL_SUBTREE_st {
320
+ GENERAL_NAME *base;
321
+ ASN1_INTEGER *minimum;
322
+ ASN1_INTEGER *maximum;
323
+ } GENERAL_SUBTREE;
324
+
325
+ DECLARE_STACK_OF(GENERAL_SUBTREE)
326
+
327
+ struct NAME_CONSTRAINTS_st {
328
+ STACK_OF(GENERAL_SUBTREE) *permittedSubtrees;
329
+ STACK_OF(GENERAL_SUBTREE) *excludedSubtrees;
330
+ };
331
+
332
+ typedef struct POLICY_CONSTRAINTS_st {
333
+ ASN1_INTEGER *requireExplicitPolicy;
334
+ ASN1_INTEGER *inhibitPolicyMapping;
335
+ } POLICY_CONSTRAINTS;
336
+
337
+ /* Proxy certificate structures, see RFC 3820 */
338
+ typedef struct PROXY_POLICY_st
339
+ {
340
+ ASN1_OBJECT *policyLanguage;
341
+ ASN1_OCTET_STRING *policy;
342
+ } PROXY_POLICY;
343
+
344
+ typedef struct PROXY_CERT_INFO_EXTENSION_st
345
+ {
346
+ ASN1_INTEGER *pcPathLengthConstraint;
347
+ PROXY_POLICY *proxyPolicy;
348
+ } PROXY_CERT_INFO_EXTENSION;
349
+
350
+ DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)
351
+ DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)
352
+
353
+ struct ISSUING_DIST_POINT_st
354
+ {
355
+ DIST_POINT_NAME *distpoint;
356
+ int onlyuser;
357
+ int onlyCA;
358
+ ASN1_BIT_STRING *onlysomereasons;
359
+ int indirectCRL;
360
+ int onlyattr;
361
+ };
362
+
363
+ /* Values in idp_flags field */
364
+ /* IDP present */
365
+ #define IDP_PRESENT 0x1
366
+ /* IDP values inconsistent */
367
+ #define IDP_INVALID 0x2
368
+ /* onlyuser true */
369
+ #define IDP_ONLYUSER 0x4
370
+ /* onlyCA true */
371
+ #define IDP_ONLYCA 0x8
372
+ /* onlyattr true */
373
+ #define IDP_ONLYATTR 0x10
374
+ /* indirectCRL true */
375
+ #define IDP_INDIRECT 0x20
376
+ /* onlysomereasons present */
377
+ #define IDP_REASONS 0x40
378
+
379
+ #define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \
380
+ ",name:", val->name, ",value:", val->value);
381
+
382
+ #define X509V3_set_ctx_test(ctx) \
383
+ X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST)
384
+ #define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL;
385
+
386
+ #define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \
387
+ 0,0,0,0, \
388
+ 0,0, \
389
+ (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \
390
+ (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \
391
+ NULL, NULL, \
392
+ (void *)table}
393
+
394
+ #define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \
395
+ 0,0,0,0, \
396
+ (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \
397
+ (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \
398
+ 0,0,0,0, \
399
+ NULL}
400
+
401
+ #define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
402
+
403
+
404
+ /* X509_PURPOSE stuff */
405
+
406
+ #define EXFLAG_BCONS 0x1
407
+ #define EXFLAG_KUSAGE 0x2
408
+ #define EXFLAG_XKUSAGE 0x4
409
+ #define EXFLAG_NSCERT 0x8
410
+
411
+ #define EXFLAG_CA 0x10
412
+ /* Really self issued not necessarily self signed */
413
+ #define EXFLAG_SI 0x20
414
+ #define EXFLAG_V1 0x40
415
+ #define EXFLAG_INVALID 0x80
416
+ #define EXFLAG_SET 0x100
417
+ #define EXFLAG_CRITICAL 0x200
418
+ #define EXFLAG_PROXY 0x400
419
+
420
+ #define EXFLAG_INVALID_POLICY 0x800
421
+ #define EXFLAG_FRESHEST 0x1000
422
+ /* Self signed */
423
+ #define EXFLAG_SS 0x2000
424
+
425
+ #define KU_DIGITAL_SIGNATURE 0x0080
426
+ #define KU_NON_REPUDIATION 0x0040
427
+ #define KU_KEY_ENCIPHERMENT 0x0020
428
+ #define KU_DATA_ENCIPHERMENT 0x0010
429
+ #define KU_KEY_AGREEMENT 0x0008
430
+ #define KU_KEY_CERT_SIGN 0x0004
431
+ #define KU_CRL_SIGN 0x0002
432
+ #define KU_ENCIPHER_ONLY 0x0001
433
+ #define KU_DECIPHER_ONLY 0x8000
434
+
435
+ #define NS_SSL_CLIENT 0x80
436
+ #define NS_SSL_SERVER 0x40
437
+ #define NS_SMIME 0x20
438
+ #define NS_OBJSIGN 0x10
439
+ #define NS_SSL_CA 0x04
440
+ #define NS_SMIME_CA 0x02
441
+ #define NS_OBJSIGN_CA 0x01
442
+ #define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA)
443
+
444
+ #define XKU_SSL_SERVER 0x1
445
+ #define XKU_SSL_CLIENT 0x2
446
+ #define XKU_SMIME 0x4
447
+ #define XKU_CODE_SIGN 0x8
448
+ #define XKU_SGC 0x10
449
+ #define XKU_OCSP_SIGN 0x20
450
+ #define XKU_TIMESTAMP 0x40
451
+ #define XKU_DVCS 0x80
452
+ #define XKU_ANYEKU 0x100
453
+
454
+ #define X509_PURPOSE_DYNAMIC 0x1
455
+ #define X509_PURPOSE_DYNAMIC_NAME 0x2
456
+
457
+ typedef struct x509_purpose_st {
458
+ int purpose;
459
+ int trust; /* Default trust ID */
460
+ int flags;
461
+ int (*check_purpose)(const struct x509_purpose_st *,
462
+ const X509 *, int);
463
+ char *name;
464
+ char *sname;
465
+ void *usr_data;
466
+ } X509_PURPOSE;
467
+
468
+ #define X509_PURPOSE_SSL_CLIENT 1
469
+ #define X509_PURPOSE_SSL_SERVER 2
470
+ #define X509_PURPOSE_NS_SSL_SERVER 3
471
+ #define X509_PURPOSE_SMIME_SIGN 4
472
+ #define X509_PURPOSE_SMIME_ENCRYPT 5
473
+ #define X509_PURPOSE_CRL_SIGN 6
474
+ #define X509_PURPOSE_ANY 7
475
+ #define X509_PURPOSE_OCSP_HELPER 8
476
+ #define X509_PURPOSE_TIMESTAMP_SIGN 9
477
+
478
+ #define X509_PURPOSE_MIN 1
479
+ #define X509_PURPOSE_MAX 9
480
+
481
+ /* Flags for X509V3_EXT_print() */
482
+
483
+ #define X509V3_EXT_UNKNOWN_MASK (0xfL << 16)
484
+ /* Return error for unknown extensions */
485
+ #define X509V3_EXT_DEFAULT 0
486
+ /* Print error for unknown extensions */
487
+ #define X509V3_EXT_ERROR_UNKNOWN (1L << 16)
488
+ /* ASN1 parse unknown extensions */
489
+ #define X509V3_EXT_PARSE_UNKNOWN (2L << 16)
490
+ /* BIO_dump unknown extensions */
491
+ #define X509V3_EXT_DUMP_UNKNOWN (3L << 16)
492
+
493
+ /* Flags for X509V3_add1_i2d */
494
+
495
+ #define X509V3_ADD_OP_MASK 0xfL
496
+ #define X509V3_ADD_DEFAULT 0L
497
+ #define X509V3_ADD_APPEND 1L
498
+ #define X509V3_ADD_REPLACE 2L
499
+ #define X509V3_ADD_REPLACE_EXISTING 3L
500
+ #define X509V3_ADD_KEEP_EXISTING 4L
501
+ #define X509V3_ADD_DELETE 5L
502
+ #define X509V3_ADD_SILENT 0x10
503
+
504
+ DECLARE_STACK_OF(X509_PURPOSE)
505
+
506
+ DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
507
+
508
+ DECLARE_ASN1_FUNCTIONS(SXNET)
509
+ DECLARE_ASN1_FUNCTIONS(SXNETID)
510
+
511
+ int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen);
512
+ int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen);
513
+ int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, int userlen);
514
+
515
+ ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone);
516
+ ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone);
517
+ ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone);
518
+
519
+ DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID)
520
+
521
+ DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD)
522
+
523
+ DECLARE_ASN1_FUNCTIONS(GENERAL_NAME)
524
+ OPENSSL_EXPORT GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a);
525
+ OPENSSL_EXPORT int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b);
526
+
527
+
528
+
529
+ OPENSSL_EXPORT ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
530
+ X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
531
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method,
532
+ ASN1_BIT_STRING *bits,
533
+ STACK_OF(CONF_VALUE) *extlist);
534
+
535
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret);
536
+ OPENSSL_EXPORT int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen);
537
+
538
+ DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES)
539
+
540
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method,
541
+ GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist);
542
+ OPENSSL_EXPORT GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,
543
+ X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
544
+
545
+ DECLARE_ASN1_FUNCTIONS(OTHERNAME)
546
+ DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME)
547
+ OPENSSL_EXPORT int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b);
548
+ OPENSSL_EXPORT void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value);
549
+ OPENSSL_EXPORT void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype);
550
+ OPENSSL_EXPORT int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,
551
+ ASN1_OBJECT *oid, ASN1_TYPE *value);
552
+ OPENSSL_EXPORT int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen,
553
+ ASN1_OBJECT **poid, ASN1_TYPE **pvalue);
554
+
555
+ OPENSSL_EXPORT char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5);
556
+ OPENSSL_EXPORT ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str);
557
+
558
+ DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE)
559
+ OPENSSL_EXPORT int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a);
560
+
561
+ DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES)
562
+ DECLARE_ASN1_FUNCTIONS(POLICYINFO)
563
+ DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO)
564
+ DECLARE_ASN1_FUNCTIONS(USERNOTICE)
565
+ DECLARE_ASN1_FUNCTIONS(NOTICEREF)
566
+
567
+ DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS)
568
+ DECLARE_ASN1_FUNCTIONS(DIST_POINT)
569
+ DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME)
570
+ DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT)
571
+
572
+ OPENSSL_EXPORT int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname);
573
+
574
+ OPENSSL_EXPORT int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc);
575
+
576
+ DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION)
577
+ DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS)
578
+
579
+ DECLARE_ASN1_ITEM(POLICY_MAPPING)
580
+ DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING)
581
+ DECLARE_ASN1_ITEM(POLICY_MAPPINGS)
582
+
583
+ DECLARE_ASN1_ITEM(GENERAL_SUBTREE)
584
+ DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE)
585
+
586
+ DECLARE_ASN1_ITEM(NAME_CONSTRAINTS)
587
+ DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS)
588
+
589
+ DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
590
+ DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)
591
+
592
+ OPENSSL_EXPORT GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out,
593
+ const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
594
+ int gen_type, char *value, int is_nc);
595
+
596
+ OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
597
+ CONF_VALUE *cnf);
598
+ OPENSSL_EXPORT GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out,
599
+ const X509V3_EXT_METHOD *method,
600
+ X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc);
601
+ OPENSSL_EXPORT void X509V3_conf_free(CONF_VALUE *val);
602
+
603
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, char *value);
604
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value);
605
+ OPENSSL_EXPORT int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, STACK_OF(X509_EXTENSION) **sk);
606
+ OPENSSL_EXPORT int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509 *cert);
607
+ OPENSSL_EXPORT int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_REQ *req);
608
+ OPENSSL_EXPORT int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl);
609
+
610
+ OPENSSL_EXPORT int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx,
611
+ char *section, X509_CRL *crl);
612
+
613
+ OPENSSL_EXPORT int X509V3_add_value_bool_nf(char *name, int asn1_bool,
614
+ STACK_OF(CONF_VALUE) **extlist);
615
+ OPENSSL_EXPORT int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool);
616
+ OPENSSL_EXPORT int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint);
617
+ OPENSSL_EXPORT void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf);
618
+
619
+ OPENSSL_EXPORT char * X509V3_get_string(X509V3_CTX *ctx, char *name, char *section);
620
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) * X509V3_get_section(X509V3_CTX *ctx, char *section);
621
+ OPENSSL_EXPORT void X509V3_string_free(X509V3_CTX *ctx, char *str);
622
+ OPENSSL_EXPORT void X509V3_section_free( X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section);
623
+ OPENSSL_EXPORT void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject,
624
+ X509_REQ *req, X509_CRL *crl, int flags);
625
+
626
+ OPENSSL_EXPORT int X509V3_add_value(const char *name, const char *value,
627
+ STACK_OF(CONF_VALUE) **extlist);
628
+ OPENSSL_EXPORT int X509V3_add_value_uchar(const char *name, const unsigned char *value,
629
+ STACK_OF(CONF_VALUE) **extlist);
630
+ OPENSSL_EXPORT int X509V3_add_value_bool(const char *name, int asn1_bool,
631
+ STACK_OF(CONF_VALUE) **extlist);
632
+ OPENSSL_EXPORT int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint,
633
+ STACK_OF(CONF_VALUE) **extlist);
634
+ OPENSSL_EXPORT char * i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint);
635
+ OPENSSL_EXPORT ASN1_INTEGER * s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value);
636
+ OPENSSL_EXPORT char * i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint);
637
+ OPENSSL_EXPORT char * i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint);
638
+ OPENSSL_EXPORT int X509V3_EXT_add(X509V3_EXT_METHOD *ext);
639
+ OPENSSL_EXPORT int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist);
640
+ OPENSSL_EXPORT int X509V3_EXT_add_alias(int nid_to, int nid_from);
641
+ OPENSSL_EXPORT void X509V3_EXT_cleanup(void);
642
+
643
+ OPENSSL_EXPORT const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext);
644
+ OPENSSL_EXPORT const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid);
645
+ OPENSSL_EXPORT int X509V3_add_standard_extensions(void);
646
+ OPENSSL_EXPORT STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line);
647
+ OPENSSL_EXPORT void *X509V3_EXT_d2i(X509_EXTENSION *ext);
648
+ OPENSSL_EXPORT void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx);
649
+
650
+
651
+ OPENSSL_EXPORT X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc);
652
+ OPENSSL_EXPORT int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags);
653
+
654
+ char *hex_to_string(const unsigned char *buffer, long len);
655
+ unsigned char *string_to_hex(const char *str, long *len);
656
+ int name_cmp(const char *name, const char *cmp);
657
+
658
+ OPENSSL_EXPORT void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,
659
+ int ml);
660
+ OPENSSL_EXPORT int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent);
661
+ OPENSSL_EXPORT int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
662
+
663
+ OPENSSL_EXPORT int X509V3_extensions_print(BIO *out, const char *title, STACK_OF(X509_EXTENSION) *exts, unsigned long flag, int indent);
664
+
665
+ OPENSSL_EXPORT int X509_check_ca(X509 *x);
666
+ OPENSSL_EXPORT int X509_check_purpose(X509 *x, int id, int ca);
667
+ OPENSSL_EXPORT int X509_supported_extension(X509_EXTENSION *ex);
668
+ OPENSSL_EXPORT int X509_PURPOSE_set(int *p, int purpose);
669
+ OPENSSL_EXPORT int X509_check_issued(X509 *issuer, X509 *subject);
670
+ OPENSSL_EXPORT int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid);
671
+ OPENSSL_EXPORT int X509_PURPOSE_get_count(void);
672
+ OPENSSL_EXPORT X509_PURPOSE * X509_PURPOSE_get0(int idx);
673
+ OPENSSL_EXPORT int X509_PURPOSE_get_by_sname(char *sname);
674
+ OPENSSL_EXPORT int X509_PURPOSE_get_by_id(int id);
675
+ OPENSSL_EXPORT int X509_PURPOSE_add(int id, int trust, int flags,
676
+ int (*ck)(const X509_PURPOSE *, const X509 *, int),
677
+ char *name, char *sname, void *arg);
678
+ OPENSSL_EXPORT char *X509_PURPOSE_get0_name(X509_PURPOSE *xp);
679
+ OPENSSL_EXPORT char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp);
680
+ OPENSSL_EXPORT int X509_PURPOSE_get_trust(X509_PURPOSE *xp);
681
+ OPENSSL_EXPORT void X509_PURPOSE_cleanup(void);
682
+ OPENSSL_EXPORT int X509_PURPOSE_get_id(X509_PURPOSE *);
683
+
684
+ OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
685
+ OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);
686
+ OPENSSL_EXPORT void X509_email_free(STACK_OF(OPENSSL_STRING) *sk);
687
+ OPENSSL_EXPORT STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x);
688
+ /* Flags for X509_check_* functions */
689
+
690
+ /* Always check subject name for host match even if subject alt names present */
691
+ #define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1
692
+ /* Disable wildcard matching for dnsName fields and common name. */
693
+ #define X509_CHECK_FLAG_NO_WILDCARDS 0x2
694
+ /* Wildcards must not match a partial label. */
695
+ #define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4
696
+ /* Allow (non-partial) wildcards to match multiple labels. */
697
+ #define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8
698
+ /* Constraint verifier subdomain patterns to match a single labels. */
699
+ #define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10
700
+ /*
701
+ * Match reference identifiers starting with "." to any sub-domain.
702
+ * This is a non-public flag, turned on implicitly when the subject
703
+ * reference identity is a DNS name.
704
+ */
705
+ #define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000
706
+
707
+ OPENSSL_EXPORT int X509_check_host(X509 *x, const char *chk, size_t chklen,
708
+ unsigned int flags, char **peername);
709
+ OPENSSL_EXPORT int X509_check_email(X509 *x, const char *chk, size_t chklen,
710
+ unsigned int flags);
711
+ OPENSSL_EXPORT int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
712
+ unsigned int flags);
713
+ OPENSSL_EXPORT int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags);
714
+
715
+ OPENSSL_EXPORT ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc);
716
+ OPENSSL_EXPORT ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc);
717
+ OPENSSL_EXPORT int a2i_ipadd(unsigned char *ipout, const char *ipasc);
718
+ OPENSSL_EXPORT int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk,
719
+ unsigned long chtype);
720
+
721
+ OPENSSL_EXPORT void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent);
722
+ DECLARE_STACK_OF(X509_POLICY_NODE)
723
+
724
+ /* BEGIN ERROR CODES */
725
+ /* The following lines are auto generated by the script mkerr.pl. Any changes
726
+ * made after this point may be overwritten when the script is next run.
727
+ */
728
+ void ERR_load_X509V3_strings(void);
729
+
730
+
731
+ #ifdef __cplusplus
732
+ }
733
+ #endif
734
+ #define X509V3_R_BAD_IP_ADDRESS 100
735
+ #define X509V3_R_BAD_OBJECT 101
736
+ #define X509V3_R_BN_DEC2BN_ERROR 102
737
+ #define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 103
738
+ #define X509V3_R_CANNOT_FIND_FREE_FUNCTION 104
739
+ #define X509V3_R_DIRNAME_ERROR 105
740
+ #define X509V3_R_DISTPOINT_ALREADY_SET 106
741
+ #define X509V3_R_DUPLICATE_ZONE_ID 107
742
+ #define X509V3_R_ERROR_CONVERTING_ZONE 108
743
+ #define X509V3_R_ERROR_CREATING_EXTENSION 109
744
+ #define X509V3_R_ERROR_IN_EXTENSION 110
745
+ #define X509V3_R_EXPECTED_A_SECTION_NAME 111
746
+ #define X509V3_R_EXTENSION_EXISTS 112
747
+ #define X509V3_R_EXTENSION_NAME_ERROR 113
748
+ #define X509V3_R_EXTENSION_NOT_FOUND 114
749
+ #define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 115
750
+ #define X509V3_R_EXTENSION_VALUE_ERROR 116
751
+ #define X509V3_R_ILLEGAL_EMPTY_EXTENSION 117
752
+ #define X509V3_R_ILLEGAL_HEX_DIGIT 118
753
+ #define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 119
754
+ #define X509V3_R_INVALID_BOOLEAN_STRING 120
755
+ #define X509V3_R_INVALID_EXTENSION_STRING 121
756
+ #define X509V3_R_INVALID_MULTIPLE_RDNS 122
757
+ #define X509V3_R_INVALID_NAME 123
758
+ #define X509V3_R_INVALID_NULL_ARGUMENT 124
759
+ #define X509V3_R_INVALID_NULL_NAME 125
760
+ #define X509V3_R_INVALID_NULL_VALUE 126
761
+ #define X509V3_R_INVALID_NUMBER 127
762
+ #define X509V3_R_INVALID_NUMBERS 128
763
+ #define X509V3_R_INVALID_OBJECT_IDENTIFIER 129
764
+ #define X509V3_R_INVALID_OPTION 130
765
+ #define X509V3_R_INVALID_POLICY_IDENTIFIER 131
766
+ #define X509V3_R_INVALID_PROXY_POLICY_SETTING 132
767
+ #define X509V3_R_INVALID_PURPOSE 133
768
+ #define X509V3_R_INVALID_SECTION 134
769
+ #define X509V3_R_INVALID_SYNTAX 135
770
+ #define X509V3_R_ISSUER_DECODE_ERROR 136
771
+ #define X509V3_R_MISSING_VALUE 137
772
+ #define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 138
773
+ #define X509V3_R_NO_CONFIG_DATABASE 139
774
+ #define X509V3_R_NO_ISSUER_CERTIFICATE 140
775
+ #define X509V3_R_NO_ISSUER_DETAILS 141
776
+ #define X509V3_R_NO_POLICY_IDENTIFIER 142
777
+ #define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 143
778
+ #define X509V3_R_NO_PUBLIC_KEY 144
779
+ #define X509V3_R_NO_SUBJECT_DETAILS 145
780
+ #define X509V3_R_ODD_NUMBER_OF_DIGITS 146
781
+ #define X509V3_R_OPERATION_NOT_DEFINED 147
782
+ #define X509V3_R_OTHERNAME_ERROR 148
783
+ #define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 149
784
+ #define X509V3_R_POLICY_PATH_LENGTH 150
785
+ #define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 151
786
+ #define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 152
787
+ #define X509V3_R_SECTION_NOT_FOUND 153
788
+ #define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 154
789
+ #define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 155
790
+ #define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 156
791
+ #define X509V3_R_UNKNOWN_EXTENSION 157
792
+ #define X509V3_R_UNKNOWN_EXTENSION_NAME 158
793
+ #define X509V3_R_UNKNOWN_OPTION 159
794
+ #define X509V3_R_UNSUPPORTED_OPTION 160
795
+ #define X509V3_R_UNSUPPORTED_TYPE 161
796
+ #define X509V3_R_USER_TOO_LONG 162
797
+
798
+ #endif