grpc 1.0.1 → 1.1.2

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 (705) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +3696 -867
  3. data/etc/roots.pem +39 -111
  4. data/include/grpc/byte_buffer.h +64 -1
  5. data/include/grpc/census.h +40 -96
  6. data/include/grpc/compression.h +2 -1
  7. data/include/grpc/grpc.h +42 -7
  8. data/include/grpc/grpc_posix.h +8 -5
  9. data/include/grpc/impl/codegen/atm.h +3 -0
  10. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  11. data/include/grpc/impl/codegen/atm_gcc_sync.h +8 -0
  12. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  13. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -4
  14. data/include/grpc/impl/codegen/compression_types.h +1 -1
  15. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  16. data/include/grpc/impl/codegen/exec_ctx_fwd.h +41 -0
  17. data/include/grpc/impl/codegen/gpr_slice.h +84 -0
  18. data/include/grpc/impl/codegen/{alloc.h → gpr_types.h} +30 -29
  19. data/include/grpc/impl/codegen/grpc_types.h +91 -9
  20. data/include/grpc/impl/codegen/port_platform.h +25 -92
  21. data/include/grpc/impl/codegen/slice.h +54 -97
  22. data/include/grpc/impl/codegen/sync.h +0 -253
  23. data/include/grpc/module.modulemap +0 -2
  24. data/include/grpc/slice.h +132 -0
  25. data/include/grpc/{impl/codegen/slice_buffer.h → slice_buffer.h} +22 -39
  26. data/include/grpc/support/alloc.h +40 -1
  27. data/include/grpc/support/log.h +80 -1
  28. data/include/grpc/support/log_windows.h +2 -0
  29. data/include/grpc/support/string_util.h +1 -1
  30. data/include/grpc/support/sync.h +252 -0
  31. data/include/grpc/support/time.h +67 -1
  32. data/src/boringssl/err_data.c +639 -627
  33. data/src/core/ext/census/base_resources.c +71 -0
  34. data/src/core/ext/census/base_resources.h +39 -0
  35. data/src/core/ext/census/gen/census.pb.c +26 -29
  36. data/src/core/ext/census/gen/census.pb.h +68 -67
  37. data/src/core/ext/census/gen/trace_context.pb.c +81 -0
  38. data/src/core/ext/census/gen/trace_context.pb.h +99 -0
  39. data/src/core/ext/census/grpc_filter.c +22 -16
  40. data/src/core/ext/census/grpc_plugin.c +2 -1
  41. data/src/core/ext/census/initialize.c +16 -4
  42. data/src/core/ext/census/mlog.h +1 -1
  43. data/src/core/ext/census/placeholders.c +0 -45
  44. data/src/core/ext/census/resource.c +312 -0
  45. data/src/core/ext/census/resource.h +63 -0
  46. data/src/core/ext/census/trace_context.c +86 -0
  47. data/src/core/ext/census/trace_context.h +68 -0
  48. data/src/core/ext/census/tracing.c +8 -2
  49. data/src/core/ext/{client_config → client_channel}/channel_connectivity.c +8 -4
  50. data/src/core/ext/client_channel/client_channel.c +1218 -0
  51. data/src/core/ext/{client_config → client_channel}/client_channel.h +8 -11
  52. data/src/core/ext/{client_config → client_channel}/client_channel_factory.c +33 -3
  53. data/src/core/ext/{client_config → client_channel}/client_channel_factory.h +15 -8
  54. data/src/core/ext/{client_config/client_config_plugin.c → client_channel/client_channel_plugin.c} +16 -15
  55. data/src/core/ext/{client_config → client_channel}/connector.c +1 -1
  56. data/src/core/ext/{client_config → client_channel}/connector.h +5 -8
  57. data/{include/grpc/support/slice_buffer.h → src/core/ext/client_channel/default_initial_connect_string.c} +4 -5
  58. data/src/core/ext/client_channel/http_connect_handshaker.c +399 -0
  59. data/src/core/ext/client_channel/http_connect_handshaker.h +52 -0
  60. data/src/core/ext/{client_config → client_channel}/initial_connect_string.c +6 -7
  61. data/src/core/ext/{client_config → client_channel}/initial_connect_string.h +10 -10
  62. data/src/core/ext/{client_config → client_channel}/lb_policy.c +11 -11
  63. data/src/core/ext/{client_config → client_channel}/lb_policy.h +68 -27
  64. data/src/core/ext/client_channel/lb_policy_factory.c +163 -0
  65. data/src/core/ext/{client_config → client_channel}/lb_policy_factory.h +64 -9
  66. data/src/core/ext/{client_config → client_channel}/lb_policy_registry.c +6 -4
  67. data/src/core/ext/{client_config → client_channel}/lb_policy_registry.h +4 -4
  68. data/src/core/ext/{client_config → client_channel}/parse_address.c +21 -14
  69. data/src/core/ext/{client_config → client_channel}/parse_address.h +8 -10
  70. data/src/core/ext/{client_config → client_channel}/resolver.c +3 -4
  71. data/src/core/ext/{client_config → client_channel}/resolver.h +11 -15
  72. data/src/core/ext/{client_config → client_channel}/resolver_factory.c +4 -3
  73. data/src/core/ext/{client_config → client_channel}/resolver_factory.h +13 -11
  74. data/src/core/ext/{client_config → client_channel}/resolver_registry.c +54 -34
  75. data/src/core/ext/{client_config → client_channel}/resolver_registry.h +21 -8
  76. data/src/core/ext/{client_config → client_channel}/subchannel.c +208 -119
  77. data/src/core/ext/{client_config → client_channel}/subchannel.h +21 -11
  78. data/src/core/ext/{client_config → client_channel}/subchannel_index.c +6 -17
  79. data/src/core/ext/{client_config → client_channel}/subchannel_index.h +7 -7
  80. data/src/core/ext/{client_config → client_channel}/uri_parser.c +21 -28
  81. data/src/core/ext/{client_config → client_channel}/uri_parser.h +3 -3
  82. data/src/core/ext/lb_policy/grpclb/grpclb.c +1406 -0
  83. data/src/core/ext/lb_policy/grpclb/grpclb.h +44 -0
  84. data/src/core/ext/lb_policy/grpclb/load_balancer_api.c +117 -37
  85. data/src/core/ext/lb_policy/grpclb/load_balancer_api.h +31 -12
  86. data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +6 -36
  87. data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +22 -42
  88. data/src/core/ext/lb_policy/pick_first/pick_first.c +64 -46
  89. data/src/core/ext/lb_policy/round_robin/round_robin.c +324 -160
  90. data/src/core/ext/load_reporting/load_reporting.c +7 -56
  91. data/src/core/ext/load_reporting/load_reporting.h +41 -28
  92. data/src/core/ext/load_reporting/load_reporting_filter.c +132 -42
  93. data/src/core/ext/load_reporting/load_reporting_filter.h +1 -0
  94. data/src/core/ext/resolver/dns/native/dns_resolver.c +88 -80
  95. data/src/core/ext/resolver/sockaddr/sockaddr_resolver.c +57 -102
  96. data/src/core/ext/transport/chttp2/alpn/alpn.c +1 -1
  97. data/src/core/ext/transport/chttp2/client/chttp2_connector.c +253 -0
  98. data/src/core/{lib/iomgr/ev_poll_and_epoll_posix.h → ext/transport/chttp2/client/chttp2_connector.h} +5 -5
  99. data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +31 -160
  100. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +5 -5
  101. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +44 -243
  102. data/src/core/ext/transport/chttp2/server/chttp2_server.c +342 -0
  103. data/src/core/ext/transport/chttp2/server/chttp2_server.h +47 -0
  104. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +11 -124
  105. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c +20 -9
  106. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +28 -236
  107. data/src/core/ext/transport/chttp2/transport/bin_decoder.c +31 -27
  108. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +5 -4
  109. data/src/core/ext/transport/chttp2/transport/bin_encoder.c +25 -22
  110. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -7
  111. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +0 -3
  112. data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +1345 -1521
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -1
  114. data/src/core/ext/transport/chttp2/transport/frame.h +3 -5
  115. data/src/core/ext/transport/chttp2/transport/frame_data.c +50 -47
  116. data/src/core/ext/transport/chttp2/transport/frame_data.h +8 -9
  117. data/src/core/ext/transport/chttp2/transport/frame_goaway.c +19 -21
  118. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +9 -8
  119. data/src/core/ext/transport/chttp2/transport/frame_ping.c +13 -12
  120. data/src/core/ext/transport/chttp2/transport/frame_ping.h +6 -6
  121. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +31 -19
  122. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +8 -7
  123. data/src/core/ext/transport/chttp2/transport/frame_settings.c +22 -25
  124. data/src/core/ext/transport/chttp2/transport/frame_settings.h +9 -8
  125. data/src/core/ext/transport/chttp2/transport/frame_window_update.c +26 -18
  126. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -6
  127. data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +68 -58
  128. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -5
  129. data/src/core/ext/transport/chttp2/transport/hpack_parser.c +327 -214
  130. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +14 -9
  131. data/src/core/ext/transport/chttp2/transport/hpack_table.c +24 -19
  132. data/src/core/ext/transport/chttp2/transport/hpack_table.h +9 -6
  133. data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +2 -2
  134. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +1 -1
  135. data/src/core/ext/transport/chttp2/transport/internal.h +284 -436
  136. data/src/core/ext/transport/chttp2/transport/parsing.c +355 -590
  137. data/src/core/ext/transport/chttp2/transport/stream_lists.c +36 -309
  138. data/src/core/ext/transport/chttp2/transport/stream_map.c +13 -34
  139. data/src/core/ext/transport/chttp2/transport/stream_map.h +3 -4
  140. data/src/core/ext/transport/chttp2/transport/writing.c +174 -286
  141. data/src/core/lib/channel/channel_args.c +70 -13
  142. data/src/core/lib/channel/channel_args.h +28 -2
  143. data/src/core/lib/channel/channel_stack.c +77 -28
  144. data/src/core/lib/channel/channel_stack.h +61 -23
  145. data/src/core/lib/channel/channel_stack_builder.c +33 -25
  146. data/src/core/lib/channel/channel_stack_builder.h +17 -8
  147. data/src/core/lib/channel/compress_filter.c +52 -36
  148. data/src/core/lib/channel/connected_channel.c +20 -12
  149. data/src/core/lib/channel/connected_channel.h +2 -1
  150. data/src/core/lib/channel/context.h +13 -1
  151. data/src/core/lib/channel/deadline_filter.c +344 -0
  152. data/src/core/lib/channel/deadline_filter.h +99 -0
  153. data/src/core/lib/channel/handshaker.c +240 -0
  154. data/src/core/lib/channel/handshaker.h +164 -0
  155. data/src/core/lib/{security/credentials/google_default/credentials_windows.c → channel/handshaker_factory.c} +16 -23
  156. data/src/core/lib/channel/handshaker_factory.h +66 -0
  157. data/src/core/lib/channel/handshaker_registry.c +113 -0
  158. data/src/core/{ext/client_config/client_config.h → lib/channel/handshaker_registry.h} +26 -16
  159. data/src/core/lib/channel/http_client_filter.c +248 -46
  160. data/src/core/lib/channel/http_client_filter.h +3 -0
  161. data/src/core/lib/channel/http_server_filter.c +136 -24
  162. data/src/core/lib/channel/message_size_filter.c +261 -0
  163. data/src/core/lib/channel/message_size_filter.h +39 -0
  164. data/src/core/lib/compression/message_compress.c +43 -37
  165. data/src/core/lib/compression/message_compress.h +7 -5
  166. data/src/core/lib/http/format_request.c +26 -11
  167. data/src/core/lib/http/format_request.h +7 -5
  168. data/src/core/lib/http/httpcli.c +45 -27
  169. data/src/core/lib/http/httpcli.h +4 -4
  170. data/src/core/lib/http/httpcli_security_connector.c +56 -46
  171. data/src/core/lib/http/parser.c +17 -14
  172. data/src/core/lib/http/parser.h +4 -2
  173. data/src/core/lib/iomgr/closure.c +49 -7
  174. data/src/core/lib/iomgr/closure.h +56 -14
  175. data/src/core/lib/iomgr/combiner.c +422 -0
  176. data/src/core/lib/iomgr/combiner.h +64 -0
  177. data/src/core/lib/iomgr/endpoint.c +8 -2
  178. data/src/core/lib/iomgr/endpoint.h +17 -7
  179. data/src/core/lib/iomgr/endpoint_pair.h +3 -2
  180. data/src/core/lib/iomgr/endpoint_pair_posix.c +9 -8
  181. data/src/core/{ext/client_config/lb_policy_factory.c → lib/iomgr/endpoint_pair_uv.c} +18 -13
  182. data/src/core/lib/iomgr/endpoint_pair_windows.c +7 -6
  183. data/src/core/lib/iomgr/error.c +72 -6
  184. data/src/core/lib/iomgr/error.h +30 -3
  185. data/src/core/lib/iomgr/ev_epoll_linux.c +500 -382
  186. data/src/core/lib/iomgr/ev_epoll_linux.h +3 -2
  187. data/src/core/lib/iomgr/ev_poll_posix.c +317 -30
  188. data/src/core/lib/iomgr/ev_poll_posix.h +1 -0
  189. data/src/core/lib/iomgr/ev_posix.c +26 -5
  190. data/src/core/lib/iomgr/ev_posix.h +12 -1
  191. data/src/core/lib/iomgr/exec_ctx.c +27 -94
  192. data/src/core/lib/iomgr/exec_ctx.h +19 -22
  193. data/src/core/lib/iomgr/executor.c +29 -8
  194. data/src/core/lib/iomgr/executor.h +2 -4
  195. data/src/core/lib/iomgr/iocp_windows.c +3 -4
  196. data/src/core/lib/iomgr/iomgr.c +14 -10
  197. data/src/core/lib/iomgr/iomgr.h +6 -2
  198. data/src/core/lib/iomgr/iomgr_posix.c +2 -2
  199. data/src/core/lib/iomgr/iomgr_uv.c +49 -0
  200. data/src/core/lib/iomgr/iomgr_windows.c +2 -2
  201. data/src/core/lib/iomgr/load_file.c +3 -3
  202. data/src/core/lib/iomgr/load_file.h +2 -2
  203. data/src/core/lib/iomgr/network_status_tracker.c +1 -1
  204. data/src/core/lib/iomgr/pollset_set_uv.c +62 -0
  205. data/src/core/lib/iomgr/pollset_set_windows.c +3 -3
  206. data/src/core/lib/iomgr/pollset_uv.c +142 -0
  207. data/src/core/lib/iomgr/pollset_uv.h +42 -0
  208. data/src/core/lib/iomgr/pollset_windows.c +5 -6
  209. data/src/core/lib/iomgr/port.h +129 -0
  210. data/src/core/lib/iomgr/resolve_address.h +2 -1
  211. data/src/core/lib/iomgr/resolve_address_posix.c +14 -13
  212. data/src/core/lib/iomgr/resolve_address_uv.c +233 -0
  213. data/src/core/lib/iomgr/resolve_address_windows.c +14 -12
  214. data/src/core/lib/iomgr/resource_quota.c +832 -0
  215. data/src/core/lib/iomgr/resource_quota.h +159 -0
  216. data/src/core/lib/iomgr/sockaddr.h +10 -2
  217. data/src/core/lib/iomgr/sockaddr_utils.c +63 -36
  218. data/src/core/lib/iomgr/sockaddr_utils.h +14 -14
  219. data/src/core/lib/iomgr/socket_mutator.c +98 -0
  220. data/src/core/lib/iomgr/socket_mutator.h +80 -0
  221. data/src/core/lib/iomgr/socket_utils.h +42 -0
  222. data/src/core/lib/iomgr/socket_utils_common_posix.c +28 -13
  223. data/src/core/lib/iomgr/socket_utils_linux.c +11 -5
  224. data/src/core/lib/iomgr/socket_utils_posix.c +10 -7
  225. data/src/core/lib/iomgr/socket_utils_posix.h +11 -4
  226. data/src/core/lib/iomgr/socket_utils_uv.c +49 -0
  227. data/src/core/lib/iomgr/socket_utils_windows.c +52 -0
  228. data/src/core/lib/iomgr/socket_windows.c +14 -6
  229. data/src/core/lib/iomgr/socket_windows.h +1 -0
  230. data/src/core/lib/iomgr/tcp_client.h +8 -2
  231. data/src/core/lib/iomgr/tcp_client_posix.c +131 -82
  232. data/src/core/lib/iomgr/tcp_client_posix.h +45 -0
  233. data/src/core/lib/iomgr/tcp_client_uv.c +190 -0
  234. data/src/core/lib/iomgr/tcp_client_windows.c +54 -30
  235. data/src/core/lib/iomgr/tcp_posix.c +135 -56
  236. data/src/core/lib/iomgr/tcp_posix.h +2 -2
  237. data/src/core/lib/iomgr/tcp_server.h +14 -6
  238. data/src/core/lib/iomgr/tcp_server_posix.c +154 -118
  239. data/src/core/lib/iomgr/tcp_server_uv.c +388 -0
  240. data/src/core/lib/iomgr/tcp_server_windows.c +127 -100
  241. data/src/core/lib/iomgr/tcp_uv.c +367 -0
  242. data/src/core/lib/iomgr/tcp_uv.h +59 -0
  243. data/src/core/lib/iomgr/tcp_windows.c +65 -48
  244. data/src/core/lib/iomgr/tcp_windows.h +3 -1
  245. data/src/core/lib/iomgr/timer.h +21 -21
  246. data/src/core/lib/iomgr/{timer.c → timer_generic.c} +15 -10
  247. data/src/core/lib/iomgr/timer_generic.h +49 -0
  248. data/src/core/lib/iomgr/timer_heap.c +6 -0
  249. data/src/core/lib/iomgr/timer_uv.c +99 -0
  250. data/src/core/lib/iomgr/timer_uv.h +47 -0
  251. data/src/core/lib/iomgr/udp_server.c +116 -98
  252. data/src/core/lib/iomgr/udp_server.h +5 -3
  253. data/src/core/lib/iomgr/unix_sockets_posix.c +14 -6
  254. data/src/core/lib/iomgr/unix_sockets_posix.h +6 -5
  255. data/src/core/lib/iomgr/unix_sockets_posix_noop.c +4 -4
  256. data/src/core/lib/iomgr/wakeup_fd_cv.c +118 -0
  257. data/src/core/lib/iomgr/wakeup_fd_cv.h +80 -0
  258. data/src/core/lib/iomgr/wakeup_fd_eventfd.c +3 -3
  259. data/src/core/lib/iomgr/wakeup_fd_nospecial.c +3 -3
  260. data/src/core/lib/iomgr/wakeup_fd_pipe.c +12 -6
  261. data/src/core/lib/iomgr/wakeup_fd_posix.c +34 -5
  262. data/src/core/lib/iomgr/wakeup_fd_posix.h +5 -0
  263. data/src/core/lib/iomgr/workqueue.h +12 -20
  264. data/src/core/{ext/client_config/client_config.c → lib/iomgr/workqueue_uv.c} +24 -33
  265. data/{include/grpc/support/slice.h → src/core/lib/iomgr/workqueue_uv.h} +4 -6
  266. data/src/core/lib/iomgr/workqueue_windows.c +9 -8
  267. data/src/core/lib/json/json.c +3 -3
  268. data/src/core/lib/json/json.h +11 -11
  269. data/src/core/lib/json/json_reader.c +9 -5
  270. data/src/core/lib/profiling/basic_timers.c +10 -1
  271. data/src/core/lib/profiling/timers.h +2 -0
  272. data/src/core/lib/security/context/security_context.c +13 -3
  273. data/src/core/lib/security/context/security_context.h +20 -0
  274. data/src/core/lib/security/credentials/composite/composite_credentials.c +28 -14
  275. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  276. data/src/core/lib/security/credentials/credentials.c +48 -19
  277. data/src/core/lib/security/credentials/credentials.h +36 -19
  278. data/src/core/lib/security/credentials/credentials_metadata.c +11 -8
  279. data/src/core/lib/security/credentials/fake/fake_credentials.c +15 -11
  280. data/src/core/lib/security/credentials/google_default/{credentials_posix.c → credentials_generic.c} +7 -14
  281. data/src/core/lib/security/credentials/google_default/google_default_credentials.c +33 -21
  282. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +14 -0
  283. data/src/core/lib/security/credentials/iam/iam_credentials.c +3 -2
  284. data/src/core/lib/security/credentials/jwt/json_token.c +1 -0
  285. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  286. data/src/core/lib/security/credentials/jwt/jwt_credentials.c +54 -19
  287. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -1
  288. data/src/core/lib/security/credentials/jwt/jwt_verifier.c +129 -79
  289. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +9 -6
  290. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +63 -28
  291. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
  292. data/src/core/lib/security/credentials/plugin/plugin_credentials.c +32 -11
  293. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +13 -9
  294. data/src/core/lib/security/transport/client_auth_filter.c +33 -27
  295. data/src/core/lib/security/transport/secure_endpoint.c +93 -68
  296. data/src/core/lib/security/transport/secure_endpoint.h +2 -2
  297. data/src/core/lib/security/transport/security_connector.c +133 -168
  298. data/src/core/lib/security/transport/security_connector.h +31 -46
  299. data/src/core/lib/security/transport/security_handshaker.c +501 -0
  300. data/src/core/lib/security/transport/{handshake.h → security_handshaker.h} +10 -10
  301. data/src/core/lib/security/transport/server_auth_filter.c +50 -38
  302. data/src/core/lib/security/util/b64.c +11 -8
  303. data/src/core/lib/security/util/b64.h +5 -4
  304. data/src/core/lib/slice/percent_encoding.c +182 -0
  305. data/src/core/lib/slice/percent_encoding.h +78 -0
  306. data/src/core/lib/{support → slice}/slice.c +81 -50
  307. data/src/core/lib/{support → slice}/slice_buffer.c +78 -60
  308. data/src/core/lib/slice/slice_internal.h +49 -0
  309. data/src/core/lib/slice/slice_string_helpers.c +90 -0
  310. data/src/core/lib/{iomgr/workqueue_posix.h → slice/slice_string_helpers.h} +18 -18
  311. data/src/core/lib/support/backoff.c +24 -13
  312. data/src/core/lib/support/backoff.h +5 -2
  313. data/src/core/lib/support/env.h +0 -2
  314. data/src/core/lib/support/log.c +5 -4
  315. data/src/core/lib/support/log_linux.c +0 -1
  316. data/src/core/lib/support/log_posix.c +1 -1
  317. data/src/core/lib/support/mpscq.c +83 -0
  318. data/src/core/lib/support/mpscq.h +65 -0
  319. data/src/core/lib/support/string.c +58 -49
  320. data/src/core/lib/support/string.h +11 -8
  321. data/src/core/lib/support/subprocess_posix.c +5 -2
  322. data/src/core/lib/support/thd.c +1 -1
  323. data/src/core/lib/support/time.c +43 -79
  324. data/src/core/lib/support/time_posix.c +1 -1
  325. data/src/core/lib/support/tmpfile.h +0 -2
  326. data/src/core/lib/surface/alarm.c +4 -1
  327. data/src/core/lib/surface/byte_buffer.c +17 -11
  328. data/src/core/lib/surface/byte_buffer_reader.c +23 -15
  329. data/src/core/lib/surface/call.c +294 -276
  330. data/src/core/lib/surface/call.h +24 -9
  331. data/src/core/lib/surface/call_log_batch.c +5 -3
  332. data/src/core/lib/surface/channel.c +127 -111
  333. data/src/core/lib/surface/channel.h +14 -5
  334. data/src/core/lib/surface/channel_init.c +1 -1
  335. data/src/core/lib/surface/channel_init.h +10 -1
  336. data/src/core/lib/surface/channel_ping.c +7 -6
  337. data/src/core/lib/surface/completion_queue.c +154 -18
  338. data/src/core/lib/surface/completion_queue.h +5 -0
  339. data/src/core/lib/surface/init.c +40 -6
  340. data/src/core/lib/surface/init.h +1 -0
  341. data/src/core/lib/surface/init_secure.c +5 -2
  342. data/src/core/lib/surface/lame_client.c +28 -18
  343. data/src/core/lib/surface/server.c +134 -87
  344. data/src/core/lib/surface/server.h +8 -0
  345. data/src/core/lib/surface/validate_metadata.c +1 -1
  346. data/src/core/lib/surface/version.c +3 -1
  347. data/src/core/lib/transport/byte_stream.c +7 -4
  348. data/src/core/lib/transport/byte_stream.h +6 -10
  349. data/src/core/lib/transport/connectivity_state.c +21 -12
  350. data/src/core/lib/transport/connectivity_state.h +4 -1
  351. data/src/core/lib/transport/mdstr_hash_table.c +118 -0
  352. data/src/core/lib/transport/mdstr_hash_table.h +77 -0
  353. data/src/core/lib/transport/metadata.c +83 -60
  354. data/src/core/lib/transport/metadata.h +41 -23
  355. data/src/core/lib/transport/metadata_batch.c +17 -11
  356. data/src/core/lib/transport/metadata_batch.h +20 -6
  357. data/src/core/lib/transport/pid_controller.c +57 -0
  358. data/src/core/lib/transport/pid_controller.h +64 -0
  359. data/src/core/lib/transport/service_config.c +251 -0
  360. data/src/core/lib/transport/service_config.h +71 -0
  361. data/src/core/lib/transport/static_metadata.c +18 -16
  362. data/src/core/lib/transport/static_metadata.h +113 -107
  363. data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.c +3 -3
  364. data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.h +7 -7
  365. data/src/core/lib/transport/transport.c +84 -23
  366. data/src/core/lib/transport/transport.h +53 -8
  367. data/src/core/lib/transport/transport_impl.h +3 -0
  368. data/src/core/lib/transport/transport_op_string.c +92 -20
  369. data/src/core/lib/tsi/ssl_transport_security.c +3 -1
  370. data/src/core/plugin_registry/grpc_plugin_registry.c +8 -4
  371. data/src/ruby/ext/grpc/extconf.rb +0 -1
  372. data/src/ruby/ext/grpc/rb_byte_buffer.c +8 -7
  373. data/src/ruby/ext/grpc/rb_call.c +15 -5
  374. data/src/ruby/ext/grpc/rb_channel.c +1 -1
  375. data/src/ruby/ext/grpc/rb_compression_options.c +466 -0
  376. data/src/{core/ext/client_config/default_initial_connect_string.c → ruby/ext/grpc/rb_compression_options.h} +10 -5
  377. data/src/ruby/ext/grpc/rb_grpc.c +3 -1
  378. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +198 -190
  379. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +306 -294
  380. data/src/ruby/ext/grpc/rb_server.c +18 -12
  381. data/src/ruby/lib/grpc/errors.rb +154 -2
  382. data/src/ruby/lib/grpc/generic/active_call.rb +144 -63
  383. data/src/ruby/lib/grpc/generic/bidi_call.rb +18 -2
  384. data/src/ruby/lib/grpc/generic/client_stub.rb +7 -5
  385. data/src/ruby/lib/grpc/generic/rpc_desc.rb +39 -13
  386. data/src/ruby/lib/grpc/generic/rpc_server.rb +51 -24
  387. data/src/ruby/lib/grpc/generic/service.rb +3 -2
  388. data/src/ruby/lib/grpc/version.rb +1 -1
  389. data/src/ruby/pb/grpc/health/checker.rb +3 -1
  390. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +7 -0
  391. data/src/ruby/pb/test/client.rb +307 -7
  392. data/src/ruby/pb/test/server.rb +26 -1
  393. data/src/ruby/spec/compression_options_spec.rb +164 -0
  394. data/src/ruby/spec/error_sanity_spec.rb +64 -0
  395. data/src/ruby/spec/generic/active_call_spec.rb +290 -12
  396. data/src/ruby/spec/generic/client_stub_spec.rb +91 -41
  397. data/src/ruby/spec/generic/rpc_desc_spec.rb +36 -16
  398. data/src/ruby/spec/generic/rpc_server_pool_spec.rb +22 -28
  399. data/src/ruby/spec/generic/rpc_server_spec.rb +6 -6
  400. data/src/ruby/spec/pb/health/checker_spec.rb +27 -19
  401. data/src/ruby/spec/spec_helper.rb +2 -0
  402. data/third_party/boringssl/crypto/aes/aes.c +12 -12
  403. data/third_party/boringssl/crypto/aes/mode_wrappers.c +6 -2
  404. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +28 -13
  405. data/third_party/boringssl/crypto/asn1/a_gentm.c +2 -0
  406. data/third_party/boringssl/crypto/asn1/a_object.c +7 -3
  407. data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
  408. data/third_party/boringssl/crypto/asn1/a_time.c +0 -11
  409. data/third_party/boringssl/crypto/asn1/a_type.c +0 -2
  410. data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -30
  411. data/third_party/boringssl/crypto/asn1/asn1_lib.c +56 -76
  412. data/third_party/boringssl/crypto/asn1/asn1_locl.h +0 -10
  413. data/third_party/boringssl/crypto/asn1/asn1_par.c +0 -322
  414. data/third_party/boringssl/crypto/asn1/f_enum.c +1 -108
  415. data/third_party/boringssl/crypto/asn1/f_int.c +1 -106
  416. data/third_party/boringssl/crypto/asn1/f_string.c +1 -106
  417. data/third_party/boringssl/crypto/asn1/tasn_dec.c +10 -14
  418. data/third_party/boringssl/crypto/asn1/tasn_enc.c +17 -11
  419. data/third_party/boringssl/crypto/asn1/tasn_typ.c +29 -42
  420. data/third_party/boringssl/crypto/asn1/tasn_utl.c +1 -1
  421. data/third_party/boringssl/crypto/base64/base64.c +249 -285
  422. data/third_party/boringssl/crypto/bio/bio.c +13 -23
  423. data/third_party/boringssl/crypto/bio/bio_mem.c +3 -2
  424. data/third_party/boringssl/crypto/bio/connect.c +12 -3
  425. data/third_party/boringssl/crypto/bio/fd.c +22 -15
  426. data/third_party/boringssl/crypto/bio/file.c +2 -38
  427. data/third_party/boringssl/crypto/bio/hexdump.c +1 -2
  428. data/third_party/boringssl/crypto/bio/internal.h +3 -0
  429. data/third_party/boringssl/crypto/bio/pair.c +1 -1
  430. data/third_party/boringssl/crypto/bio/socket.c +10 -2
  431. data/third_party/boringssl/crypto/bio/socket_helper.c +2 -2
  432. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -8
  433. data/third_party/boringssl/crypto/bn/bn.c +38 -0
  434. data/third_party/boringssl/crypto/bn/cmp.c +25 -0
  435. data/third_party/boringssl/crypto/bn/convert.c +73 -76
  436. data/third_party/boringssl/crypto/bn/div.c +136 -70
  437. data/third_party/boringssl/crypto/bn/exponentiation.c +86 -381
  438. data/third_party/boringssl/crypto/bn/gcd.c +213 -296
  439. data/third_party/boringssl/crypto/bn/generic.c +0 -80
  440. data/third_party/boringssl/crypto/bn/internal.h +15 -3
  441. data/third_party/boringssl/crypto/bn/montgomery.c +57 -207
  442. data/third_party/boringssl/crypto/bn/montgomery_inv.c +160 -0
  443. data/third_party/boringssl/crypto/bn/mul.c +2 -1
  444. data/third_party/boringssl/crypto/bn/prime.c +24 -8
  445. data/third_party/boringssl/crypto/bn/random.c +47 -33
  446. data/third_party/boringssl/crypto/bn/sqrt.c +4 -5
  447. data/third_party/boringssl/crypto/buf/buf.c +25 -21
  448. data/third_party/boringssl/crypto/bytestring/ber.c +1 -0
  449. data/third_party/boringssl/crypto/bytestring/cbb.c +50 -22
  450. data/third_party/boringssl/crypto/bytestring/cbs.c +28 -4
  451. data/third_party/boringssl/crypto/chacha/{chacha_generic.c → chacha.c} +56 -29
  452. data/third_party/boringssl/crypto/cipher/aead.c +11 -22
  453. data/third_party/boringssl/crypto/cipher/cipher.c +2 -2
  454. data/third_party/boringssl/crypto/cipher/e_aes.c +53 -103
  455. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +2 -8
  456. data/third_party/boringssl/crypto/cipher/e_des.c +3 -5
  457. data/third_party/boringssl/crypto/cipher/e_null.c +1 -1
  458. data/third_party/boringssl/crypto/cipher/e_rc2.c +1 -1
  459. data/third_party/boringssl/crypto/cipher/e_rc4.c +1 -1
  460. data/third_party/boringssl/crypto/cipher/e_ssl3.c +3 -63
  461. data/third_party/boringssl/crypto/cipher/e_tls.c +12 -83
  462. data/third_party/boringssl/crypto/cipher/internal.h +8 -10
  463. data/third_party/boringssl/crypto/cipher/tls_cbc.c +69 -40
  464. data/third_party/boringssl/crypto/conf/conf.c +2 -1
  465. data/third_party/boringssl/crypto/cpu-aarch64-linux.c +61 -0
  466. data/third_party/boringssl/crypto/cpu-arm-linux.c +360 -0
  467. data/third_party/boringssl/crypto/cpu-arm.c +0 -161
  468. data/third_party/boringssl/crypto/cpu-intel.c +5 -3
  469. data/third_party/boringssl/{ssl/test/scoped_types.h → crypto/cpu-ppc64le.c} +21 -9
  470. data/third_party/boringssl/crypto/crypto.c +29 -7
  471. data/third_party/boringssl/crypto/curve25519/curve25519.c +284 -242
  472. data/third_party/boringssl/crypto/curve25519/internal.h +64 -0
  473. data/third_party/boringssl/crypto/curve25519/spake25519.c +464 -0
  474. data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +21 -0
  475. data/third_party/boringssl/crypto/dh/check.c +22 -6
  476. data/third_party/boringssl/crypto/dh/dh.c +45 -21
  477. data/third_party/boringssl/crypto/dh/dh_asn1.c +96 -20
  478. data/third_party/boringssl/crypto/dh/params.c +30 -78
  479. data/third_party/boringssl/crypto/digest/digest.c +3 -3
  480. data/third_party/boringssl/crypto/dsa/dsa.c +59 -29
  481. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +4 -0
  482. data/third_party/boringssl/crypto/ec/ec.c +84 -140
  483. data/third_party/boringssl/crypto/ec/ec_asn1.c +82 -52
  484. data/third_party/boringssl/crypto/ec/ec_key.c +15 -15
  485. data/third_party/boringssl/crypto/ec/ec_montgomery.c +87 -50
  486. data/third_party/boringssl/crypto/ec/internal.h +12 -36
  487. data/third_party/boringssl/crypto/ec/oct.c +11 -11
  488. data/third_party/boringssl/crypto/ec/p224-64.c +59 -116
  489. data/third_party/boringssl/crypto/ec/p256-64.c +88 -163
  490. data/third_party/boringssl/crypto/ec/p256-x86_64.c +46 -58
  491. data/third_party/boringssl/crypto/ec/simple.c +81 -201
  492. data/third_party/boringssl/crypto/ec/util-64.c +0 -74
  493. data/third_party/boringssl/crypto/ecdh/ecdh.c +7 -1
  494. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +28 -46
  495. data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +1 -0
  496. data/third_party/boringssl/crypto/engine/engine.c +1 -1
  497. data/third_party/boringssl/crypto/err/err.c +3 -3
  498. data/third_party/boringssl/crypto/evp/evp.c +14 -59
  499. data/third_party/boringssl/crypto/evp/evp_asn1.c +144 -87
  500. data/third_party/boringssl/crypto/evp/evp_ctx.c +7 -7
  501. data/third_party/boringssl/crypto/evp/internal.h +4 -46
  502. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +8 -157
  503. data/third_party/boringssl/crypto/evp/p_ec.c +1 -1
  504. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +22 -170
  505. data/third_party/boringssl/crypto/evp/p_rsa.c +1 -1
  506. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +10 -548
  507. data/third_party/boringssl/crypto/evp/print.c +520 -0
  508. data/third_party/boringssl/crypto/ex_data.c +4 -6
  509. data/third_party/boringssl/crypto/hkdf/hkdf.c +38 -17
  510. data/third_party/boringssl/crypto/hmac/hmac.c +6 -6
  511. data/third_party/boringssl/crypto/internal.h +57 -77
  512. data/third_party/boringssl/crypto/lhash/lhash.c +6 -10
  513. data/third_party/boringssl/crypto/md4/md4.c +9 -0
  514. data/third_party/boringssl/crypto/mem.c +19 -19
  515. data/third_party/boringssl/crypto/modes/cfb.c +5 -6
  516. data/third_party/boringssl/crypto/modes/ctr.c +10 -18
  517. data/third_party/boringssl/crypto/modes/gcm.c +100 -66
  518. data/third_party/boringssl/crypto/modes/internal.h +15 -27
  519. data/third_party/boringssl/crypto/modes/ofb.c +9 -22
  520. data/third_party/boringssl/crypto/newhope/error_correction.c +131 -0
  521. data/third_party/boringssl/crypto/newhope/internal.h +71 -0
  522. data/third_party/boringssl/crypto/newhope/newhope.c +174 -0
  523. data/third_party/boringssl/crypto/newhope/ntt.c +148 -0
  524. data/third_party/boringssl/crypto/newhope/poly.c +183 -0
  525. data/third_party/boringssl/crypto/newhope/precomp.c +306 -0
  526. data/third_party/boringssl/crypto/newhope/reduce.c +42 -0
  527. data/third_party/boringssl/crypto/obj/obj.c +111 -135
  528. data/third_party/boringssl/crypto/obj/obj_dat.h +4 -10
  529. data/third_party/boringssl/crypto/pem/pem_lib.c +6 -43
  530. data/third_party/boringssl/crypto/pem/pem_pkey.c +10 -19
  531. data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +1 -0
  532. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +2 -1
  533. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +2 -2
  534. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +95 -87
  535. data/third_party/boringssl/crypto/{test/test_util.h → poly1305/internal.h} +15 -10
  536. data/third_party/boringssl/crypto/poly1305/poly1305.c +8 -15
  537. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +1 -0
  538. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +3 -3
  539. data/third_party/boringssl/crypto/rand/deterministic.c +47 -0
  540. data/third_party/boringssl/crypto/rand/rand.c +4 -1
  541. data/third_party/boringssl/crypto/rand/urandom.c +5 -7
  542. data/third_party/boringssl/crypto/rand/windows.c +5 -8
  543. data/third_party/boringssl/crypto/rc4/rc4.c +24 -209
  544. data/third_party/boringssl/crypto/refcount_lock.c +2 -2
  545. data/third_party/boringssl/crypto/rsa/blinding.c +74 -232
  546. data/third_party/boringssl/crypto/rsa/internal.h +5 -13
  547. data/third_party/boringssl/crypto/rsa/padding.c +64 -63
  548. data/third_party/boringssl/crypto/rsa/rsa.c +50 -28
  549. data/third_party/boringssl/crypto/rsa/rsa_asn1.c +8 -16
  550. data/third_party/boringssl/crypto/rsa/rsa_impl.c +134 -122
  551. data/third_party/boringssl/crypto/sha/sha256.c +2 -2
  552. data/third_party/boringssl/crypto/sha/sha512.c +7 -7
  553. data/third_party/boringssl/crypto/stack/stack.c +13 -22
  554. data/third_party/boringssl/crypto/thread.c +21 -12
  555. data/third_party/boringssl/crypto/thread_none.c +6 -2
  556. data/third_party/boringssl/crypto/thread_pthread.c +16 -7
  557. data/third_party/boringssl/crypto/thread_win.c +38 -85
  558. data/third_party/boringssl/crypto/x509/a_sign.c +3 -3
  559. data/third_party/boringssl/crypto/x509/a_strex.c +1 -1
  560. data/third_party/boringssl/crypto/x509/a_verify.c +2 -2
  561. data/third_party/boringssl/crypto/{evp → x509}/algorithm.c +37 -53
  562. data/third_party/boringssl/crypto/x509/asn1_gen.c +1 -2
  563. data/third_party/boringssl/crypto/x509/by_dir.c +6 -6
  564. data/third_party/boringssl/crypto/x509/internal.h +66 -0
  565. data/third_party/boringssl/crypto/x509/rsa_pss.c +385 -0
  566. data/third_party/boringssl/crypto/x509/t_x509.c +10 -12
  567. data/third_party/boringssl/crypto/x509/x509.c +5 -0
  568. data/third_party/boringssl/crypto/x509/x509_att.c +9 -3
  569. data/third_party/boringssl/crypto/x509/x509_lu.c +34 -44
  570. data/third_party/boringssl/crypto/x509/x509_obj.c +19 -2
  571. data/third_party/boringssl/crypto/x509/x509_r2x.c +9 -5
  572. data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
  573. data/third_party/boringssl/crypto/x509/x509_txt.c +5 -0
  574. data/third_party/boringssl/crypto/x509/x509_vfy.c +63 -32
  575. data/third_party/boringssl/crypto/x509/x509_vpm.c +29 -18
  576. data/third_party/boringssl/crypto/x509/x509cset.c +2 -1
  577. data/third_party/boringssl/crypto/x509/x_crl.c +2 -2
  578. data/third_party/boringssl/crypto/x509/x_name.c +14 -17
  579. data/third_party/boringssl/crypto/x509/x_pubkey.c +10 -7
  580. data/third_party/boringssl/crypto/x509/x_x509.c +67 -6
  581. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -2
  582. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +2 -1
  583. data/third_party/boringssl/crypto/x509v3/v3_conf.c +4 -3
  584. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +5 -0
  585. data/third_party/boringssl/crypto/x509v3/v3_prn.c +0 -3
  586. data/third_party/boringssl/crypto/x509v3/v3_purp.c +2 -2
  587. data/third_party/boringssl/crypto/x509v3/v3_utl.c +2 -1
  588. data/third_party/boringssl/include/openssl/aead.h +72 -73
  589. data/third_party/boringssl/include/openssl/arm_arch.h +0 -6
  590. data/third_party/boringssl/include/openssl/asn1.h +103 -235
  591. data/third_party/boringssl/include/openssl/asn1_mac.h +17 -74
  592. data/third_party/boringssl/include/openssl/asn1t.h +1 -11
  593. data/third_party/boringssl/include/openssl/base.h +145 -3
  594. data/third_party/boringssl/include/openssl/base64.h +20 -17
  595. data/third_party/boringssl/include/openssl/bio.h +59 -34
  596. data/third_party/boringssl/include/openssl/bn.h +118 -51
  597. data/third_party/boringssl/include/openssl/buf.h +15 -0
  598. data/third_party/boringssl/include/openssl/bytestring.h +52 -4
  599. data/third_party/boringssl/include/openssl/chacha.h +2 -2
  600. data/third_party/boringssl/include/openssl/cipher.h +18 -1
  601. data/third_party/boringssl/include/openssl/cmac.h +11 -0
  602. data/third_party/boringssl/include/openssl/conf.h +13 -2
  603. data/third_party/boringssl/include/openssl/cpu.h +20 -23
  604. data/third_party/boringssl/include/openssl/crypto.h +22 -1
  605. data/third_party/boringssl/include/openssl/curve25519.h +96 -4
  606. data/third_party/boringssl/include/openssl/dh.h +71 -16
  607. data/third_party/boringssl/include/openssl/digest.h +38 -11
  608. data/third_party/boringssl/include/openssl/dsa.h +40 -4
  609. data/third_party/boringssl/include/openssl/ec.h +44 -18
  610. data/third_party/boringssl/include/openssl/ec_key.h +27 -6
  611. data/third_party/boringssl/include/openssl/ecdsa.h +11 -0
  612. data/third_party/boringssl/include/openssl/engine.h +11 -0
  613. data/third_party/boringssl/include/openssl/evp.h +52 -88
  614. data/third_party/boringssl/include/openssl/hkdf.h +24 -4
  615. data/third_party/boringssl/include/openssl/hmac.h +20 -6
  616. data/third_party/boringssl/include/openssl/md4.h +4 -0
  617. data/third_party/boringssl/include/openssl/mem.h +19 -0
  618. data/third_party/boringssl/include/openssl/newhope.h +158 -0
  619. data/third_party/boringssl/include/openssl/nid.h +4166 -0
  620. data/third_party/boringssl/include/openssl/obj.h +31 -3
  621. data/third_party/boringssl/include/openssl/obj_mac.h +17 -4143
  622. data/third_party/boringssl/include/openssl/{opensslfeatures.h → opensslconf.h} +3 -3
  623. data/third_party/boringssl/include/openssl/pem.h +5 -0
  624. data/third_party/boringssl/include/openssl/pkcs8.h +12 -0
  625. data/third_party/boringssl/include/openssl/rand.h +6 -0
  626. data/third_party/boringssl/include/openssl/rc4.h +6 -0
  627. data/third_party/boringssl/{crypto/dh/internal.h → include/openssl/ripemd.h} +38 -11
  628. data/third_party/boringssl/include/openssl/rsa.h +127 -65
  629. data/third_party/boringssl/include/openssl/sha.h +14 -10
  630. data/third_party/boringssl/include/openssl/ssl.h +561 -275
  631. data/third_party/boringssl/include/openssl/ssl3.h +18 -25
  632. data/third_party/boringssl/include/openssl/stack.h +2 -4
  633. data/third_party/boringssl/include/openssl/stack_macros.h +321 -353
  634. data/third_party/boringssl/include/openssl/thread.h +31 -13
  635. data/third_party/boringssl/include/openssl/time_support.h +1 -0
  636. data/third_party/boringssl/include/openssl/tls1.h +37 -33
  637. data/third_party/boringssl/include/openssl/x509.h +69 -26
  638. data/third_party/boringssl/include/openssl/x509_vfy.h +12 -10
  639. data/third_party/boringssl/include/openssl/x509v3.h +23 -2
  640. data/third_party/boringssl/ssl/custom_extensions.c +3 -5
  641. data/third_party/boringssl/ssl/d1_both.c +463 -499
  642. data/third_party/boringssl/ssl/d1_lib.c +38 -109
  643. data/third_party/boringssl/ssl/d1_pkt.c +173 -334
  644. data/third_party/boringssl/ssl/d1_srtp.c +20 -18
  645. data/third_party/boringssl/ssl/{d1_meth.c → dtls_method.c} +88 -15
  646. data/third_party/boringssl/ssl/dtls_record.c +27 -26
  647. data/third_party/boringssl/ssl/{s3_clnt.c → handshake_client.c} +816 -904
  648. data/third_party/boringssl/ssl/handshake_server.c +1932 -0
  649. data/third_party/boringssl/ssl/internal.h +712 -439
  650. data/third_party/boringssl/ssl/s3_both.c +445 -257
  651. data/third_party/boringssl/ssl/s3_enc.c +53 -36
  652. data/third_party/boringssl/ssl/s3_lib.c +23 -268
  653. data/third_party/boringssl/ssl/s3_pkt.c +168 -364
  654. data/third_party/boringssl/ssl/ssl_aead_ctx.c +46 -17
  655. data/third_party/boringssl/ssl/ssl_asn1.c +56 -26
  656. data/third_party/boringssl/ssl/ssl_buffer.c +16 -24
  657. data/third_party/boringssl/ssl/ssl_cert.c +324 -49
  658. data/third_party/boringssl/ssl/ssl_cipher.c +205 -150
  659. data/third_party/boringssl/ssl/ssl_ecdh.c +287 -51
  660. data/third_party/boringssl/ssl/ssl_file.c +21 -68
  661. data/third_party/boringssl/ssl/ssl_lib.c +881 -510
  662. data/third_party/boringssl/ssl/ssl_rsa.c +404 -34
  663. data/third_party/boringssl/ssl/ssl_session.c +324 -103
  664. data/third_party/boringssl/ssl/ssl_stat.c +6 -88
  665. data/third_party/boringssl/ssl/t1_enc.c +23 -39
  666. data/third_party/boringssl/ssl/t1_lib.c +1120 -622
  667. data/third_party/boringssl/ssl/tls13_both.c +440 -0
  668. data/third_party/boringssl/ssl/tls13_client.c +682 -0
  669. data/third_party/boringssl/ssl/tls13_enc.c +391 -0
  670. data/third_party/boringssl/ssl/tls13_server.c +672 -0
  671. data/third_party/boringssl/ssl/{s3_meth.c → tls_method.c} +100 -21
  672. data/third_party/boringssl/ssl/tls_record.c +159 -77
  673. data/third_party/nanopb/pb.h +60 -28
  674. data/third_party/nanopb/pb_decode.c +120 -92
  675. data/third_party/nanopb/pb_decode.h +3 -3
  676. data/third_party/nanopb/pb_encode.c +73 -67
  677. data/third_party/nanopb/pb_encode.h +4 -4
  678. metadata +155 -89
  679. data/include/grpc/impl/codegen/byte_buffer.h +0 -122
  680. data/include/grpc/impl/codegen/log.h +0 -118
  681. data/include/grpc/impl/codegen/time.h +0 -130
  682. data/src/core/ext/client_config/client_channel.c +0 -593
  683. data/src/core/ext/client_config/subchannel_call_holder.c +0 -272
  684. data/src/core/ext/client_config/subchannel_call_holder.h +0 -99
  685. data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +0 -2046
  686. data/src/core/lib/iomgr/workqueue_posix.c +0 -151
  687. data/src/core/lib/security/transport/handshake.c +0 -368
  688. data/third_party/boringssl/crypto/asn1/a_bytes.c +0 -308
  689. data/third_party/boringssl/crypto/asn1/bio_asn1.c +0 -477
  690. data/third_party/boringssl/crypto/asn1/bio_ndef.c +0 -251
  691. data/third_party/boringssl/crypto/asn1/t_pkey.c +0 -110
  692. data/third_party/boringssl/crypto/asn1/tasn_prn.c +0 -596
  693. data/third_party/boringssl/crypto/chacha/chacha_vec.c +0 -328
  694. data/third_party/boringssl/crypto/directory.h +0 -66
  695. data/third_party/boringssl/crypto/directory_posix.c +0 -108
  696. data/third_party/boringssl/crypto/directory_win.c +0 -144
  697. data/third_party/boringssl/crypto/test/scoped_types.h +0 -140
  698. data/third_party/boringssl/include/openssl/pqueue.h +0 -146
  699. data/third_party/boringssl/ssl/d1_clnt.c +0 -561
  700. data/third_party/boringssl/ssl/d1_srvr.c +0 -476
  701. data/third_party/boringssl/ssl/pqueue/pqueue.c +0 -197
  702. data/third_party/boringssl/ssl/s3_srvr.c +0 -2272
  703. data/third_party/boringssl/ssl/test/async_bio.h +0 -45
  704. data/third_party/boringssl/ssl/test/packeted_bio.h +0 -44
  705. data/third_party/boringssl/ssl/test/test_config.h +0 -110
