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
@@ -20,7 +20,7 @@
20
20
  * To make changes to this file, change
21
21
  * tools/codegen/core/gen_static_metadata.py, and then re-run it.
22
22
  *
23
- * See metadata.h for an explanation of the interface here, and metadata.c for
23
+ * See metadata.h for an explanation of the interface here, and metadata.cc for
24
24
  * an explanation of what's going on.
25
25
  */
26
26
 
@@ -29,7 +29,7 @@
29
29
 
30
30
  #include "src/core/lib/transport/metadata.h"
31
31
 
32
- #define GRPC_STATIC_MDSTR_COUNT 100
32
+ #define GRPC_STATIC_MDSTR_COUNT 101
33
33
  extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
34
34
  /* ":path" */
35
35
  #define GRPC_MDSTR_PATH (grpc_static_slice_table[0])
@@ -93,149 +93,151 @@ extern const grpc_slice grpc_static_slice_table[GRPC_STATIC_MDSTR_COUNT];
93
93
  /* "/grpc.lb.v1.LoadBalancer/BalanceLoad" */
94
94
  #define GRPC_MDSTR_SLASH_GRPC_DOT_LB_DOT_V1_DOT_LOADBALANCER_SLASH_BALANCELOAD \
95
95
  (grpc_static_slice_table[28])
96
+ /* "deflate" */
97
+ #define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[29])
98
+ /* "gzip" */
99
+ #define GRPC_MDSTR_GZIP (grpc_static_slice_table[30])
100
+ /* "stream/gzip" */
101
+ #define GRPC_MDSTR_STREAM_SLASH_GZIP (grpc_static_slice_table[31])
96
102
  /* "0" */
97
- #define GRPC_MDSTR_0 (grpc_static_slice_table[29])
103
+ #define GRPC_MDSTR_0 (grpc_static_slice_table[32])
98
104
  /* "1" */
99
- #define GRPC_MDSTR_1 (grpc_static_slice_table[30])
105
+ #define GRPC_MDSTR_1 (grpc_static_slice_table[33])
100
106
  /* "2" */
101
- #define GRPC_MDSTR_2 (grpc_static_slice_table[31])
107
+ #define GRPC_MDSTR_2 (grpc_static_slice_table[34])
102
108
  /* "identity" */
103
- #define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[32])
104
- /* "gzip" */
105
- #define GRPC_MDSTR_GZIP (grpc_static_slice_table[33])
106
- /* "deflate" */
107
- #define GRPC_MDSTR_DEFLATE (grpc_static_slice_table[34])
109
+ #define GRPC_MDSTR_IDENTITY (grpc_static_slice_table[35])
108
110
  /* "trailers" */
109
- #define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[35])
111
+ #define GRPC_MDSTR_TRAILERS (grpc_static_slice_table[36])
110
112
  /* "application/grpc" */
111
- #define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[36])
113
+ #define GRPC_MDSTR_APPLICATION_SLASH_GRPC (grpc_static_slice_table[37])
112
114
  /* "POST" */
113
- #define GRPC_MDSTR_POST (grpc_static_slice_table[37])
115
+ #define GRPC_MDSTR_POST (grpc_static_slice_table[38])
114
116
  /* "200" */
115
- #define GRPC_MDSTR_200 (grpc_static_slice_table[38])
117
+ #define GRPC_MDSTR_200 (grpc_static_slice_table[39])
116
118
  /* "404" */
117
- #define GRPC_MDSTR_404 (grpc_static_slice_table[39])
119
+ #define GRPC_MDSTR_404 (grpc_static_slice_table[40])
118
120
  /* "http" */
119
- #define GRPC_MDSTR_HTTP (grpc_static_slice_table[40])
121
+ #define GRPC_MDSTR_HTTP (grpc_static_slice_table[41])
120
122
  /* "https" */
121
- #define GRPC_MDSTR_HTTPS (grpc_static_slice_table[41])
123
+ #define GRPC_MDSTR_HTTPS (grpc_static_slice_table[42])
122
124
  /* "grpc" */
123
- #define GRPC_MDSTR_GRPC (grpc_static_slice_table[42])
125
+ #define GRPC_MDSTR_GRPC (grpc_static_slice_table[43])
124
126
  /* "GET" */
125
- #define GRPC_MDSTR_GET (grpc_static_slice_table[43])
127
+ #define GRPC_MDSTR_GET (grpc_static_slice_table[44])
126
128
  /* "PUT" */
127
- #define GRPC_MDSTR_PUT (grpc_static_slice_table[44])
129
+ #define GRPC_MDSTR_PUT (grpc_static_slice_table[45])
128
130
  /* "/" */
129
- #define GRPC_MDSTR_SLASH (grpc_static_slice_table[45])
131
+ #define GRPC_MDSTR_SLASH (grpc_static_slice_table[46])
130
132
  /* "/index.html" */
131
- #define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[46])
133
+ #define GRPC_MDSTR_SLASH_INDEX_DOT_HTML (grpc_static_slice_table[47])
132
134
  /* "204" */
133
- #define GRPC_MDSTR_204 (grpc_static_slice_table[47])
135
+ #define GRPC_MDSTR_204 (grpc_static_slice_table[48])
134
136
  /* "206" */
135
- #define GRPC_MDSTR_206 (grpc_static_slice_table[48])
137
+ #define GRPC_MDSTR_206 (grpc_static_slice_table[49])
136
138
  /* "304" */
137
- #define GRPC_MDSTR_304 (grpc_static_slice_table[49])
139
+ #define GRPC_MDSTR_304 (grpc_static_slice_table[50])
138
140
  /* "400" */
139
- #define GRPC_MDSTR_400 (grpc_static_slice_table[50])
141
+ #define GRPC_MDSTR_400 (grpc_static_slice_table[51])
140
142
  /* "500" */
