grpc 1.9.1 → 1.10.0.pre1

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 (637) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2654 -953
  3. data/etc/roots.pem +282 -683
  4. data/include/grpc/compression.h +9 -26
  5. data/include/grpc/grpc.h +10 -24
  6. data/include/grpc/grpc_security.h +7 -1
  7. data/include/grpc/impl/codegen/compression_types.h +5 -62
  8. data/include/grpc/impl/codegen/grpc_types.h +10 -6
  9. data/include/grpc/module.modulemap +1 -10
  10. data/include/grpc/support/alloc.h +3 -2
  11. data/include/grpc/support/log.h +1 -2
  12. data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
  13. data/src/boringssl/err_data.c +550 -496
  14. data/src/core/ext/census/grpc_context.cc +2 -1
  15. data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
  16. data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
  17. data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
  18. data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
  19. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
  20. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
  21. data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
  22. data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
  23. data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
  30. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
  31. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
  32. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
  33. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
  34. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
  35. data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
  36. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
  37. data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
  38. data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
  39. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
  40. data/src/core/ext/filters/client_channel/resolver.cc +6 -52
  41. data/src/core/ext/filters/client_channel/resolver.h +98 -55
  42. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
  43. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
  44. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
  45. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
  46. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
  47. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
  48. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
  49. data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
  50. data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
  51. data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
  52. data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
  53. data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
  54. data/src/core/ext/filters/client_channel/subchannel.h +38 -45
  55. data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
  56. data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
  57. data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
  58. data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
  59. data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
  60. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
  61. data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
  62. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
  63. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
  64. data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
  65. data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
  66. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
  67. data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
  68. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  69. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
  70. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
  71. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
  72. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
  73. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
  74. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
  75. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
  76. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
  77. data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
  78. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
  79. data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
  80. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
  81. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
  82. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
  83. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
  84. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
  85. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
  86. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
  87. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
  88. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
  89. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  90. data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
  91. data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
  92. data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
  93. data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
  94. data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
  95. data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
  96. data/src/core/lib/{gpr → avl}/avl.cc +61 -57
  97. data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
  98. data/src/core/lib/backoff/backoff.cc +6 -5
  99. data/src/core/lib/channel/channel_args.cc +23 -109
  100. data/src/core/lib/channel/channel_args.h +5 -31
  101. data/src/core/lib/channel/channel_stack.cc +11 -8
  102. data/src/core/lib/channel/channel_stack_builder.cc +10 -7
  103. data/src/core/lib/channel/connected_channel.cc +18 -17
  104. data/src/core/lib/channel/handshaker.cc +8 -8
  105. data/src/core/lib/channel/handshaker_registry.cc +3 -2
  106. data/src/core/lib/compression/algorithm_metadata.h +13 -6
  107. data/src/core/lib/compression/compression.cc +72 -183
  108. data/src/core/lib/compression/compression_internal.cc +274 -0
  109. data/src/core/lib/compression/compression_internal.h +86 -0
  110. data/src/core/lib/compression/message_compress.cc +15 -15
  111. data/src/core/lib/compression/message_compress.h +4 -3
  112. data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
  113. data/src/core/lib/compression/stream_compression_identity.cc +1 -1
  114. data/src/core/lib/debug/stats.cc +10 -8
  115. data/src/core/lib/debug/stats_data.cc +2 -1
  116. data/src/core/lib/debug/trace.cc +3 -3
  117. data/src/core/lib/gpr/alloc.cc +7 -11
  118. data/src/core/lib/gpr/arena.cc +34 -12
  119. data/src/core/lib/gpr/atm.cc +2 -1
  120. data/src/core/lib/gpr/cpu_linux.cc +3 -3
  121. data/src/core/lib/gpr/cpu_posix.cc +2 -1
  122. data/src/core/lib/gpr/env.h +1 -1
  123. data/src/core/lib/gpr/env_linux.cc +1 -1
  124. data/src/core/lib/gpr/env_windows.cc +4 -4
  125. data/src/core/lib/gpr/fork.cc +16 -2
  126. data/src/core/lib/gpr/host_port.cc +5 -4
  127. data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
  128. data/src/core/lib/gpr/log.cc +5 -4
  129. data/src/core/lib/gpr/log_linux.cc +1 -1
  130. data/src/core/lib/gpr/mpscq.cc +1 -0
  131. data/src/core/lib/gpr/murmur_hash.cc +4 -4
  132. data/src/core/lib/gpr/string.cc +19 -16
  133. data/src/core/lib/gpr/string_posix.cc +3 -3
  134. data/src/core/lib/gpr/sync_posix.cc +5 -9
  135. data/src/core/lib/gpr/thd.cc +3 -3
  136. data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
  137. data/src/core/lib/gpr/thd_posix.cc +6 -4
  138. data/src/core/lib/gpr/thd_windows.cc +3 -1
  139. data/src/core/lib/gpr/time.cc +6 -4
  140. data/src/core/lib/gpr/time_posix.cc +2 -2
  141. data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
  142. data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
  143. data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
  144. data/src/core/lib/gpr/tls_pthread.cc +1 -1
  145. data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
  146. data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
  147. data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
  148. data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
  149. data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
  150. data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
  151. data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
  152. data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
  153. data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
  154. data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
  155. data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
  156. data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
  157. data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
  158. data/src/core/lib/http/format_request.cc +3 -3
  159. data/src/core/lib/http/httpcli.cc +6 -7
  160. data/src/core/lib/http/httpcli_security_connector.cc +10 -10
  161. data/src/core/lib/http/parser.cc +16 -12
  162. data/src/core/lib/iomgr/call_combiner.cc +12 -13
  163. data/src/core/lib/iomgr/closure.h +4 -6
  164. data/src/core/lib/iomgr/combiner.cc +10 -21
  165. data/src/core/lib/iomgr/error.cc +50 -55
  166. data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
  167. data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
  168. data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
  169. data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
  170. data/src/core/lib/iomgr/ev_posix.cc +47 -6
  171. data/src/core/lib/iomgr/exec_ctx.cc +10 -10
  172. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  173. data/src/core/lib/iomgr/executor.cc +16 -13
  174. data/src/core/lib/iomgr/fork_posix.cc +1 -3
  175. data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
  176. data/src/core/lib/iomgr/iocp_windows.cc +1 -2
  177. data/src/core/lib/iomgr/iomgr.cc +2 -2
  178. data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
  179. data/src/core/lib/iomgr/iomgr_uv.h +1 -1
  180. data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
  181. data/src/core/lib/iomgr/load_file.cc +3 -3
  182. data/src/core/lib/iomgr/pollset_windows.cc +1 -1
  183. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
  184. data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
  185. data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
  186. data/src/core/lib/iomgr/resource_quota.cc +36 -34
  187. data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
  188. data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
  189. data/src/core/lib/iomgr/socket_mutator.cc +7 -7
  190. data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
  191. data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
  192. data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
  193. data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
  194. data/src/core/lib/iomgr/tcp_posix.cc +47 -55
  195. data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
  196. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
  197. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
  198. data/src/core/lib/iomgr/tcp_windows.cc +1 -1
  199. data/src/core/lib/iomgr/timer_generic.cc +16 -14
  200. data/src/core/lib/iomgr/timer_heap.cc +8 -7
  201. data/src/core/lib/iomgr/timer_manager.cc +4 -3
  202. data/src/core/lib/iomgr/udp_server.cc +24 -16
  203. data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
  204. data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
  205. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
  206. data/src/core/lib/json/json.cc +1 -1
  207. data/src/core/lib/json/json_reader.cc +8 -6
  208. data/src/core/lib/json/json_string.cc +19 -18
  209. data/src/core/lib/json/json_writer.cc +10 -8
  210. data/src/core/lib/profiling/basic_timers.cc +1 -1
  211. data/src/core/lib/profiling/timers.h +3 -20
  212. data/src/core/lib/security/context/security_context.cc +16 -14
  213. data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
  214. data/src/core/lib/security/credentials/credentials.cc +9 -8
  215. data/src/core/lib/security/credentials/credentials.h +1 -1
  216. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
  217. data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
  218. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
  219. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
  220. data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
  221. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
  222. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
  223. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
  224. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
  225. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
  226. data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
  227. data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
  228. data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
  229. data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
  230. data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
  231. data/src/core/lib/security/transport/security_handshaker.cc +19 -18
  232. data/src/core/lib/security/transport/security_handshaker.h +1 -1
  233. data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
  234. data/src/core/lib/slice/b64.cc +19 -16
  235. data/src/core/lib/slice/percent_encoding.cc +5 -5
  236. data/src/core/lib/slice/slice.cc +35 -33
  237. data/src/core/lib/slice/slice_buffer.cc +16 -14
  238. data/src/core/lib/slice/slice_hash_table.cc +3 -2
  239. data/src/core/lib/slice/slice_intern.cc +21 -25
  240. data/src/core/lib/slice/slice_string_helpers.cc +45 -9
  241. data/src/core/lib/slice/slice_string_helpers.h +6 -0
  242. data/src/core/lib/surface/byte_buffer.cc +2 -2
  243. data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
  244. data/src/core/lib/surface/call.cc +171 -260
  245. data/src/core/lib/surface/call_test_only.h +1 -13
  246. data/src/core/lib/surface/channel.cc +20 -43
  247. data/src/core/lib/surface/channel_init.cc +7 -7
  248. data/src/core/lib/surface/channel_ping.cc +2 -2
  249. data/src/core/lib/surface/completion_queue.cc +69 -75
  250. data/src/core/lib/surface/init.cc +4 -5
  251. data/src/core/lib/surface/init_secure.cc +1 -1
  252. data/src/core/lib/surface/lame_client.cc +1 -1
  253. data/src/core/lib/surface/server.cc +64 -59
  254. data/src/core/lib/surface/version.cc +2 -2
  255. data/src/core/lib/transport/bdp_estimator.cc +6 -5
  256. data/src/core/lib/transport/byte_stream.cc +23 -14
  257. data/src/core/lib/transport/byte_stream.h +1 -1
  258. data/src/core/lib/transport/connectivity_state.cc +9 -13
  259. data/src/core/lib/transport/error_utils.cc +10 -7
  260. data/src/core/lib/transport/metadata.cc +27 -26
  261. data/src/core/lib/transport/metadata.h +1 -1
  262. data/src/core/lib/transport/pid_controller.cc +2 -1
  263. data/src/core/lib/transport/service_config.cc +5 -5
  264. data/src/core/lib/transport/static_metadata.cc +225 -222
  265. data/src/core/lib/transport/static_metadata.h +77 -76
  266. data/src/core/lib/transport/timeout_encoding.cc +3 -2
  267. data/src/core/lib/transport/transport.cc +6 -5
  268. data/src/core/lib/transport/transport_op_string.cc +0 -1
  269. data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
  270. data/src/core/tsi/alts_transport_security.cc +61 -0
  271. data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
  272. data/src/core/tsi/fake_transport_security.cc +59 -43
  273. data/src/core/tsi/ssl_transport_security.cc +122 -107
  274. data/src/core/tsi/transport_security.cc +3 -3
  275. data/src/core/tsi/transport_security_adapter.cc +16 -10
  276. data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
  277. data/src/ruby/ext/grpc/rb_channel.c +3 -4
  278. data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
  279. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
  280. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
  281. data/src/ruby/ext/grpc/rb_server.c +52 -28
  282. data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
  283. data/src/ruby/lib/grpc/version.rb +1 -1
  284. data/src/ruby/pb/test/client.rb +1 -1
  285. data/src/ruby/pb/test/server.rb +1 -1
  286. data/src/ruby/spec/client_server_spec.rb +4 -2
  287. data/src/ruby/spec/generic/active_call_spec.rb +2 -1
  288. data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
  289. data/src/ruby/spec/server_spec.rb +26 -7
  290. data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
  291. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
  292. data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
  293. data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
  294. data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
  295. data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
  296. data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
  297. data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
  298. data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
  299. data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
  300. data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
  301. data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
  302. data/third_party/boringssl/crypto/base64/base64.c +65 -43
  303. data/third_party/boringssl/crypto/bio/bio.c +134 -110
  304. data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
  305. data/third_party/boringssl/crypto/bio/connect.c +17 -17
  306. data/third_party/boringssl/crypto/bio/fd.c +2 -1
  307. data/third_party/boringssl/crypto/bio/file.c +14 -14
  308. data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
  309. data/third_party/boringssl/crypto/bio/internal.h +14 -14
  310. data/third_party/boringssl/crypto/bio/pair.c +45 -45
  311. data/third_party/boringssl/crypto/bio/printf.c +6 -10
  312. data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
  313. data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
  314. data/third_party/boringssl/crypto/buf/buf.c +20 -44
  315. data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
  316. data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
  317. data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
  318. data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
  319. data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
  320. data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
  321. data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
  322. data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
  323. data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
  324. data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
  325. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
  326. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
  327. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
  328. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
  329. data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
  330. data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
  331. data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
  332. data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
  333. data/third_party/boringssl/crypto/conf/conf.c +32 -20
  334. data/third_party/boringssl/crypto/conf/internal.h +3 -3
  335. data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
  336. data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
  337. data/third_party/boringssl/crypto/cpu-intel.c +68 -43
  338. data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
  339. data/third_party/boringssl/crypto/crypto.c +54 -32
  340. data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
  341. data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
  342. data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
  343. data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
  344. data/third_party/boringssl/crypto/dh/check.c +33 -34
  345. data/third_party/boringssl/crypto/dh/dh.c +72 -36
  346. data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
  347. data/third_party/boringssl/crypto/dh/params.c +1 -161
  348. data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
  349. data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
  350. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
  351. data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
  352. data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
  353. data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
  354. data/third_party/boringssl/crypto/engine/engine.c +6 -6
  355. data/third_party/boringssl/crypto/err/err.c +197 -106
  356. data/third_party/boringssl/crypto/err/internal.h +58 -0
  357. data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
  358. data/third_party/boringssl/crypto/evp/evp.c +6 -11
  359. data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
  360. data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
  361. data/third_party/boringssl/crypto/evp/internal.h +66 -51
  362. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
  363. data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
  364. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
  365. data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
  366. data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
  367. data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
  368. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
  369. data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
  370. data/third_party/boringssl/crypto/evp/print.c +5 -36
  371. data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
  372. data/third_party/boringssl/crypto/ex_data.c +15 -45
  373. data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
  374. data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
  375. data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
  376. data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
  377. data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
  378. data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
  379. data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
  380. data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
  381. data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
  382. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
  383. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
  384. data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
  385. data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
  386. data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
  387. data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
  388. data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
  389. data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
  390. data/third_party/boringssl/crypto/internal.h +301 -233
  391. data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
  392. data/third_party/boringssl/crypto/mem.c +76 -33
  393. data/third_party/boringssl/crypto/obj/obj.c +44 -28
  394. data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
  395. data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
  396. data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
  397. data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
  398. data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
  399. data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
  400. data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
  401. data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
  402. data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
  403. data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
  404. data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
  405. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
  406. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
  407. data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
  408. data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
  409. data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
  410. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
  411. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
  412. data/third_party/boringssl/crypto/pool/internal.h +2 -2
  413. data/third_party/boringssl/crypto/pool/pool.c +15 -15
  414. data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
  415. data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
  416. data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
  417. data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
  418. data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
  419. data/third_party/boringssl/crypto/refcount_c11.c +2 -2
  420. data/third_party/boringssl/crypto/refcount_lock.c +1 -1
  421. data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
  422. data/third_party/boringssl/crypto/stack/stack.c +13 -13
  423. data/third_party/boringssl/crypto/thread_none.c +1 -1
  424. data/third_party/boringssl/crypto/thread_pthread.c +1 -1
  425. data/third_party/boringssl/crypto/thread_win.c +40 -40
  426. data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
  427. data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
  428. data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
  429. data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
  430. data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
  431. data/third_party/boringssl/crypto/x509/by_file.c +2 -2
  432. data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
  433. data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
  434. data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
  435. data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
  436. data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
  437. data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
  438. data/third_party/boringssl/crypto/x509/x_name.c +13 -16
  439. data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
  440. data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
  441. data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
  442. data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
  443. data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
  444. data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
  445. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
  446. data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
  447. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
  448. data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
  449. data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
  450. data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
  451. data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
  452. data/third_party/boringssl/include/openssl/aead.h +280 -191
  453. data/third_party/boringssl/include/openssl/aes.h +50 -50
  454. data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
  455. data/third_party/boringssl/include/openssl/asn1.h +14 -77
  456. data/third_party/boringssl/include/openssl/asn1t.h +11 -15
  457. data/third_party/boringssl/include/openssl/base.h +78 -51
  458. data/third_party/boringssl/include/openssl/base64.h +68 -68
  459. data/third_party/boringssl/include/openssl/bio.h +472 -406
  460. data/third_party/boringssl/include/openssl/blowfish.h +1 -1
  461. data/third_party/boringssl/include/openssl/bn.h +454 -435
  462. data/third_party/boringssl/include/openssl/buf.h +27 -27
  463. data/third_party/boringssl/include/openssl/bytestring.h +282 -267
  464. data/third_party/boringssl/include/openssl/cast.h +2 -2
  465. data/third_party/boringssl/include/openssl/chacha.h +5 -5
  466. data/third_party/boringssl/include/openssl/cipher.h +209 -200
  467. data/third_party/boringssl/include/openssl/cmac.h +27 -27
  468. data/third_party/boringssl/include/openssl/conf.h +49 -46
  469. data/third_party/boringssl/include/openssl/cpu.h +60 -45
  470. data/third_party/boringssl/include/openssl/crypto.h +59 -35
  471. data/third_party/boringssl/include/openssl/curve25519.h +97 -92
  472. data/third_party/boringssl/include/openssl/des.h +25 -25
  473. data/third_party/boringssl/include/openssl/dh.h +98 -97
  474. data/third_party/boringssl/include/openssl/digest.h +143 -114
  475. data/third_party/boringssl/include/openssl/dsa.h +217 -202
  476. data/third_party/boringssl/include/openssl/ec.h +132 -131
  477. data/third_party/boringssl/include/openssl/ec_key.h +132 -128
  478. data/third_party/boringssl/include/openssl/ecdh.h +9 -9
  479. data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
  480. data/third_party/boringssl/include/openssl/engine.h +38 -38
  481. data/third_party/boringssl/include/openssl/err.h +189 -219
  482. data/third_party/boringssl/include/openssl/evp.h +473 -397
  483. data/third_party/boringssl/include/openssl/ex_data.h +46 -56
  484. data/third_party/boringssl/include/openssl/hkdf.h +17 -17
  485. data/third_party/boringssl/include/openssl/hmac.h +55 -43
  486. data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  487. data/third_party/boringssl/include/openssl/lhash.h +67 -67
  488. data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
  489. data/third_party/boringssl/include/openssl/md4.h +14 -14
  490. data/third_party/boringssl/include/openssl/md5.h +14 -14
  491. data/third_party/boringssl/include/openssl/mem.h +39 -33
  492. data/third_party/boringssl/include/openssl/nid.h +43 -0
  493. data/third_party/boringssl/include/openssl/obj.h +93 -87
  494. data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
  495. data/third_party/boringssl/include/openssl/pem.h +2 -122
  496. data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
  497. data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
  498. data/third_party/boringssl/include/openssl/poly1305.h +11 -11
  499. data/third_party/boringssl/include/openssl/pool.h +29 -25
  500. data/third_party/boringssl/include/openssl/rand.h +48 -45
  501. data/third_party/boringssl/include/openssl/rc4.h +9 -9
  502. data/third_party/boringssl/include/openssl/ripemd.h +13 -13
  503. data/third_party/boringssl/include/openssl/rsa.h +371 -340
  504. data/third_party/boringssl/include/openssl/sha.h +71 -71
  505. data/third_party/boringssl/include/openssl/span.h +191 -0
  506. data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
  507. data/third_party/boringssl/include/openssl/ssl3.h +39 -122
  508. data/third_party/boringssl/include/openssl/stack.h +355 -164
  509. data/third_party/boringssl/include/openssl/thread.h +43 -43
  510. data/third_party/boringssl/include/openssl/tls1.h +60 -63
  511. data/third_party/boringssl/include/openssl/type_check.h +10 -14
  512. data/third_party/boringssl/include/openssl/x509.h +41 -116
  513. data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
  514. data/third_party/boringssl/include/openssl/x509v3.h +27 -21
  515. data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
  516. data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
  517. data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
  518. data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
  519. data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
  520. data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
  521. data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
  522. data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
  523. data/third_party/boringssl/ssl/handshake.cc +547 -0
  524. data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
  525. data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
  526. data/third_party/boringssl/ssl/internal.h +2027 -1280
  527. data/third_party/boringssl/ssl/s3_both.cc +603 -0
  528. data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
  529. data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
  530. data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
  531. data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
  532. data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
  533. data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
  534. data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
  535. data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
  536. data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
  537. data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
  538. data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
  539. data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
  540. data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
  541. data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
  542. data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
  543. data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
  544. data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
  545. data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
  546. data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
  547. data/third_party/boringssl/ssl/tls13_client.cc +842 -0
  548. data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
  549. data/third_party/boringssl/ssl/tls13_server.cc +967 -0
  550. data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
  551. data/third_party/boringssl/ssl/tls_record.cc +675 -0
  552. metadata +117 -168
  553. data/include/grpc/support/cmdline.h +0 -88
  554. data/include/grpc/support/subprocess.h +0 -44
  555. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
  556. data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
  557. data/src/core/lib/gpr/cmdline.cc +0 -330
  558. data/src/core/lib/gpr/subprocess_posix.cc +0 -99
  559. data/src/core/lib/gpr/subprocess_windows.cc +0 -126
  560. data/src/core/lib/surface/alarm.cc +0 -137
  561. data/src/core/lib/surface/alarm_internal.h +0 -40
  562. data/src/core/tsi/gts_transport_security.cc +0 -40
  563. data/third_party/boringssl/crypto/aes/aes.c +0 -1142
  564. data/third_party/boringssl/crypto/aes/internal.h +0 -87
  565. data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
  566. data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
  567. data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
  568. data/third_party/boringssl/crypto/bn/add.c +0 -377
  569. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
  570. data/third_party/boringssl/crypto/bn/bn.c +0 -365
  571. data/third_party/boringssl/crypto/bn/cmp.c +0 -239
  572. data/third_party/boringssl/crypto/bn/ctx.c +0 -313
  573. data/third_party/boringssl/crypto/bn/div.c +0 -728
  574. data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
  575. data/third_party/boringssl/crypto/bn/gcd.c +0 -635
  576. data/third_party/boringssl/crypto/bn/generic.c +0 -707
  577. data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
  578. data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
  579. data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
  580. data/third_party/boringssl/crypto/bn/mul.c +0 -871
  581. data/third_party/boringssl/crypto/bn/prime.c +0 -861
  582. data/third_party/boringssl/crypto/bn/random.c +0 -343
  583. data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
  584. data/third_party/boringssl/crypto/bn/shift.c +0 -307
  585. data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
  586. data/third_party/boringssl/crypto/cipher/aead.c +0 -156
  587. data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
  588. data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
  589. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
  590. data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
  591. data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
  592. data/third_party/boringssl/crypto/des/des.c +0 -771
  593. data/third_party/boringssl/crypto/digest/digest.c +0 -251
  594. data/third_party/boringssl/crypto/digest/digests.c +0 -358
  595. data/third_party/boringssl/crypto/ec/ec.c +0 -847
  596. data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
  597. data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
  598. data/third_party/boringssl/crypto/ec/oct.c +0 -416
  599. data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
  600. data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
  601. data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
  602. data/third_party/boringssl/crypto/ec/simple.c +0 -1118
  603. data/third_party/boringssl/crypto/ec/util-64.c +0 -109
  604. data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
  605. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
  606. data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
  607. data/third_party/boringssl/crypto/md4/md4.c +0 -236
  608. data/third_party/boringssl/crypto/md5/md5.c +0 -285
  609. data/third_party/boringssl/crypto/modes/cbc.c +0 -212
  610. data/third_party/boringssl/crypto/modes/cfb.c +0 -230
  611. data/third_party/boringssl/crypto/modes/ctr.c +0 -219
  612. data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
  613. data/third_party/boringssl/crypto/modes/ofb.c +0 -95
  614. data/third_party/boringssl/crypto/modes/polyval.c +0 -94
  615. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
  616. data/third_party/boringssl/crypto/rand/rand.c +0 -244
  617. data/third_party/boringssl/crypto/rand/urandom.c +0 -335
  618. data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
  619. data/third_party/boringssl/crypto/rsa/padding.c +0 -708
  620. data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
  621. data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
  622. data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
  623. data/third_party/boringssl/crypto/sha/sha1.c +0 -355
  624. data/third_party/boringssl/crypto/sha/sha256.c +0 -329
  625. data/third_party/boringssl/crypto/sha/sha512.c +0 -609
  626. data/third_party/boringssl/crypto/x509/x509type.c +0 -126
  627. data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
  628. data/third_party/boringssl/ssl/handshake_client.c +0 -1883
  629. data/third_party/boringssl/ssl/handshake_server.c +0 -1950
  630. data/third_party/boringssl/ssl/s3_both.c +0 -895
  631. data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
  632. data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
  633. data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
  634. data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
  635. data/third_party/boringssl/ssl/tls13_client.c +0 -712
  636. data/third_party/boringssl/ssl/tls13_server.c +0 -680
  637. data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -16,7 +16,7 @@