@@ -312,29 +312,22 @@ OPENSSL_COMPILE_ASSERT(
312
312
  #define SSL3_ST_CW_CLNT_HELLO_B (0x111 | SSL_ST_CONNECT)
313
313
  /* read from server */
314
314
  #define SSL3_ST_CR_SRVR_HELLO_A (0x120 | SSL_ST_CONNECT)
315
- #define SSL3_ST_CR_SRVR_HELLO_B (0x121 | SSL_ST_CONNECT)
316
315
  #define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126 | SSL_ST_CONNECT)
317
- #define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127 | SSL_ST_CONNECT)
318
316
  #define SSL3_ST_CR_CERT_A (0x130 | SSL_ST_CONNECT)
319
- #define SSL3_ST_CR_CERT_B (0x131 | SSL_ST_CONNECT)
320
317
  #define SSL3_ST_CR_KEY_EXCH_A (0x140 | SSL_ST_CONNECT)
321
318
  #define SSL3_ST_CR_KEY_EXCH_B (0x141 | SSL_ST_CONNECT)
322
319
  #define SSL3_ST_CR_CERT_REQ_A (0x150 | SSL_ST_CONNECT)
323
- #define SSL3_ST_CR_CERT_REQ_B (0x151 | SSL_ST_CONNECT)
324
320
  #define SSL3_ST_CR_SRVR_DONE_A (0x160 | SSL_ST_CONNECT)
325
- #define SSL3_ST_CR_SRVR_DONE_B (0x161 | SSL_ST_CONNECT)
326
321
  /* write to server */
327
322
  #define SSL3_ST_CW_CERT_A (0x170 | SSL_ST_CONNECT)
328
323
  #define SSL3_ST_CW_CERT_B (0x171 | SSL_ST_CONNECT)
329
324
  #define SSL3_ST_CW_CERT_C (0x172 | SSL_ST_CONNECT)
330
- #define SSL3_ST_CW_CERT_D (0x173 | SSL_ST_CONNECT)
331
325
  #define SSL3_ST_CW_KEY_EXCH_A (0x180 | SSL_ST_CONNECT)
332
326
  #define SSL3_ST_CW_KEY_EXCH_B (0x181 | SSL_ST_CONNECT)
333
327
  #define SSL3_ST_CW_CERT_VRFY_A (0x190 | SSL_ST_CONNECT)
334
328
  #define SSL3_ST_CW_CERT_VRFY_B (0x191 | SSL_ST_CONNECT)
335
329
  #define SSL3_ST_CW_CERT_VRFY_C (0x192 | SSL_ST_CONNECT)
336
- #define SSL3_ST_CW_CHANGE_A (0x1A0 | SSL_ST_CONNECT)
337
- #define SSL3_ST_CW_CHANGE_B (0x1A1 | SSL_ST_CONNECT)
330
+ #define SSL3_ST_CW_CHANGE (0x1A0 | SSL_ST_CONNECT)
338
331
  #define SSL3_ST_CW_NEXT_PROTO_A (0x200 | SSL_ST_CONNECT)
339
332
  #define SSL3_ST_CW_NEXT_PROTO_B (0x201 | SSL_ST_CONNECT)
340
333
  #define SSL3_ST_CW_CHANNEL_ID_A (0x220 | SSL_ST_CONNECT)
@@ -344,22 +337,21 @@ OPENSSL_COMPILE_ASSERT(
344
337
  /* read from server */
345
338
  #define SSL3_ST_CR_CHANGE (0x1C0 | SSL_ST_CONNECT)
346
339
  #define SSL3_ST_CR_FINISHED_A (0x1D0 | SSL_ST_CONNECT)
347
- #define SSL3_ST_CR_FINISHED_B (0x1D1 | SSL_ST_CONNECT)
348
340
  #define SSL3_ST_CR_SESSION_TICKET_A (0x1E0 | SSL_ST_CONNECT)
349
- #define SSL3_ST_CR_SESSION_TICKET_B (0x1E1 | SSL_ST_CONNECT)
350
341
  #define SSL3_ST_CR_CERT_STATUS_A (0x1F0 | SSL_ST_CONNECT)
351
- #define SSL3_ST_CR_CERT_STATUS_B (0x1F1 | SSL_ST_CONNECT)
342
+
343
+ /* SSL3_ST_CR_SRVR_HELLO_B is a legacy alias for |SSL3_ST_CR_SRVR_HELLO_A| used
344
+ * by some consumers which check |SSL_state|. */
345
+ #define SSL3_ST_CR_SRVR_HELLO_B SSL3_ST_CR_SRVR_HELLO_A
352
346
 
353
347
  /* server */
354
348
  /* extra state */
355
349
  #define SSL3_ST_SW_FLUSH (0x100 | SSL_ST_ACCEPT)
356
350
  /* read from client */
357
- #define SSL3_ST_SR_INITIAL_BYTES (0x240 | SSL_ST_ACCEPT)
358
- #define SSL3_ST_SR_V2_CLIENT_HELLO (0x241 | SSL_ST_ACCEPT)
359
351
  #define SSL3_ST_SR_CLNT_HELLO_A (0x110 | SSL_ST_ACCEPT)
360
352
  #define SSL3_ST_SR_CLNT_HELLO_B (0x111 | SSL_ST_ACCEPT)
361
353
  #define SSL3_ST_SR_CLNT_HELLO_C (0x112 | SSL_ST_ACCEPT)
362
- #define SSL3_ST_SR_CLNT_HELLO_D (0x115 | SSL_ST_ACCEPT)
354
+ #define SSL3_ST_SR_CLNT_HELLO_D (0x113 | SSL_ST_ACCEPT)
363
355
  /* write to client */
364
356
  #define SSL3_ST_SW_HELLO_REQ_A (0x120 | SSL_ST_ACCEPT)
365
357
  #define SSL3_ST_SW_HELLO_REQ_B (0x121 | SSL_ST_ACCEPT)
@@ -377,23 +369,16 @@ OPENSSL_COMPILE_ASSERT(
377
369
  #define SSL3_ST_SW_SRVR_DONE_B (0x171 | SSL_ST_ACCEPT)
378
370
  /* read from client */
379
371
  #define SSL3_ST_SR_CERT_A (0x180 | SSL_ST_ACCEPT)
380
- #define SSL3_ST_SR_CERT_B (0x181 | SSL_ST_ACCEPT)
381
372
  #define SSL3_ST_SR_KEY_EXCH_A (0x190 | SSL_ST_ACCEPT)
382
373
  #define SSL3_ST_SR_KEY_EXCH_B (0x191 | SSL_ST_ACCEPT)
383
- #define SSL3_ST_SR_KEY_EXCH_C (0x192 | SSL_ST_ACCEPT)
384
374
  #define SSL3_ST_SR_CERT_VRFY_A (0x1A0 | SSL_ST_ACCEPT)
385
- #define SSL3_ST_SR_CERT_VRFY_B (0x1A1 | SSL_ST_ACCEPT)
386
375
  #define SSL3_ST_SR_CHANGE (0x1B0 | SSL_ST_ACCEPT)
387
376
  #define SSL3_ST_SR_NEXT_PROTO_A (0x210 | SSL_ST_ACCEPT)
388
- #define SSL3_ST_SR_NEXT_PROTO_B (0x211 | SSL_ST_ACCEPT)
389
377
  #define SSL3_ST_SR_CHANNEL_ID_A (0x230 | SSL_ST_ACCEPT)
390
- #define SSL3_ST_SR_CHANNEL_ID_B (0x231 | SSL_ST_ACCEPT)
391
378
  #define SSL3_ST_SR_FINISHED_A (0x1C0 | SSL_ST_ACCEPT)
392
- #define SSL3_ST_SR_FINISHED_B (0x1C1 | SSL_ST_ACCEPT)
393
379
 
394
380
  /* write to client */
395
- #define SSL3_ST_SW_CHANGE_A (0x1D0 | SSL_ST_ACCEPT)
396
- #define SSL3_ST_SW_CHANGE_B (0x1D1 | SSL_ST_ACCEPT)
381
+ #define SSL3_ST_SW_CHANGE (0x1D0 | SSL_ST_ACCEPT)
397
382
  #define SSL3_ST_SW_FINISHED_A (0x1E0 | SSL_ST_ACCEPT)
398
383
  #define SSL3_ST_SW_FINISHED_B (0x1E1 | SSL_ST_ACCEPT)
399
384
  #define SSL3_ST_SW_SESSION_TICKET_A (0x1F0 | SSL_ST_ACCEPT)
@@ -406,20 +391,28 @@ OPENSSL_COMPILE_ASSERT(
406
391
  #define SSL3_MT_HELLO_REQUEST 0
407
392
  #define SSL3_MT_CLIENT_HELLO 1
408
393
  #define SSL3_MT_SERVER_HELLO 2
409
- #define SSL3_MT_NEWSESSION_TICKET 4
394
+ #define SSL3_MT_NEW_SESSION_TICKET 4
395
+ #define SSL3_MT_HELLO_RETRY_REQUEST 6
396
+ #define SSL3_MT_ENCRYPTED_EXTENSIONS 8
410
397
  #define SSL3_MT_CERTIFICATE 11
411
398
  #define SSL3_MT_SERVER_KEY_EXCHANGE 12
412
399
  #define SSL3_MT_CERTIFICATE_REQUEST 13
413
- #define SSL3_MT_SERVER_DONE 14
400
+ #define SSL3_MT_SERVER_HELLO_DONE 14
414
401
  #define SSL3_MT_CERTIFICATE_VERIFY 15
415
402
  #define SSL3_MT_CLIENT_KEY_EXCHANGE 16
416
403
  #define SSL3_MT_FINISHED 20
417
404
  #define SSL3_MT_CERTIFICATE_STATUS 22
418
405
  #define SSL3_MT_SUPPLEMENTAL_DATA 23
406
+ #define SSL3_MT_KEY_UPDATE 24
419
407
  #define SSL3_MT_NEXT_PROTO 67
420
- #define SSL3_MT_ENCRYPTED_EXTENSIONS 203
408
+ #define SSL3_MT_CHANNEL_ID 203
421
409
  #define DTLS1_MT_HELLO_VERIFY_REQUEST 3
422
410
 
411
+ /* The following are legacy aliases for consumers which use
412
+ * |SSL_CTX_set_msg_callback|. */
413
+ #define SSL3_MT_SERVER_DONE SSL3_MT_SERVER_HELLO_DONE
414
+ #define SSL3_MT_NEWSESSION_TICKET SSL3_MT_NEW_SESSION_TICKET
415
+
423
416
 
424
417
  #define SSL3_MT_CCS 1
425
418
 
@@ -100,7 +100,7 @@ typedef struct stack_st {
100
100
  void **data;
101
101
  /* sorted is non-zero if the values pointed to by |data| are in ascending
102
102
  * order, based on |comp|. */
103
- size_t sorted;
103
+ int sorted;
104
104
  /* num_alloc contains the number of pointers allocated in the buffer pointed
105
105
  * to by |data|, which may be larger than |num|. */
106
106
  size_t num_alloc;
@@ -180,14 +180,12 @@ typedef struct stack_st {
180
180
  typedef char *OPENSSL_STRING;
181
181
 
182
182
  DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)
183
- DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, uint8_t)
184
183
 
185
184
  /* The make_macros.sh script in this directory parses the following lines and
186
185
  * generates the stack_macros.h file that contains macros for the following
187
186
  * types of stacks:
188
187
  *
189
- * SPECIAL_STACK_OF:OPENSSL_STRING
190
- * SPECIAL_STACK_OF:OPENSSL_BLOCK */
188
+ * SPECIAL_STACK_OF:OPENSSL_STRING */
191
189
 
192
190
  #define IN_STACK_H
193
191
  #include <openssl/stack_macros.h>
@@ -27,14 +27,15 @@
27
27
  ((STACK_OF(ACCESS_DESCRIPTION) *)sk_new_null())
28
28
 
29
29
  #define sk_ACCESS_DESCRIPTION_num(sk) \
30
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ACCESS_DESCRIPTION) *, sk))
30
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk))
31
31
 