141
- #define GRPC_MDSTR_500 (grpc_static_slice_table[51])
143
+ #define GRPC_MDSTR_500 (grpc_static_slice_table[52])
142
144
  /* "accept-charset" */
143
- #define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[52])
145
+ #define GRPC_MDSTR_ACCEPT_CHARSET (grpc_static_slice_table[53])
144
146
  /* "gzip, deflate" */
145
- #define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[53])
147
+ #define GRPC_MDSTR_GZIP_COMMA_DEFLATE (grpc_static_slice_table[54])
146
148
  /* "accept-language" */
147
- #define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[54])
149
+ #define GRPC_MDSTR_ACCEPT_LANGUAGE (grpc_static_slice_table[55])
148
150
  /* "accept-ranges" */
149
- #define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[55])
151
+ #define GRPC_MDSTR_ACCEPT_RANGES (grpc_static_slice_table[56])
150
152
  /* "accept" */
151
- #define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[56])
153
+ #define GRPC_MDSTR_ACCEPT (grpc_static_slice_table[57])
152
154
  /* "access-control-allow-origin" */
153
- #define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[57])
155
+ #define GRPC_MDSTR_ACCESS_CONTROL_ALLOW_ORIGIN (grpc_static_slice_table[58])
154
156
  /* "age" */
155
- #define GRPC_MDSTR_AGE (grpc_static_slice_table[58])
157
+ #define GRPC_MDSTR_AGE (grpc_static_slice_table[59])
156
158
  /* "allow" */
157
- #define GRPC_MDSTR_ALLOW (grpc_static_slice_table[59])
159
+ #define GRPC_MDSTR_ALLOW (grpc_static_slice_table[60])
158
160
  /* "authorization" */
159
- #define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[60])
161
+ #define GRPC_MDSTR_AUTHORIZATION (grpc_static_slice_table[61])
160
162
  /* "cache-control" */
161
- #define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[61])
163
+ #define GRPC_MDSTR_CACHE_CONTROL (grpc_static_slice_table[62])
162
164
  /* "content-disposition" */
163
- #define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[62])
165
+ #define GRPC_MDSTR_CONTENT_DISPOSITION (grpc_static_slice_table[63])
164
166
  /* "content-language" */
165
- #define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[63])
167
+ #define GRPC_MDSTR_CONTENT_LANGUAGE (grpc_static_slice_table[64])
166
168
  /* "content-length" */
167
- #define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[64])
169
+ #define GRPC_MDSTR_CONTENT_LENGTH (grpc_static_slice_table[65])
168
170
  /* "content-location" */
169
- #define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[65])
171
+ #define GRPC_MDSTR_CONTENT_LOCATION (grpc_static_slice_table[66])
170
172
  /* "content-range" */
171
- #define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[66])
173
+ #define GRPC_MDSTR_CONTENT_RANGE (grpc_static_slice_table[67])
172
174
  /* "cookie" */
173
- #define GRPC_MDSTR_COOKIE (grpc_static_slice_table[67])
175
+ #define GRPC_MDSTR_COOKIE (grpc_static_slice_table[68])
174
176
  /* "date" */
175
- #define GRPC_MDSTR_DATE (grpc_static_slice_table[68])
177
+ #define GRPC_MDSTR_DATE (grpc_static_slice_table[69])
176
178
  /* "etag" */
177
- #define GRPC_MDSTR_ETAG (grpc_static_slice_table[69])
179
+ #define GRPC_MDSTR_ETAG (grpc_static_slice_table[70])
178
180
  /* "expect" */
179
- #define GRPC_MDSTR_EXPECT (grpc_static_slice_table[70])
181
+ #define GRPC_MDSTR_EXPECT (grpc_static_slice_table[71])
180
182
  /* "expires" */
181
- #define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[71])
183
+ #define GRPC_MDSTR_EXPIRES (grpc_static_slice_table[72])
182
184
  /* "from" */
183
- #define GRPC_MDSTR_FROM (grpc_static_slice_table[72])
185
+ #define GRPC_MDSTR_FROM (grpc_static_slice_table[73])
184
186
  /* "if-match" */
185
- #define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[73])
187
+ #define GRPC_MDSTR_IF_MATCH (grpc_static_slice_table[74])
186
188
  /* "if-modified-since" */
187
- #define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[74])
189
+ #define GRPC_MDSTR_IF_MODIFIED_SINCE (grpc_static_slice_table[75])
188
190
  /* "if-none-match" */
189
- #define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[75])
191
+ #define GRPC_MDSTR_IF_NONE_MATCH (grpc_static_slice_table[76])
190
192
  /* "if-range" */
191
- #define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[76])
193
+ #define GRPC_MDSTR_IF_RANGE (grpc_static_slice_table[77])
192
194
  /* "if-unmodified-since" */
193
- #define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[77])
195
+ #define GRPC_MDSTR_IF_UNMODIFIED_SINCE (grpc_static_slice_table[78])
194
196
  /* "last-modified" */
195
- #define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[78])
197
+ #define GRPC_MDSTR_LAST_MODIFIED (grpc_static_slice_table[79])
196
198
  /* "lb-cost-bin" */
197
- #define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[79])
199
+ #define GRPC_MDSTR_LB_COST_BIN (grpc_static_slice_table[80])
198
200
  /* "link" */
199
- #define GRPC_MDSTR_LINK (grpc_static_slice_table[80])
201
+ #define GRPC_MDSTR_LINK (grpc_static_slice_table[81])
200
202
  /* "location" */
201
- #define GRPC_MDSTR_LOCATION (grpc_static_slice_table[81])
203
+ #define GRPC_MDSTR_LOCATION (grpc_static_slice_table[82])
202
204
  /* "max-forwards" */
