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
@@ -21,7 +21,7 @@
21
21
  #include <inttypes.h>
22
22
  #include <stdlib.h>
23
23
 
24
- #include <grpc/support/useful.h>
24
+ #include "src/core/lib/gpr/useful.h"
25
25
 
26
26
  grpc_core::TraceFlag grpc_bdp_estimator_trace(false, "bdp_estimator");
27
27
 
@@ -40,8 +40,9 @@ BdpEstimator::BdpEstimator(const char* name)
40
40
  grpc_millis BdpEstimator::CompletePing() {
41
41
  gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC);
42
42
  gpr_timespec dt_ts = gpr_time_sub(now, ping_start_time_);
43
- double dt = (double)dt_ts.tv_sec + 1e-9 * (double)dt_ts.tv_nsec;
44
- double bw = dt > 0 ? ((double)accumulator_ / dt) : 0;
43
+ double dt = static_cast<double>(dt_ts.tv_sec) +
44
+ 1e-9 * static_cast<double>(dt_ts.tv_nsec);
45
+ double bw = dt > 0 ? (static_cast<double>(accumulator_) / dt) : 0;
45
46
  int start_inter_ping_delay = inter_ping_delay_;
46
47
  if (grpc_bdp_estimator_trace.enabled()) {
47
48
  gpr_log(GPR_DEBUG,
@@ -64,8 +65,8 @@ grpc_millis BdpEstimator::CompletePing() {
64
65
  stable_estimate_count_++;
65
66
  if (stable_estimate_count_ >= 2) {
66
67
  inter_ping_delay_ +=
67
- 100 +
68
- (int)(rand() * 100.0 / RAND_MAX); // if the ping estimate is steady,
68
+ 100 + static_cast<int>(rand() * 100.0 /
69
+ RAND_MAX); // if the ping estimate is steady,
69
70
  // slowly ramp down the probe time
70
71
  }
71
72
  }
@@ -49,34 +49,38 @@ void grpc_byte_stream_destroy(grpc_byte_stream* byte_stream) {
49
49
  static bool slice_buffer_stream_next(grpc_byte_stream* byte_stream,
50
50
  size_t max_size_hint,
51
51
  grpc_closure* on_complete) {
52
- grpc_slice_buffer_stream* stream = (grpc_slice_buffer_stream*)byte_stream;
53
- GPR_ASSERT(stream->cursor < stream->backing_buffer->count);
52
+ grpc_slice_buffer_stream* stream =
53
+ reinterpret_cast<grpc_slice_buffer_stream*>(byte_stream);
54
+ GPR_ASSERT(stream->cursor < stream->backing_buffer.count);
54
55
  return true;
55
56
  }
56
57
 
57
58
  static grpc_error* slice_buffer_stream_pull(grpc_byte_stream* byte_stream,
58
59
  grpc_slice* slice) {
59
- grpc_slice_buffer_stream* stream = (grpc_slice_buffer_stream*)byte_stream;
60
+ grpc_slice_buffer_stream* stream =
61
+ reinterpret_cast<grpc_slice_buffer_stream*>(byte_stream);
60
62
  if (stream->shutdown_error != GRPC_ERROR_NONE) {
61
63
  return GRPC_ERROR_REF(stream->shutdown_error);
62
64
  }
63
- GPR_ASSERT(stream->cursor < stream->backing_buffer->count);
65
+ GPR_ASSERT(stream->cursor < stream->backing_buffer.count);
64
66
  *slice =
65
- grpc_slice_ref_internal(stream->backing_buffer->slices[stream->cursor]);
67
+ grpc_slice_ref_internal(stream->backing_buffer.slices[stream->cursor]);
66
68
  stream->cursor++;
67
69
  return GRPC_ERROR_NONE;
68
70
  }
69
71
 
70
72
  static void slice_buffer_stream_shutdown(grpc_byte_stream* byte_stream,
71
73
  grpc_error* error) {
72
- grpc_slice_buffer_stream* stream = (grpc_slice_buffer_stream*)byte_stream;
74
+ grpc_slice_buffer_stream* stream =
75
+ reinterpret_cast<grpc_slice_buffer_stream*>(byte_stream);
73
76
  GRPC_ERROR_UNREF(stream->shutdown_error);
74
77
  stream->shutdown_error = error;
75
78
  }
76
79
 
77
80
  static void slice_buffer_stream_destroy(grpc_byte_stream* byte_stream) {
78
- grpc_slice_buffer_stream* stream = (grpc_slice_buffer_stream*)byte_stream;
79
- grpc_slice_buffer_reset_and_unref_internal(stream->backing_buffer);
81
+ grpc_slice_buffer_stream* stream =
82
+ reinterpret_cast<grpc_slice_buffer_stream*>(byte_stream);
83
+ grpc_slice_buffer_destroy(&stream->backing_buffer);
80
84
  GRPC_ERROR_UNREF(stream->shutdown_error);
81
85
  }
82
86
 
@@ -88,10 +92,11 @@ void grpc_slice_buffer_stream_init(grpc_slice_buffer_stream* stream,
88
92
  grpc_slice_buffer* slice_buffer,
89
93
  uint32_t flags) {
90
94
  GPR_ASSERT(slice_buffer->length <= UINT32_MAX);
91
- stream->base.length = (uint32_t)slice_buffer->length;
95
+ stream->base.length = static_cast<uint32_t>(slice_buffer->length);
92
96
  stream->base.flags = flags;
93
97
  stream->base.vtable = &slice_buffer_stream_vtable;
94
- stream->backing_buffer = slice_buffer;
98
+ grpc_slice_buffer_init(&stream->backing_buffer);
99
+ grpc_slice_buffer_swap(slice_buffer, &stream->backing_buffer);
95
100
  stream->cursor = 0;
96
101
  stream->shutdown_error = GRPC_ERROR_NONE;
97
102
  }
@@ -112,7 +117,8 @@ void grpc_byte_stream_cache_destroy(grpc_byte_stream_cache* cache) {
112
117
  static bool caching_byte_stream_next(grpc_byte_stream* byte_stream,
113
118
  size_t max_size_hint,
114
119
  grpc_closure* on_complete) {
115
- grpc_caching_byte_stream* stream = (grpc_caching_byte_stream*)byte_stream;
120
+ grpc_caching_byte_stream* stream =
121
+ reinterpret_cast<grpc_caching_byte_stream*>(byte_stream);
116
122
  if (stream->shutdown_error != GRPC_ERROR_NONE) return true;
117
123
  if (stream->cursor < stream->cache->cache_buffer.count) return true;
118
124
  return grpc_byte_stream_next(stream->cache->underlying_stream, max_size_hint,
@@ -121,7 +127,8 @@ static bool caching_byte_stream_next(grpc_byte_stream* byte_stream,
121
127
 
122
128
  static grpc_error* caching_byte_stream_pull(grpc_byte_stream* byte_stream,
123
129
  grpc_slice* slice) {
124
- grpc_caching_byte_stream* stream = (grpc_caching_byte_stream*)byte_stream;
130
+ grpc_caching_byte_stream* stream =
131
+ reinterpret_cast<grpc_caching_byte_stream*>(byte_stream);
125
132
  if (stream->shutdown_error != GRPC_ERROR_NONE) {
126
133
  return GRPC_ERROR_REF(stream->shutdown_error);
127
134
  }
@@ -143,14 +150,16 @@ static grpc_error* caching_byte_stream_pull(grpc_byte_stream* byte_stream,
143
150
 
144
151
  static void caching_byte_stream_shutdown(grpc_byte_stream* byte_stream,
145
152
  grpc_error* error) {
146
- grpc_caching_byte_stream* stream = (grpc_caching_byte_stream*)byte_stream;
153
+ grpc_caching_byte_stream* stream =
154
+ reinterpret_cast<grpc_caching_byte_stream*>(byte_stream);
147
155
  GRPC_ERROR_UNREF(stream->shutdown_error);
148
156
  stream->shutdown_error = GRPC_ERROR_REF(error);
149
157
  grpc_byte_stream_shutdown(stream->cache->underlying_stream, error);
150
158
  }
151
159
 
152
160
  static void caching_byte_stream_destroy(grpc_byte_stream* byte_stream) {
153
- grpc_caching_byte_stream* stream = (grpc_caching_byte_stream*)byte_stream;
161
+ grpc_caching_byte_stream* stream =
162
+ reinterpret_cast<grpc_caching_byte_stream*>(byte_stream);
154
163
  GRPC_ERROR_UNREF(stream->shutdown_error);
155
164
  }
156
165
 
@@ -81,7 +81,7 @@ void grpc_byte_stream_destroy(grpc_byte_stream* byte_stream);
81
81
 
82
82
  typedef struct grpc_slice_buffer_stream {
83
83
  grpc_byte_stream base;
84
- grpc_slice_buffer* backing_buffer;
84
+ grpc_slice_buffer backing_buffer;
85
85
  size_t cursor;
86
86
  grpc_error* shutdown_error;
87
87
  } grpc_slice_buffer_stream;
@@ -73,9 +73,8 @@ void grpc_connectivity_state_destroy(grpc_connectivity_state_tracker* tracker) {
73
73
 
74
74
  grpc_connectivity_state grpc_connectivity_state_check(
75
75
  grpc_connectivity_state_tracker* tracker) {
76
- grpc_connectivity_state cur =
77
- (grpc_connectivity_state)gpr_atm_no_barrier_load(
78
- &tracker->current_state_atm);
76
+ grpc_connectivity_state cur = static_cast<grpc_connectivity_state>(
77
+ gpr_atm_no_barrier_load(&tracker->current_state_atm));
79
78
  if (grpc_connectivity_state_trace.enabled()) {
80
79
  gpr_log(GPR_DEBUG, "CONWATCH: %p %s: get %s", tracker, tracker->name,
81
80
  grpc_connectivity_state_name(cur));
@@ -85,9 +84,8 @@ grpc_connectivity_state grpc_connectivity_state_check(
85
84
 
86
85
  grpc_connectivity_state grpc_connectivity_state_get(
87
86
  grpc_connectivity_state_tracker* tracker, grpc_error** error) {
88
- grpc_connectivity_state cur =
89
- (grpc_connectivity_state)gpr_atm_no_barrier_load(
90
- &tracker->current_state_atm);
87
+ grpc_connectivity_state cur = static_cast<grpc_connectivity_state>(
88
+ gpr_atm_no_barrier_load(&tracker->current_state_atm));
91
89
  if (grpc_connectivity_state_trace.enabled()) {
92
90
  gpr_log(GPR_DEBUG, "CONWATCH: %p %s: get %s", tracker, tracker->name,
93
91
  grpc_connectivity_state_name(cur));
@@ -106,9 +104,8 @@ bool grpc_connectivity_state_has_watchers(
106
104
  bool grpc_connectivity_state_notify_on_state_change(
107
105
  grpc_connectivity_state_tracker* tracker, grpc_connectivity_state* current,
108
106
  grpc_closure* notify) {
109
- grpc_connectivity_state cur =
110
- (grpc_connectivity_state)gpr_atm_no_barrier_load(
111
- &tracker->current_state_atm);
107
+ grpc_connectivity_state cur = static_cast<grpc_connectivity_state>(
108
+ gpr_atm_no_barrier_load(&tracker->current_state_atm));
112
109
  if (grpc_connectivity_state_trace.enabled()) {
113
110
  if (current == nullptr) {
114
111
  gpr_log(GPR_DEBUG, "CONWATCH: %p %s: unsubscribe notify=%p", tracker,
@@ -144,7 +141,7 @@ bool grpc_connectivity_state_notify_on_state_change(
144
141
  GRPC_CLOSURE_SCHED(notify, GRPC_ERROR_REF(tracker->current_error));
145
142
  } else {
146
143
  grpc_connectivity_state_watcher* w =
147
- (grpc_connectivity_state_watcher*)gpr_malloc(sizeof(*w));
144
+ static_cast<grpc_connectivity_state_watcher*>(gpr_malloc(sizeof(*w)));
148
145
  w->current = current;
149
146
  w->notify = notify;
150
147
  w->next = tracker->watchers;
@@ -157,9 +154,8 @@ bool grpc_connectivity_state_notify_on_state_change(
157
154
  void grpc_connectivity_state_set(grpc_connectivity_state_tracker* tracker,
158
155
  grpc_connectivity_state state,
159
156
  grpc_error* error, const char* reason) {
160
- grpc_connectivity_state cur =
161
- (grpc_connectivity_state)gpr_atm_no_barrier_load(
162
- &tracker->current_state_atm);
157
+ grpc_connectivity_state cur = static_cast<grpc_connectivity_state>(
158
+ gpr_atm_no_barrier_load(&tracker->current_state_atm));
163
159
  grpc_connectivity_state_watcher* w;
164
160
  if (grpc_connectivity_state_trace.enabled()) {
165
161
  const char* error_string = grpc_error_string(error);
@@ -32,7 +32,8 @@ static grpc_error* recursively_find_error_with_field(grpc_error* error,
32
32
  // Otherwise, search through its children.
33
33
  uint8_t slot = error->first_err;
34
34
  while (slot != UINT8_MAX) {
35
- grpc_linked_error* lerr = (grpc_linked_error*)(error->arena + slot);
35
+ grpc_linked_error* lerr =
36
+ reinterpret_cast<grpc_linked_error*>(error->arena + slot);
36
37
  grpc_error* result = recursively_find_error_with_field(lerr->err, which);
37
38
  if (result) return result;
38
39
  slot = lerr->next;
@@ -62,11 +63,11 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
62
63
  grpc_status_code status = GRPC_STATUS_UNKNOWN;
63
64
  intptr_t integer;
64
65
  if (grpc_error_get_int(found_error, GRPC_ERROR_INT_GRPC_STATUS, &integer)) {
65
- status = (grpc_status_code)integer;
66
+ status = static_cast<grpc_status_code>(integer);
66
67
  } else if (grpc_error_get_int(found_error, GRPC_ERROR_INT_HTTP2_ERROR,
67
68
  &integer)) {
68
- status = grpc_http2_error_to_grpc_status((grpc_http2_error_code)integer,
69
- deadline);
69
+ status = grpc_http2_error_to_grpc_status(
70
+ static_cast<grpc_http2_error_code>(integer), deadline);
70
71
  }
71
72
  if (code != nullptr) *code = status;
72
73
 
@@ -76,10 +77,11 @@ void grpc_error_get_status(grpc_error* error, grpc_millis deadline,
76
77
 
77
78
  if (http_error != nullptr) {
78
79
  if (grpc_error_get_int(found_error, GRPC_ERROR_INT_HTTP2_ERROR, &integer)) {
79
- *http_error = (grpc_http2_error_code)integer;
80
+ *http_error = static_cast<grpc_http2_error_code>(integer);
80
81
  } else if (grpc_error_get_int(found_error, GRPC_ERROR_INT_GRPC_STATUS,
81
82
  &integer)) {
82
- *http_error = grpc_status_to_http2_error((grpc_status_code)integer);
83
+ *http_error =
84
+ grpc_status_to_http2_error(static_cast<grpc_status_code>(integer));
83
85
  } else {
84
86
  *http_error = found_error == GRPC_ERROR_NONE ? GRPC_HTTP2_NO_ERROR
85
87
  : GRPC_HTTP2_INTERNAL_ERROR;
@@ -103,7 +105,8 @@ bool grpc_error_has_clear_grpc_status(grpc_error* error) {
103
105
  }
104
106
  uint8_t slot = error->first_err;
105
107
  while (slot != UINT8_MAX) {
106
- grpc_linked_error* lerr = (grpc_linked_error*)(error->arena + slot);
108
+ grpc_linked_error* lerr =
109
+ reinterpret_cast<grpc_linked_error*>(error->arena + slot);
107
110
  if (grpc_error_has_clear_grpc_status(lerr->err)) {
108
111
  return true;
109
112
  }
@@ -118,8 +118,8 @@ void grpc_mdctx_global_init(void) {
118
118
  shard->count = 0;
119
119
  gpr_atm_no_barrier_store(&shard->free_estimate, 0);
120
120
  shard->capacity = INITIAL_SHARD_CAPACITY;
121
- shard->elems = (interned_metadata**)gpr_zalloc(sizeof(*shard->elems) *
122
- shard->capacity);
121
+ shard->elems = static_cast<interned_metadata**>(
122
+ gpr_zalloc(sizeof(*shard->elems) * shard->capacity));
123
123
  }
124
124
  }
125
125
 
@@ -166,12 +166,13 @@ static void ref_md_locked(mdtab_shard* shard,
166
166
  }
167
167
 
168
168
  static void gc_mdtab(mdtab_shard* shard) {
169
+ GPR_TIMER_SCOPE("gc_mdtab", 0);
170
+
169
171
  size_t i;
170
172
  interned_metadata** prev_next;
171
173
  interned_metadata *md, *next;
172
174
  gpr_atm num_freed = 0;
173
175
 
174
- GPR_TIMER_BEGIN("gc_mdtab", 0);
175
176
  for (i = 0; i < shard->capacity; i++) {
176
177
  prev_next = &shard->elems[i];
177
178
  for (md = shard->elems[i]; md; md = next) {
@@ -194,20 +195,19 @@ static void gc_mdtab(mdtab_shard* shard) {
194
195
  }
195
196
  }
196
197
  gpr_atm_no_barrier_fetch_add(&shard->free_estimate, -num_freed);
197
- GPR_TIMER_END("gc_mdtab", 0);
198
198
  }
199
199
 
200
200
  static void grow_mdtab(mdtab_shard* shard) {
201
+ GPR_TIMER_SCOPE("grow_mdtab", 0);
202
+
201
203
  size_t capacity = shard->capacity * 2;
202
204
  size_t i;
203
205
  interned_metadata** mdtab;
204
206
  interned_metadata *md, *next;
205
207
  uint32_t hash;
206
208
 
207
- GPR_TIMER_BEGIN("grow_mdtab", 0);
208
-
209
- mdtab =
210
- (interned_metadata**)gpr_zalloc(sizeof(interned_metadata*) * capacity);
209
+ mdtab = static_cast<interned_metadata**>(
210
+ gpr_zalloc(sizeof(interned_metadata*) * capacity));
211
211
 
212
212
  for (i = 0; i < shard->capacity; i++) {
213
213
  for (md = shard->elems[i]; md; md = next) {
@@ -220,17 +220,14 @@ static void grow_mdtab(mdtab_shard* shard) {
220
220
  mdtab[idx] = md;
221
221
  }
222
222
  }
223
-
224
223
  gpr_free(shard->elems);
225
224
  shard->elems = mdtab;
226
225
  shard->capacity = capacity;
227
-
228
- GPR_TIMER_END("grow_mdtab", 0);
229
226
  }
230
227
 
231
228
  static void rehash_mdtab(mdtab_shard* shard) {
232
229
  if (gpr_atm_no_barrier_load(&shard->free_estimate) >
233
- (gpr_atm)(shard->capacity / 4)) {
230
+ static_cast<gpr_atm>(shard->capacity / 4)) {
234
231
  gc_mdtab(shard);
235
232
  } else {
236
233
  grow_mdtab(shard);
@@ -247,7 +244,7 @@ grpc_mdelem grpc_mdelem_create(
247
244
  }
248
245
 
249
246
  allocated_metadata* allocated =
250
- (allocated_metadata*)gpr_malloc(sizeof(*allocated));
247
+ static_cast<allocated_metadata*>(gpr_malloc(sizeof(*allocated)));
251
248
  allocated->key = grpc_slice_ref_internal(key);
252
249
  allocated->value = grpc_slice_ref_internal(value);
253
250
  gpr_atm_rel_store(&allocated->refcnt, 1);
@@ -280,7 +277,7 @@ grpc_mdelem grpc_mdelem_create(
280
277
  mdtab_shard* shard = &g_shards[SHARD_IDX(hash)];
281
278
  size_t idx;
282
279
 
283
- GPR_TIMER_BEGIN("grpc_mdelem_from_metadata_strings", 0);
280
+ GPR_TIMER_SCOPE("grpc_mdelem_from_metadata_strings", 0);
284
281
 
285
282
  gpr_mu_lock(&shard->mu);
286
283
 
@@ -290,13 +287,12 @@ grpc_mdelem grpc_mdelem_create(
290
287
  if (grpc_slice_eq(key, md->key) && grpc_slice_eq(value, md->value)) {
291
288
  REF_MD_LOCKED(shard, md);
292
289
  gpr_mu_unlock(&shard->mu);
293
- GPR_TIMER_END("grpc_mdelem_from_metadata_strings", 0);
294
290
  return GRPC_MAKE_MDELEM(md, GRPC_MDELEM_STORAGE_INTERNED);
295
291
  }
296
292
  }
297
293
 
298
294
  /* not found: create a new pair */
299
- md = (interned_metadata*)gpr_malloc(sizeof(interned_metadata));
295
+ md = static_cast<interned_metadata*>(gpr_malloc(sizeof(interned_metadata)));
300
296
  gpr_atm_rel_store(&md->refcnt, 1);
301
297
  md->key = grpc_slice_ref_internal(key);
302
298
  md->value = grpc_slice_ref_internal(value);
@@ -323,8 +319,6 @@ grpc_mdelem grpc_mdelem_create(
323
319
 
324
320
  gpr_mu_unlock(&shard->mu);
325
321
 
326
- GPR_TIMER_END("grpc_mdelem_from_metadata_strings", 0);
327
-
328
322
  return GRPC_MAKE_MDELEM(md, GRPC_MDELEM_STORAGE_INTERNED);
329
323
  }
330
324
 
@@ -341,8 +335,9 @@ grpc_mdelem grpc_mdelem_from_grpc_metadata(grpc_metadata* metadata) {
341
335
  grpc_slice_maybe_static_intern(metadata->key, &changed);
342
336
  grpc_slice value_slice =
343
337
  grpc_slice_maybe_static_intern(metadata->value, &changed);
344
- return grpc_mdelem_create(key_slice, value_slice,
345
- changed ? nullptr : (grpc_mdelem_data*)metadata);
338
+ return grpc_mdelem_create(
339
+ key_slice, value_slice,
340
+ changed ? nullptr : reinterpret_cast<grpc_mdelem_data*>(metadata));
346
341
  }
347
342
 
348
343
  static size_t get_base64_encoded_size(size_t raw_length) {
@@ -369,7 +364,8 @@ grpc_mdelem grpc_mdelem_ref(grpc_mdelem gmd DEBUG_ARGS) {
369
364
  case GRPC_MDELEM_STORAGE_STATIC:
370
365
  break;
371
366
  case GRPC_MDELEM_STORAGE_INTERNED: {
372
- interned_metadata* md = (interned_metadata*)GRPC_MDELEM_DATA(gmd);
367
+ interned_metadata* md =
368
+ reinterpret_cast<interned_metadata*> GRPC_MDELEM_DATA(gmd);
373
369
  #ifndef NDEBUG
374
370
  if (grpc_trace_metadata.enabled()) {
375
371
  char* key_str = grpc_slice_to_c_string(md->key);
@@ -391,7 +387,8 @@ grpc_mdelem grpc_mdelem_ref(grpc_mdelem gmd DEBUG_ARGS) {
391
387
  break;
392
388
  }
393
389
  case GRPC_MDELEM_STORAGE_ALLOCATED: {
394
- allocated_metadata* md = (allocated_metadata*)GRPC_MDELEM_DATA(gmd);
390
+ allocated_metadata* md =
391
+ reinterpret_cast<allocated_metadata*> GRPC_MDELEM_DATA(gmd);
395
392
  #ifndef NDEBUG
396
393
  if (grpc_trace_metadata.enabled()) {
397
394
  char* key_str = grpc_slice_to_c_string(md->key);
@@ -421,7 +418,8 @@ void grpc_mdelem_unref(grpc_mdelem gmd DEBUG_ARGS) {
421
418
  case GRPC_MDELEM_STORAGE_STATIC:
422
419
  break;
423
420
  case GRPC_MDELEM_STORAGE_INTERNED: {
424
- interned_metadata* md = (interned_metadata*)GRPC_MDELEM_DATA(gmd);
421
+ interned_metadata* md =
422
+ reinterpret_cast<interned_metadata*> GRPC_MDELEM_DATA(gmd);
425
423
  #ifndef NDEBUG
426
424
  if (grpc_trace_metadata.enabled()) {
427
425
  char* key_str = grpc_slice_to_c_string(md->key);
@@ -447,7 +445,8 @@ void grpc_mdelem_unref(grpc_mdelem gmd DEBUG_ARGS) {
447
445
  break;
448
446
  }
449
447
  case GRPC_MDELEM_STORAGE_ALLOCATED: {
450
- allocated_metadata* md = (allocated_metadata*)GRPC_MDELEM_DATA(gmd);
448
+ allocated_metadata* md =
449
+ reinterpret_cast<allocated_metadata*> GRPC_MDELEM_DATA(gmd);
451
450
  #ifndef NDEBUG
452
451
  if (grpc_trace_metadata.enabled()) {
453
452
  char* key_str = grpc_slice_to_c_string(md->key);
@@ -481,7 +480,8 @@ void* grpc_mdelem_get_user_data(grpc_mdelem md, void (*destroy_func)(void*)) {
481
480
  return (void*)grpc_static_mdelem_user_data[GRPC_MDELEM_DATA(md) -
482
481
  grpc_static_mdelem_table];
483
482
  case GRPC_MDELEM_STORAGE_INTERNED: {
484
- interned_metadata* im = (interned_metadata*)GRPC_MDELEM_DATA(md);
483
+ interned_metadata* im =
484
+ reinterpret_cast<interned_metadata*> GRPC_MDELEM_DATA(md);
485
485
  void* result;
486
486
  if (gpr_atm_acq_load(&im->destroy_user_data) == (gpr_atm)destroy_func) {
487
487
  return (void*)gpr_atm_no_barrier_load(&im->user_data);
@@ -506,7 +506,8 @@ void* grpc_mdelem_set_user_data(grpc_mdelem md, void (*destroy_func)(void*),
506
506
  return (void*)grpc_static_mdelem_user_data[GRPC_MDELEM_DATA(md) -
507
507
  grpc_static_mdelem_table];
508
508
  case GRPC_MDELEM_STORAGE_INTERNED: {
509
- interned_metadata* im = (interned_metadata*)GRPC_MDELEM_DATA(md);
509
+ interned_metadata* im =
510
+ reinterpret_cast<interned_metadata*> GRPC_MDELEM_DATA(md);
510
511
  GPR_ASSERT(!is_mdelem_static(md));
511
512
  GPR_ASSERT((user_data == nullptr) == (destroy_func == nullptr));
512
513
  gpr_mu_lock(&im->mu_user_data);
@@ -21,8 +21,8 @@
21
21
 
22
22
  #include <grpc/grpc.h>
23
23
  #include <grpc/slice.h>
24
- #include <grpc/support/useful.h>
25
24
 
25
+ #include "src/core/lib/gpr/useful.h"
26
26
  #include "src/core/lib/iomgr/exec_ctx.h"
27
27
 
28
28
  extern grpc_core::DebugOnlyTraceFlag grpc_trace_metadata;
@@ -17,7 +17,8 @@
17
17
  */
18
18
 
19
19
  #include "src/core/lib/transport/pid_controller.h"
20
- #include <grpc/support/useful.h>
20
+
21
+ #include "src/core/lib/gpr/useful.h"
21
22
 
22
23
  namespace grpc_core {
23
24
 
@@ -60,7 +60,7 @@ struct grpc_service_config {
60
60
 
61
61
  grpc_service_config* grpc_service_config_create(const char* json_string) {
62
62
  grpc_service_config* service_config =
63
- (grpc_service_config*)gpr_malloc(sizeof(*service_config));
63
+ static_cast<grpc_service_config*>(gpr_malloc(sizeof(*service_config)));
64
64
  service_config->json_string = gpr_strdup(json_string);
65
65
  service_config->json_tree =
66
66
  grpc_json_parse_string(service_config->json_string);
@@ -209,8 +209,8 @@ grpc_slice_hash_table* grpc_service_config_create_method_config_table(
209
209
  num_entries += count;
210
210
  }
211
211
  // Populate method config table entries.
212
- entries = (grpc_slice_hash_table_entry*)gpr_malloc(
213
- num_entries * sizeof(grpc_slice_hash_table_entry));
212
+ entries = static_cast<grpc_slice_hash_table_entry*>(
213
+ gpr_malloc(num_entries * sizeof(grpc_slice_hash_table_entry)));
214
214
  size_t idx = 0;
215
215
  for (grpc_json* method = field->child; method != nullptr;
216
216
  method = method->next) {
@@ -245,8 +245,8 @@ void* grpc_method_config_table_get(const grpc_slice_hash_table* table,
245
245
  if (value == nullptr) {
246
246
  char* path_str = grpc_slice_to_c_string(path);
247
247
  const char* sep = strrchr(path_str, '/') + 1;
248
- const size_t len = (size_t)(sep - path_str);
249
- char* buf = (char*)gpr_malloc(len + 2); // '*' and NUL
248
+ const size_t len = static_cast<size_t>(sep - path_str);
249
+ char* buf = static_cast<char*>(gpr_malloc(len + 2)); // '*' and NUL
250
250
  memcpy(buf, path_str, len);
251
251
  buf[len] = '*';
252
252
  buf[len + 1] = '\0';