32
32
  #define sk_ACCESS_DESCRIPTION_zero(sk) \
33
33
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ACCESS_DESCRIPTION) *, sk));
34
34
 
35
- #define sk_ACCESS_DESCRIPTION_value(sk, i) \
36
- ((ACCESS_DESCRIPTION *)sk_value( \
37
- CHECKED_CAST(_STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk), (i)))
35
+ #define sk_ACCESS_DESCRIPTION_value(sk, i) \
36
+ ((ACCESS_DESCRIPTION *)sk_value( \
37
+ CHECKED_CAST(const _STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk), \
38
+ (i)))
38
39
 
39
40
  #define sk_ACCESS_DESCRIPTION_set(sk, i, p) \
40
41
  ((ACCESS_DESCRIPTION *)sk_set( \
@@ -80,13 +81,14 @@
80
81
 
81
82
  #define sk_ACCESS_DESCRIPTION_dup(sk) \
82
83
  ((STACK_OF(ACCESS_DESCRIPTION) *)sk_dup( \
83
- CHECKED_CAST(_STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk)))
84
+ CHECKED_CAST(const _STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk)))
84
85
 
85
86
  #define sk_ACCESS_DESCRIPTION_sort(sk) \
86
87
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ACCESS_DESCRIPTION) *, sk))
87
88
 