203
- #define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[82])
205
+ #define GRPC_MDSTR_MAX_FORWARDS (grpc_static_slice_table[83])
204
206
  /* "proxy-authenticate" */
205
- #define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[83])
207
+ #define GRPC_MDSTR_PROXY_AUTHENTICATE (grpc_static_slice_table[84])
206
208
  /* "proxy-authorization" */
207
- #define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[84])
209
+ #define GRPC_MDSTR_PROXY_AUTHORIZATION (grpc_static_slice_table[85])
208
210
  /* "range" */
209
- #define GRPC_MDSTR_RANGE (grpc_static_slice_table[85])
211
+ #define GRPC_MDSTR_RANGE (grpc_static_slice_table[86])
210
212
  /* "referer" */
211
- #define GRPC_MDSTR_REFERER (grpc_static_slice_table[86])
213
+ #define GRPC_MDSTR_REFERER (grpc_static_slice_table[87])
212
214
  /* "refresh" */
213
- #define GRPC_MDSTR_REFRESH (grpc_static_slice_table[87])
215
+ #define GRPC_MDSTR_REFRESH (grpc_static_slice_table[88])
214
216
  /* "retry-after" */
215
- #define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[88])
217
+ #define GRPC_MDSTR_RETRY_AFTER (grpc_static_slice_table[89])
216
218
  /* "server" */
217
- #define GRPC_MDSTR_SERVER (grpc_static_slice_table[89])
219
+ #define GRPC_MDSTR_SERVER (grpc_static_slice_table[90])
218
220
  /* "set-cookie" */
219
- #define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[90])
221
+ #define GRPC_MDSTR_SET_COOKIE (grpc_static_slice_table[91])
220
222
  /* "strict-transport-security" */
221
- #define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[91])
223
+ #define GRPC_MDSTR_STRICT_TRANSPORT_SECURITY (grpc_static_slice_table[92])
222
224
  /* "transfer-encoding" */
223
- #define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[92])
225
+ #define GRPC_MDSTR_TRANSFER_ENCODING (grpc_static_slice_table[93])
224
226
  /* "vary" */
225
- #define GRPC_MDSTR_VARY (grpc_static_slice_table[93])
227
+ #define GRPC_MDSTR_VARY (grpc_static_slice_table[94])
226
228
  /* "via" */
227
- #define GRPC_MDSTR_VIA (grpc_static_slice_table[94])
229
+ #define GRPC_MDSTR_VIA (grpc_static_slice_table[95])
228
230
  /* "www-authenticate" */
229
- #define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[95])
231
+ #define GRPC_MDSTR_WWW_AUTHENTICATE (grpc_static_slice_table[96])
230
232
  /* "identity,deflate" */
231
- #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[96])
233
+ #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE (grpc_static_slice_table[97])
232
234
  /* "identity,gzip" */
233
- #define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[97])
235
+ #define GRPC_MDSTR_IDENTITY_COMMA_GZIP (grpc_static_slice_table[98])
234
236
  /* "deflate,gzip" */
235
- #define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[98])
237
+ #define GRPC_MDSTR_DEFLATE_COMMA_GZIP (grpc_static_slice_table[99])
236
238
  /* "identity,deflate,gzip" */
237
239
  #define GRPC_MDSTR_IDENTITY_COMMA_DEFLATE_COMMA_GZIP \
238
- (grpc_static_slice_table[99])
240
+ (grpc_static_slice_table[100])
239
241
 
240
242
  extern const grpc_slice_refcount_vtable grpc_static_metadata_vtable;
241
243
  extern grpc_slice_refcount
@@ -584,5 +586,4 @@ extern const uint8_t grpc_static_accept_stream_encoding_metadata[4];
584
586
  (GRPC_MAKE_MDELEM(&grpc_static_mdelem_table \
585
587
  [grpc_static_accept_stream_encoding_metadata[(algs)]], \
586
588
  GRPC_MDELEM_STORAGE_STATIC))
587
-
588
589
  #endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