16
16
  #error "Don't include this file directly. Include lhash.h"
17
17
  #endif
18
18
 
19
- /* ASN1_OBJECT */
19
+ // ASN1_OBJECT
20
20
  #define lh_ASN1_OBJECT_new(hash, comp) \
21
21
  ((LHASH_OF(ASN1_OBJECT) *)lh_new( \
22
22
  CHECKED_CAST(lhash_hash_func, uint32_t(*)(const ASN1_OBJECT *), hash), \
@@ -56,7 +56,7 @@
56
56
  arg);
57
57
 
58
58
 
59
- /* CONF_VALUE */
59
+ // CONF_VALUE
60
60
  #define lh_CONF_VALUE_new(hash, comp) \
61
61
  ((LHASH_OF(CONF_VALUE) *)lh_new( \
62
62
  CHECKED_CAST(lhash_hash_func, uint32_t(*)(const CONF_VALUE *), hash), \
@@ -94,7 +94,7 @@
94
94
  arg);
95
95
 
96
96
 
97
- /* CRYPTO_BUFFER */
97
+ // CRYPTO_BUFFER
98
98
  #define lh_CRYPTO_BUFFER_new(hash, comp) \
99
99
  ((LHASH_OF(CRYPTO_BUFFER) *)lh_new( \
100
100
  CHECKED_CAST(lhash_hash_func, uint32_t(*)(const CRYPTO_BUFFER *), hash), \
@@ -134,7 +134,7 @@
134
134
  arg);
135
135
 
136
136
 
137
- /* SSL_SESSION */
137
+ // SSL_SESSION
138
138
  #define lh_SSL_SESSION_new(hash, comp) \
139
139
  ((LHASH_OF(SSL_SESSION) *)lh_new( \
140
140
  CHECKED_CAST(lhash_hash_func, uint32_t(*)(const SSL_SESSION *), hash), \
@@ -64,31 +64,31 @@ extern "C" {
64
64
  #endif
65
65
 
66
66
 
67
- /* MD4. */
67
+ // MD4.
68
68
 
69
- /* MD4_CBLOCK is the block size of MD4. */
69
+ // MD4_CBLOCK is the block size of MD4.
70
70
  #define MD4_CBLOCK 64
71
71
 
72
- /* MD4_DIGEST_LENGTH is the length of an MD4 digest. */
72
+ // MD4_DIGEST_LENGTH is the length of an MD4 digest.
73
73
  #define MD4_DIGEST_LENGTH 16
74
74
 
75
- /* MD4_Init initialises |md4| and returns one. */
75
+ // MD4_Init initialises |md4| and returns one.
76
76
  OPENSSL_EXPORT int MD4_Init(MD4_CTX *md4);
77
77
 
78
- /* MD4_Update adds |len| bytes from |data| to |md4| and returns one. */
78
+ // MD4_Update adds |len| bytes from |data| to |md4| and returns one.
79
79
  OPENSSL_EXPORT int MD4_Update(MD4_CTX *md4, const void *data, size_t len);
80
80
 
81
- /* MD4_Final adds the final padding to |md4| and writes the resulting digest to
82
- * |md|, which must have at least |MD4_DIGEST_LENGTH| bytes of space. It
83
- * returns one. */
81
+ // MD4_Final adds the final padding to |md4| and writes the resulting digest to
82
+ // |md|, which must have at least |MD4_DIGEST_LENGTH| bytes of space. It
83
+ // returns one.
84
84
  OPENSSL_EXPORT int MD4_Final(uint8_t *md, MD4_CTX *md4);
85
85
 
86
- /* MD4 writes the digest of |len| bytes from |data| to |out| and returns |out|.
87
- * There must be at least |MD4_DIGEST_LENGTH| bytes of space in |out|. */
86
+ // MD4 writes the digest of |len| bytes from |data| to |out| and returns |out|.
87
+ // There must be at least |MD4_DIGEST_LENGTH| bytes of space in |out|.
88
88
  OPENSSL_EXPORT uint8_t *MD4(const uint8_t *data, size_t len, uint8_t *out);
89
89
 
90
- /* MD4_Transform is a low-level function that performs a single, MD4 block
91
- * transformation using the state from |md4| and 64 bytes from |block|. */
90
+ // MD4_Transform is a low-level function that performs a single, MD4 block
91
+ // transformation using the state from |md4| and 64 bytes from |block|.
92
92
  OPENSSL_EXPORT void MD4_Transform(MD4_CTX *md4, const uint8_t *block);
93
93
 
94
94
  struct md4_state_st {
@@ -100,7 +100,7 @@ struct md4_state_st {
100
100
 
101
101
 
102
102
  #if defined(__cplusplus)
103
- } /* extern C */
103
+ } // extern C
104
104
  #endif
105
105
 
106
- #endif /* OPENSSL_HEADER_MD4_H */
106
+ #endif // OPENSSL_HEADER_MD4_H
@@ -64,32 +64,32 @@ extern "C" {
64
64
  #endif
65
65
 
66
66
 
67
- /* MD5. */
67
+ // MD5.
68
68
 
69
69
 
70
- /* MD5_CBLOCK is the block size of MD5. */
70
+ // MD5_CBLOCK is the block size of MD5.
71
71
  #define MD5_CBLOCK 64
72
72
 
73
- /* MD5_DIGEST_LENGTH is the length of an MD5 digest. */
73
+ // MD5_DIGEST_LENGTH is the length of an MD5 digest.
74
74
  #define MD5_DIGEST_LENGTH 16
75
75
 
76
- /* MD5_Init initialises |md5| and returns one. */
76
+ // MD5_Init initialises |md5| and returns one.
77
77
  OPENSSL_EXPORT int MD5_Init(MD5_CTX *md5);
78
78
 
79
- /* MD5_Update adds |len| bytes from |data| to |md5| and returns one. */
79
+ // MD5_Update adds |len| bytes from |data| to |md5| and returns one.
80
80
  OPENSSL_EXPORT int MD5_Update(MD5_CTX *md5, const void *data, size_t len);
81
81
 
82
- /* MD5_Final adds the final padding to |md5| and writes the resulting digest to
83
- * |md|, which must have at least |MD5_DIGEST_LENGTH| bytes of space. It
84
- * returns one. */
82
+ // MD5_Final adds the final padding to |md5| and writes the resulting digest to
83
+ // |md|, which must have at least |MD5_DIGEST_LENGTH| bytes of space. It
84
+ // returns one.
85
85
  OPENSSL_EXPORT int MD5_Final(uint8_t *md, MD5_CTX *md5);
86
86
 
87
- /* MD5 writes the digest of |len| bytes from |data| to |out| and returns |out|.
88
- * There must be at least |MD5_DIGEST_LENGTH| bytes of space in |out|. */
87
+ // MD5 writes the digest of |len| bytes from |data| to |out| and returns |out|.
88
+ // There must be at least |MD5_DIGEST_LENGTH| bytes of space in |out|.
89
89
  OPENSSL_EXPORT uint8_t *MD5(const uint8_t *data, size_t len, uint8_t *out);
90
90
 
91
- /* MD5_Transform is a low-level function that performs a single, MD5 block
92
- * transformation using the state from |md5| and 64 bytes from |block|. */
91
+ // MD5_Transform is a low-level function that performs a single, MD5 block
92
+ // transformation using the state from |md5| and 64 bytes from |block|.
93
93
  OPENSSL_EXPORT void MD5_Transform(MD5_CTX *md5, const uint8_t *block);
94
94
 
95
95
  struct md5_state_st {
@@ -101,7 +101,7 @@ struct md5_state_st {
101
101
 
102
102
 
103
103
  #if defined(__cplusplus)
104
- } /* extern C */
104
+ } // extern C
105
105
  #endif
106
106
 
107
- #endif /* OPENSSL_HEADER_MD5_H */
107
+ #endif // OPENSSL_HEADER_MD5_H
@@ -67,64 +67,70 @@ extern "C" {
67
67
  #endif
68
68
 
69
69
 
70
- /* Memory and string functions, see also buf.h.
71
- *
72
- * OpenSSL has, historically, had a complex set of malloc debugging options.
73
- * However, that was written in a time before Valgrind and ASAN. Since we now
74
- * have those tools, the OpenSSL allocation functions are simply macros around
75
- * the standard memory functions. */
70
+ // Memory and string functions, see also buf.h.
71
+ //
72
+ // BoringSSL has its own set of allocation functions, which keep track of
73
+ // allocation lengths and zero them out before freeing. All memory returned by
74
+ // BoringSSL API calls must therefore generally be freed using |OPENSSL_free|
75
+ // unless stated otherwise.
76
+
76
77
 
78
+ // OPENSSL_malloc acts like a regular |malloc|.
79
+ OPENSSL_EXPORT void *OPENSSL_malloc(size_t size);
77
80
 
78
- #define OPENSSL_malloc malloc
79
- #define OPENSSL_realloc realloc
80
- #define OPENSSL_free free
81
+ // OPENSSL_free does nothing if |ptr| is NULL. Otherwise it zeros out the
82
+ // memory allocated at |ptr| and frees it.
83
+ OPENSSL_EXPORT void OPENSSL_free(void *ptr);
81
84
 
82
- /* OPENSSL_realloc_clean acts like |realloc|, but clears the previous memory
83
- * buffer. Because this is implemented as a wrapper around |malloc|, it needs
84
- * to be given the size of the buffer pointed to by |ptr|. */
85
- void *OPENSSL_realloc_clean(void *ptr, size_t old_size, size_t new_size);
85
+ // OPENSSL_realloc returns a pointer to a buffer of |new_size| bytes that
86
+ // contains the contents of |ptr|. Unlike |realloc|, a new buffer is always
87
+ // allocated and the data at |ptr| is always wiped and freed.
88
+ OPENSSL_EXPORT void *OPENSSL_realloc(void *ptr, size_t new_size);
86
89
 
87
- /* OPENSSL_cleanse zeros out |len| bytes of memory at |ptr|. This is similar to
88
- * |memset_s| from C11. */
90
+ // OPENSSL_cleanse zeros out |len| bytes of memory at |ptr|. This is similar to
91
+ // |memset_s| from C11.
89
92
  OPENSSL_EXPORT void OPENSSL_cleanse(void *ptr, size_t len);
90
93
 
91
- /* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It
92
- * takes an amount of time dependent on |len|, but independent of the contents
93
- * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a
94
- * defined order as the return value when a != b is undefined, other than to be
95
- * non-zero. */
94
+ // CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It
95
+ // takes an amount of time dependent on |len|, but independent of the contents
96
+ // of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a
97
+ // defined order as the return value when a != b is undefined, other than to be
98
+ // non-zero.
96
99
  OPENSSL_EXPORT int CRYPTO_memcmp(const void *a, const void *b, size_t len);
97
100
 
98
- /* OPENSSL_hash32 implements the 32 bit, FNV-1a hash. */
101
+ // OPENSSL_hash32 implements the 32 bit, FNV-1a hash.
99
102
  OPENSSL_EXPORT uint32_t OPENSSL_hash32(const void *ptr, size_t len);
100
103
 
101
- /* OPENSSL_strdup has the same behaviour as strdup(3). */
104
+ // OPENSSL_strdup has the same behaviour as strdup(3).
102
105
  OPENSSL_EXPORT char *OPENSSL_strdup(const char *s);
103
106
 
104
- /* OPENSSL_strnlen has the same behaviour as strnlen(3). */
107
+ // OPENSSL_strnlen has the same behaviour as strnlen(3).
105
108
  OPENSSL_EXPORT size_t OPENSSL_strnlen(const char *s, size_t len);
106
109
 
107
- /* OPENSSL_strcasecmp has the same behaviour as strcasecmp(3). */
110
+ // OPENSSL_tolower is a locale-independent version of tolower(3).
111
+ OPENSSL_EXPORT int OPENSSL_tolower(int c);
112
+
113
+ // OPENSSL_strcasecmp is a locale-independent version of strcasecmp(3).
108
114
  OPENSSL_EXPORT int OPENSSL_strcasecmp(const char *a, const char *b);
109
115
 
110
- /* OPENSSL_strncasecmp has the same behaviour as strncasecmp(3). */
116
+ // OPENSSL_strncasecmp is a locale-independent version of strncasecmp(3).
111
117
  OPENSSL_EXPORT int OPENSSL_strncasecmp(const char *a, const char *b, size_t n);
112
118
 
113
- /* DECIMAL_SIZE returns an upper bound for the length of the decimal
114
- * representation of the given type. */
119
+ // DECIMAL_SIZE returns an upper bound for the length of the decimal
120
+ // representation of the given type.
115
121
  #define DECIMAL_SIZE(type) ((sizeof(type)*8+2)/3+1)
116
122
 
117
- /* BIO_snprintf has the same behavior as snprintf(3). */
123
+ // BIO_snprintf has the same behavior as snprintf(3).
118
124
  OPENSSL_EXPORT int BIO_snprintf(char *buf, size_t n, const char *format, ...)
119
125
  OPENSSL_PRINTF_FORMAT_FUNC(3, 4);
120
126
 
121
- /* BIO_vsnprintf has the same behavior as vsnprintf(3). */
127
+ // BIO_vsnprintf has the same behavior as vsnprintf(3).
122
128
  OPENSSL_EXPORT int BIO_vsnprintf(char *buf, size_t n, const char *format,
123
129
  va_list args)
124
130
  OPENSSL_PRINTF_FORMAT_FUNC(3, 0);
125
131
 
126
132
 
127
- /* Deprecated functions. */
133
+ // Deprecated functions.
128
134
 
129
135
  #define CRYPTO_malloc OPENSSL_malloc
130
136
  #define CRYPTO_realloc OPENSSL_realloc
@@ -132,7 +138,7 @@ OPENSSL_EXPORT int BIO_vsnprintf(char *buf, size_t n, const char *format,
132
138
 
133
139
 
134
140
  #if defined(__cplusplus)
135
- } /* extern C */
141
+ } // extern C
136
142
 
137
143
  extern "C++" {
138
144
 
@@ -143,8 +149,8 @@ BORINGSSL_MAKE_DELETER(uint8_t, OPENSSL_free)
143
149
 
144
150
  } // namespace bssl
145
151
 
146
- } /* extern C++ */
152
+ } // extern C++
147
153
 
148
154
  #endif
149
155
 
150
- #endif /* OPENSSL_HEADER_MEM_H */
156
+ #endif // OPENSSL_HEADER_MEM_H
@@ -65,6 +65,7 @@
65
65
  extern "C" {
66
66
  #endif
67
67
 
68
+
68
69
  /* The nid library provides numbered values for ASN.1 object identifiers and
69
70
  * other symbols. These values are used by other libraries to identify
70
71
  * cryptographic primitives.
@@ -78,6 +79,7 @@ extern "C" {
78
79
  * These values should not be used outside of a single process; they are not
79
80
  * stable identifiers. */
80
81
 
82
+
81
83
  #define SN_undef "UNDEF"
82
84
  #define LN_undef "undefined"
83
85
  #define NID_undef 0
@@ -4192,6 +4194,47 @@ extern "C" {
4192
4194
  #define SN_X25519 "X25519"
4193
4195
  #define NID_X25519 948
4194
4196
 
4197
+ #define SN_ED25519 "ED25519"
4198
+ #define NID_ED25519 949
4199
+ #define OBJ_ED25519 1L, 3L, 101L, 112L
4200
+
4201
+ #define SN_chacha20_poly1305 "ChaCha20-Poly1305"
4202
+ #define LN_chacha20_poly1305 "chacha20-poly1305"
4203
+ #define NID_chacha20_poly1305 950
4204
+
4205
+ #define SN_kx_rsa "KxRSA"
4206
+ #define LN_kx_rsa "kx-rsa"
4207
+ #define NID_kx_rsa 951
4208
+
4209
+ #define SN_kx_ecdhe "KxECDHE"
4210
+ #define LN_kx_ecdhe "kx-ecdhe"
4211
+ #define NID_kx_ecdhe 952
4212
+
4213
+ #define SN_kx_psk "KxPSK"
4214
+ #define LN_kx_psk "kx-psk"
4215
+ #define NID_kx_psk 953
4216
+
4217
+ #define SN_auth_rsa "AuthRSA"
4218
+ #define LN_auth_rsa "auth-rsa"
4219
+ #define NID_auth_rsa 954
4220
+
4221
+ #define SN_auth_ecdsa "AuthECDSA"
4222
+ #define LN_auth_ecdsa "auth-ecdsa"
4223
+ #define NID_auth_ecdsa 955
4224
+
4225
+ #define SN_auth_psk "AuthPSK"
4226
+ #define LN_auth_psk "auth-psk"
4227
+ #define NID_auth_psk 956
4228
+
4229
+ #define SN_kx_any "KxANY"
4230
+ #define LN_kx_any "kx-any"
4231
+ #define NID_kx_any 957
4232
+
4233
+ #define SN_auth_any "AuthANY"
4234
+ #define LN_auth_any "auth-any"
4235
+ #define NID_auth_any 958
4236
+
4237
+
4195
4238
  #if defined(__cplusplus)
4196
4239
  } /* extern C */
4197
4240
  #endif
@@ -67,129 +67,135 @@ extern "C" {
67
67
  #endif
68
68
 
69
69
 
70
- /* The objects library deals with the registration and indexing of ASN.1 object
71
- * identifiers. These values are often written as a dotted sequence of numbers,
72
- * e.g. 1.2.840.113549.1.9.16.3.9.
73
- *
74
- * Internally, OpenSSL likes to deal with these values by numbering them with
75
- * numbers called "nids". OpenSSL has a large, built-in database of common
76
- * object identifiers and also has both short and long names for them.
77
- *
78
- * This library provides functions for translating between object identifiers,
79
- * nids, short names and long names.
80
- *
81
- * The nid values should not be used outside of a single process: they are not
82
- * stable identifiers. */
83
-
84
-
85
- /* Basic operations. */
86
-
87
- /* OBJ_dup returns a duplicate copy of |obj| or NULL on allocation failure. */
70
+ // The objects library deals with the registration and indexing of ASN.1 object
71
+ // identifiers. These values are often written as a dotted sequence of numbers,
72
+ // e.g. 1.2.840.113549.1.9.16.3.9.
73
+ //
74
+ // Internally, OpenSSL likes to deal with these values by numbering them with
75
+ // numbers called "nids". OpenSSL has a large, built-in database of common
76
+ // object identifiers and also has both short and long names for them.
77
+ //
78
+ // This library provides functions for translating between object identifiers,
79
+ // nids, short names and long names.
80
+ //
81
+ // The nid values should not be used outside of a single process: they are not
82
+ // stable identifiers.
83
+
84
+
85
+ // Basic operations.
86
+
87
+ // OBJ_dup returns a duplicate copy of |obj| or NULL on allocation failure.
88
88
  OPENSSL_EXPORT ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *obj);
89
89
 
90
- /* OBJ_cmp returns a value less than, equal to or greater than zero if |a| is
91
- * less than, equal to or greater than |b|, respectively. */
90
+ // OBJ_cmp returns a value less than, equal to or greater than zero if |a| is
91
+ // less than, equal to or greater than |b|, respectively.
92
92
  OPENSSL_EXPORT int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
93
93
 
94
+ // OBJ_get0_data returns a pointer to the DER representation of |obj|.
95
+ OPENSSL_EXPORT const uint8_t *OBJ_get0_data(const ASN1_OBJECT *obj);
94
96
 
95
- /* Looking up nids. */
97
+ // OBJ_length returns the length of the DER representation of |obj|.
98
+ OPENSSL_EXPORT size_t OBJ_length(const ASN1_OBJECT *obj);
96
99
 
97
- /* OBJ_obj2nid returns the nid corresponding to |obj|, or |NID_undef| if no
98
- * such object is known. */
100
+
101
+ // Looking up nids.
102
+
103
+ // OBJ_obj2nid returns the nid corresponding to |obj|, or |NID_undef| if no
104
+ // such object is known.
99
105
  OPENSSL_EXPORT int OBJ_obj2nid(const ASN1_OBJECT *obj);
100
106
 
101
- /* OBJ_cbs2nid returns the nid corresponding to the DER data in |cbs|, or
102
- * |NID_undef| if no such object is known. */
107
+ // OBJ_cbs2nid returns the nid corresponding to the DER data in |cbs|, or
108
+ // |NID_undef| if no such object is known.
103
109
  OPENSSL_EXPORT int OBJ_cbs2nid(const CBS *cbs);
104
110
 
105
- /* OBJ_sn2nid returns the nid corresponding to |short_name|, or |NID_undef| if
106
- * no such short name is known. */
111
+ // OBJ_sn2nid returns the nid corresponding to |short_name|, or |NID_undef| if
112
+ // no such short name is known.
107
113
  OPENSSL_EXPORT int OBJ_sn2nid(const char *short_name);
108
114
 
109
- /* OBJ_ln2nid returns the nid corresponding to |long_name|, or |NID_undef| if
110
- * no such long name is known. */
115
+ // OBJ_ln2nid returns the nid corresponding to |long_name|, or |NID_undef| if
116
+ // no such long name is known.
111
117
  OPENSSL_EXPORT int OBJ_ln2nid(const char *long_name);
112
118
 
113
- /* OBJ_txt2nid returns the nid corresponding to |s|, which may be a short name,
114
- * long name, or an ASCII string containing a dotted sequence of numbers. It
115
- * returns the nid or NID_undef if unknown. */
119
+ // OBJ_txt2nid returns the nid corresponding to |s|, which may be a short name,
120
+ // long name, or an ASCII string containing a dotted sequence of numbers. It
121
+ // returns the nid or NID_undef if unknown.
116
122
  OPENSSL_EXPORT int OBJ_txt2nid(const char *s);
117
123
 
118
124
 
119
- /* Getting information about nids. */
125
+ // Getting information about nids.
120
126
 
121
- /* OBJ_nid2obj returns the ASN1_OBJECT corresponding to |nid|, or NULL if |nid|
122
- * is unknown. */
127
+ // OBJ_nid2obj returns the ASN1_OBJECT corresponding to |nid|, or NULL if |nid|
128
+ // is unknown.
123
129
  OPENSSL_EXPORT const ASN1_OBJECT *OBJ_nid2obj(int nid);
124
130
 
125
- /* OBJ_nid2sn returns the short name for |nid|, or NULL if |nid| is unknown. */
131
+ // OBJ_nid2sn returns the short name for |nid|, or NULL if |nid| is unknown.
126
132
  OPENSSL_EXPORT const char *OBJ_nid2sn(int nid);
127
133
 
128
- /* OBJ_nid2ln returns the long name for |nid|, or NULL if |nid| is unknown. */
134
+ // OBJ_nid2ln returns the long name for |nid|, or NULL if |nid| is unknown.
129
135
  OPENSSL_EXPORT const char *OBJ_nid2ln(int nid);
130
136
 
131
- /* OBJ_nid2cbb writes |nid| as an ASN.1 OBJECT IDENTIFIER to |out|. It returns
132
- * one on success or zero otherwise. */
137
+ // OBJ_nid2cbb writes |nid| as an ASN.1 OBJECT IDENTIFIER to |out|. It returns
138
+ // one on success or zero otherwise.
133
139
  OPENSSL_EXPORT int OBJ_nid2cbb(CBB *out, int nid);
134
140
 
135
141
 
136
- /* Dealing with textual representations of object identifiers. */
142
+ // Dealing with textual representations of object identifiers.
137
143
 
138
- /* OBJ_txt2obj returns an ASN1_OBJECT for the textual representation in |s|.
139
- * If |dont_search_names| is zero, then |s| will be matched against the long
140
- * and short names of a known objects to find a match. Otherwise |s| must
141
- * contain an ASCII string with a dotted sequence of numbers. The resulting
142
- * object need not be previously known. It returns a freshly allocated
143
- * |ASN1_OBJECT| or NULL on error. */
144
+ // OBJ_txt2obj returns an ASN1_OBJECT for the textual representation in |s|.
145
+ // If |dont_search_names| is zero, then |s| will be matched against the long
146
+ // and short names of a known objects to find a match. Otherwise |s| must
147
+ // contain an ASCII string with a dotted sequence of numbers. The resulting
148
+ // object need not be previously known. It returns a freshly allocated
149
+ // |ASN1_OBJECT| or NULL on error.
144
150
  OPENSSL_EXPORT ASN1_OBJECT *OBJ_txt2obj(const char *s, int dont_search_names);
145
151
 
146
- /* OBJ_obj2txt converts |obj| to a textual representation. If
147
- * |always_return_oid| is zero then |obj| will be matched against known objects
148
- * and the long (preferably) or short name will be used if found. Otherwise
149
- * |obj| will be converted into a dotted sequence of integers. If |out| is not
150
- * NULL, then at most |out_len| bytes of the textual form will be written
151
- * there. If |out_len| is at least one, then string written to |out| will
152
- * always be NUL terminated. It returns the number of characters that could
153
- * have been written, not including the final NUL, or -1 on error. */
152
+ // OBJ_obj2txt converts |obj| to a textual representation. If
153
+ // |always_return_oid| is zero then |obj| will be matched against known objects
154
+ // and the long (preferably) or short name will be used if found. Otherwise
155
+ // |obj| will be converted into a dotted sequence of integers. If |out| is not
156
+ // NULL, then at most |out_len| bytes of the textual form will be written
157
+ // there. If |out_len| is at least one, then string written to |out| will
158
+ // always be NUL terminated. It returns the number of characters that could
159
+ // have been written, not including the final NUL, or -1 on error.
154
160
  OPENSSL_EXPORT int OBJ_obj2txt(char *out, int out_len, const ASN1_OBJECT *obj,
155
161
  int always_return_oid);
156
162
 
157
163
 
158
- /* Adding objects at runtime. */
164
+ // Adding objects at runtime.
159
165
 
160
- /* OBJ_create adds a known object and returns the nid of the new object, or
161
- * NID_undef on error. */
166
+ // OBJ_create adds a known object and returns the nid of the new object, or
167
+ // NID_undef on error.
162
168
  OPENSSL_EXPORT int OBJ_create(const char *oid, const char *short_name,
163
169
  const char *long_name);
164
170
 
165
171
 
166
- /* Handling signature algorithm identifiers.
167
- *
168
- * Some NIDs (e.g. sha256WithRSAEncryption) specify both a digest algorithm and
169
- * a public key algorithm. The following functions map between pairs of digest
170
- * and public-key algorithms and the NIDs that specify their combination.
171
- *
172
- * Sometimes the combination NID leaves the digest unspecified (e.g.
173
- * rsassaPss). In these cases, the digest NID is |NID_undef|. */
174
-
175
- /* OBJ_find_sigid_algs finds the digest and public-key NIDs that correspond to
176
- * the signing algorithm |sign_nid|. If successful, it sets |*out_digest_nid|
177
- * and |*out_pkey_nid| and returns one. Otherwise it returns zero. Any of
178
- * |out_digest_nid| or |out_pkey_nid| can be NULL if the caller doesn't need
179
- * that output value. */
172
+ // Handling signature algorithm identifiers.
173
+ //
174
+ // Some NIDs (e.g. sha256WithRSAEncryption) specify both a digest algorithm and
175
+ // a public key algorithm. The following functions map between pairs of digest
176
+ // and public-key algorithms and the NIDs that specify their combination.
177
+ //
178
+ // Sometimes the combination NID leaves the digest unspecified (e.g.
179
+ // rsassaPss). In these cases, the digest NID is |NID_undef|.
180
+
181
+ // OBJ_find_sigid_algs finds the digest and public-key NIDs that correspond to
182
+ // the signing algorithm |sign_nid|. If successful, it sets |*out_digest_nid|
183
+ // and |*out_pkey_nid| and returns one. Otherwise it returns zero. Any of
184
+ // |out_digest_nid| or |out_pkey_nid| can be NULL if the caller doesn't need
185
+ // that output value.
180
186
  OPENSSL_EXPORT int OBJ_find_sigid_algs(int sign_nid, int *out_digest_nid,
181
187
  int *out_pkey_nid);
182
188
 
183
- /* OBJ_find_sigid_by_algs finds the signature NID that corresponds to the
184
- * combination of |digest_nid| and |pkey_nid|. If success, it sets
185
- * |*out_sign_nid| and returns one. Otherwise it returns zero. The
186
- * |out_sign_nid| argument can be NULL if the caller only wishes to learn
187
- * whether the combination is valid. */
189
+ // OBJ_find_sigid_by_algs finds the signature NID that corresponds to the
190
+ // combination of |digest_nid| and |pkey_nid|. If success, it sets
191
+ // |*out_sign_nid| and returns one. Otherwise it returns zero. The
192
+ // |out_sign_nid| argument can be NULL if the caller only wishes to learn
193
+ // whether the combination is valid.
188
194
  OPENSSL_EXPORT int OBJ_find_sigid_by_algs(int *out_sign_nid, int digest_nid,
189
195
  int pkey_nid);
190
196
 
191
197
 
192
- /* Deprecated functions. */
198
+ // Deprecated functions.
193
199
 
194
200
  typedef struct obj_name_st {
195
201
  int type;
@@ -201,26 +207,26 @@ typedef struct obj_name_st {
201
207
  #define OBJ_NAME_TYPE_MD_METH 1
202
208
  #define OBJ_NAME_TYPE_CIPHER_METH 2
203
209
 
204
- /* OBJ_NAME_do_all_sorted calls |callback| zero or more times, each time with
205
- * the name of a different primitive. If |type| is |OBJ_NAME_TYPE_MD_METH| then
206
- * the primitives will be hash functions, alternatively if |type| is
207
- * |OBJ_NAME_TYPE_CIPHER_METH| then the primitives will be ciphers or cipher
208
- * modes.
209
- *
210
- * This function is ill-specified and should never be used. */
210
+ // OBJ_NAME_do_all_sorted calls |callback| zero or more times, each time with
211
+ // the name of a different primitive. If |type| is |OBJ_NAME_TYPE_MD_METH| then
212
+ // the primitives will be hash functions, alternatively if |type| is
213
+ // |OBJ_NAME_TYPE_CIPHER_METH| then the primitives will be ciphers or cipher
214
+ // modes.
215
+ //
216
+ // This function is ill-specified and should never be used.
211
217
  OPENSSL_EXPORT void OBJ_NAME_do_all_sorted(
212
218
  int type, void (*callback)(const OBJ_NAME *, void *arg), void *arg);
213
219
 
214
- /* OBJ_NAME_do_all calls |OBJ_NAME_do_all_sorted|. */
220
+ // OBJ_NAME_do_all calls |OBJ_NAME_do_all_sorted|.
215
221
  OPENSSL_EXPORT void OBJ_NAME_do_all(int type, void (*callback)(const OBJ_NAME *,
216
222
  void *arg),
217
223
  void *arg);
218
224
 
219
225
 
220
226
  #if defined(__cplusplus)
221
- } /* extern C */
227
+ } // extern C
222
228
  #endif
223
229
 
224
230
  #define OBJ_R_UNKNOWN_NID 100
225
231
 
226
- #endif /* OPENSSL_HEADER_OBJ_H */
232
+ #endif // OPENSSL_HEADER_OBJ_H