88
89
  #define sk_ACCESS_DESCRIPTION_is_sorted(sk) \
89
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk))
90
+ sk_is_sorted( \
91
+ CHECKED_CAST(const _STACK *, const STACK_OF(ACCESS_DESCRIPTION) *, sk))
90
92
 
91
93
  #define sk_ACCESS_DESCRIPTION_set_cmp_func(sk, comp) \
92
94
  ((int (*)(const ACCESS_DESCRIPTION **a, const ACCESS_DESCRIPTION **b)) \
@@ -113,14 +115,15 @@
113
115
  #define sk_ASN1_ADB_TABLE_new_null() ((STACK_OF(ASN1_ADB_TABLE) *)sk_new_null())
114
116
 
115
117
  #define sk_ASN1_ADB_TABLE_num(sk) \
116
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_ADB_TABLE) *, sk))
118
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk))
117
119
 
118
120
  #define sk_ASN1_ADB_TABLE_zero(sk) \
119
121
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_ADB_TABLE) *, sk));
120
122
 
121
- #define sk_ASN1_ADB_TABLE_value(sk, i) \
122
- ((ASN1_ADB_TABLE *)sk_value( \
123
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk), (i)))
123
+ #define sk_ASN1_ADB_TABLE_value(sk, i) \
124
+ ((ASN1_ADB_TABLE *)sk_value( \
125
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk), \
126
+ (i)))
124
127
 
125
128
  #define sk_ASN1_ADB_TABLE_set(sk, i, p) \
126
129
  ((ASN1_ADB_TABLE *)sk_set( \
@@ -166,13 +169,14 @@
166
169
 
167
170
  #define sk_ASN1_ADB_TABLE_dup(sk) \
168
171
  ((STACK_OF(ASN1_ADB_TABLE) *)sk_dup( \
169
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk)))
172
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk)))
170
173
 
171
174
  #define sk_ASN1_ADB_TABLE_sort(sk) \
172
175
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_ADB_TABLE) *, sk))
173
176
 
174
177
  #define sk_ASN1_ADB_TABLE_is_sorted(sk) \
175
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk))
178
+ sk_is_sorted( \
179
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_ADB_TABLE) *, sk))
176
180
 
177
181
  #define sk_ASN1_ADB_TABLE_set_cmp_func(sk, comp) \
178
182
  ((int (*)(const ASN1_ADB_TABLE **a, const ASN1_ADB_TABLE **b)) \
@@ -200,14 +204,15 @@
200
204
  ((STACK_OF(ASN1_GENERALSTRING) *)sk_new_null())
201
205
 
202
206
  #define sk_ASN1_GENERALSTRING_num(sk) \
203
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_GENERALSTRING) *, sk))
207
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk))
204
208
 
205
209
  #define sk_ASN1_GENERALSTRING_zero(sk) \
206
210
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_GENERALSTRING) *, sk));
207
211
 
208
- #define sk_ASN1_GENERALSTRING_value(sk, i) \
209
- ((ASN1_GENERALSTRING *)sk_value( \
210
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk), (i)))
212
+ #define sk_ASN1_GENERALSTRING_value(sk, i) \
213
+ ((ASN1_GENERALSTRING *)sk_value( \
214
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk), \
215
+ (i)))
211
216
 
212
217
  #define sk_ASN1_GENERALSTRING_set(sk, i, p) \
213
218
  ((ASN1_GENERALSTRING *)sk_set( \
@@ -253,13 +258,14 @@
253
258
 
254
259
  #define sk_ASN1_GENERALSTRING_dup(sk) \
255
260
  ((STACK_OF(ASN1_GENERALSTRING) *)sk_dup( \
256
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk)))
261
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk)))
257
262
 
258
263
  #define sk_ASN1_GENERALSTRING_sort(sk) \
259
264
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_GENERALSTRING) *, sk))
260
265
 
261
266
  #define sk_ASN1_GENERALSTRING_is_sorted(sk) \
262
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk))
267
+ sk_is_sorted( \
268
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_GENERALSTRING) *, sk))
263
269
 
264
270
  #define sk_ASN1_GENERALSTRING_set_cmp_func(sk, comp) \
265
271
  ((int (*)(const ASN1_GENERALSTRING **a, const ASN1_GENERALSTRING **b)) \
@@ -286,14 +292,14 @@
286
292
  #define sk_ASN1_INTEGER_new_null() ((STACK_OF(ASN1_INTEGER) *)sk_new_null())
287
293
 
288
294
  #define sk_ASN1_INTEGER_num(sk) \
289
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_INTEGER) *, sk))
295
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_INTEGER) *, sk))
290
296
 
291
297
  #define sk_ASN1_INTEGER_zero(sk) \
292
298
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_INTEGER) *, sk));
293
299
 
294
300
  #define sk_ASN1_INTEGER_value(sk, i) \
295
301
  ((ASN1_INTEGER *)sk_value( \
296
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_INTEGER) *, sk), (i)))
302
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_INTEGER) *, sk), (i)))
297
303
 
298
304
  #define sk_ASN1_INTEGER_set(sk, i, p) \
299
305
  ((ASN1_INTEGER *)sk_set( \
@@ -338,13 +344,13 @@
338
344
 
339
345
  #define sk_ASN1_INTEGER_dup(sk) \
340
346
  ((STACK_OF(ASN1_INTEGER) *)sk_dup( \
341
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_INTEGER) *, sk)))
347
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_INTEGER) *, sk)))
342
348
 
343
349
  #define sk_ASN1_INTEGER_sort(sk) \
344
350
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_INTEGER) *, sk))
345
351
 
346
352
  #define sk_ASN1_INTEGER_is_sorted(sk) \
347
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_INTEGER) *, sk))
353
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_INTEGER) *, sk))
348
354
 
349
355
  #define sk_ASN1_INTEGER_set_cmp_func(sk, comp) \
350
356
  ((int (*)(const ASN1_INTEGER **a, const ASN1_INTEGER **b))sk_set_cmp_func( \
@@ -369,14 +375,14 @@
369
375
  #define sk_ASN1_OBJECT_new_null() ((STACK_OF(ASN1_OBJECT) *)sk_new_null())
370
376
 
371
377
  #define sk_ASN1_OBJECT_num(sk) \
372
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_OBJECT) *, sk))
378
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_OBJECT) *, sk))
373
379
 
374
380
  #define sk_ASN1_OBJECT_zero(sk) \
375
381
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_OBJECT) *, sk));
376
382
 
377
383
  #define sk_ASN1_OBJECT_value(sk, i) \
378
384
  ((ASN1_OBJECT *)sk_value( \
379
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_OBJECT) *, sk), (i)))
385
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_OBJECT) *, sk), (i)))
380
386
 
381
387
  #define sk_ASN1_OBJECT_set(sk, i, p) \
382
388
  ((ASN1_OBJECT *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(ASN1_OBJECT) *, sk), \
@@ -419,13 +425,13 @@
419
425
 
420
426
  #define sk_ASN1_OBJECT_dup(sk) \
421
427
  ((STACK_OF(ASN1_OBJECT) *)sk_dup( \
422
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_OBJECT) *, sk)))
428
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_OBJECT) *, sk)))
423
429
 
424
430
  #define sk_ASN1_OBJECT_sort(sk) \
425
431
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_OBJECT) *, sk))
426
432
 
427
433
  #define sk_ASN1_OBJECT_is_sorted(sk) \
428
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_OBJECT) *, sk))
434
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_OBJECT) *, sk))
429
435
 
430
436
  #define sk_ASN1_OBJECT_set_cmp_func(sk, comp) \
431
437
  ((int (*)(const ASN1_OBJECT **a, const ASN1_OBJECT **b))sk_set_cmp_func( \
@@ -452,14 +458,15 @@
452
458
  ((STACK_OF(ASN1_STRING_TABLE) *)sk_new_null())
453
459
 
454
460
  #define sk_ASN1_STRING_TABLE_num(sk) \
455
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_STRING_TABLE) *, sk))
461
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk))
456
462
 
457
463
  #define sk_ASN1_STRING_TABLE_zero(sk) \
458
464
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_STRING_TABLE) *, sk));
459
465
 
460
- #define sk_ASN1_STRING_TABLE_value(sk, i) \
461
- ((ASN1_STRING_TABLE *)sk_value( \
462
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk), (i)))
466
+ #define sk_ASN1_STRING_TABLE_value(sk, i) \
467
+ ((ASN1_STRING_TABLE *)sk_value( \
468
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk), \
469
+ (i)))
463
470
 
464
471
  #define sk_ASN1_STRING_TABLE_set(sk, i, p) \
465
472
  ((ASN1_STRING_TABLE *)sk_set( \
@@ -505,13 +512,14 @@
505
512
 
506
513
  #define sk_ASN1_STRING_TABLE_dup(sk) \
507
514
  ((STACK_OF(ASN1_STRING_TABLE) *)sk_dup( \
508
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk)))
515
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk)))
509
516
 
510
517
  #define sk_ASN1_STRING_TABLE_sort(sk) \
511
518
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_STRING_TABLE) *, sk))
512
519
 
513
520
  #define sk_ASN1_STRING_TABLE_is_sorted(sk) \
514
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk))
521
+ sk_is_sorted( \
522
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_STRING_TABLE) *, sk))
515
523
 
516
524
  #define sk_ASN1_STRING_TABLE_set_cmp_func(sk, comp) \
517
525
  ((int (*)(const ASN1_STRING_TABLE **a, const ASN1_STRING_TABLE **b)) \
@@ -538,14 +546,14 @@
538
546
  #define sk_ASN1_TYPE_new_null() ((STACK_OF(ASN1_TYPE) *)sk_new_null())
539
547
 
540
548
  #define sk_ASN1_TYPE_num(sk) \
541
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_TYPE) *, sk))
549
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_TYPE) *, sk))
542
550
 
543
551
  #define sk_ASN1_TYPE_zero(sk) \
544
552
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_TYPE) *, sk));
545
553
 
546
554
  #define sk_ASN1_TYPE_value(sk, i) \
547
555
  ((ASN1_TYPE *)sk_value( \
548
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_TYPE) *, sk), (i)))
556
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_TYPE) *, sk), (i)))
549
557
 
550
558
  #define sk_ASN1_TYPE_set(sk, i, p) \
551
559
  ((ASN1_TYPE *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(ASN1_TYPE) *, sk), (i), \
@@ -588,13 +596,13 @@
588
596
 
589
597
  #define sk_ASN1_TYPE_dup(sk) \
590
598
  ((STACK_OF(ASN1_TYPE) *)sk_dup( \
591
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_TYPE) *, sk)))
599
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_TYPE) *, sk)))
592
600
 
593
601
  #define sk_ASN1_TYPE_sort(sk) \
594
602
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_TYPE) *, sk))
595
603
 
596
604
  #define sk_ASN1_TYPE_is_sorted(sk) \
597
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_TYPE) *, sk))
605
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_TYPE) *, sk))
598
606
 
599
607
  #define sk_ASN1_TYPE_set_cmp_func(sk, comp) \
600
608
  ((int (*)(const ASN1_TYPE **a, const ASN1_TYPE **b))sk_set_cmp_func( \
@@ -617,14 +625,14 @@
617
625
  #define sk_ASN1_VALUE_new_null() ((STACK_OF(ASN1_VALUE) *)sk_new_null())
618
626
 
619
627
  #define sk_ASN1_VALUE_num(sk) \
620
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_VALUE) *, sk))
628
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_VALUE) *, sk))
621
629
 
622
630
  #define sk_ASN1_VALUE_zero(sk) \
623
631
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(ASN1_VALUE) *, sk));
624
632
 
625
633
  #define sk_ASN1_VALUE_value(sk, i) \
626
634
  ((ASN1_VALUE *)sk_value( \
627
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_VALUE) *, sk), (i)))
635
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_VALUE) *, sk), (i)))
628
636
 
629
637
  #define sk_ASN1_VALUE_set(sk, i, p) \
630
638
  ((ASN1_VALUE *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(ASN1_VALUE) *, sk), \
@@ -667,13 +675,13 @@
667
675
 
668
676
  #define sk_ASN1_VALUE_dup(sk) \
669
677
  ((STACK_OF(ASN1_VALUE) *)sk_dup( \
670
- CHECKED_CAST(_STACK *, const STACK_OF(ASN1_VALUE) *, sk)))
678
+ CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_VALUE) *, sk)))
671
679
 
672
680
  #define sk_ASN1_VALUE_sort(sk) \
673
681
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(ASN1_VALUE) *, sk))
674
682
 
675
683
  #define sk_ASN1_VALUE_is_sorted(sk) \
676
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_VALUE) *, sk))
684
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(ASN1_VALUE) *, sk))
677
685
 
678
686
  #define sk_ASN1_VALUE_set_cmp_func(sk, comp) \
679
687
  ((int (*)(const ASN1_VALUE **a, const ASN1_VALUE **b))sk_set_cmp_func( \
@@ -696,12 +704,14 @@
696
704
 
697
705
  #define sk_BIO_new_null() ((STACK_OF(BIO) *)sk_new_null())
698
706
 
699
- #define sk_BIO_num(sk) sk_num(CHECKED_CAST(_STACK *, STACK_OF(BIO) *, sk))
707
+ #define sk_BIO_num(sk) \
708
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(BIO) *, sk))
700
709
 
701
710
  #define sk_BIO_zero(sk) sk_zero(CHECKED_CAST(_STACK *, STACK_OF(BIO) *, sk));
702
711
 
703
- #define sk_BIO_value(sk, i) \
704
- ((BIO *)sk_value(CHECKED_CAST(_STACK *, const STACK_OF(BIO) *, sk), (i)))
712
+ #define sk_BIO_value(sk, i) \
713
+ ((BIO *)sk_value(CHECKED_CAST(const _STACK *, const STACK_OF(BIO) *, sk), \
714
+ (i)))
705
715
 
706
716
  #define sk_BIO_set(sk, i, p) \
707
717
  ((BIO *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(BIO) *, sk), (i), \
@@ -738,13 +748,14 @@
738
748
  #define sk_BIO_pop(sk) \
739
749
  ((BIO *)sk_pop(CHECKED_CAST(_STACK *, STACK_OF(BIO) *, sk)))
740
750
 
741
- #define sk_BIO_dup(sk) \
742
- ((STACK_OF(BIO) *)sk_dup(CHECKED_CAST(_STACK *, const STACK_OF(BIO) *, sk)))
751
+ #define sk_BIO_dup(sk) \
752
+ ((STACK_OF(BIO) *)sk_dup( \
753
+ CHECKED_CAST(const _STACK *, const STACK_OF(BIO) *, sk)))
743
754
 
744
755
  #define sk_BIO_sort(sk) sk_sort(CHECKED_CAST(_STACK *, STACK_OF(BIO) *, sk))
745
756
 
746
757
  #define sk_BIO_is_sorted(sk) \
747
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(BIO) *, sk))
758
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(BIO) *, sk))
748
759
 
749
760
  #define sk_BIO_set_cmp_func(sk, comp) \
750
761
  ((int (*)(const BIO **a, const BIO **b))sk_set_cmp_func( \
@@ -767,14 +778,14 @@
767
778
  #define sk_BY_DIR_ENTRY_new_null() ((STACK_OF(BY_DIR_ENTRY) *)sk_new_null())
768
779
 
769
780
  #define sk_BY_DIR_ENTRY_num(sk) \
770
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_ENTRY) *, sk))
781
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk))
771
782
 
772
783
  #define sk_BY_DIR_ENTRY_zero(sk) \
773
784
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_ENTRY) *, sk));
774
785
 
775
786
  #define sk_BY_DIR_ENTRY_value(sk, i) \
776
787
  ((BY_DIR_ENTRY *)sk_value( \
777
- CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk), (i)))
788
+ CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk), (i)))
778
789
 
779
790
  #define sk_BY_DIR_ENTRY_set(sk, i, p) \
780
791
  ((BY_DIR_ENTRY *)sk_set( \
@@ -819,13 +830,13 @@
819
830
 
820
831
  #define sk_BY_DIR_ENTRY_dup(sk) \
821
832
  ((STACK_OF(BY_DIR_ENTRY) *)sk_dup( \
822
- CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk)))
833
+ CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk)))
823
834
 
824
835
  #define sk_BY_DIR_ENTRY_sort(sk) \
825
836
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_ENTRY) *, sk))
826
837
 
827
838
  #define sk_BY_DIR_ENTRY_is_sorted(sk) \
828
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk))
839
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_ENTRY) *, sk))
829
840
 
830
841
  #define sk_BY_DIR_ENTRY_set_cmp_func(sk, comp) \
831
842
  ((int (*)(const BY_DIR_ENTRY **a, const BY_DIR_ENTRY **b))sk_set_cmp_func( \
@@ -850,14 +861,14 @@
850
861
  #define sk_BY_DIR_HASH_new_null() ((STACK_OF(BY_DIR_HASH) *)sk_new_null())
851
862
 
852
863
  #define sk_BY_DIR_HASH_num(sk) \
853
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_HASH) *, sk))
864
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_HASH) *, sk))
854
865
 
855
866
  #define sk_BY_DIR_HASH_zero(sk) \
856
867
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_HASH) *, sk));
857
868
 
858
869
  #define sk_BY_DIR_HASH_value(sk, i) \
859
870
  ((BY_DIR_HASH *)sk_value( \
860
- CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_HASH) *, sk), (i)))
871
+ CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_HASH) *, sk), (i)))
861
872
 
862
873
  #define sk_BY_DIR_HASH_set(sk, i, p) \
863
874
  ((BY_DIR_HASH *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_HASH) *, sk), \
@@ -900,13 +911,13 @@
900
911
 
901
912
  #define sk_BY_DIR_HASH_dup(sk) \
902
913
  ((STACK_OF(BY_DIR_HASH) *)sk_dup( \
903
- CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_HASH) *, sk)))
914
+ CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_HASH) *, sk)))
904
915
 
905
916
  #define sk_BY_DIR_HASH_sort(sk) \
906
917
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(BY_DIR_HASH) *, sk))
907
918
 
908
919
  #define sk_BY_DIR_HASH_is_sorted(sk) \
