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,26 +16,38 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_GPRXX_REF_COUNTED_H
20
- #define GRPC_CORE_LIB_GPRXX_REF_COUNTED_H
19
+ #ifndef GRPC_CORE_LIB_GPRPP_REF_COUNTED_H
20
+ #define GRPC_CORE_LIB_GPRPP_REF_COUNTED_H
21
21
 
22
22
  #include <grpc/support/log.h>
23
23
  #include <grpc/support/sync.h>
24
24
 
25
25
  #include "src/core/lib/debug/trace.h"
26
- #include "src/core/lib/gpr++/abstract.h"
27
- #include "src/core/lib/gpr++/debug_location.h"
28
- #include "src/core/lib/gpr++/memory.h"
26
+ #include "src/core/lib/gprpp/abstract.h"
27
+ #include "src/core/lib/gprpp/debug_location.h"
28
+ #include "src/core/lib/gprpp/memory.h"
29
+ #include "src/core/lib/gprpp/ref_counted_ptr.h"
29
30
 
30
31
  namespace grpc_core {
31
32
 
32
33
  // A base class for reference-counted objects.
33
34
  // New objects should be created via New() and start with a refcount of 1.
34
35
  // When the refcount reaches 0, the object will be deleted via Delete().
36
+ //
37
+ // This will commonly be used by CRTP (curiously-recurring template pattern)
38
+ // e.g., class MyClass : public RefCounted<MyClass>
39
+ template <typename Child>
35
40
  class RefCounted {
36
41
  public:
37
- void Ref() { gpr_ref(&refs_); }
42
+ RefCountedPtr<Child> Ref() GRPC_MUST_USE_RESULT {
43
+ IncrementRefCount();
44
+ return RefCountedPtr<Child>(static_cast<Child*>(this));
45
+ }
38
46
 
47
+ // TODO(roth): Once all of our code is converted to C++ and can use
48
+ // RefCountedPtr<> instead of manual ref-counting, make this method
49
+ // private, since it will only be used by RefCountedPtr<>, which is a
50
+ // friend of this class.
39
51
  void Unref() {
40
52
  if (gpr_unref(&refs_)) {
41
53
  Delete(this);
@@ -58,6 +70,11 @@ class RefCounted {
58
70
  virtual ~RefCounted() {}
59
71
 
60
72
  private:
73
+ // Allow RefCountedPtr<> to access IncrementRefCount().
74
+ friend class RefCountedPtr<Child>;
75
+
76
+ void IncrementRefCount() { gpr_ref(&refs_); }
77
+
61
78
  gpr_refcount refs_;
62
79
  };
63
80
 
@@ -67,20 +84,30 @@ class RefCounted {
67
84
  // pointers and legacy code that is manually calling Ref() and Unref().
68
85
  // Once all of our code is converted to idiomatic C++, we may be able to
69
86
  // eliminate this class.
87
+ template <typename Child>
70
88
  class RefCountedWithTracing {
71
89
  public:
72
- void Ref() { gpr_ref(&refs_); }
90
+ RefCountedPtr<Child> Ref() GRPC_MUST_USE_RESULT {
91
+ IncrementRefCount();
92
+ return RefCountedPtr<Child>(static_cast<Child*>(this));
93
+ }
73
94
 
74
- void Ref(const DebugLocation& location, const char* reason) {
95
+ RefCountedPtr<Child> Ref(const DebugLocation& location,
96
+ const char* reason) GRPC_MUST_USE_RESULT {
75
97
  if (location.Log() && trace_flag_ != nullptr && trace_flag_->enabled()) {
76
98
  gpr_atm old_refs = gpr_atm_no_barrier_load(&refs_.count);
77
99
  gpr_log(GPR_DEBUG, "%s:%p %s:%d ref %" PRIdPTR " -> %" PRIdPTR " %s",
78
100
  trace_flag_->name(), this, location.file(), location.line(),
79
101
  old_refs, old_refs + 1, reason);
80
102
  }
81
- Ref();
103
+ return Ref();
82
104
  }
83
105
 
106
+ // TODO(roth): Once all of our code is converted to C++ and can use
107
+ // RefCountedPtr<> instead of manual ref-counting, make the Unref() methods
108
+ // private, since they will only be used by RefCountedPtr<>, which is a
109
+ // friend of this class.
110
+
84
111
  void Unref() {
85
112
  if (gpr_unref(&refs_)) {
86
113
  Delete(this);
@@ -124,10 +151,15 @@ class RefCountedWithTracing {
124
151
  virtual ~RefCountedWithTracing() {}
125
152
 
126
153
  private:
154
+ // Allow RefCountedPtr<> to access IncrementRefCount().
155
+ friend class RefCountedPtr<Child>;
156
+
157
+ void IncrementRefCount() { gpr_ref(&refs_); }
158
+
127
159
  TraceFlag* trace_flag_ = nullptr;
128
160
  gpr_refcount refs_;
129
161
  };
130
162
 
131
163
  } // namespace grpc_core
132
164
 
133
- #endif /* GRPC_CORE_LIB_GPRXX_REF_COUNTED_H */
165
+ #endif /* GRPC_CORE_LIB_GPRPP_REF_COUNTED_H */
@@ -16,17 +16,17 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_GPRXX_REF_COUNTED_PTR_H
20
- #define GRPC_CORE_LIB_GPRXX_REF_COUNTED_PTR_H
19
+ #ifndef GRPC_CORE_LIB_GPRPP_REF_COUNTED_PTR_H
20
+ #define GRPC_CORE_LIB_GPRPP_REF_COUNTED_PTR_H
21
21
 
22
22
  #include <utility>
23
23
 
24
- #include "src/core/lib/gpr++/memory.h"
24
+ #include "src/core/lib/gprpp/memory.h"
25
25
 
26
26
  namespace grpc_core {
27
27
 
28
- // A smart pointer class for objects that provide Ref() and Unref() methods,
29
- // such as those provided by the RefCounted base class.
28
+ // A smart pointer class for objects that provide IncrementRefCount() and
29
+ // Unref() methods, such as those provided by the RefCounted base class.
30
30
  template <typename T>
31
31
  class RefCountedPtr {
32
32
  public:
@@ -49,13 +49,13 @@ class RefCountedPtr {
49
49
 
50
50
  // Copy support.
51
51
  RefCountedPtr(const RefCountedPtr& other) {
52
- if (other.value_ != nullptr) other.value_->Ref();
52
+ if (other.value_ != nullptr) other.value_->IncrementRefCount();
53
53
  value_ = other.value_;
54
54
  }
55
55
  RefCountedPtr& operator=(const RefCountedPtr& other) {
56
56
  // Note: Order of reffing and unreffing is important here in case value_
57
57
  // and other.value_ are the same object.
58
- if (other.value_ != nullptr) other.value_->Ref();
58
+ if (other.value_ != nullptr) other.value_->IncrementRefCount();
59
59
  if (value_ != nullptr) value_->Unref();
60
60
  value_ = other.value_;
61
61
  return *this;
@@ -71,6 +71,16 @@ class RefCountedPtr {
71
71
  value_ = value;
72
72
  }
73
73
 
74
+ // TODO(roth): This method exists solely as a transition mechanism to allow
75
+ // us to pass a ref to idiomatic C code that does not use RefCountedPtr<>.
76
+ // Once all of our code has been converted to idiomatic C++, this
77
+ // method should go away.
78
+ T* release() {
79
+ T* value = value_;
80
+ value_ = nullptr;
81
+ return value;
82
+ }
83
+
74
84
  T* get() const { return value_; }
75
85
 
76
86
  T& operator*() const { return *value_; }
@@ -96,4 +106,4 @@ inline RefCountedPtr<T> MakeRefCounted(Args&&... args) {
96
106
 
97
107
  } // namespace grpc_core
98
108
 
99
- #endif /* GRPC_CORE_LIB_GPRXX_REF_COUNTED_PTR_H */
109
+ #endif /* GRPC_CORE_LIB_GPRPP_REF_COUNTED_PTR_H */
@@ -25,7 +25,6 @@
25
25
  #include <grpc/slice.h>
26
26
  #include <grpc/support/alloc.h>
27
27
  #include <grpc/support/string_util.h>
28
- #include <grpc/support/useful.h>
29
28
  #include "src/core/lib/gpr/string.h"
30
29
 
31
30
  static void fill_common_header(const grpc_httpcli_request* request,
@@ -90,7 +89,8 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request,
90
89
  if (!has_content_type) {
91
90
  gpr_strvec_add(&out, gpr_strdup("Content-Type: text/plain\r\n"));
92
91
  }
93
- gpr_asprintf(&tmp, "Content-Length: %lu\r\n", (unsigned long)body_size);
92
+ gpr_asprintf(&tmp, "Content-Length: %lu\r\n",
93
+ static_cast<unsigned long>(body_size));
94
94
  gpr_strvec_add(&out, tmp);
95
95
  }
96
96
  gpr_strvec_add(&out, gpr_strdup("\r\n"));
@@ -98,7 +98,7 @@ grpc_slice grpc_httpcli_format_post_request(const grpc_httpcli_request* request,
98
98
  gpr_strvec_destroy(&out);
99
99
 
100
100
  if (body_bytes) {
101
- tmp = (char*)gpr_realloc(tmp, out_len + body_size);
101
+ tmp = static_cast<char*>(gpr_realloc(tmp, out_len + body_size));
102
102
  memcpy(tmp + out_len, body_bytes, body_size);
103
103
  out_len += body_size;
104
104
  }
@@ -23,7 +23,6 @@
23
23
  #include <grpc/support/alloc.h>
24
24
  #include <grpc/support/log.h>
25
25
  #include <grpc/support/string_util.h>
26
- #include <grpc/support/useful.h>
27
26
 
28
27
  #include "src/core/lib/channel/channel_args.h"
29
28
  #include "src/core/lib/gpr/string.h"
@@ -124,7 +123,7 @@ static void do_read(internal_request* req) {
124
123
  }
125
124
 
126
125
  static void on_read(void* user_data, grpc_error* error) {
127
- internal_request* req = (internal_request*)user_data;
126
+ internal_request* req = static_cast<internal_request*>(user_data);
128
127
  size_t i;
129
128
 
130
129
  for (i = 0; i < req->incoming.count; i++) {
@@ -151,7 +150,7 @@ static void on_read(void* user_data, grpc_error* error) {
151
150
  static void on_written(internal_request* req) { do_read(req); }
152
151
 
153
152
  static void done_write(void* arg, grpc_error* error) {
154
- internal_request* req = (internal_request*)arg;
153
+ internal_request* req = static_cast<internal_request*>(arg);
155
154
  if (error == GRPC_ERROR_NONE) {
156
155
  on_written(req);
157
156
  } else {
@@ -166,7 +165,7 @@ static void start_write(internal_request* req) {
166
165
  }
167
166
 
168
167
  static void on_handshake_done(void* arg, grpc_endpoint* ep) {
169
- internal_request* req = (internal_request*)arg;
168
+ internal_request* req = static_cast<internal_request*>(arg);
170
169
 
171
170
  if (!ep) {
172
171
  next_address(req, GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -179,7 +178,7 @@ static void on_handshake_done(void* arg, grpc_endpoint* ep) {
179
178
  }
180
179
 
181
180
  static void on_connected(void* arg, grpc_error* error) {
182
- internal_request* req = (internal_request*)arg;
181
+ internal_request* req = static_cast<internal_request*>(arg);
183
182
 
184
183
  if (!req->ep) {
185
184
  next_address(req, GRPC_ERROR_REF(error));
@@ -213,7 +212,7 @@ static void next_address(internal_request* req, grpc_error* error) {
213
212
  }
214
213
 
215
214
  static void on_resolved(void* arg, grpc_error* error) {
216
- internal_request* req = (internal_request*)arg;
215
+ internal_request* req = static_cast<internal_request*>(arg);
217
216
  if (error != GRPC_ERROR_NONE) {
218
217
  finish(req, GRPC_ERROR_REF(error));
219
218
  return;
@@ -230,7 +229,7 @@ static void internal_request_begin(grpc_httpcli_context* context,
230
229
  grpc_httpcli_response* response,
231
230
  const char* name, grpc_slice request_text) {
232
231
  internal_request* req =
233
- (internal_request*)gpr_malloc(sizeof(internal_request));
232
+ static_cast<internal_request*>(gpr_malloc(sizeof(internal_request)));
234
233
  memset(req, 0, sizeof(*req));
235
234
  req->request_text = request_text;
236
235
  grpc_http_parser_init(&req->parser, GRPC_HTTP_RESPONSE, response);
@@ -40,7 +40,7 @@ typedef struct {
40
40
 
41
41
  static void httpcli_ssl_destroy(grpc_security_connector* sc) {
42
42
  grpc_httpcli_ssl_channel_security_connector* c =
43
- (grpc_httpcli_ssl_channel_security_connector*)sc;
43
+ reinterpret_cast<grpc_httpcli_ssl_channel_security_connector*>(sc);
44
44
  if (c->handshaker_factory != nullptr) {
45
45
  tsi_ssl_client_handshaker_factory_unref(c->handshaker_factory);
46
46
  c->handshaker_factory = nullptr;
@@ -52,7 +52,7 @@ static void httpcli_ssl_destroy(grpc_security_connector* sc) {
52
52
  static void httpcli_ssl_add_handshakers(grpc_channel_security_connector* sc,
53
53
  grpc_handshake_manager* handshake_mgr) {
54
54
  grpc_httpcli_ssl_channel_security_connector* c =
55
- (grpc_httpcli_ssl_channel_security_connector*)sc;
55
+ reinterpret_cast<grpc_httpcli_ssl_channel_security_connector*>(sc);
56
56
  tsi_handshaker* handshaker = nullptr;
57
57
  if (c->handshaker_factory != nullptr) {
58
58
  tsi_result result = tsi_ssl_client_handshaker_factory_create_handshaker(
@@ -71,7 +71,7 @@ static void httpcli_ssl_check_peer(grpc_security_connector* sc, tsi_peer peer,
71
71
  grpc_auth_context** auth_context,
72
72
  grpc_closure* on_peer_checked) {
73
73
  grpc_httpcli_ssl_channel_security_connector* c =
74
- (grpc_httpcli_ssl_channel_security_connector*)sc;
74
+ reinterpret_cast<grpc_httpcli_ssl_channel_security_connector*>(sc);
75
75
  grpc_error* error = GRPC_ERROR_NONE;
76
76
 
77
77
  /* Check the peer name. */
@@ -90,9 +90,9 @@ static void httpcli_ssl_check_peer(grpc_security_connector* sc, tsi_peer peer,
90
90
  static int httpcli_ssl_cmp(grpc_security_connector* sc1,
91
91
  grpc_security_connector* sc2) {
92
92
  grpc_httpcli_ssl_channel_security_connector* c1 =
93
- (grpc_httpcli_ssl_channel_security_connector*)sc1;
93
+ reinterpret_cast<grpc_httpcli_ssl_channel_security_connector*>(sc1);
94
94
  grpc_httpcli_ssl_channel_security_connector* c2 =
95
- (grpc_httpcli_ssl_channel_security_connector*)sc2;
95
+ reinterpret_cast<grpc_httpcli_ssl_channel_security_connector*>(sc2);
96
96
  return strcmp(c1->secure_peer_name, c2->secure_peer_name);
97
97
  }
98
98
 
@@ -111,8 +111,8 @@ static grpc_security_status httpcli_ssl_channel_security_connector_create(
111
111
  return GRPC_SECURITY_ERROR;
112
112
  }
113
113
 
114
- c = (grpc_httpcli_ssl_channel_security_connector*)gpr_zalloc(
115
- sizeof(grpc_httpcli_ssl_channel_security_connector));
114
+ c = static_cast<grpc_httpcli_ssl_channel_security_connector*>(
115
+ gpr_zalloc(sizeof(grpc_httpcli_ssl_channel_security_connector)));
116
116
 
117
117
  gpr_ref_init(&c->base.base.refcount, 1);
118
118
  c->base.base.vtable = &httpcli_ssl_vtable;
@@ -146,8 +146,8 @@ typedef struct {
146
146
  } on_done_closure;
147
147
 
148
148
  static void on_handshake_done(void* arg, grpc_error* error) {
149
- grpc_handshaker_args* args = (grpc_handshaker_args*)arg;
150
- on_done_closure* c = (on_done_closure*)args->user_data;
149
+ grpc_handshaker_args* args = static_cast<grpc_handshaker_args*>(arg);
150
+ on_done_closure* c = static_cast<on_done_closure*>(args->user_data);
151
151
  if (error != GRPC_ERROR_NONE) {
152
152
  const char* msg = grpc_error_string(error);
153
153
  gpr_log(GPR_ERROR, "Secure transport setup failed: %s", msg);
@@ -166,7 +166,7 @@ static void on_handshake_done(void* arg, grpc_error* error) {
166
166
  static void ssl_handshake(void* arg, grpc_endpoint* tcp, const char* host,
167
167
  grpc_millis deadline,
168
168
  void (*on_done)(void* arg, grpc_endpoint* endpoint)) {
169
- on_done_closure* c = (on_done_closure*)gpr_malloc(sizeof(*c));
169
+ on_done_closure* c = static_cast<on_done_closure*>(gpr_malloc(sizeof(*c)));
170
170
  const char* pem_root_certs = grpc_get_default_ssl_roots();
171
171
  if (pem_root_certs == nullptr) {
172
172
  gpr_log(GPR_ERROR, "Could not get default pem root certs.");
@@ -23,12 +23,13 @@
23
23
 
24
24
  #include <grpc/support/alloc.h>
25
25
  #include <grpc/support/log.h>
26
- #include <grpc/support/useful.h>
26
+
27
+ #include "src/core/lib/gpr/useful.h"
27
28
 
28
29
  grpc_core::TraceFlag grpc_http1_trace(false, "http1");
29
30
 
30
31
  static char* buf2str(void* buffer, size_t length) {
31
- char* out = (char*)gpr_malloc(length + 1);
32
+ char* out = static_cast<char*>(gpr_malloc(length + 1));
32
33
  memcpy(out, buffer, length);
33
34
  out[length] = 0;
34
35
  return out;
@@ -87,14 +88,15 @@ static grpc_error* handle_request_line(grpc_http_parser* parser) {
87
88
  if (cur == end)
88
89
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
89
90
  "No method on HTTP request line");
90
- parser->http.request->method = buf2str(beg, (size_t)(cur - beg - 1));
91
+ parser->http.request->method =
92
+ buf2str(beg, static_cast<size_t>(cur - beg - 1));
91
93
 
92
94
  beg = cur;
93
95
  while (cur != end && *cur++ != ' ')
94
96
  ;
95
97
  if (cur == end)
96
98
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("No path on HTTP request line");
97
- parser->http.request->path = buf2str(beg, (size_t)(cur - beg - 1));
99
+ parser->http.request->path = buf2str(beg, static_cast<size_t>(cur - beg - 1));
98
100
 
99
101
  if (cur == end || *cur++ != 'H')
100
102
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Expected 'H'");
@@ -106,12 +108,12 @@ static grpc_error* handle_request_line(grpc_http_parser* parser) {
106
108
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Expected 'P'");
107
109
  if (cur == end || *cur++ != '/')
108
110
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Expected '/'");
109
- vers_major = (uint8_t)(*cur++ - '1' + 1);
111
+ vers_major = static_cast<uint8_t>(*cur++ - '1' + 1);
110
112
  ++cur;
111
113
  if (cur == end)
112
114
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
113
115
  "End of line in HTTP version string");
114
- vers_minor = (uint8_t)(*cur++ - '1' + 1);
116
+ vers_minor = static_cast<uint8_t>(*cur++ - '1' + 1);
115
117
 
116
118
  if (vers_major == 1) {
117
119
  if (vers_minor == 0) {
@@ -174,14 +176,15 @@ static grpc_error* add_header(grpc_http_parser* parser) {
174
176
  goto done;
175
177
  }
176
178
  GPR_ASSERT(cur >= beg);
177
- hdr.key = buf2str(beg, (size_t)(cur - beg));
179
+ hdr.key = buf2str(beg, static_cast<size_t>(cur - beg));
178
180
  cur++; /* skip : */
179
181
 
180
182
  while (cur != end && (*cur == ' ' || *cur == '\t')) {
181
183
  cur++;
182
184
  }
183
185
  GPR_ASSERT((size_t)(end - cur) >= parser->cur_line_end_length);
184
- hdr.value = buf2str(cur, (size_t)(end - cur) - parser->cur_line_end_length);
186
+ hdr.value = buf2str(
187
+ cur, static_cast<size_t>(end - cur) - parser->cur_line_end_length);
185
188
 
186
189
  switch (parser->type) {
187
190
  case GRPC_HTTP_RESPONSE:
@@ -197,8 +200,8 @@ static grpc_error* add_header(grpc_http_parser* parser) {
197
200
  if (*hdr_count == parser->hdr_capacity) {
198
201
  parser->hdr_capacity =
199
202
  GPR_MAX(parser->hdr_capacity + 1, parser->hdr_capacity * 3 / 2);
200
- *hdrs = (grpc_http_header*)gpr_realloc(
201
- *hdrs, parser->hdr_capacity * sizeof(**hdrs));
203
+ *hdrs = static_cast<grpc_http_header*>(
204
+ gpr_realloc(*hdrs, parser->hdr_capacity * sizeof(**hdrs)));
202
205
  }
203
206
  (*hdrs)[(*hdr_count)++] = hdr;
204
207
 
@@ -256,9 +259,10 @@ static grpc_error* addbyte_body(grpc_http_parser* parser, uint8_t byte) {
256
259
 
257
260
  if (*body_length == parser->body_capacity) {
258
261
  parser->body_capacity = GPR_MAX(8, parser->body_capacity * 3 / 2);
259
- *body = (char*)gpr_realloc((void*)*body, parser->body_capacity);
262
+ *body =
263
+ static_cast<char*>(gpr_realloc((void*)*body, parser->body_capacity));
260
264
  }
261
- (*body)[*body_length] = (char)byte;
265
+ (*body)[*body_length] = static_cast<char>(byte);
262
266
  (*body_length)++;
263
267
 
264
268
  return GRPC_ERROR_NONE;
@@ -28,13 +28,13 @@ grpc_core::TraceFlag grpc_call_combiner_trace(false, "call_combiner");
28
28
 
29
29
  static grpc_error* decode_cancel_state_error(gpr_atm cancel_state) {
30
30
  if (cancel_state & 1) {
31
- return (grpc_error*)(cancel_state & ~(gpr_atm)1);
31
+ return (grpc_error*)(cancel_state & ~static_cast<gpr_atm>(1));
32
32
  }
33
33
  return GRPC_ERROR_NONE;
34
34
  }
35
35
 
36
36
  static gpr_atm encode_cancel_state_error(grpc_error* error) {
37
- return (gpr_atm)1 | (gpr_atm)error;
37
+ return static_cast<gpr_atm>(1) | (gpr_atm)error;
38
38
  }
39
39
 
40
40
  void grpc_call_combiner_init(grpc_call_combiner* call_combiner) {
@@ -60,7 +60,7 @@ void grpc_call_combiner_start(grpc_call_combiner* call_combiner,
60
60
  grpc_closure* closure,
61
61
  grpc_error* error DEBUG_ARGS,
62
62
  const char* reason) {
63
- GPR_TIMER_BEGIN("call_combiner_start", 0);
63
+ GPR_TIMER_SCOPE("call_combiner_start", 0);
64
64
  if (grpc_call_combiner_trace.enabled()) {
65
65
  gpr_log(GPR_DEBUG,
66
66
  "==> grpc_call_combiner_start() [%p] closure=%p [" DEBUG_FMT_STR
@@ -68,8 +68,8 @@ void grpc_call_combiner_start(grpc_call_combiner* call_combiner,
68
68
  call_combiner, closure DEBUG_FMT_ARGS, reason,
69
69
  grpc_error_string(error));
70
70
  }
71
- size_t prev_size =
72
- (size_t)gpr_atm_full_fetch_add(&call_combiner->size, (gpr_atm)1);
71
+ size_t prev_size = static_cast<size_t>(
72
+ gpr_atm_full_fetch_add(&call_combiner->size, (gpr_atm)1));
73
73
  if (grpc_call_combiner_trace.enabled()) {
74
74
  gpr_log(GPR_DEBUG, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
75
75
  prev_size + 1);
@@ -90,21 +90,21 @@ void grpc_call_combiner_start(grpc_call_combiner* call_combiner,
90
90
  }
91
91
  // Queue was not empty, so add closure to queue.
92
92
  closure->error_data.error = error;
93
- gpr_mpscq_push(&call_combiner->queue, (gpr_mpscq_node*)closure);
93
+ gpr_mpscq_push(&call_combiner->queue,
94
+ reinterpret_cast<gpr_mpscq_node*>(closure));
94
95
  }
95
- GPR_TIMER_END("call_combiner_start", 0);
96
96
  }
97
97
 
98
98
  void grpc_call_combiner_stop(grpc_call_combiner* call_combiner DEBUG_ARGS,
99
99
  const char* reason) {
100
- GPR_TIMER_BEGIN("call_combiner_stop", 0);
100
+ GPR_TIMER_SCOPE("call_combiner_stop", 0);
101
101
  if (grpc_call_combiner_trace.enabled()) {
102
102
  gpr_log(GPR_DEBUG,
103
103
  "==> grpc_call_combiner_stop() [%p] [" DEBUG_FMT_STR "%s]",
104
104
  call_combiner DEBUG_FMT_ARGS, reason);
105
105
  }
106
- size_t prev_size =
107
- (size_t)gpr_atm_full_fetch_add(&call_combiner->size, (gpr_atm)-1);
106
+ size_t prev_size = static_cast<size_t>(
107
+ gpr_atm_full_fetch_add(&call_combiner->size, (gpr_atm)-1));
108
108
  if (grpc_call_combiner_trace.enabled()) {
109
109
  gpr_log(GPR_DEBUG, " size: %" PRIdPTR " -> %" PRIdPTR, prev_size,
110
110
  prev_size - 1);
@@ -116,8 +116,8 @@ void grpc_call_combiner_stop(grpc_call_combiner* call_combiner DEBUG_ARGS,
116
116
  gpr_log(GPR_DEBUG, " checking queue");
117
117
  }
118
118
  bool empty;
119
- grpc_closure* closure = (grpc_closure*)gpr_mpscq_pop_and_check_end(
120
- &call_combiner->queue, &empty);
119
+ grpc_closure* closure = reinterpret_cast<grpc_closure*>(
120
+ gpr_mpscq_pop_and_check_end(&call_combiner->queue, &empty));
121
121
  if (closure == nullptr) {
122
122
  // This can happen either due to a race condition within the mpscq
123
123
  // code or because of a race with grpc_call_combiner_start().
@@ -136,7 +136,6 @@ void grpc_call_combiner_stop(grpc_call_combiner* call_combiner DEBUG_ARGS,
136
136
  } else if (grpc_call_combiner_trace.enabled()) {
137
137
  gpr_log(GPR_DEBUG, " queue empty");
138
138
  }
139
- GPR_TIMER_END("call_combiner_stop", 0);
140
139
  }
141
140
 
142
141
  void grpc_call_combiner_set_notify_on_cancel(grpc_call_combiner* call_combiner,