@@ -98,7 +98,7 @@ int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout) {
98
98
  ;
99
99
  /* decode numeric part */
100
100
  for (; p != end && *p >= '0' && *p <= '9'; p++) {
101
- int32_t digit = (int32_t)(*p - (uint8_t)'0');
101
+ int32_t digit = static_cast<int32_t>(*p - static_cast<uint8_t>('0'));
102
102
  have_digit = 1;
103
103
  /* spec allows max. 8 digits, but we allow values up to 1,000,000,000 */
104
104
  if (x >= (100 * 1000 * 1000)) {
@@ -138,5 +138,6 @@ int grpc_http2_decode_timeout(grpc_slice text, grpc_millis* timeout) {
138
138
  return 0;
139
139
  }
140
140
  p++;
141
- return is_all_whitespace((const char*)p, (const char*)end);
141
+ return is_all_whitespace(reinterpret_cast<const char*>(p),
142
+ reinterpret_cast<const char*>(end));
142
143
  }
@@ -101,7 +101,7 @@ grpc_slice grpc_slice_from_stream_owned_buffer(grpc_stream_refcount* refcount,
101
101
  slice_stream_ref(&refcount->slice_refcount);
102
102
  grpc_slice res;
103
103
  res.refcount = &refcount->slice_refcount;
104
- res.data.refcounted.bytes = (uint8_t*)buffer;
104
+ res.data.refcounted.bytes = static_cast<uint8_t*>(buffer);
105
105
  res.data.refcounted.length = length;
106
106
  return res;
107
107
  }
@@ -233,13 +233,14 @@ typedef struct {
233
233
  } made_transport_op;
234
234
 
235
235
  static void destroy_made_transport_op(void* arg, grpc_error* error) {
236
- made_transport_op* op = (made_transport_op*)arg;
236
+ made_transport_op* op = static_cast<made_transport_op*>(arg);
237
237
  GRPC_CLOSURE_SCHED(op->inner_on_complete, GRPC_ERROR_REF(error));
238
238
  gpr_free(op);
239
239
  }
240
240
 
241
241
  grpc_transport_op* grpc_make_transport_op(grpc_closure* on_complete) {
242
- made_transport_op* op = (made_transport_op*)gpr_malloc(sizeof(*op));
242
+ made_transport_op* op =
243
+ static_cast<made_transport_op*>(gpr_malloc(sizeof(*op)));
243
244
  GRPC_CLOSURE_INIT(&op->outer_on_complete, destroy_made_transport_op, op,
244
245
  grpc_schedule_on_exec_ctx);
245
246
  op->inner_on_complete = on_complete;
@@ -256,7 +257,7 @@ typedef struct {
256
257
  } made_transport_stream_op;
257
258
 
258
259
  static void destroy_made_transport_stream_op(void* arg, grpc_error* error) {
259
- made_transport_stream_op* op = (made_transport_stream_op*)arg;
260
+ made_transport_stream_op* op = static_cast<made_transport_stream_op*>(arg);
260
261
  grpc_closure* c = op->inner_on_complete;
261
262
  gpr_free(op);
262
263
  GRPC_CLOSURE_RUN(c, GRPC_ERROR_REF(error));
@@ -265,7 +266,7 @@ static void destroy_made_transport_stream_op(void* arg, grpc_error* error) {
265
266
  grpc_transport_stream_op_batch* grpc_make_transport_stream_op(
266
267
  grpc_closure* on_complete) {
267
268
  made_transport_stream_op* op =
268
- (made_transport_stream_op*)gpr_zalloc(sizeof(*op));
269
+ static_cast<made_transport_stream_op*>(gpr_zalloc(sizeof(*op)));
269
270
  op->op.payload = &op->payload;
270
271
  GRPC_CLOSURE_INIT(&op->outer_on_complete, destroy_made_transport_stream_op,
271
272
  op, grpc_schedule_on_exec_ctx);
@@ -27,7 +27,6 @@
27
27
 
28
28
  #include <grpc/support/alloc.h>
29
29
  #include <grpc/support/string_util.h>
30
- #include <grpc/support/useful.h>
31
30
  #include "src/core/lib/gpr/string.h"
32
31
  #include "src/core/lib/slice/slice_string_helpers.h"
33
32
  #include "src/core/lib/transport/connectivity_state.h"
@@ -22,8 +22,8 @@ void grpc_http_filters_init(void);
22
22
  void grpc_http_filters_shutdown(void);
23
23
  void grpc_chttp2_plugin_init(void);
24
24
  void grpc_chttp2_plugin_shutdown(void);
25
- void grpc_tsi_gts_init(void);
26
- void grpc_tsi_gts_shutdown(void);
25
+ void grpc_tsi_alts_init(void);
26
+ void grpc_tsi_alts_shutdown(void);
27
27
  void grpc_deadline_filter_init(void);
28
28
  void grpc_deadline_filter_shutdown(void);
29
29
  void grpc_client_channel_init(void);
@@ -58,8 +58,8 @@ void grpc_register_built_in_plugins(void) {
58
58
  grpc_http_filters_shutdown);
59
59
  grpc_register_plugin(grpc_chttp2_plugin_init,
60
60
  grpc_chttp2_plugin_shutdown);
61
- grpc_register_plugin(grpc_tsi_gts_init,
62
- grpc_tsi_gts_shutdown);
61
+ grpc_register_plugin(grpc_tsi_alts_init,
62
+ grpc_tsi_alts_shutdown);
63
63
  grpc_register_plugin(grpc_deadline_filter_init,
64
64
  grpc_deadline_filter_shutdown);
65
65
  grpc_register_plugin(grpc_client_channel_init,
@@ -0,0 +1,61 @@
1
+ /*
2
+ *
3
+ * Copyright 2017 gRPC authors.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ */
18
+
19
+ #include "src/core/tsi/alts_transport_security.h"
20
+
21
+ #include <string.h>
22
+
23
+ static alts_shared_resource g_alts_resource;
24
+
25
+ alts_shared_resource* alts_get_shared_resource(void) {
26
+ return &g_alts_resource;
27
+ }
28
+
29
+ static void grpc_tsi_alts_wait_for_cq_drain() {
30
+ gpr_mu_lock(&g_alts_resource.mu);
31
+ while (!g_alts_resource.is_cq_drained) {
32
+ gpr_cv_wait(&g_alts_resource.cv, &g_alts_resource.mu,
33
+ gpr_inf_future(GPR_CLOCK_REALTIME));
34
+ }
35
+ gpr_mu_unlock(&g_alts_resource.mu);
36
+ }
37
+
38
+ void grpc_tsi_alts_signal_for_cq_destroy() {
39
+ gpr_mu_lock(&g_alts_resource.mu);
40
+ g_alts_resource.is_cq_drained = true;
41
+ gpr_cv_signal(&g_alts_resource.cv);
42
+ gpr_mu_unlock(&g_alts_resource.mu);
43
+ }
44
+
45
+ void grpc_tsi_alts_init() {
46
+ memset(&g_alts_resource, 0, sizeof(alts_shared_resource));
47
+ gpr_mu_init(&g_alts_resource.mu);
48
+ gpr_cv_init(&g_alts_resource.cv);
49
+ }
50
+
51
+ void grpc_tsi_alts_shutdown() {
52
+ if (g_alts_resource.cq != nullptr) {
53
+ grpc_completion_queue_shutdown(g_alts_resource.cq);
54
+ grpc_tsi_alts_wait_for_cq_drain();
55
+ grpc_completion_queue_destroy(g_alts_resource.cq);
56
+ grpc_channel_destroy(g_alts_resource.channel);
57
+ gpr_thd_join(g_alts_resource.thread_id);
58
+ }
59
+ gpr_cv_destroy(&g_alts_resource.cv);
60
+ gpr_mu_destroy(&g_alts_resource.mu);
61
+ }
@@ -16,22 +16,30 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H
20
- #define GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H
19
+ #ifndef GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H
20
+ #define GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H
21
21
 
22
22
  #include <grpc/grpc.h>
23
23
  #include <grpc/support/sync.h>
24
- #include <grpc/support/thd.h>
25
24
 
26
- typedef struct gts_shared_resource {
25
+ #include "src/core/lib/gpr/thd.h"
26
+
27
+ typedef struct alts_shared_resource {
27
28
  gpr_thd_id thread_id;
28
29
  grpc_channel* channel;
29
30
  grpc_completion_queue* cq;
30
31
  gpr_mu mu;
31
- } gts_shared_resource;
32
+ gpr_cv cv;
33
+ bool is_cq_drained;
34
+ } alts_shared_resource;
32
35
 
33
- /* This method returns the address of gts_shared_resource object shared by all
36
+ /* This method returns the address of alts_shared_resource object shared by all
34
37
  * TSI handshakes. */
35
- gts_shared_resource* gts_get_shared_resource(void);
38
+ alts_shared_resource* alts_get_shared_resource(void);
39
+
40
+ /* This method signals the thread that invokes grpc_tsi_alts_shutdown() to
41
+ * continue with destroying the cq as a part of shutdown process. */
42
+
43
+ void grpc_tsi_alts_signal_for_cq_destroy(void);
36
44
 
37
- #endif /* GRPC_CORE_TSI_GTS_TRANSPORT_SECURITY_H */
45
+ #endif /* GRPC_CORE_TSI_ALTS_TRANSPORT_SECURITY_H */
@@ -24,7 +24,8 @@
24
24
  #include <grpc/support/alloc.h>
25
25
  #include <grpc/support/log.h>
26
26
  #include <grpc/support/port_platform.h>
27
- #include <grpc/support/useful.h>
27
+
28
+ #include "src/core/lib/gpr/useful.h"
28
29
  #include "src/core/lib/slice/slice_internal.h"
29
30
  #include "src/core/tsi/transport_security_grpc.h"
30
31
 
@@ -101,7 +102,7 @@ static tsi_result tsi_fake_handshake_message_from_string(
101
102
  for (int i = 0; i < TSI_FAKE_HANDSHAKE_MESSAGE_MAX; i++) {
102
103
  if (strncmp(msg_string, tsi_fake_handshake_message_strings[i],
103
104
  strlen(tsi_fake_handshake_message_strings[i])) == 0) {
104
- *msg = (tsi_fake_handshake_message)i;
105
+ *msg = static_cast<tsi_fake_handshake_message>(i);
105
106
  return TSI_OK;
106
107
  }
107
108
  }
@@ -110,15 +111,16 @@ static tsi_result tsi_fake_handshake_message_from_string(
110
111
  }
111
112
 
112
113
  static uint32_t load32_little_endian(const unsigned char* buf) {
113
- return ((uint32_t)(buf[0]) | (uint32_t)(buf[1] << 8) |
114
- (uint32_t)(buf[2] << 16) | (uint32_t)(buf[3] << 24));
114
+ return (static_cast<uint32_t>(buf[0]) | static_cast<uint32_t>(buf[1] << 8) |
115
+ static_cast<uint32_t>(buf[2] << 16) |
116
+ static_cast<uint32_t>(buf[3] << 24));
115
117
  }
116
118
 
117
119
  static void store32_little_endian(uint32_t value, unsigned char* buf) {
118
- buf[3] = (unsigned char)((value >> 24) & 0xFF);
119
- buf[2] = (unsigned char)((value >> 16) & 0xFF);
120
- buf[1] = (unsigned char)((value >> 8) & 0xFF);
121
- buf[0] = (unsigned char)((value)&0xFF);
120
+ buf[3] = static_cast<unsigned char>((value >> 24) & 0xFF);
121
+ buf[2] = static_cast<unsigned char>((value >> 16) & 0xFF);
122
+ buf[1] = static_cast<unsigned char>((value >> 8) & 0xFF);
123
+ buf[0] = static_cast<unsigned char>((value)&0xFF);
122
124
  }
123
125
 
124
126
  static uint32_t read_frame_size(const grpc_slice_buffer* sb) {
@@ -154,10 +156,11 @@ static void tsi_fake_frame_reset(tsi_fake_frame* frame, int needs_draining) {
154
156
  static void tsi_fake_frame_ensure_size(tsi_fake_frame* frame) {
155
157
  if (frame->data == nullptr) {
156
158
  frame->allocated_size = frame->size;
157
- frame->data = (unsigned char*)gpr_malloc(frame->allocated_size);
159
+ frame->data =
160
+ static_cast<unsigned char*>(gpr_malloc(frame->allocated_size));
158
161
  } else if (frame->size > frame->allocated_size) {
159
162
  unsigned char* new_data =
160
- (unsigned char*)gpr_realloc(frame->data, frame->size);
163
+ static_cast<unsigned char*>(gpr_realloc(frame->data, frame->size));
161
164
  frame->data = new_data;
162
165
  frame->allocated_size = frame->size;
163
166
  }
@@ -176,7 +179,8 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
176
179
  if (frame->needs_draining) return TSI_INTERNAL_ERROR;
177
180
  if (frame->data == nullptr) {
178
181
  frame->allocated_size = TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE;
179
- frame->data = (unsigned char*)gpr_malloc(frame->allocated_size);
182
+ frame->data =
183
+ static_cast<unsigned char*>(gpr_malloc(frame->allocated_size));
180
184
  }
181
185
 
182
186
  if (frame->offset < TSI_FAKE_FRAME_HEADER_SIZE) {
@@ -186,7 +190,7 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
186
190
  memcpy(frame->data + frame->offset, bytes_cursor, available_size);
187
191
  bytes_cursor += available_size;
188
192
  frame->offset += available_size;
189
- *incoming_bytes_size = (size_t)(bytes_cursor - incoming_bytes);
193
+ *incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
190
194
  return TSI_INCOMPLETE_DATA;
191
195
  }
192
196
  memcpy(frame->data + frame->offset, bytes_cursor, to_read_size);
@@ -202,12 +206,12 @@ static tsi_result tsi_fake_frame_decode(const unsigned char* incoming_bytes,
202
206
  memcpy(frame->data + frame->offset, bytes_cursor, available_size);
203
207
  frame->offset += available_size;
204
208
  bytes_cursor += available_size;
205
- *incoming_bytes_size = (size_t)(bytes_cursor - incoming_bytes);
209
+ *incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
206
210
  return TSI_INCOMPLETE_DATA;
207
211
  }
208
212
  memcpy(frame->data + frame->offset, bytes_cursor, to_read_size);
209
213
  bytes_cursor += to_read_size;
210
- *incoming_bytes_size = (size_t)(bytes_cursor - incoming_bytes);
214
+ *incoming_bytes_size = static_cast<size_t>(bytes_cursor - incoming_bytes);
211
215
  tsi_fake_frame_reset(frame, 1 /* needs_draining */);
212
216
  return TSI_OK;
213
217
  }
@@ -238,7 +242,7 @@ static tsi_result tsi_fake_frame_set_data(unsigned char* data, size_t data_size,
238
242
  frame->offset = 0;
239
243
  frame->size = data_size + TSI_FAKE_FRAME_HEADER_SIZE;
240
244
  tsi_fake_frame_ensure_size(frame);
241
- store32_little_endian((uint32_t)frame->size, frame->data);
245
+ store32_little_endian(static_cast<uint32_t>(frame->size), frame->data);
242
246
  memcpy(frame->data + TSI_FAKE_FRAME_HEADER_SIZE, data, data_size);
243
247
  tsi_fake_frame_reset(frame, 1 /* needs draining */);
244
248
  return TSI_OK;
@@ -257,7 +261,8 @@ static tsi_result fake_protector_protect(tsi_frame_protector* self,
257
261
  unsigned char* protected_output_frames,
258
262
  size_t* protected_output_frames_size) {
259
263
  tsi_result result = TSI_OK;
260
- tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
264
+ tsi_fake_frame_protector* impl =
265
+ reinterpret_cast<tsi_fake_frame_protector*>(self);
261
266
  unsigned char frame_header[TSI_FAKE_FRAME_HEADER_SIZE];
262
267
  tsi_fake_frame* frame = &impl->protect_frame;
263
268
  size_t saved_output_size = *protected_output_frames_size;
@@ -286,7 +291,8 @@ static tsi_result fake_protector_protect(tsi_frame_protector* self,
286
291
  if (frame->size == 0) {
287
292
  /* New frame, create a header. */
288
293
  size_t written_in_frame_size = 0;
289
- store32_little_endian((uint32_t)impl->max_frame_size, frame_header);
294
+ store32_little_endian(static_cast<uint32_t>(impl->max_frame_size),
295
+ frame_header);
290
296
  written_in_frame_size = TSI_FAKE_FRAME_HEADER_SIZE;
291
297
  result = tsi_fake_frame_decode(frame_header, &written_in_frame_size, frame);
292
298
  if (result != TSI_INCOMPLETE_DATA) {
@@ -316,14 +322,15 @@ static tsi_result fake_protector_protect_flush(
316
322
  tsi_frame_protector* self, unsigned char* protected_output_frames,
317
323
  size_t* protected_output_frames_size, size_t* still_pending_size) {
318
324
  tsi_result result = TSI_OK;
319
- tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
325
+ tsi_fake_frame_protector* impl =
326
+ reinterpret_cast<tsi_fake_frame_protector*>(self);
320
327
  tsi_fake_frame* frame = &impl->protect_frame;
321
328
  if (!frame->needs_draining) {
322
329
  /* Create a short frame. */
323
330
  frame->size = frame->offset;
324
331
  frame->offset = 0;
325
332
  frame->needs_draining = 1;
326
- store32_little_endian((uint32_t)frame->size,
333
+ store32_little_endian(static_cast<uint32_t>(frame->size),
327
334
  frame->data); /* Overwrite header. */
328
335
  }
329
336
  result = tsi_fake_frame_encode(protected_output_frames,
@@ -338,7 +345,8 @@ static tsi_result fake_protector_unprotect(
338
345
  size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes,
339
346
  size_t* unprotected_bytes_size) {
340
347
  tsi_result result = TSI_OK;
341
- tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
348
+ tsi_fake_frame_protector* impl =
349
+ reinterpret_cast<tsi_fake_frame_protector*>(self);
342
350
  tsi_fake_frame* frame = &impl->unprotect_frame;
343
351
  size_t saved_output_size = *unprotected_bytes_size;
344
352
  size_t drained_size = 0;
@@ -383,7 +391,8 @@ static tsi_result fake_protector_unprotect(
383
391
  }
384
392
 
385
393
  static void fake_protector_destroy(tsi_frame_protector* self) {
386
- tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self;
394
+ tsi_fake_frame_protector* impl =
395
+ reinterpret_cast<tsi_fake_frame_protector*>(self);
387
396
  tsi_fake_frame_destruct(&impl->protect_frame);
388
397
  tsi_fake_frame_destruct(&impl->unprotect_frame);
389
398
  gpr_free(self);
@@ -406,14 +415,15 @@ static tsi_result fake_zero_copy_grpc_protector_protect(
406
415
  return TSI_INVALID_ARGUMENT;
407
416
  }
408
417
  tsi_fake_zero_copy_grpc_protector* impl =
409
- (tsi_fake_zero_copy_grpc_protector*)self;
418
+ reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
410
419
  /* Protects each frame. */
411
420
  while (unprotected_slices->length > 0) {
412
421
  size_t frame_length =
413
422
  GPR_MIN(impl->max_frame_size,
414
423
  unprotected_slices->length + TSI_FAKE_FRAME_HEADER_SIZE);
415
424
  grpc_slice slice = GRPC_SLICE_MALLOC(TSI_FAKE_FRAME_HEADER_SIZE);
416
- store32_little_endian((uint32_t)frame_length, GRPC_SLICE_START_PTR(slice));
425
+ store32_little_endian(static_cast<uint32_t>(frame_length),
426
+ GRPC_SLICE_START_PTR(slice));
417
427
  grpc_slice_buffer_add(protected_slices, slice);
418
428
  size_t data_length = frame_length - TSI_FAKE_FRAME_HEADER_SIZE;
419
429
  grpc_slice_buffer_move_first(unprotected_slices, data_length,
@@ -430,7 +440,7 @@ static tsi_result fake_zero_copy_grpc_protector_unprotect(
430
440
  return TSI_INVALID_ARGUMENT;
431
441
  }
432
442
  tsi_fake_zero_copy_grpc_protector* impl =
433
- (tsi_fake_zero_copy_grpc_protector*)self;
443
+ reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
434
444
  grpc_slice_buffer_move_into(protected_slices, &impl->protected_sb);
435
445
  /* Unprotect each frame, if we get a full frame. */
436
446
  while (impl->protected_sb.length >= TSI_FAKE_FRAME_HEADER_SIZE) {
@@ -461,7 +471,7 @@ static void fake_zero_copy_grpc_protector_destroy(
461
471
  tsi_zero_copy_grpc_protector* self) {
462
472
  if (self == nullptr) return;
463
473
  tsi_fake_zero_copy_grpc_protector* impl =
464
- (tsi_fake_zero_copy_grpc_protector*)self;
474
+ reinterpret_cast<tsi_fake_zero_copy_grpc_protector*>(self);
465
475
  grpc_slice_buffer_destroy_internal(&impl->header_sb);
466
476
  grpc_slice_buffer_destroy_internal(&impl->protected_sb);
467
477
  gpr_free(impl);
@@ -519,7 +529,8 @@ static tsi_result fake_handshaker_result_get_unused_bytes(
519
529
  }
520
530
 
521
531
  static void fake_handshaker_result_destroy(tsi_handshaker_result* self) {
522
- fake_handshaker_result* result = (fake_handshaker_result*)self;
532
+ fake_handshaker_result* result =
533
+ reinterpret_cast<fake_handshaker_result*>(self);
523
534
  gpr_free(result->unused_bytes);
524
535
  gpr_free(self);
525
536
  }
@@ -540,10 +551,11 @@ static tsi_result fake_handshaker_result_create(
540
551
  return TSI_INVALID_ARGUMENT;
541
552
  }
542
553
  fake_handshaker_result* result =
543
- (fake_handshaker_result*)gpr_zalloc(sizeof(*result));
554
+ static_cast<fake_handshaker_result*>(gpr_zalloc(sizeof(*result)));
544
555
  result->base.vtable = &handshaker_result_vtable;
545
556
  if (unused_bytes_size > 0) {
546
- result->unused_bytes = (unsigned char*)gpr_malloc(unused_bytes_size);
557
+ result->unused_bytes =
558
+ static_cast<unsigned char*>(gpr_malloc(unused_bytes_size));
547
559
  memcpy(result->unused_bytes, unused_bytes, unused_bytes_size);
548
560
  }
549
561
  result->unused_bytes_size = unused_bytes_size;
@@ -555,7 +567,7 @@ static tsi_result fake_handshaker_result_create(
555
567
 
556
568
  static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
557
569
  tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) {
558
- tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
570
+ tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
559
571
  tsi_result result = TSI_OK;
560
572
  if (impl->needs_incoming_message || impl->result == TSI_OK) {
561
573
  *bytes_size = 0;
@@ -563,7 +575,7 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
563
575
  }
564
576
  if (!impl->outgoing_frame.needs_draining) {
565
577
  tsi_fake_handshake_message next_message_to_send =
566
- (tsi_fake_handshake_message)(impl->next_message_to_send + 2);
578
+ static_cast<tsi_fake_handshake_message>(impl->next_message_to_send + 2);
567
579
  const char* msg_string =
568
580
  tsi_fake_handshake_message_to_string(impl->next_message_to_send);
569
581
  result = tsi_fake_frame_set_data((unsigned char*)msg_string,
@@ -597,9 +609,9 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer(
597
609
  static tsi_result fake_handshaker_process_bytes_from_peer(
598
610
  tsi_handshaker* self, const unsigned char* bytes, size_t* bytes_size) {
599
611
  tsi_result result = TSI_OK;
600
- tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
612
+ tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
601
613
  tsi_fake_handshake_message expected_msg =
602
- (tsi_fake_handshake_message)(impl->next_message_to_send - 1);
614
+ static_cast<tsi_fake_handshake_message>(impl->next_message_to_send - 1);
603
615
  tsi_fake_handshake_message received_msg;
604
616
 
605
617
  if (!impl->needs_incoming_message || impl->result == TSI_OK) {
@@ -611,7 +623,8 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
611
623
 
612
624
  /* We now have a complete frame. */
613
625
  result = tsi_fake_handshake_message_from_string(
614
- (const char*)impl->incoming_frame.data + TSI_FAKE_FRAME_HEADER_SIZE,
626
+ reinterpret_cast<const char*>(impl->incoming_frame.data) +
627
+ TSI_FAKE_FRAME_HEADER_SIZE,
615
628
  &received_msg);
616
629
  if (result != TSI_OK) {
617
630
  impl->result = result;
@@ -639,12 +652,12 @@ static tsi_result fake_handshaker_process_bytes_from_peer(
639
652
  }
640
653
 
641
654
  static tsi_result fake_handshaker_get_result(tsi_handshaker* self) {
642
- tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
655
+ tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
643
656
  return impl->result;
644
657
  }
645
658
 
646
659
  static void fake_handshaker_destroy(tsi_handshaker* self) {
647
- tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self;
660
+ tsi_fake_handshaker* impl = reinterpret_cast<tsi_fake_handshaker*>(self);
648
661
  tsi_fake_frame_destruct(&impl->incoming_frame);
649
662
  tsi_fake_frame_destruct(&impl->outgoing_frame);
650
663
  gpr_free(impl->outgoing_bytes_buffer);
@@ -662,7 +675,8 @@ static tsi_result fake_handshaker_next(
662
675
  handshaker_result == nullptr) {
663
676
  return TSI_INVALID_ARGUMENT;
664
677
  }
665
- tsi_fake_handshaker* handshaker = (tsi_fake_handshaker*)self;
678
+ tsi_fake_handshaker* handshaker =
679
+ reinterpret_cast<tsi_fake_handshaker*>(self);
666
680
  tsi_result result = TSI_OK;
667
681
 
668
682
  /* Decode and process a handshake frame from the peer. */
@@ -683,9 +697,9 @@ static tsi_result fake_handshaker_next(
683
697
  offset += sent_bytes_size;
684
698
  if (result == TSI_INCOMPLETE_DATA) {
685
699
  handshaker->outgoing_bytes_buffer_size *= 2;
686
- handshaker->outgoing_bytes_buffer =
687
- (unsigned char*)gpr_realloc(handshaker->outgoing_bytes_buffer,
688
- handshaker->outgoing_bytes_buffer_size);
700
+ handshaker->outgoing_bytes_buffer = static_cast<unsigned char*>(
701
+ gpr_realloc(handshaker->outgoing_bytes_buffer,
702
+ handshaker->outgoing_bytes_buffer_size));
689
703
  }
690
704
  } while (result == TSI_INCOMPLETE_DATA);
691
705
  if (result != TSI_OK) return result;
@@ -726,14 +740,15 @@ static const tsi_handshaker_vtable handshaker_vtable = {
726
740
  };
727
741
 
728
742
  tsi_handshaker* tsi_create_fake_handshaker(int is_client) {
729
- tsi_fake_handshaker* impl = (tsi_fake_handshaker*)gpr_zalloc(sizeof(*impl));
743
+ tsi_fake_handshaker* impl =
744
+ static_cast<tsi_fake_handshaker*>(gpr_zalloc(sizeof(*impl)));
730
745
  impl->base.vtable = &handshaker_vtable;
731
746
  impl->is_client = is_client;
732
747
  impl->result = TSI_HANDSHAKE_IN_PROGRESS;
733
748
  impl->outgoing_bytes_buffer_size =
734
749
  TSI_FAKE_HANDSHAKER_OUTGOING_BUFFER_INITIAL_SIZE;
735
750
  impl->outgoing_bytes_buffer =
736
- (unsigned char*)gpr_malloc(impl->outgoing_bytes_buffer_size);
751
+ static_cast<unsigned char*>(gpr_malloc(impl->outgoing_bytes_buffer_size));
737
752
  if (is_client) {
738
753
  impl->needs_incoming_message = 0;
739
754
  impl->next_message_to_send = TSI_FAKE_CLIENT_INIT;
@@ -747,7 +762,7 @@ tsi_handshaker* tsi_create_fake_handshaker(int is_client) {
747
762
  tsi_frame_protector* tsi_create_fake_frame_protector(
748
763
  size_t* max_protected_frame_size) {
749
764
  tsi_fake_frame_protector* impl =
750
- (tsi_fake_frame_protector*)gpr_zalloc(sizeof(*impl));
765
+ static_cast<tsi_fake_frame_protector*>(gpr_zalloc(sizeof(*impl)));
751
766
  impl->max_frame_size = (max_protected_frame_size == nullptr)
752
767
  ? TSI_FAKE_DEFAULT_FRAME_SIZE
753
768
  : *max_protected_frame_size;
@@ -758,7 +773,8 @@ tsi_frame_protector* tsi_create_fake_frame_protector(
758
773
  tsi_zero_copy_grpc_protector* tsi_create_fake_zero_copy_grpc_protector(
759
774
  size_t* max_protected_frame_size) {
760
775
  tsi_fake_zero_copy_grpc_protector* impl =
761
- (tsi_fake_zero_copy_grpc_protector*)gpr_zalloc(sizeof(*impl));
776
+ static_cast<tsi_fake_zero_copy_grpc_protector*>(
777
+ gpr_zalloc(sizeof(*impl)));
762
778
  grpc_slice_buffer_init(&impl->header_sb);
763
779
  grpc_slice_buffer_init(&impl->protected_sb);
764
780
  impl->max_frame_size = (max_protected_frame_size == nullptr)