909
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(BY_DIR_HASH) *, sk))
920
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(BY_DIR_HASH) *, sk))
910
921
 
911
922
  #define sk_BY_DIR_HASH_set_cmp_func(sk, comp) \
912
923
  ((int (*)(const BY_DIR_HASH **a, const BY_DIR_HASH **b))sk_set_cmp_func( \
@@ -931,14 +942,14 @@
931
942
  #define sk_CONF_VALUE_new_null() ((STACK_OF(CONF_VALUE) *)sk_new_null())
932
943
 
933
944
  #define sk_CONF_VALUE_num(sk) \
934
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(CONF_VALUE) *, sk))
945
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(CONF_VALUE) *, sk))
935
946
 
936
947
  #define sk_CONF_VALUE_zero(sk) \
937
948
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(CONF_VALUE) *, sk));
938
949
 
939
950
  #define sk_CONF_VALUE_value(sk, i) \
940
951
  ((CONF_VALUE *)sk_value( \
941
- CHECKED_CAST(_STACK *, const STACK_OF(CONF_VALUE) *, sk), (i)))
952
+ CHECKED_CAST(const _STACK *, const STACK_OF(CONF_VALUE) *, sk), (i)))
942
953
 
943
954
  #define sk_CONF_VALUE_set(sk, i, p) \
944
955
  ((CONF_VALUE *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(CONF_VALUE) *, sk), \
@@ -981,13 +992,13 @@
981
992
 
982
993
  #define sk_CONF_VALUE_dup(sk) \
983
994
  ((STACK_OF(CONF_VALUE) *)sk_dup( \
984
- CHECKED_CAST(_STACK *, const STACK_OF(CONF_VALUE) *, sk)))
995
+ CHECKED_CAST(const _STACK *, const STACK_OF(CONF_VALUE) *, sk)))
985
996
 
986
997
  #define sk_CONF_VALUE_sort(sk) \
987
998
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(CONF_VALUE) *, sk))
988
999
 
989
1000
  #define sk_CONF_VALUE_is_sorted(sk) \
990
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(CONF_VALUE) *, sk))
1001
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(CONF_VALUE) *, sk))
991
1002
 
992
1003
  #define sk_CONF_VALUE_set_cmp_func(sk, comp) \
993
1004
  ((int (*)(const CONF_VALUE **a, const CONF_VALUE **b))sk_set_cmp_func( \
@@ -1013,15 +1024,17 @@
1013
1024
  #define sk_CRYPTO_EX_DATA_FUNCS_new_null() \
1014
1025
  ((STACK_OF(CRYPTO_EX_DATA_FUNCS) *)sk_new_null())
1015
1026
 
1016
- #define sk_CRYPTO_EX_DATA_FUNCS_num(sk) \
1017
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk))
1027
+ #define sk_CRYPTO_EX_DATA_FUNCS_num(sk) \
1028
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, \
1029
+ sk))
1018
1030
 
1019
1031
  #define sk_CRYPTO_EX_DATA_FUNCS_zero(sk) \
1020
1032
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk));
1021
1033
 
1022
- #define sk_CRYPTO_EX_DATA_FUNCS_value(sk, i) \
1023
- ((CRYPTO_EX_DATA_FUNCS *)sk_value( \
1024
- CHECKED_CAST(_STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk), \
1034
+ #define sk_CRYPTO_EX_DATA_FUNCS_value(sk, i) \
1035
+ ((CRYPTO_EX_DATA_FUNCS *)sk_value( \
1036
+ CHECKED_CAST(const _STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, \
1037
+ sk), \
1025
1038
  (i)))
1026
1039
 
1027
1040
  #define sk_CRYPTO_EX_DATA_FUNCS_set(sk, i, p) \
@@ -1066,16 +1079,16 @@
1066
1079
  ((CRYPTO_EX_DATA_FUNCS *)sk_pop( \
1067
1080
  CHECKED_CAST(_STACK *, STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk)))
1068
1081
 
1069
- #define sk_CRYPTO_EX_DATA_FUNCS_dup(sk) \
1070
- ((STACK_OF(CRYPTO_EX_DATA_FUNCS) *)sk_dup( \
1071
- CHECKED_CAST(_STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk)))
1082
+ #define sk_CRYPTO_EX_DATA_FUNCS_dup(sk) \
1083
+ ((STACK_OF(CRYPTO_EX_DATA_FUNCS) *)sk_dup(CHECKED_CAST( \
1084
+ const _STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk)))
1072
1085
 
1073
1086
  #define sk_CRYPTO_EX_DATA_FUNCS_sort(sk) \
1074
1087
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk))
1075
1088
 
1076
1089
  #define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(sk) \
1077
- sk_is_sorted( \
1078
- CHECKED_CAST(_STACK *, const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk))
1090
+ sk_is_sorted(CHECKED_CAST(const _STACK *, \
1091
+ const STACK_OF(CRYPTO_EX_DATA_FUNCS) *, sk))
1079
1092
 
1080
1093
  #define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(sk, comp) \
1081
1094
  ((int (*)(const CRYPTO_EX_DATA_FUNCS **a, const CRYPTO_EX_DATA_FUNCS **b)) \
@@ -1105,14 +1118,14 @@
1105
1118
  #define sk_DIST_POINT_new_null() ((STACK_OF(DIST_POINT) *)sk_new_null())
1106
1119
 
1107
1120
  #define sk_DIST_POINT_num(sk) \
1108
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(DIST_POINT) *, sk))
1121
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(DIST_POINT) *, sk))
1109
1122
 
1110
1123
  #define sk_DIST_POINT_zero(sk) \
1111
1124
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(DIST_POINT) *, sk));
1112
1125
 
1113
1126
  #define sk_DIST_POINT_value(sk, i) \
1114
1127
  ((DIST_POINT *)sk_value( \
1115
- CHECKED_CAST(_STACK *, const STACK_OF(DIST_POINT) *, sk), (i)))
1128
+ CHECKED_CAST(const _STACK *, const STACK_OF(DIST_POINT) *, sk), (i)))
1116
1129
 
1117
1130
  #define sk_DIST_POINT_set(sk, i, p) \
1118
1131
  ((DIST_POINT *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(DIST_POINT) *, sk), \
@@ -1155,13 +1168,13 @@
1155
1168
 
1156
1169
  #define sk_DIST_POINT_dup(sk) \
1157
1170
  ((STACK_OF(DIST_POINT) *)sk_dup( \
1158
- CHECKED_CAST(_STACK *, const STACK_OF(DIST_POINT) *, sk)))
1171
+ CHECKED_CAST(const _STACK *, const STACK_OF(DIST_POINT) *, sk)))
1159
1172
 
1160
1173
  #define sk_DIST_POINT_sort(sk) \
1161
1174
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(DIST_POINT) *, sk))
1162
1175
 
1163
1176
  #define sk_DIST_POINT_is_sorted(sk) \
1164
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(DIST_POINT) *, sk))
1177
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(DIST_POINT) *, sk))
1165
1178
 
1166
1179
  #define sk_DIST_POINT_set_cmp_func(sk, comp) \
1167
1180
  ((int (*)(const DIST_POINT **a, const DIST_POINT **b))sk_set_cmp_func( \
@@ -1186,14 +1199,14 @@
1186
1199
  #define sk_GENERAL_NAME_new_null() ((STACK_OF(GENERAL_NAME) *)sk_new_null())
1187
1200
 
1188
1201
  #define sk_GENERAL_NAME_num(sk) \
1189
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAME) *, sk))
1202
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAME) *, sk))
1190
1203
 
1191
1204
  #define sk_GENERAL_NAME_zero(sk) \
1192
1205
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAME) *, sk));
1193
1206
 
1194
1207
  #define sk_GENERAL_NAME_value(sk, i) \
1195
1208
  ((GENERAL_NAME *)sk_value( \
1196
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAME) *, sk), (i)))
1209
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAME) *, sk), (i)))
1197
1210
 
1198
1211
  #define sk_GENERAL_NAME_set(sk, i, p) \
1199
1212
  ((GENERAL_NAME *)sk_set( \
@@ -1238,13 +1251,13 @@
1238
1251
 
1239
1252
  #define sk_GENERAL_NAME_dup(sk) \
1240
1253
  ((STACK_OF(GENERAL_NAME) *)sk_dup( \
1241
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAME) *, sk)))
1254
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAME) *, sk)))
1242
1255
 
1243
1256
  #define sk_GENERAL_NAME_sort(sk) \
1244
1257
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAME) *, sk))
1245
1258
 
1246
1259
  #define sk_GENERAL_NAME_is_sorted(sk) \
1247
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAME) *, sk))
1260
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAME) *, sk))
1248
1261
 
1249
1262
  #define sk_GENERAL_NAME_set_cmp_func(sk, comp) \
1250
1263
  ((int (*)(const GENERAL_NAME **a, const GENERAL_NAME **b))sk_set_cmp_func( \
@@ -1269,14 +1282,14 @@
1269
1282
  #define sk_GENERAL_NAMES_new_null() ((STACK_OF(GENERAL_NAMES) *)sk_new_null())
1270
1283
 
1271
1284
  #define sk_GENERAL_NAMES_num(sk) \
1272
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAMES) *, sk))
1285
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAMES) *, sk))
1273
1286
 
1274
1287
  #define sk_GENERAL_NAMES_zero(sk) \
1275
1288
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAMES) *, sk));
1276
1289
 
1277
1290
  #define sk_GENERAL_NAMES_value(sk, i) \
1278
1291
  ((GENERAL_NAMES *)sk_value( \
1279
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAMES) *, sk), (i)))
1292
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAMES) *, sk), (i)))
1280
1293
 
1281
1294
  #define sk_GENERAL_NAMES_set(sk, i, p) \
1282
1295
  ((GENERAL_NAMES *)sk_set( \
@@ -1322,13 +1335,14 @@
1322
1335
 
1323
1336
  #define sk_GENERAL_NAMES_dup(sk) \
1324
1337
  ((STACK_OF(GENERAL_NAMES) *)sk_dup( \
1325
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAMES) *, sk)))
1338
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAMES) *, sk)))
1326
1339
 
1327
1340
  #define sk_GENERAL_NAMES_sort(sk) \
1328
1341
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_NAMES) *, sk))
1329
1342
 
1330
1343
  #define sk_GENERAL_NAMES_is_sorted(sk) \
1331
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_NAMES) *, sk))
1344
+ sk_is_sorted( \
1345
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_NAMES) *, sk))
1332
1346
 
1333
1347
  #define sk_GENERAL_NAMES_set_cmp_func(sk, comp) \
1334
1348
  ((int (*)(const GENERAL_NAMES **a, const GENERAL_NAMES **b))sk_set_cmp_func( \
@@ -1354,14 +1368,15 @@
1354
1368
  ((STACK_OF(GENERAL_SUBTREE) *)sk_new_null())
1355
1369
 
1356
1370
  #define sk_GENERAL_SUBTREE_num(sk) \
1357
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_SUBTREE) *, sk))
1371
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk))
1358
1372
 
1359
1373
  #define sk_GENERAL_SUBTREE_zero(sk) \
1360
1374
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_SUBTREE) *, sk));
1361
1375
 
1362
- #define sk_GENERAL_SUBTREE_value(sk, i) \
1363
- ((GENERAL_SUBTREE *)sk_value( \
1364
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk), (i)))
1376
+ #define sk_GENERAL_SUBTREE_value(sk, i) \
1377
+ ((GENERAL_SUBTREE *)sk_value( \
1378
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk), \
1379
+ (i)))
1365
1380
 
1366
1381
  #define sk_GENERAL_SUBTREE_set(sk, i, p) \
1367
1382
  ((GENERAL_SUBTREE *)sk_set( \
@@ -1407,13 +1422,14 @@
1407
1422
 
1408
1423
  #define sk_GENERAL_SUBTREE_dup(sk) \
1409
1424
  ((STACK_OF(GENERAL_SUBTREE) *)sk_dup( \
1410
- CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk)))
1425
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk)))
1411
1426
 
1412
1427
  #define sk_GENERAL_SUBTREE_sort(sk) \
1413
1428
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(GENERAL_SUBTREE) *, sk))
1414
1429
 
1415
1430
  #define sk_GENERAL_SUBTREE_is_sorted(sk) \
1416
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk))
1431
+ sk_is_sorted( \
1432
+ CHECKED_CAST(const _STACK *, const STACK_OF(GENERAL_SUBTREE) *, sk))
1417
1433
 
1418
1434
  #define sk_GENERAL_SUBTREE_set_cmp_func(sk, comp) \
1419
1435
  ((int (*)(const GENERAL_SUBTREE **a, const GENERAL_SUBTREE **b)) \
@@ -1439,14 +1455,14 @@
1439
1455
  #define sk_POLICYINFO_new_null() ((STACK_OF(POLICYINFO) *)sk_new_null())
1440
1456
 
1441
1457
  #define sk_POLICYINFO_num(sk) \
1442
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(POLICYINFO) *, sk))
1458
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(POLICYINFO) *, sk))
1443
1459
 
1444
1460
  #define sk_POLICYINFO_zero(sk) \
1445
1461
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(POLICYINFO) *, sk));
1446
1462
 
1447
1463
  #define sk_POLICYINFO_value(sk, i) \
1448
1464
  ((POLICYINFO *)sk_value( \
1449
- CHECKED_CAST(_STACK *, const STACK_OF(POLICYINFO) *, sk), (i)))
1465
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICYINFO) *, sk), (i)))
1450
1466
 
1451
1467
  #define sk_POLICYINFO_set(sk, i, p) \
1452
1468
  ((POLICYINFO *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(POLICYINFO) *, sk), \
@@ -1489,13 +1505,13 @@
1489
1505
 
1490
1506
  #define sk_POLICYINFO_dup(sk) \
1491
1507
  ((STACK_OF(POLICYINFO) *)sk_dup( \
1492
- CHECKED_CAST(_STACK *, const STACK_OF(POLICYINFO) *, sk)))
1508
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICYINFO) *, sk)))
1493
1509
 
1494
1510
  #define sk_POLICYINFO_sort(sk) \
1495
1511
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(POLICYINFO) *, sk))
1496
1512
 
1497
1513
  #define sk_POLICYINFO_is_sorted(sk) \
1498
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(POLICYINFO) *, sk))
1514
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(POLICYINFO) *, sk))
1499
1515
 
1500
1516
  #define sk_POLICYINFO_set_cmp_func(sk, comp) \
1501
1517
  ((int (*)(const POLICYINFO **a, const POLICYINFO **b))sk_set_cmp_func( \
@@ -1520,14 +1536,15 @@
1520
1536
  #define sk_POLICYQUALINFO_new_null() ((STACK_OF(POLICYQUALINFO) *)sk_new_null())
1521
1537
 
1522
1538
  #define sk_POLICYQUALINFO_num(sk) \
1523
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(POLICYQUALINFO) *, sk))
1539
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(POLICYQUALINFO) *, sk))
1524
1540
 
1525
1541
  #define sk_POLICYQUALINFO_zero(sk) \
1526
1542
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(POLICYQUALINFO) *, sk));
1527
1543
 
1528
- #define sk_POLICYQUALINFO_value(sk, i) \
1529
- ((POLICYQUALINFO *)sk_value( \
1530
- CHECKED_CAST(_STACK *, const STACK_OF(POLICYQUALINFO) *, sk), (i)))
1544
+ #define sk_POLICYQUALINFO_value(sk, i) \
1545
+ ((POLICYQUALINFO *)sk_value( \
1546
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICYQUALINFO) *, sk), \
1547
+ (i)))
1531
1548
 
1532
1549
  #define sk_POLICYQUALINFO_set(sk, i, p) \
1533
1550
  ((POLICYQUALINFO *)sk_set( \
@@ -1573,13 +1590,14 @@
1573
1590
 
1574
1591
  #define sk_POLICYQUALINFO_dup(sk) \
1575
1592
  ((STACK_OF(POLICYQUALINFO) *)sk_dup( \
1576
- CHECKED_CAST(_STACK *, const STACK_OF(POLICYQUALINFO) *, sk)))
1593
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICYQUALINFO) *, sk)))
1577
1594
 
1578
1595
  #define sk_POLICYQUALINFO_sort(sk) \
1579
1596
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(POLICYQUALINFO) *, sk))
1580
1597
 
1581
1598
  #define sk_POLICYQUALINFO_is_sorted(sk) \
1582
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(POLICYQUALINFO) *, sk))
1599
+ sk_is_sorted( \
1600
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICYQUALINFO) *, sk))
1583
1601
 
1584
1602
  #define sk_POLICYQUALINFO_set_cmp_func(sk, comp) \
1585
1603
  ((int (*)(const POLICYQUALINFO **a, const POLICYQUALINFO **b)) \
@@ -1605,14 +1623,15 @@
1605
1623
  #define sk_POLICY_MAPPING_new_null() ((STACK_OF(POLICY_MAPPING) *)sk_new_null())
1606
1624
 
1607
1625
  #define sk_POLICY_MAPPING_num(sk) \
1608
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(POLICY_MAPPING) *, sk))
1626
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(POLICY_MAPPING) *, sk))
1609
1627
 
1610
1628
  #define sk_POLICY_MAPPING_zero(sk) \
1611
1629
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(POLICY_MAPPING) *, sk));
1612
1630
 
1613
- #define sk_POLICY_MAPPING_value(sk, i) \
1614
- ((POLICY_MAPPING *)sk_value( \
1615
- CHECKED_CAST(_STACK *, const STACK_OF(POLICY_MAPPING) *, sk), (i)))
1631
+ #define sk_POLICY_MAPPING_value(sk, i) \
1632
+ ((POLICY_MAPPING *)sk_value( \
1633
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICY_MAPPING) *, sk), \
1634
+ (i)))
1616
1635
 
1617
1636
  #define sk_POLICY_MAPPING_set(sk, i, p) \
1618
1637
  ((POLICY_MAPPING *)sk_set( \
@@ -1658,13 +1677,14 @@
1658
1677
 
1659
1678
  #define sk_POLICY_MAPPING_dup(sk) \
1660
1679
  ((STACK_OF(POLICY_MAPPING) *)sk_dup( \
1661
- CHECKED_CAST(_STACK *, const STACK_OF(POLICY_MAPPING) *, sk)))
1680
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICY_MAPPING) *, sk)))
1662
1681
 
1663
1682
  #define sk_POLICY_MAPPING_sort(sk) \
1664
1683
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(POLICY_MAPPING) *, sk))
1665
1684
 
1666
1685
  #define sk_POLICY_MAPPING_is_sorted(sk) \
1667
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(POLICY_MAPPING) *, sk))
1686
+ sk_is_sorted( \
1687
+ CHECKED_CAST(const _STACK *, const STACK_OF(POLICY_MAPPING) *, sk))
1668
1688
 
1669
1689
  #define sk_POLICY_MAPPING_set_cmp_func(sk, comp) \
1670
1690
  ((int (*)(const POLICY_MAPPING **a, const POLICY_MAPPING **b)) \
@@ -1691,15 +1711,17 @@
1691
1711
  #define sk_RSA_additional_prime_new_null() \
1692
1712
  ((STACK_OF(RSA_additional_prime) *)sk_new_null())
1693
1713
 
1694
- #define sk_RSA_additional_prime_num(sk) \
1695
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(RSA_additional_prime) *, sk))
1714
+ #define sk_RSA_additional_prime_num(sk) \
1715
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(RSA_additional_prime) *, \
1716
+ sk))
1696
1717
 
1697
1718
  #define sk_RSA_additional_prime_zero(sk) \
1698
1719
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(RSA_additional_prime) *, sk));
1699
1720
 
1700
- #define sk_RSA_additional_prime_value(sk, i) \
1701
- ((RSA_additional_prime *)sk_value( \
1702
- CHECKED_CAST(_STACK *, const STACK_OF(RSA_additional_prime) *, sk), \
1721
+ #define sk_RSA_additional_prime_value(sk, i) \
1722
+ ((RSA_additional_prime *)sk_value( \
1723
+ CHECKED_CAST(const _STACK *, const STACK_OF(RSA_additional_prime) *, \
1724
+ sk), \
1703
1725
  (i)))
1704
1726
 
1705
1727
  #define sk_RSA_additional_prime_set(sk, i, p) \
@@ -1744,16 +1766,16 @@
1744
1766
  ((RSA_additional_prime *)sk_pop( \
1745
1767
  CHECKED_CAST(_STACK *, STACK_OF(RSA_additional_prime) *, sk)))
1746
1768
 
1747
- #define sk_RSA_additional_prime_dup(sk) \
1748
- ((STACK_OF(RSA_additional_prime) *)sk_dup( \
1749
- CHECKED_CAST(_STACK *, const STACK_OF(RSA_additional_prime) *, sk)))
1769
+ #define sk_RSA_additional_prime_dup(sk) \
1770
+ ((STACK_OF(RSA_additional_prime) *)sk_dup(CHECKED_CAST( \
1771
+ const _STACK *, const STACK_OF(RSA_additional_prime) *, sk)))
1750
1772
 
1751
1773
  #define sk_RSA_additional_prime_sort(sk) \
1752
1774
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(RSA_additional_prime) *, sk))
1753
1775
 
1754
1776
  #define sk_RSA_additional_prime_is_sorted(sk) \
1755
- sk_is_sorted( \
1756
- CHECKED_CAST(_STACK *, const STACK_OF(RSA_additional_prime) *, sk))
1777
+ sk_is_sorted(CHECKED_CAST(const _STACK *, \
1778
+ const STACK_OF(RSA_additional_prime) *, sk))
1757
1779
 
1758
1780
  #define sk_RSA_additional_prime_set_cmp_func(sk, comp) \
1759
1781
  ((int (*)(const RSA_additional_prime **a, const RSA_additional_prime **b)) \
@@ -1782,14 +1804,14 @@
1782
1804
  #define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)sk_new_null())
1783
1805
 
1784
1806
  #define sk_SSL_COMP_num(sk) \
1785
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(SSL_COMP) *, sk))
1807
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(SSL_COMP) *, sk))
1786
1808
 
1787
1809
  #define sk_SSL_COMP_zero(sk) \
1788
1810
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(SSL_COMP) *, sk));
1789
1811
 
1790
1812
  #define sk_SSL_COMP_value(sk, i) \
1791
1813
  ((SSL_COMP *)sk_value( \
1792
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_COMP) *, sk), (i)))
1814
+ CHECKED_CAST(const _STACK *, const STACK_OF(SSL_COMP) *, sk), (i)))
1793
1815
 
1794
1816
  #define sk_SSL_COMP_set(sk, i, p) \
1795
1817
  ((SSL_COMP *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(SSL_COMP) *, sk), (i), \
@@ -1830,13 +1852,13 @@
1830
1852
 
1831
1853
  #define sk_SSL_COMP_dup(sk) \
1832
1854
  ((STACK_OF(SSL_COMP) *)sk_dup( \
1833
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_COMP) *, sk)))
1855
+ CHECKED_CAST(const _STACK *, const STACK_OF(SSL_COMP) *, sk)))
1834
1856
 
1835
1857
  #define sk_SSL_COMP_sort(sk) \
1836
1858
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(SSL_COMP) *, sk))
1837
1859
 
1838
1860
  #define sk_SSL_COMP_is_sorted(sk) \
1839
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(SSL_COMP) *, sk))
1861
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(SSL_COMP) *, sk))
1840
1862
 
1841
1863
  #define sk_SSL_COMP_set_cmp_func(sk, comp) \
1842
1864
  ((int (*)(const SSL_COMP **a, const SSL_COMP **b))sk_set_cmp_func( \
@@ -1860,15 +1882,17 @@
1860
1882
  #define sk_SSL_CUSTOM_EXTENSION_new_null() \
1861
1883
  ((STACK_OF(SSL_CUSTOM_EXTENSION) *)sk_new_null())
1862
1884
 
1863
- #define sk_SSL_CUSTOM_EXTENSION_num(sk) \
1864
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(SSL_CUSTOM_EXTENSION) *, sk))
1885
+ #define sk_SSL_CUSTOM_EXTENSION_num(sk) \
1886
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, \
1887
+ sk))
1865
1888
 
1866
1889
  #define sk_SSL_CUSTOM_EXTENSION_zero(sk) \
1867
1890
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(SSL_CUSTOM_EXTENSION) *, sk));
1868
1891
 
1869
- #define sk_SSL_CUSTOM_EXTENSION_value(sk, i) \
1870
- ((SSL_CUSTOM_EXTENSION *)sk_value( \
1871
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, sk), \
1892
+ #define sk_SSL_CUSTOM_EXTENSION_value(sk, i) \
1893
+ ((SSL_CUSTOM_EXTENSION *)sk_value( \
1894
+ CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, \
1895
+ sk), \
1872
1896
  (i)))
1873
1897
 
1874
1898
  #define sk_SSL_CUSTOM_EXTENSION_set(sk, i, p) \
@@ -1913,16 +1937,16 @@
1913
1937
  ((SSL_CUSTOM_EXTENSION *)sk_pop( \
1914
1938
  CHECKED_CAST(_STACK *, STACK_OF(SSL_CUSTOM_EXTENSION) *, sk)))
1915
1939
 
1916
- #define sk_SSL_CUSTOM_EXTENSION_dup(sk) \
1917
- ((STACK_OF(SSL_CUSTOM_EXTENSION) *)sk_dup( \
1918
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, sk)))
1940
+ #define sk_SSL_CUSTOM_EXTENSION_dup(sk) \
1941
+ ((STACK_OF(SSL_CUSTOM_EXTENSION) *)sk_dup(CHECKED_CAST( \
1942
+ const _STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, sk)))
1919
1943
 
1920
1944
  #define sk_SSL_CUSTOM_EXTENSION_sort(sk) \
1921
1945
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(SSL_CUSTOM_EXTENSION) *, sk))
1922
1946
 
1923
1947
  #define sk_SSL_CUSTOM_EXTENSION_is_sorted(sk) \
1924
- sk_is_sorted( \
1925
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_CUSTOM_EXTENSION) *, sk))
1948
+ sk_is_sorted(CHECKED_CAST(const _STACK *, \
1949
+ const STACK_OF(SSL_CUSTOM_EXTENSION) *, sk))
1926
1950
 
1927
1951
  #define sk_SSL_CUSTOM_EXTENSION_set_cmp_func(sk, comp) \
1928
1952
  ((int (*)(const SSL_CUSTOM_EXTENSION **a, const SSL_CUSTOM_EXTENSION **b)) \
@@ -1954,14 +1978,16 @@
1954
1978
  ((STACK_OF(STACK_OF_X509_NAME_ENTRY) *)sk_new_null())
1955
1979
 
1956
1980
  #define sk_STACK_OF_X509_NAME_ENTRY_num(sk) \
1957
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk))
1981
+ sk_num(CHECKED_CAST(const _STACK *, \
1982
+ const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk))
1958
1983
 
1959
1984
  #define sk_STACK_OF_X509_NAME_ENTRY_zero(sk) \
1960
1985
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk));
1961
1986
 
1962
- #define sk_STACK_OF_X509_NAME_ENTRY_value(sk, i) \
1963
- ((STACK_OF_X509_NAME_ENTRY *)sk_value( \
1964
- CHECKED_CAST(_STACK *, const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk), \
1987
+ #define sk_STACK_OF_X509_NAME_ENTRY_value(sk, i) \
1988
+ ((STACK_OF_X509_NAME_ENTRY *)sk_value( \
1989
+ CHECKED_CAST(const _STACK *, const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, \
1990
+ sk), \
1965
1991
  (i)))
1966
1992
 
1967
1993
  #define sk_STACK_OF_X509_NAME_ENTRY_set(sk, i, p) \
@@ -2008,16 +2034,16 @@
2008
2034
  ((STACK_OF_X509_NAME_ENTRY *)sk_pop( \
2009
2035
  CHECKED_CAST(_STACK *, STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk)))
2010
2036
 
2011
- #define sk_STACK_OF_X509_NAME_ENTRY_dup(sk) \
2012
- ((STACK_OF(STACK_OF_X509_NAME_ENTRY) *)sk_dup( \
2013
- CHECKED_CAST(_STACK *, const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk)))
2037
+ #define sk_STACK_OF_X509_NAME_ENTRY_dup(sk) \
2038
+ ((STACK_OF(STACK_OF_X509_NAME_ENTRY) *)sk_dup(CHECKED_CAST( \
2039
+ const _STACK *, const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk)))
2014
2040
 
2015
2041
  #define sk_STACK_OF_X509_NAME_ENTRY_sort(sk) \
2016
2042
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk))
2017
2043
 
2018
2044
  #define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(sk) \
2019
- sk_is_sorted( \
2020
- CHECKED_CAST(_STACK *, const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk))
2045
+ sk_is_sorted(CHECKED_CAST(const _STACK *, \
2046
+ const STACK_OF(STACK_OF_X509_NAME_ENTRY) *, sk))
2021
2047
 
2022
2048
  #define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(sk, comp) \
2023
2049
  ((int (*)(const STACK_OF_X509_NAME_ENTRY **a, \
@@ -2047,14 +2073,14 @@
2047
2073
  #define sk_SXNETID_new_null() ((STACK_OF(SXNETID) *)sk_new_null())
2048
2074
 
2049
2075
  #define sk_SXNETID_num(sk) \
2050
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(SXNETID) *, sk))
2076
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(SXNETID) *, sk))
2051
2077
 
2052
2078
  #define sk_SXNETID_zero(sk) \
2053
2079
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(SXNETID) *, sk));
2054
2080
 
2055
- #define sk_SXNETID_value(sk, i) \
2056
- ((SXNETID *)sk_value(CHECKED_CAST(_STACK *, const STACK_OF(SXNETID) *, sk), \
2057
- (i)))
2081
+ #define sk_SXNETID_value(sk, i) \
2082
+ ((SXNETID *)sk_value( \
2083
+ CHECKED_CAST(const _STACK *, const STACK_OF(SXNETID) *, sk), (i)))
2058
2084
 
2059
2085
  #define sk_SXNETID_set(sk, i, p) \
2060
2086
  ((SXNETID *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(SXNETID) *, sk), (i), \
@@ -2095,13 +2121,13 @@
2095
2121
 
2096
2122
  #define sk_SXNETID_dup(sk) \
2097
2123
  ((STACK_OF(SXNETID) *)sk_dup( \
2098
- CHECKED_CAST(_STACK *, const STACK_OF(SXNETID) *, sk)))
2124
+ CHECKED_CAST(const _STACK *, const STACK_OF(SXNETID) *, sk)))
2099
2125
 
2100
2126
  #define sk_SXNETID_sort(sk) \
2101
2127
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(SXNETID) *, sk))
2102
2128
 
2103
2129
  #define sk_SXNETID_is_sorted(sk) \
2104
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(SXNETID) *, sk))
2130
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(SXNETID) *, sk))
2105
2131
 
2106
2132
  #define sk_SXNETID_set_cmp_func(sk, comp) \
2107
2133
  ((int (*)(const SXNETID **a, const SXNETID **b))sk_set_cmp_func( \
@@ -2122,12 +2148,14 @@
2122
2148
 
2123
2149
  #define sk_X509_new_null() ((STACK_OF(X509) *)sk_new_null())
2124
2150
 
2125
- #define sk_X509_num(sk) sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509) *, sk))
2151
+ #define sk_X509_num(sk) \
2152
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509) *, sk))
2126
2153
 
2127
2154
  #define sk_X509_zero(sk) sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509) *, sk));
2128
2155
 
2129
- #define sk_X509_value(sk, i) \
2130
- ((X509 *)sk_value(CHECKED_CAST(_STACK *, const STACK_OF(X509) *, sk), (i)))
2156
+ #define sk_X509_value(sk, i) \
2157
+ ((X509 *)sk_value(CHECKED_CAST(const _STACK *, const STACK_OF(X509) *, sk), \
2158
+ (i)))
2131
2159
 
2132
2160
  #define sk_X509_set(sk, i, p) \
2133
2161
  ((X509 *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509) *, sk), (i), \
@@ -2164,13 +2192,14 @@
2164
2192
  #define sk_X509_pop(sk) \
2165
2193
  ((X509 *)sk_pop(CHECKED_CAST(_STACK *, STACK_OF(X509) *, sk)))
2166
2194
 
2167
- #define sk_X509_dup(sk) \
2168
- ((STACK_OF(X509) *)sk_dup(CHECKED_CAST(_STACK *, const STACK_OF(X509) *, sk)))
2195
+ #define sk_X509_dup(sk) \
2196
+ ((STACK_OF(X509) *)sk_dup( \
2197
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509) *, sk)))
2169
2198
 
2170
2199
  #define sk_X509_sort(sk) sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509) *, sk))
2171
2200
 
2172
2201
  #define sk_X509_is_sorted(sk) \
2173
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509) *, sk))
2202
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509) *, sk))
2174
2203
 
2175
2204
  #define sk_X509_set_cmp_func(sk, comp) \
2176
2205
  ((int (*)(const X509 **a, const X509 **b))sk_set_cmp_func( \
@@ -2195,14 +2224,15 @@
2195
2224
  ((STACK_OF(X509V3_EXT_METHOD) *)sk_new_null())
2196
2225
 
2197
2226
  #define sk_X509V3_EXT_METHOD_num(sk) \
2198
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509V3_EXT_METHOD) *, sk))
2227
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk))
2199
2228
 
2200
2229
  #define sk_X509V3_EXT_METHOD_zero(sk) \
2201
2230
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509V3_EXT_METHOD) *, sk));
2202
2231
 
2203
- #define sk_X509V3_EXT_METHOD_value(sk, i) \
2204
- ((X509V3_EXT_METHOD *)sk_value( \
2205
- CHECKED_CAST(_STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk), (i)))
2232
+ #define sk_X509V3_EXT_METHOD_value(sk, i) \
2233
+ ((X509V3_EXT_METHOD *)sk_value( \
2234
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk), \
2235
+ (i)))
2206
2236
 
2207
2237
  #define sk_X509V3_EXT_METHOD_set(sk, i, p) \
2208
2238
  ((X509V3_EXT_METHOD *)sk_set( \
@@ -2248,13 +2278,14 @@
2248
2278
 
2249
2279
  #define sk_X509V3_EXT_METHOD_dup(sk) \
2250
2280
  ((STACK_OF(X509V3_EXT_METHOD) *)sk_dup( \
2251
- CHECKED_CAST(_STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk)))
2281
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk)))
2252
2282
 
2253
2283
  #define sk_X509V3_EXT_METHOD_sort(sk) \
2254
2284
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509V3_EXT_METHOD) *, sk))
2255
2285
 
2256
2286
  #define sk_X509V3_EXT_METHOD_is_sorted(sk) \
2257
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk))
2287
+ sk_is_sorted( \
2288
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509V3_EXT_METHOD) *, sk))
2258
2289
 
2259
2290
  #define sk_X509V3_EXT_METHOD_set_cmp_func(sk, comp) \
2260
2291
  ((int (*)(const X509V3_EXT_METHOD **a, const X509V3_EXT_METHOD **b)) \
@@ -2281,14 +2312,14 @@
2281
2312
  #define sk_X509_ALGOR_new_null() ((STACK_OF(X509_ALGOR) *)sk_new_null())
2282
2313
 
2283
2314
  #define sk_X509_ALGOR_num(sk) \
2284
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_ALGOR) *, sk))
2315
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_ALGOR) *, sk))
2285
2316
 
2286
2317
  #define sk_X509_ALGOR_zero(sk) \
2287
2318
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_ALGOR) *, sk));
2288
2319
 
2289
2320
  #define sk_X509_ALGOR_value(sk, i) \
2290
2321
  ((X509_ALGOR *)sk_value( \
2291
- CHECKED_CAST(_STACK *, const STACK_OF(X509_ALGOR) *, sk), (i)))
2322
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_ALGOR) *, sk), (i)))
2292
2323
 
2293
2324
  #define sk_X509_ALGOR_set(sk, i, p) \
2294
2325
  ((X509_ALGOR *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_ALGOR) *, sk), \
@@ -2331,13 +2362,13 @@
2331
2362
 
2332
2363
  #define sk_X509_ALGOR_dup(sk) \
2333
2364
  ((STACK_OF(X509_ALGOR) *)sk_dup( \
2334
- CHECKED_CAST(_STACK *, const STACK_OF(X509_ALGOR) *, sk)))
2365
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_ALGOR) *, sk)))
2335
2366
 
2336
2367
  #define sk_X509_ALGOR_sort(sk) \
2337
2368
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_ALGOR) *, sk))
2338
2369
 
2339
2370
  #define sk_X509_ALGOR_is_sorted(sk) \
2340
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_ALGOR) *, sk))
2371
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_ALGOR) *, sk))
2341
2372
 
2342
2373
  #define sk_X509_ALGOR_set_cmp_func(sk, comp) \
2343
2374
  ((int (*)(const X509_ALGOR **a, const X509_ALGOR **b))sk_set_cmp_func( \
@@ -2362,14 +2393,15 @@
2362
2393
  #define sk_X509_ATTRIBUTE_new_null() ((STACK_OF(X509_ATTRIBUTE) *)sk_new_null())
2363
2394
 
2364
2395
  #define sk_X509_ATTRIBUTE_num(sk) \
2365
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_ATTRIBUTE) *, sk))
2396
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk))
2366
2397
 
2367
2398
  #define sk_X509_ATTRIBUTE_zero(sk) \
2368
2399
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_ATTRIBUTE) *, sk));
2369
2400
 
2370
- #define sk_X509_ATTRIBUTE_value(sk, i) \
2371
- ((X509_ATTRIBUTE *)sk_value( \
2372
- CHECKED_CAST(_STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk), (i)))
2401
+ #define sk_X509_ATTRIBUTE_value(sk, i) \
2402
+ ((X509_ATTRIBUTE *)sk_value( \
2403
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk), \
2404
+ (i)))
2373
2405
 
2374
2406
  #define sk_X509_ATTRIBUTE_set(sk, i, p) \
2375
2407
  ((X509_ATTRIBUTE *)sk_set( \
@@ -2415,13 +2447,14 @@
2415
2447
 
2416
2448
  #define sk_X509_ATTRIBUTE_dup(sk) \
2417
2449
  ((STACK_OF(X509_ATTRIBUTE) *)sk_dup( \
2418
- CHECKED_CAST(_STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk)))
2450
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk)))
2419
2451
 
2420
2452
  #define sk_X509_ATTRIBUTE_sort(sk) \
2421
2453
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_ATTRIBUTE) *, sk))
2422
2454
 
2423
2455
  #define sk_X509_ATTRIBUTE_is_sorted(sk) \
2424
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk))
2456
+ sk_is_sorted( \
2457
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_ATTRIBUTE) *, sk))
2425
2458
 
2426
2459
  #define sk_X509_ATTRIBUTE_set_cmp_func(sk, comp) \
2427
2460
  ((int (*)(const X509_ATTRIBUTE **a, const X509_ATTRIBUTE **b)) \
@@ -2446,14 +2479,14 @@
2446
2479
  #define sk_X509_CRL_new_null() ((STACK_OF(X509_CRL) *)sk_new_null())
2447
2480
 
2448
2481
  #define sk_X509_CRL_num(sk) \
2449
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_CRL) *, sk))
2482
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_CRL) *, sk))
2450
2483
 
2451
2484
  #define sk_X509_CRL_zero(sk) \
2452
2485
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_CRL) *, sk));
2453
2486
 
2454
2487
  #define sk_X509_CRL_value(sk, i) \
2455
2488
  ((X509_CRL *)sk_value( \
2456
- CHECKED_CAST(_STACK *, const STACK_OF(X509_CRL) *, sk), (i)))
2489
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_CRL) *, sk), (i)))
2457
2490
 
2458
2491
  #define sk_X509_CRL_set(sk, i, p) \
2459
2492
  ((X509_CRL *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_CRL) *, sk), (i), \
@@ -2494,13 +2527,13 @@
2494
2527
 
2495
2528
  #define sk_X509_CRL_dup(sk) \
2496
2529
  ((STACK_OF(X509_CRL) *)sk_dup( \
2497
- CHECKED_CAST(_STACK *, const STACK_OF(X509_CRL) *, sk)))
2530
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_CRL) *, sk)))
2498
2531
 
2499
2532
  #define sk_X509_CRL_sort(sk) \
2500
2533
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_CRL) *, sk))
2501
2534
 
2502
2535
  #define sk_X509_CRL_is_sorted(sk) \
2503
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_CRL) *, sk))
2536
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_CRL) *, sk))
2504
2537
 
2505
2538
  #define sk_X509_CRL_set_cmp_func(sk, comp) \
2506
2539
  ((int (*)(const X509_CRL **a, const X509_CRL **b))sk_set_cmp_func( \
@@ -2523,14 +2556,15 @@
2523
2556
  #define sk_X509_EXTENSION_new_null() ((STACK_OF(X509_EXTENSION) *)sk_new_null())
2524
2557
 
2525
2558
  #define sk_X509_EXTENSION_num(sk) \
2526
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_EXTENSION) *, sk))
2559
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_EXTENSION) *, sk))
2527
2560
 
2528
2561
  #define sk_X509_EXTENSION_zero(sk) \
2529
2562
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_EXTENSION) *, sk));
2530
2563
 
2531
- #define sk_X509_EXTENSION_value(sk, i) \
2532
- ((X509_EXTENSION *)sk_value( \
2533
- CHECKED_CAST(_STACK *, const STACK_OF(X509_EXTENSION) *, sk), (i)))
2564
+ #define sk_X509_EXTENSION_value(sk, i) \
2565
+ ((X509_EXTENSION *)sk_value( \
2566
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_EXTENSION) *, sk), \
2567
+ (i)))
2534
2568
 
2535
2569
  #define sk_X509_EXTENSION_set(sk, i, p) \
2536
2570
  ((X509_EXTENSION *)sk_set( \
@@ -2576,13 +2610,14 @@
2576
2610
 
2577
2611
  #define sk_X509_EXTENSION_dup(sk) \
2578
2612
  ((STACK_OF(X509_EXTENSION) *)sk_dup( \
2579
- CHECKED_CAST(_STACK *, const STACK_OF(X509_EXTENSION) *, sk)))
2613
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_EXTENSION) *, sk)))
2580
2614
 
2581
2615
  #define sk_X509_EXTENSION_sort(sk) \
2582
2616
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_EXTENSION) *, sk))
2583
2617
 
2584
2618
  #define sk_X509_EXTENSION_is_sorted(sk) \
2585
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_EXTENSION) *, sk))
2619
+ sk_is_sorted( \
2620
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_EXTENSION) *, sk))
2586
2621
 
2587
2622
  #define sk_X509_EXTENSION_set_cmp_func(sk, comp) \
2588
2623
  ((int (*)(const X509_EXTENSION **a, const X509_EXTENSION **b)) \
@@ -2608,14 +2643,14 @@
2608
2643
  #define sk_X509_INFO_new_null() ((STACK_OF(X509_INFO) *)sk_new_null())
2609
2644
 
2610
2645
  #define sk_X509_INFO_num(sk) \
2611
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_INFO) *, sk))
2646
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_INFO) *, sk))
2612
2647
 
2613
2648
  #define sk_X509_INFO_zero(sk) \
2614
2649
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_INFO) *, sk));
2615
2650
 
2616
2651
  #define sk_X509_INFO_value(sk, i) \
2617
2652
  ((X509_INFO *)sk_value( \
2618
- CHECKED_CAST(_STACK *, const STACK_OF(X509_INFO) *, sk), (i)))
2653
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_INFO) *, sk), (i)))
2619
2654
 
2620
2655
  #define sk_X509_INFO_set(sk, i, p) \
2621
2656
  ((X509_INFO *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_INFO) *, sk), (i), \
@@ -2658,13 +2693,13 @@
2658
2693
 
2659
2694
  #define sk_X509_INFO_dup(sk) \
2660
2695
  ((STACK_OF(X509_INFO) *)sk_dup( \
2661
- CHECKED_CAST(_STACK *, const STACK_OF(X509_INFO) *, sk)))
2696
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_INFO) *, sk)))
2662
2697
 
2663
2698
  #define sk_X509_INFO_sort(sk) \
2664
2699
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_INFO) *, sk))
2665
2700
 
2666
2701
  #define sk_X509_INFO_is_sorted(sk) \
2667
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_INFO) *, sk))
2702
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_INFO) *, sk))
2668
2703
 
2669
2704
  #define sk_X509_INFO_set_cmp_func(sk, comp) \
2670
2705
  ((int (*)(const X509_INFO **a, const X509_INFO **b))sk_set_cmp_func( \
@@ -2687,14 +2722,14 @@
2687
2722
  #define sk_X509_LOOKUP_new_null() ((STACK_OF(X509_LOOKUP) *)sk_new_null())
2688
2723
 
2689
2724
  #define sk_X509_LOOKUP_num(sk) \
2690
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_LOOKUP) *, sk))
2725
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_LOOKUP) *, sk))
2691
2726
 
2692
2727
  #define sk_X509_LOOKUP_zero(sk) \
2693
2728
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_LOOKUP) *, sk));
2694
2729
 
2695
2730
  #define sk_X509_LOOKUP_value(sk, i) \
2696
2731
  ((X509_LOOKUP *)sk_value( \
2697
- CHECKED_CAST(_STACK *, const STACK_OF(X509_LOOKUP) *, sk), (i)))
2732
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_LOOKUP) *, sk), (i)))
2698
2733
 
2699
2734
  #define sk_X509_LOOKUP_set(sk, i, p) \
2700
2735
  ((X509_LOOKUP *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_LOOKUP) *, sk), \
@@ -2737,13 +2772,13 @@
2737
2772
 
2738
2773
  #define sk_X509_LOOKUP_dup(sk) \
2739
2774
  ((STACK_OF(X509_LOOKUP) *)sk_dup( \
2740
- CHECKED_CAST(_STACK *, const STACK_OF(X509_LOOKUP) *, sk)))
2775
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_LOOKUP) *, sk)))
2741
2776
 
2742
2777
  #define sk_X509_LOOKUP_sort(sk) \
2743
2778
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_LOOKUP) *, sk))
2744
2779
 
2745
2780
  #define sk_X509_LOOKUP_is_sorted(sk) \
2746
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_LOOKUP) *, sk))
2781
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_LOOKUP) *, sk))
2747
2782
 
2748
2783
  #define sk_X509_LOOKUP_set_cmp_func(sk, comp) \
2749
2784
  ((int (*)(const X509_LOOKUP **a, const X509_LOOKUP **b))sk_set_cmp_func( \
@@ -2768,14 +2803,14 @@
2768
2803
  #define sk_X509_NAME_new_null() ((STACK_OF(X509_NAME) *)sk_new_null())
2769
2804
 
2770
2805
  #define sk_X509_NAME_num(sk) \
2771
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME) *, sk))
2806
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME) *, sk))
2772
2807
 
2773
2808
  #define sk_X509_NAME_zero(sk) \
2774
2809
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME) *, sk));
2775
2810
 
2776
2811
  #define sk_X509_NAME_value(sk, i) \
2777
2812
  ((X509_NAME *)sk_value( \
2778
- CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME) *, sk), (i)))
2813
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME) *, sk), (i)))
2779
2814
 
2780
2815
  #define sk_X509_NAME_set(sk, i, p) \
2781
2816
  ((X509_NAME *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME) *, sk), (i), \
@@ -2818,13 +2853,13 @@
2818
2853
 
2819
2854
  #define sk_X509_NAME_dup(sk) \
2820
2855
  ((STACK_OF(X509_NAME) *)sk_dup( \
2821
- CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME) *, sk)))
2856
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME) *, sk)))
2822
2857
 
2823
2858
  #define sk_X509_NAME_sort(sk) \
2824
2859
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME) *, sk))
2825
2860
 
2826
2861
  #define sk_X509_NAME_is_sorted(sk) \
2827
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME) *, sk))
2862
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME) *, sk))
2828
2863
 
2829
2864
  #define sk_X509_NAME_set_cmp_func(sk, comp) \
2830
2865
  ((int (*)(const X509_NAME **a, const X509_NAME **b))sk_set_cmp_func( \
@@ -2848,14 +2883,15 @@
2848
2883
  ((STACK_OF(X509_NAME_ENTRY) *)sk_new_null())
2849
2884
 
2850
2885
  #define sk_X509_NAME_ENTRY_num(sk) \
2851
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME_ENTRY) *, sk))
2886
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk))
2852
2887
 
2853
2888
  #define sk_X509_NAME_ENTRY_zero(sk) \
2854
2889
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME_ENTRY) *, sk));
2855
2890
 
2856
- #define sk_X509_NAME_ENTRY_value(sk, i) \
2857
- ((X509_NAME_ENTRY *)sk_value( \
2858
- CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk), (i)))
2891
+ #define sk_X509_NAME_ENTRY_value(sk, i) \
2892
+ ((X509_NAME_ENTRY *)sk_value( \
2893
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk), \
2894
+ (i)))
2859
2895
 
2860
2896
  #define sk_X509_NAME_ENTRY_set(sk, i, p) \
2861
2897
  ((X509_NAME_ENTRY *)sk_set( \
@@ -2901,13 +2937,14 @@
2901
2937
 
2902
2938
  #define sk_X509_NAME_ENTRY_dup(sk) \
2903
2939
  ((STACK_OF(X509_NAME_ENTRY) *)sk_dup( \
2904
- CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk)))
2940
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk)))
2905
2941
 
2906
2942
  #define sk_X509_NAME_ENTRY_sort(sk) \
2907
2943
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_NAME_ENTRY) *, sk))
2908
2944
 
2909
2945
  #define sk_X509_NAME_ENTRY_is_sorted(sk) \
2910
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk))
2946
+ sk_is_sorted( \
2947
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_NAME_ENTRY) *, sk))
2911
2948
 
2912
2949
  #define sk_X509_NAME_ENTRY_set_cmp_func(sk, comp) \
2913
2950
  ((int (*)(const X509_NAME_ENTRY **a, const X509_NAME_ENTRY **b)) \
@@ -2933,14 +2970,14 @@
2933
2970
  #define sk_X509_OBJECT_new_null() ((STACK_OF(X509_OBJECT) *)sk_new_null())
2934
2971
 
2935
2972
  #define sk_X509_OBJECT_num(sk) \
2936
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_OBJECT) *, sk))
2973
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_OBJECT) *, sk))
2937
2974
 
2938
2975
  #define sk_X509_OBJECT_zero(sk) \
2939
2976
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_OBJECT) *, sk));
2940
2977
 
2941
2978
  #define sk_X509_OBJECT_value(sk, i) \
2942
2979
  ((X509_OBJECT *)sk_value( \
2943
- CHECKED_CAST(_STACK *, const STACK_OF(X509_OBJECT) *, sk), (i)))
2980
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_OBJECT) *, sk), (i)))
2944
2981
 
2945
2982
  #define sk_X509_OBJECT_set(sk, i, p) \
2946
2983
  ((X509_OBJECT *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_OBJECT) *, sk), \
@@ -2983,13 +3020,13 @@
2983
3020
 
2984
3021
  #define sk_X509_OBJECT_dup(sk) \
2985
3022
  ((STACK_OF(X509_OBJECT) *)sk_dup( \
2986
- CHECKED_CAST(_STACK *, const STACK_OF(X509_OBJECT) *, sk)))
3023
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_OBJECT) *, sk)))
2987
3024
 
2988
3025
  #define sk_X509_OBJECT_sort(sk) \
2989
3026
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_OBJECT) *, sk))
2990
3027
 
2991
3028
  #define sk_X509_OBJECT_is_sorted(sk) \
2992
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_OBJECT) *, sk))
3029
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_OBJECT) *, sk))
2993
3030
 
2994
3031
  #define sk_X509_OBJECT_set_cmp_func(sk, comp) \
2995
3032
  ((int (*)(const X509_OBJECT **a, const X509_OBJECT **b))sk_set_cmp_func( \
@@ -3015,14 +3052,15 @@
3015
3052
  ((STACK_OF(X509_POLICY_DATA) *)sk_new_null())
3016
3053
 
3017
3054
  #define sk_X509_POLICY_DATA_num(sk) \
3018
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_DATA) *, sk))
3055
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_DATA) *, sk))
3019
3056
 
3020
3057
  #define sk_X509_POLICY_DATA_zero(sk) \
3021
3058
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_DATA) *, sk));
3022
3059
 
3023
- #define sk_X509_POLICY_DATA_value(sk, i) \
3024
- ((X509_POLICY_DATA *)sk_value( \
3025
- CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_DATA) *, sk), (i)))
3060
+ #define sk_X509_POLICY_DATA_value(sk, i) \
3061
+ ((X509_POLICY_DATA *)sk_value( \
3062
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_DATA) *, sk), \
3063
+ (i)))
3026
3064
 
3027
3065
  #define sk_X509_POLICY_DATA_set(sk, i, p) \
3028
3066
  ((X509_POLICY_DATA *)sk_set( \
@@ -3068,13 +3106,14 @@
3068
3106
 
3069
3107
  #define sk_X509_POLICY_DATA_dup(sk) \
3070
3108
  ((STACK_OF(X509_POLICY_DATA) *)sk_dup( \
3071
- CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_DATA) *, sk)))
3109
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_DATA) *, sk)))
3072
3110
 
3073
3111
  #define sk_X509_POLICY_DATA_sort(sk) \
3074
3112
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_DATA) *, sk))
3075
3113
 
3076
3114
  #define sk_X509_POLICY_DATA_is_sorted(sk) \
3077
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_DATA) *, sk))
3115
+ sk_is_sorted( \
3116
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_DATA) *, sk))
3078
3117
 
3079
3118
  #define sk_X509_POLICY_DATA_set_cmp_func(sk, comp) \
3080
3119
  ((int (*)(const X509_POLICY_DATA **a, const X509_POLICY_DATA **b)) \
@@ -3102,14 +3141,15 @@
3102
3141
  ((STACK_OF(X509_POLICY_NODE) *)sk_new_null())
3103
3142
 
3104
3143
  #define sk_X509_POLICY_NODE_num(sk) \
3105
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_NODE) *, sk))
3144
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_NODE) *, sk))
3106
3145
 
3107
3146
  #define sk_X509_POLICY_NODE_zero(sk) \
3108
3147
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_NODE) *, sk));
3109
3148
 
3110
- #define sk_X509_POLICY_NODE_value(sk, i) \
3111
- ((X509_POLICY_NODE *)sk_value( \
3112
- CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_NODE) *, sk), (i)))
3149
+ #define sk_X509_POLICY_NODE_value(sk, i) \
3150
+ ((X509_POLICY_NODE *)sk_value( \
3151
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_NODE) *, sk), \
3152
+ (i)))
3113
3153
 
3114
3154
  #define sk_X509_POLICY_NODE_set(sk, i, p) \
3115
3155
  ((X509_POLICY_NODE *)sk_set( \
@@ -3155,13 +3195,14 @@
3155
3195
 
3156
3196
  #define sk_X509_POLICY_NODE_dup(sk) \
3157
3197
  ((STACK_OF(X509_POLICY_NODE) *)sk_dup( \
3158
- CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_NODE) *, sk)))
3198
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_NODE) *, sk)))
3159
3199
 
3160
3200
  #define sk_X509_POLICY_NODE_sort(sk) \
3161
3201
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_POLICY_NODE) *, sk))
3162
3202
 
3163
3203
  #define sk_X509_POLICY_NODE_is_sorted(sk) \
3164
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_POLICY_NODE) *, sk))
3204
+ sk_is_sorted( \
3205
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_POLICY_NODE) *, sk))
3165
3206
 
3166
3207
  #define sk_X509_POLICY_NODE_set_cmp_func(sk, comp) \
3167
3208
  ((int (*)(const X509_POLICY_NODE **a, const X509_POLICY_NODE **b)) \
@@ -3188,14 +3229,14 @@
3188
3229
  #define sk_X509_PURPOSE_new_null() ((STACK_OF(X509_PURPOSE) *)sk_new_null())
3189
3230
 
3190
3231
  #define sk_X509_PURPOSE_num(sk) \
3191
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_PURPOSE) *, sk))
3232
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_PURPOSE) *, sk))
3192
3233
 
3193
3234
  #define sk_X509_PURPOSE_zero(sk) \
3194
3235
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_PURPOSE) *, sk));
3195
3236
 
3196
3237
  #define sk_X509_PURPOSE_value(sk, i) \
3197
3238
  ((X509_PURPOSE *)sk_value( \
3198
- CHECKED_CAST(_STACK *, const STACK_OF(X509_PURPOSE) *, sk), (i)))
3239
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_PURPOSE) *, sk), (i)))
3199
3240
 
3200
3241
  #define sk_X509_PURPOSE_set(sk, i, p) \
3201
3242
  ((X509_PURPOSE *)sk_set( \
@@ -3240,13 +3281,13 @@
3240
3281
 
3241
3282
  #define sk_X509_PURPOSE_dup(sk) \
3242
3283
  ((STACK_OF(X509_PURPOSE) *)sk_dup( \
3243
- CHECKED_CAST(_STACK *, const STACK_OF(X509_PURPOSE) *, sk)))
3284
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_PURPOSE) *, sk)))
3244
3285
 
3245
3286
  #define sk_X509_PURPOSE_sort(sk) \
3246
3287
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_PURPOSE) *, sk))
3247
3288
 
3248
3289
  #define sk_X509_PURPOSE_is_sorted(sk) \
3249
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_PURPOSE) *, sk))
3290
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_PURPOSE) *, sk))
3250
3291
 
3251
3292
  #define sk_X509_PURPOSE_set_cmp_func(sk, comp) \
3252
3293
  ((int (*)(const X509_PURPOSE **a, const X509_PURPOSE **b))sk_set_cmp_func( \
@@ -3271,14 +3312,14 @@
3271
3312
  #define sk_X509_REVOKED_new_null() ((STACK_OF(X509_REVOKED) *)sk_new_null())
3272
3313
 
3273
3314
  #define sk_X509_REVOKED_num(sk) \
3274
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_REVOKED) *, sk))
3315
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_REVOKED) *, sk))
3275
3316
 
3276
3317
  #define sk_X509_REVOKED_zero(sk) \
3277
3318
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_REVOKED) *, sk));
3278
3319
 
3279
3320
  #define sk_X509_REVOKED_value(sk, i) \
3280
3321
  ((X509_REVOKED *)sk_value( \
3281
- CHECKED_CAST(_STACK *, const STACK_OF(X509_REVOKED) *, sk), (i)))
3322
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_REVOKED) *, sk), (i)))
3282
3323
 
3283
3324
  #define sk_X509_REVOKED_set(sk, i, p) \
3284
3325
  ((X509_REVOKED *)sk_set( \
@@ -3323,13 +3364,13 @@
3323
3364
 
3324
3365
  #define sk_X509_REVOKED_dup(sk) \
3325
3366
  ((STACK_OF(X509_REVOKED) *)sk_dup( \
3326
- CHECKED_CAST(_STACK *, const STACK_OF(X509_REVOKED) *, sk)))
3367
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_REVOKED) *, sk)))
3327
3368
 
3328
3369
  #define sk_X509_REVOKED_sort(sk) \
3329
3370
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_REVOKED) *, sk))
3330
3371
 
3331
3372
  #define sk_X509_REVOKED_is_sorted(sk) \
3332
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_REVOKED) *, sk))
3373
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_REVOKED) *, sk))
3333
3374
 
3334
3375
  #define sk_X509_REVOKED_set_cmp_func(sk, comp) \
3335
3376
  ((int (*)(const X509_REVOKED **a, const X509_REVOKED **b))sk_set_cmp_func( \
@@ -3354,14 +3395,14 @@
3354
3395
  #define sk_X509_TRUST_new_null() ((STACK_OF(X509_TRUST) *)sk_new_null())
3355
3396
 
3356
3397
  #define sk_X509_TRUST_num(sk) \
3357
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_TRUST) *, sk))
3398
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_TRUST) *, sk))
3358
3399
 
3359
3400
  #define sk_X509_TRUST_zero(sk) \
3360
3401
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_TRUST) *, sk));
3361
3402
 
3362
3403
  #define sk_X509_TRUST_value(sk, i) \
3363
3404
  ((X509_TRUST *)sk_value( \
3364
- CHECKED_CAST(_STACK *, const STACK_OF(X509_TRUST) *, sk), (i)))
3405
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_TRUST) *, sk), (i)))
3365
3406
 
3366
3407
  #define sk_X509_TRUST_set(sk, i, p) \
3367
3408
  ((X509_TRUST *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(X509_TRUST) *, sk), \
@@ -3404,13 +3445,13 @@
3404
3445
 
3405
3446
  #define sk_X509_TRUST_dup(sk) \
3406
3447
  ((STACK_OF(X509_TRUST) *)sk_dup( \
3407
- CHECKED_CAST(_STACK *, const STACK_OF(X509_TRUST) *, sk)))
3448
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_TRUST) *, sk)))
3408
3449
 
3409
3450
  #define sk_X509_TRUST_sort(sk) \
3410
3451
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_TRUST) *, sk))
3411
3452
 
3412
3453
  #define sk_X509_TRUST_is_sorted(sk) \
3413
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_TRUST) *, sk))
3454
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(X509_TRUST) *, sk))
3414
3455
 
3415
3456
  #define sk_X509_TRUST_set_cmp_func(sk, comp) \
3416
3457
  ((int (*)(const X509_TRUST **a, const X509_TRUST **b))sk_set_cmp_func( \
@@ -3437,14 +3478,15 @@
3437
3478
  ((STACK_OF(X509_VERIFY_PARAM) *)sk_new_null())
3438
3479
 
3439
3480
  #define sk_X509_VERIFY_PARAM_num(sk) \
3440
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(X509_VERIFY_PARAM) *, sk))
3481
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk))
3441
3482
 
3442
3483
  #define sk_X509_VERIFY_PARAM_zero(sk) \
3443
3484
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(X509_VERIFY_PARAM) *, sk));
3444
3485
 
3445
- #define sk_X509_VERIFY_PARAM_value(sk, i) \
3446
- ((X509_VERIFY_PARAM *)sk_value( \
3447
- CHECKED_CAST(_STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk), (i)))
3486
+ #define sk_X509_VERIFY_PARAM_value(sk, i) \
3487
+ ((X509_VERIFY_PARAM *)sk_value( \
3488
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk), \
3489
+ (i)))
3448
3490
 
3449
3491
  #define sk_X509_VERIFY_PARAM_set(sk, i, p) \
3450
3492
  ((X509_VERIFY_PARAM *)sk_set( \
@@ -3490,13 +3532,14 @@
3490
3532
 
3491
3533
  #define sk_X509_VERIFY_PARAM_dup(sk) \
3492
3534
  ((STACK_OF(X509_VERIFY_PARAM) *)sk_dup( \
3493
- CHECKED_CAST(_STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk)))
3535
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk)))
3494
3536
 
3495
3537
  #define sk_X509_VERIFY_PARAM_sort(sk) \
3496
3538
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(X509_VERIFY_PARAM) *, sk))
3497
3539
 
3498
3540
  #define sk_X509_VERIFY_PARAM_is_sorted(sk) \
3499
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk))
3541
+ sk_is_sorted( \
3542
+ CHECKED_CAST(const _STACK *, const STACK_OF(X509_VERIFY_PARAM) *, sk))
3500
3543
 
3501
3544
  #define sk_X509_VERIFY_PARAM_set_cmp_func(sk, comp) \
3502
3545
  ((int (*)(const X509_VERIFY_PARAM **a, const X509_VERIFY_PARAM **b)) \
@@ -3515,21 +3558,23 @@
3515
3558
  free_func)))
3516
3559
 
3517
3560
  /* void */
3518
- #define sk_void_new(comp) \
3519
- ((STACK_OF(void)*)sk_new(CHECKED_CAST( \
3561
+ #define sk_void_new(comp) \
3562
+ ((STACK_OF(void) *)sk_new(CHECKED_CAST( \
3520
3563
  stack_cmp_func, int (*)(const void **a, const void **b), comp)))
3521
3564
 
3522
- #define sk_void_new_null() ((STACK_OF(void)*)sk_new_null())
3565
+ #define sk_void_new_null() ((STACK_OF(void) *)sk_new_null())
3523
3566
 
3524
- #define sk_void_num(sk) sk_num(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk))
3567
+ #define sk_void_num(sk) \
3568
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(void) *, sk))
3525
3569
 
3526
3570
  #define sk_void_zero(sk) sk_zero(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk));
3527
3571
 
3528
- #define sk_void_value(sk, i) \
3529
- ((void *)sk_value(CHECKED_CAST(_STACK *, const STACK_OF(void) *, sk), (i)))
3572
+ #define sk_void_value(sk, i) \
3573
+ ((void *)sk_value(CHECKED_CAST(const _STACK *, const STACK_OF(void) *, sk), \
3574
+ (i)))
3530
3575
 
3531
- #define sk_void_set(sk, i, p) \
3532
- ((void *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(void)*, sk), (i), \
3576
+ #define sk_void_set(sk, i, p) \
3577
+ ((void *)sk_set(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk), (i), \
3533
3578
  CHECKED_CAST(void *, void *, p)))
3534
3579
 
3535
3580
  #define sk_void_free(sk) sk_free(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk))
@@ -3543,10 +3588,10 @@
3543
3588
  CHECKED_CAST(void *, void *, p), (where))
3544
3589
 
3545
3590
  #define sk_void_delete(sk, where) \
3546
- ((void *)sk_delete(CHECKED_CAST(_STACK *, STACK_OF(void)*, sk), (where)))
3591
+ ((void *)sk_delete(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk), (where)))
3547
3592
 
3548
- #define sk_void_delete_ptr(sk, p) \
3549
- ((void *)sk_delete_ptr(CHECKED_CAST(_STACK *, STACK_OF(void)*, sk), \
3593
+ #define sk_void_delete_ptr(sk, p) \
3594
+ ((void *)sk_delete_ptr(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk), \
3550
3595
  CHECKED_CAST(void *, void *, p)))
3551
3596
 
3552
3597
  #define sk_void_find(sk, out_index, p) \
@@ -3554,31 +3599,32 @@
3554
3599
  CHECKED_CAST(void *, void *, p))
3555
3600
 
3556
3601
  #define sk_void_shift(sk) \
3557
- ((void *)sk_shift(CHECKED_CAST(_STACK *, STACK_OF(void)*, sk)))
3602
+ ((void *)sk_shift(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk)))
3558
3603
 
3559
3604
  #define sk_void_push(sk, p) \
3560
3605
  sk_push(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk), \
3561
3606
  CHECKED_CAST(void *, void *, p))
3562
3607
 
3563
3608
  #define sk_void_pop(sk) \
3564
- ((void *)sk_pop(CHECKED_CAST(_STACK *, STACK_OF(void)*, sk)))
3609
+ ((void *)sk_pop(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk)))
3565
3610
 
3566
- #define sk_void_dup(sk) \
3567
- ((STACK_OF(void)*)sk_dup(CHECKED_CAST(_STACK *, const STACK_OF(void) *, sk)))
3611
+ #define sk_void_dup(sk) \
3612
+ ((STACK_OF(void) *)sk_dup( \
3613
+ CHECKED_CAST(const _STACK *, const STACK_OF(void) *, sk)))
3568
3614
 
3569
3615
  #define sk_void_sort(sk) sk_sort(CHECKED_CAST(_STACK *, STACK_OF(void) *, sk))
3570
3616
 
3571
3617
  #define sk_void_is_sorted(sk) \
3572
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(void) *, sk))
3618
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(void) *, sk))
3573
3619
 
3574
3620
  #define sk_void_set_cmp_func(sk, comp) \
3575
3621
  ((int (*)(const void **a, const void **b))sk_set_cmp_func( \
3576
- CHECKED_CAST(_STACK *, STACK_OF(void)*, sk), \
3622
+ CHECKED_CAST(_STACK *, STACK_OF(void) *, sk), \
3577
3623
  CHECKED_CAST(stack_cmp_func, int (*)(const void **a, const void **b), \
3578
3624
  comp)))
3579
3625
 
3580
3626
  #define sk_void_deep_copy(sk, copy_func, free_func) \
3581
- ((STACK_OF(void)*)sk_deep_copy( \
3627
+ ((STACK_OF(void) *)sk_deep_copy( \
3582
3628
  CHECKED_CAST(const _STACK *, const STACK_OF(void) *, sk), \
3583
3629
  CHECKED_CAST(void *(*)(void *), void *(*)(void *), copy_func), \
3584
3630
  CHECKED_CAST(void (*)(void *), void (*)(void *), free_func)))
@@ -3594,14 +3640,16 @@
3594
3640
  ((STACK_OF(SRTP_PROTECTION_PROFILE) *)sk_new_null())
3595
3641
 
3596
3642
  #define sk_SRTP_PROTECTION_PROFILE_num(sk) \
3597
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(SRTP_PROTECTION_PROFILE) *, sk))
3643
+ sk_num(CHECKED_CAST(const _STACK *, \
3644
+ const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk))
3598
3645
 
3599
3646
  #define sk_SRTP_PROTECTION_PROFILE_zero(sk) \
3600
3647
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(SRTP_PROTECTION_PROFILE) *, sk));
3601
3648
 
3602
- #define sk_SRTP_PROTECTION_PROFILE_value(sk, i) \
3603
- ((const SRTP_PROTECTION_PROFILE *)sk_value( \
3604
- CHECKED_CAST(_STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk), \
3649
+ #define sk_SRTP_PROTECTION_PROFILE_value(sk, i) \
3650
+ ((const SRTP_PROTECTION_PROFILE *)sk_value( \
3651
+ CHECKED_CAST(const _STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, \
3652
+ sk), \
3605
3653
  (i)))
3606
3654
 
3607
3655
  #define sk_SRTP_PROTECTION_PROFILE_set(sk, i, p) \
@@ -3649,16 +3697,16 @@
3649
3697
  ((const SRTP_PROTECTION_PROFILE *)sk_pop( \
3650
3698
  CHECKED_CAST(_STACK *, STACK_OF(SRTP_PROTECTION_PROFILE) *, sk)))
3651
3699
 
3652
- #define sk_SRTP_PROTECTION_PROFILE_dup(sk) \
3653
- ((STACK_OF(SRTP_PROTECTION_PROFILE) *)sk_dup( \
3654
- CHECKED_CAST(_STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk)))
3700
+ #define sk_SRTP_PROTECTION_PROFILE_dup(sk) \
3701
+ ((STACK_OF(SRTP_PROTECTION_PROFILE) *)sk_dup(CHECKED_CAST( \
3702
+ const _STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk)))
3655
3703
 
3656
3704
  #define sk_SRTP_PROTECTION_PROFILE_sort(sk) \
3657
3705
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(SRTP_PROTECTION_PROFILE) *, sk))
3658
3706
 
3659
3707
  #define sk_SRTP_PROTECTION_PROFILE_is_sorted(sk) \
3660
- sk_is_sorted( \
3661
- CHECKED_CAST(_STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk))
3708
+ sk_is_sorted(CHECKED_CAST(const _STACK *, \
3709
+ const STACK_OF(SRTP_PROTECTION_PROFILE) *, sk))
3662
3710
 
3663
3711
  #define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(sk, comp) \
3664
3712
  ((int (*)(const SRTP_PROTECTION_PROFILE **a, \
@@ -3670,14 +3718,15 @@
3670
3718
  const SRTP_PROTECTION_PROFILE **b), \
3671
3719
  comp)))
3672
3720
 
3673
- #define sk_SRTP_PROTECTION_PROFILE_deep_copy(sk, copy_func, free_func) \
3674
- ((STACK_OF(SRTP_PROTECTION_PROFILE) *)sk_deep_copy( \
3675
- CHECKED_CAST(const _STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, \
3676
- sk), \
3677
- CHECKED_CAST(void *(*)(void *), const SRTP_PROTECTION_PROFILE *(*)( \
3678
- const SRTP_PROTECTION_PROFILE *), \
3679
- copy_func), \
3680
- CHECKED_CAST(void (*)(void *), \
3721
+ #define sk_SRTP_PROTECTION_PROFILE_deep_copy(sk, copy_func, free_func) \
3722
+ ((STACK_OF(SRTP_PROTECTION_PROFILE) *)sk_deep_copy( \
3723
+ CHECKED_CAST(const _STACK *, const STACK_OF(SRTP_PROTECTION_PROFILE) *, \
3724
+ sk), \
3725
+ CHECKED_CAST( \
3726
+ void *(*)(void *), \
3727
+ const SRTP_PROTECTION_PROFILE *(*)(const SRTP_PROTECTION_PROFILE *), \
3728
+ copy_func), \
3729
+ CHECKED_CAST(void (*)(void *), \
3681
3730
  void (*)(const SRTP_PROTECTION_PROFILE *), free_func)))
3682
3731
 
3683
3732
  /* SSL_CIPHER */
@@ -3689,14 +3738,14 @@
3689
3738
  #define sk_SSL_CIPHER_new_null() ((STACK_OF(SSL_CIPHER) *)sk_new_null())
3690
3739
 
3691
3740
  #define sk_SSL_CIPHER_num(sk) \
3692
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(SSL_CIPHER) *, sk))
3741
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CIPHER) *, sk))
3693
3742
 
3694
3743
  #define sk_SSL_CIPHER_zero(sk) \
3695
3744
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(SSL_CIPHER) *, sk));
3696
3745
 
3697
3746
  #define sk_SSL_CIPHER_value(sk, i) \
3698
3747
  ((const SSL_CIPHER *)sk_value( \
3699
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_CIPHER) *, sk), (i)))
3748
+ CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CIPHER) *, sk), (i)))
3700
3749
 
3701
3750
  #define sk_SSL_CIPHER_set(sk, i, p) \
3702
3751
  ((const SSL_CIPHER *)sk_set( \
@@ -3742,13 +3791,13 @@
3742
3791
 
3743
3792
  #define sk_SSL_CIPHER_dup(sk) \
3744
3793
  ((STACK_OF(SSL_CIPHER) *)sk_dup( \
3745
- CHECKED_CAST(_STACK *, const STACK_OF(SSL_CIPHER) *, sk)))
3794
+ CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CIPHER) *, sk)))
3746
3795
 
3747
3796
  #define sk_SSL_CIPHER_sort(sk) \
3748
3797
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(SSL_CIPHER) *, sk))
3749
3798
 
3750
3799
  #define sk_SSL_CIPHER_is_sorted(sk) \
3751
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(SSL_CIPHER) *, sk))
3800
+ sk_is_sorted(CHECKED_CAST(const _STACK *, const STACK_OF(SSL_CIPHER) *, sk))
3752
3801
 
3753
3802
  #define sk_SSL_CIPHER_set_cmp_func(sk, comp) \
3754
3803
  ((int (*)(const SSL_CIPHER **a, const SSL_CIPHER **b))sk_set_cmp_func( \
@@ -3774,14 +3823,15 @@
3774
3823
  #define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null())
3775
3824
 
3776
3825
  #define sk_OPENSSL_STRING_num(sk) \
3777
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_STRING) *, sk))
3826
+ sk_num(CHECKED_CAST(const _STACK *, const STACK_OF(OPENSSL_STRING) *, sk))
3778
3827
 
3779
3828
  #define sk_OPENSSL_STRING_zero(sk) \
3780
3829
  sk_zero(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_STRING) *, sk));
3781
3830
 
3782
- #define sk_OPENSSL_STRING_value(sk, i) \
3783
- ((OPENSSL_STRING)sk_value( \
3784
- CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_STRING) *, sk), (i)))
3831
+ #define sk_OPENSSL_STRING_value(sk, i) \
3832
+ ((OPENSSL_STRING)sk_value( \
3833
+ CHECKED_CAST(const _STACK *, const STACK_OF(OPENSSL_STRING) *, sk), \
3834
+ (i)))
3785
3835
 
3786
3836
  #define sk_OPENSSL_STRING_set(sk, i, p) \
3787
3837
  ((OPENSSL_STRING)sk_set( \
@@ -3827,13 +3877,14 @@
3827
3877
 
3828
3878
  #define sk_OPENSSL_STRING_dup(sk) \
3829
3879
  ((STACK_OF(OPENSSL_STRING) *)sk_dup( \
3830
- CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_STRING) *, sk)))
3880
+ CHECKED_CAST(const _STACK *, const STACK_OF(OPENSSL_STRING) *, sk)))
3831
3881
 
3832
3882
  #define sk_OPENSSL_STRING_sort(sk) \
3833
3883
  sk_sort(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_STRING) *, sk))
3834
3884
 
3835
3885
  #define sk_OPENSSL_STRING_is_sorted(sk) \
3836
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_STRING) *, sk))
3886
+ sk_is_sorted( \
3887
+ CHECKED_CAST(const _STACK *, const STACK_OF(OPENSSL_STRING) *, sk))
3837
3888
 
3838
3889
  #define sk_OPENSSL_STRING_set_cmp_func(sk, comp) \
3839
3890
  ((int (*)(const OPENSSL_STRING **a, const OPENSSL_STRING **b)) \
@@ -3849,86 +3900,3 @@
3849
3900
  CHECKED_CAST(void *(*)(void *), OPENSSL_STRING (*)(OPENSSL_STRING), \
3850
3901
  copy_func), \
3851
3902
  CHECKED_CAST(void (*)(void *), void (*)(OPENSSL_STRING), free_func)))
3852
-
3853
- /* OPENSSL_BLOCK */
3854
- #define sk_OPENSSL_BLOCK_new(comp) \
3855
- ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_CAST( \
3856
- stack_cmp_func, int (*)(const OPENSSL_BLOCK *a, const OPENSSL_BLOCK *b), \
3857
- comp)))
3858
-
3859
- #define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null())
3860
-
3861
- #define sk_OPENSSL_BLOCK_num(sk) \
3862
- sk_num(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk))
3863
-
3864
- #define sk_OPENSSL_BLOCK_zero(sk) \
3865
- sk_zero(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk));
3866
-
3867
- #define sk_OPENSSL_BLOCK_value(sk, i) \
3868
- ((OPENSSL_BLOCK)sk_value( \
3869
- CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_BLOCK) *, sk), (i)))
3870
-
3871
- #define sk_OPENSSL_BLOCK_set(sk, i, p) \
3872
- ((OPENSSL_BLOCK)sk_set( \
3873
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), (i), \
3874
- CHECKED_CAST(void *, OPENSSL_BLOCK, p)))
3875
-
3876
- #define sk_OPENSSL_BLOCK_free(sk) \
3877
- sk_free(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk))
3878
-
3879
- #define sk_OPENSSL_BLOCK_pop_free(sk, free_func) \
3880
- sk_pop_free( \
3881
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), \
3882
- CHECKED_CAST(void (*)(void *), void (*)(OPENSSL_BLOCK), free_func))
3883
-
3884
- #define sk_OPENSSL_BLOCK_insert(sk, p, where) \
3885
- sk_insert(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), \
3886
- CHECKED_CAST(void *, OPENSSL_BLOCK, p), (where))
3887
-
3888
- #define sk_OPENSSL_BLOCK_delete(sk, where) \
3889
- ((OPENSSL_BLOCK)sk_delete( \
3890
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), (where)))
3891
-
3892
- #define sk_OPENSSL_BLOCK_delete_ptr(sk, p) \
3893
- ((OPENSSL_BLOCK)sk_delete_ptr( \
3894
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), \
3895
- CHECKED_CAST(void *, OPENSSL_BLOCK, p)))
3896
-
3897
- #define sk_OPENSSL_BLOCK_find(sk, out_index, p) \
3898
- sk_find(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), (out_index), \
3899
- CHECKED_CAST(void *, OPENSSL_BLOCK, p))
3900
-
3901
- #define sk_OPENSSL_BLOCK_shift(sk) \
3902
- ((OPENSSL_BLOCK)sk_shift( \
3903
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk)))
3904
-
3905
- #define sk_OPENSSL_BLOCK_push(sk, p) \
3906
- sk_push(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), \
3907
- CHECKED_CAST(void *, OPENSSL_BLOCK, p))
3908
-
3909
- #define sk_OPENSSL_BLOCK_pop(sk) \
3910
- ((OPENSSL_BLOCK)sk_pop(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk)))
3911
-
3912
- #define sk_OPENSSL_BLOCK_dup(sk) \
3913
- ((STACK_OF(OPENSSL_BLOCK) *)sk_dup( \
3914
- CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_BLOCK) *, sk)))
3915
-
3916
- #define sk_OPENSSL_BLOCK_sort(sk) \
3917
- sk_sort(CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk))
3918
-
3919
- #define sk_OPENSSL_BLOCK_is_sorted(sk) \
3920
- sk_is_sorted(CHECKED_CAST(_STACK *, const STACK_OF(OPENSSL_BLOCK) *, sk))
3921
-
3922
- #define sk_OPENSSL_BLOCK_set_cmp_func(sk, comp) \
3923
- ((int (*)(const OPENSSL_BLOCK **a, const OPENSSL_BLOCK **b))sk_set_cmp_func( \
3924
- CHECKED_CAST(_STACK *, STACK_OF(OPENSSL_BLOCK) *, sk), \
3925
- CHECKED_CAST(stack_cmp_func, \
3926
- int (*)(const OPENSSL_BLOCK **a, const OPENSSL_BLOCK **b), \
3927
- comp)))
3928
-
3929
- #define sk_OPENSSL_BLOCK_deep_copy(sk, copy_func, free_func) \
3930
- ((STACK_OF(OPENSSL_BLOCK) *)sk_deep_copy( \
3931
- CHECKED_CAST(const _STACK *, const STACK_OF(OPENSSL_BLOCK) *, sk), \
3932
- CHECKED_CAST(void *(*)(void *), OPENSSL_BLOCK (*)(OPENSSL_BLOCK), \
3933
- copy_func), \
3934
- CHECKED_CAST(void (*)(void *), void (*)(OPENSSL_BLOCK), free_func)))