grpc 1.74.1 → 1.75.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +83 -41
  3. data/include/grpc/credentials.h +7 -1
  4. data/src/core/call/client_call.cc +4 -4
  5. data/src/core/call/filter_fusion.h +1230 -0
  6. data/src/core/call/metadata.cc +22 -0
  7. data/src/core/call/metadata.h +24 -2
  8. data/src/core/channelz/channelz.cc +10 -17
  9. data/src/core/channelz/channelz.h +58 -19
  10. data/src/core/channelz/channelz_registry.cc +0 -162
  11. data/src/core/channelz/channelz_registry.h +14 -7
  12. data/src/core/channelz/property_list.cc +19 -23
  13. data/src/core/channelz/property_list.h +3 -1
  14. data/src/core/channelz/v2tov1/convert.cc +683 -0
  15. data/src/core/channelz/v2tov1/convert.h +58 -0
  16. data/src/core/channelz/v2tov1/legacy_api.cc +425 -0
  17. data/src/core/channelz/v2tov1/legacy_api.h +32 -0
  18. data/src/core/channelz/v2tov1/property_list.cc +118 -0
  19. data/src/core/channelz/v2tov1/property_list.h +52 -0
  20. data/src/core/client_channel/client_channel_filter.cc +5 -4
  21. data/src/core/client_channel/client_channel_filter.h +2 -2
  22. data/src/core/client_channel/client_channel_internal.h +2 -1
  23. data/src/core/client_channel/load_balanced_call_destination.cc +6 -5
  24. data/src/core/client_channel/subchannel.cc +14 -6
  25. data/src/core/client_channel/subchannel.h +2 -0
  26. data/src/core/config/core_configuration.cc +3 -1
  27. data/src/core/config/core_configuration.h +12 -0
  28. data/src/core/credentials/transport/alts/alts_credentials.cc +5 -0
  29. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +2 -0
  30. data/src/core/credentials/transport/channel_creds_registry_init.cc +3 -1
  31. data/src/core/credentials/transport/ssl/ssl_credentials.cc +1 -1
  32. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -3
  33. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +29 -24
  34. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +19 -8
  35. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +96 -54
  36. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +15 -2
  37. data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
  38. data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
  39. data/src/core/credentials/transport/tls/ssl_utils.cc +11 -10
  40. data/src/core/credentials/transport/tls/ssl_utils.h +4 -2
  41. data/src/core/credentials/transport/tls/tls_credentials.cc +2 -0
  42. data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -26
  43. data/src/core/credentials/transport/tls/tls_security_connector.h +12 -12
  44. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -2
  45. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -6
  46. data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
  47. data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
  48. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -6
  49. data/src/core/ext/filters/message_size/message_size_filter.cc +4 -4
  50. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
  51. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -5
  52. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +3 -2
  53. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
  54. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
  55. data/src/core/ext/transport/chttp2/transport/frame.cc +89 -6
  56. data/src/core/ext/transport/chttp2/transport/frame.h +38 -0
  57. data/src/core/ext/transport/chttp2/transport/header_assembler.h +5 -14
  58. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  59. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +294 -78
  60. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +128 -9
  61. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -38
  62. data/src/core/ext/transport/chttp2/transport/http2_settings.h +52 -35
  63. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +61 -0
  64. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +142 -0
  65. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +81 -3
  66. data/src/core/ext/transport/chttp2/transport/http2_transport.h +12 -1
  67. data/src/core/ext/transport/chttp2/transport/message_assembler.h +2 -2
  68. data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -1
  69. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +2 -1
  70. data/src/core/ext/transport/chttp2/transport/ping_promise.h +22 -5
  71. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +607 -0
  72. data/src/core/ext/transport/chttp2/transport/writable_streams.h +254 -0
  73. data/src/core/ext/transport/chttp2/transport/writing.cc +6 -4
  74. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
  75. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
  76. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
  77. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +142 -54
  78. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +18 -14
  79. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +2 -2
  80. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
  81. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
  82. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +86 -88
  83. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +2 -2
  84. data/src/core/filter/auth/auth_filters.h +2 -2
  85. data/src/core/filter/fused_filters.cc +154 -0
  86. data/src/core/handshaker/security/legacy_secure_endpoint.cc +1 -1
  87. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +965 -0
  88. data/src/core/handshaker/security/secure_endpoint.cc +28 -13
  89. data/src/core/handshaker/security/secure_endpoint.h +8 -0
  90. data/src/core/lib/channel/promise_based_filter.cc +15 -25
  91. data/src/core/lib/channel/promise_based_filter.h +6 -5
  92. data/src/core/lib/event_engine/ares_resolver.h +3 -1
  93. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +9 -5
  94. data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -1
  95. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
  96. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
  97. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +31 -3
  98. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +12 -0
  99. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +12 -10
  100. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +6 -4
  101. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +15 -14
  102. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +7 -5
  103. data/src/core/lib/event_engine/posix_engine/event_poller.h +0 -8
  104. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +11 -5
  105. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -2
  106. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +1 -0
  107. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +4 -4
  108. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +3 -4
  109. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +2 -2
  110. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +188 -199
  111. data/src/core/lib/event_engine/posix_engine/posix_engine.h +30 -45
  112. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  113. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -1
  114. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +2 -1
  115. data/src/core/lib/experiments/experiments.cc +120 -6
  116. data/src/core/lib/experiments/experiments.h +46 -3
  117. data/src/core/lib/iomgr/combiner.cc +1 -1
  118. data/src/core/lib/iomgr/exec_ctx.h +3 -9
  119. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  120. data/src/core/lib/iomgr/socket_utils_posix.cc +1 -1
  121. data/src/core/lib/iomgr/socket_utils_posix.h +1 -1
  122. data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
  123. data/src/core/lib/iomgr/tcp_posix.cc +3 -3
  124. data/src/core/lib/promise/activity.h +2 -2
  125. data/src/core/lib/promise/mpsc.cc +8 -8
  126. data/src/core/lib/promise/party.cc +7 -7
  127. data/src/core/lib/promise/party.h +4 -4
  128. data/src/core/lib/promise/poll.h +10 -0
  129. data/src/core/lib/resource_quota/memory_quota.cc +90 -3
  130. data/src/core/lib/resource_quota/memory_quota.h +20 -9
  131. data/src/core/lib/resource_quota/periodic_update.cc +14 -0
  132. data/src/core/lib/resource_quota/periodic_update.h +8 -0
  133. data/src/core/lib/resource_quota/resource_quota.cc +15 -4
  134. data/src/core/lib/resource_quota/resource_quota.h +3 -0
  135. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
  136. data/src/core/lib/surface/call.cc +5 -5
  137. data/src/core/lib/surface/call.h +6 -5
  138. data/src/core/lib/surface/completion_queue.cc +2 -4
  139. data/src/core/lib/surface/filter_stack_call.cc +1 -1
  140. data/src/core/lib/surface/version.cc +2 -2
  141. data/src/core/lib/transport/promise_endpoint.cc +2 -2
  142. data/src/core/lib/transport/promise_endpoint.h +3 -3
  143. data/src/core/load_balancing/endpoint_list.cc +29 -2
  144. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +3 -3
  145. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -1
  146. data/src/core/load_balancing/pick_first/pick_first.cc +12 -5
  147. data/src/core/load_balancing/xds/xds_cluster_impl.cc +5 -3
  148. data/src/core/net/socket_mutator.cc +19 -0
  149. data/src/core/net/socket_mutator.h +25 -0
  150. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
  151. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
  152. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +2 -1
  153. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +8 -5
  154. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -1
  155. data/src/core/resolver/xds/xds_dependency_manager.cc +1 -1
  156. data/src/core/server/server.cc +1 -1
  157. data/src/core/server/server_call_tracer_filter.cc +0 -66
  158. data/src/core/server/server_call_tracer_filter.h +64 -0
  159. data/src/core/server/server_config_selector_filter.cc +1 -1
  160. data/src/core/service_config/service_config_channel_arg_filter.cc +3 -60
  161. data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
  162. data/src/core/telemetry/call_tracer.cc +20 -14
  163. data/src/core/telemetry/call_tracer.h +22 -17
  164. data/src/core/telemetry/metrics.h +8 -8
  165. data/src/core/telemetry/stats_data.cc +151 -151
  166. data/src/core/telemetry/stats_data.h +87 -87
  167. data/src/core/transport/auth_context.cc +20 -0
  168. data/src/core/transport/auth_context.h +4 -0
  169. data/src/core/transport/auth_context_comparator_registry.h +69 -0
  170. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -3
  171. data/src/core/tsi/ssl_transport_security.cc +202 -32
  172. data/src/core/tsi/ssl_transport_security.h +19 -10
  173. data/src/core/tsi/ssl_transport_security_utils.cc +21 -0
  174. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  175. data/src/core/util/http_client/httpcli_security_connector.cc +3 -1
  176. data/src/core/util/latent_see.cc +178 -146
  177. data/src/core/util/latent_see.h +245 -188
  178. data/src/core/util/single_set_ptr.h +5 -2
  179. data/src/core/util/useful.h +91 -0
  180. data/src/core/util/windows/directory_reader.cc +1 -0
  181. data/src/core/util/windows/thd.cc +1 -3
  182. data/src/core/util/work_serializer.cc +1 -1
  183. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +32 -5
  184. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +5 -0
  185. data/src/core/xds/grpc/xds_certificate_provider.cc +5 -6
  186. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  187. data/src/ruby/lib/grpc/version.rb +1 -1
  188. data/third_party/cares/cares/include/ares.h +925 -460
  189. data/third_party/cares/cares/include/ares_dns.h +86 -71
  190. data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
  191. data/third_party/cares/cares/include/ares_nameser.h +215 -189
  192. data/third_party/cares/cares/include/ares_version.h +37 -14
  193. data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
  194. data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
  195. data/third_party/cares/cares/src/lib/ares_android.c +216 -164
  196. data/third_party/cares/cares/src/lib/ares_android.h +25 -14
  197. data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
  198. data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
  199. data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
  200. data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
  201. data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
  202. data/third_party/cares/cares/src/lib/ares_data.c +93 -181
  203. data/third_party/cares/cares/src/lib/ares_data.h +50 -39
  204. data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
  205. data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
  206. data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
  207. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
  208. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
  209. data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
  210. data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
  211. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
  212. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
  213. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
  214. data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
  215. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
  216. data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
  217. data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
  218. data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
  219. data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
  220. data/third_party/cares/cares/src/lib/ares_options.c +418 -332
  221. data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
  222. data/third_party/cares/cares/src/lib/ares_private.h +558 -356
  223. data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
  224. data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
  225. data/third_party/cares/cares/src/lib/ares_query.c +126 -121
  226. data/third_party/cares/cares/src/lib/ares_search.c +564 -262
  227. data/third_party/cares/cares/src/lib/ares_send.c +264 -93
  228. data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
  229. data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
  230. data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
  231. data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
  232. data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
  233. data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
  234. data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
  235. data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
  236. data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
  237. data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
  238. data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
  239. data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
  240. data/third_party/cares/cares/src/lib/ares_version.c +29 -4
  241. data/third_party/cares/cares/src/lib/config-dos.h +88 -89
  242. data/third_party/cares/cares/src/lib/config-win32.h +122 -77
  243. data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
  244. data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
  245. data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
  246. data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
  247. data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
  248. data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
  249. data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
  250. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  251. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  252. data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
  253. data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
  254. data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
  255. data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
  256. data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
  257. data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
  258. data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
  259. data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
  260. data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
  261. data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
  262. data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
  263. data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
  264. data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
  265. data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
  266. data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
  267. data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
  268. data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
  269. data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
  270. data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
  271. data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
  272. data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
  273. data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
  274. data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
  275. data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
  276. data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
  277. data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
  278. data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
  279. data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
  280. data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
  281. data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
  282. data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
  283. data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  284. data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  285. data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  286. data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  287. data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  288. data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  289. data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  290. data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  291. data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  292. data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  293. data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  294. data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
  295. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
  296. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
  297. data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
  298. data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
  299. data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
  300. data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
  301. data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
  302. data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
  303. data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
  304. data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
  305. data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
  306. data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  307. data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
  308. data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
  309. data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
  310. data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
  311. data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
  312. data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
  313. data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
  314. data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
  315. data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
  316. data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
  317. data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
  318. data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
  319. data/third_party/cares/cares/src/lib/windows_port.c +16 -9
  320. metadata +121 -49
  321. data/src/core/util/ring_buffer.h +0 -122
  322. data/third_party/cares/cares/include/ares_rules.h +0 -125
  323. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
  324. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
  325. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  326. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  327. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
  328. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  329. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
  330. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
  331. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  332. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  333. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
  334. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  335. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  336. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  337. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  338. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  339. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  340. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  341. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  342. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  343. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
  344. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
  345. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  346. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  347. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  348. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  349. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  350. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  351. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  352. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  353. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
  354. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  355. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  356. data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
  357. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  358. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  359. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
  360. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  361. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
  362. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
  363. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  364. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  365. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  366. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  367. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  368. data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
@@ -1,221 +0,0 @@
1
- #ifndef HEADER_CARES_IPHLPAPI_H
2
- #define HEADER_CARES_IPHLPAPI_H
3
-
4
- /* Copyright 1998 by the Massachusetts Institute of Technology.
5
- * Copyright (C) 2004 - 2011 by Daniel Stenberg et al
6
- *
7
- * Permission to use, copy, modify, and distribute this
8
- * software and its documentation for any purpose and without
9
- * fee is hereby granted, provided that the above copyright
10
- * notice appear in all copies and that both that copyright
11
- * notice and this permission notice appear in supporting
12
- * documentation, and that the name of M.I.T. not be used in
13
- * advertising or publicity pertaining to distribution of the
14
- * software without specific, written prior permission.
15
- * M.I.T. makes no representations about the suitability of
16
- * this software for any purpose. It is provided "as is"
17
- * without express or implied warranty.
18
- */
19
-
20
- #if defined(USE_WINSOCK)
21
-
22
- #ifndef INET_ADDRSTRLEN
23
- #define INET_ADDRSTRLEN 22
24
- #endif
25
-
26
- #ifndef INET6_ADDRSTRLEN
27
- #define INET6_ADDRSTRLEN 65
28
- #endif
29
-
30
- /* ---------------------------------- */
31
- #if !defined(_WS2DEF_) && \
32
- !defined(__CSADDR_DEFINED__) && \
33
- !defined(__CSADDR_T_DEFINED)
34
- /* ---------------------------------- */
35
-
36
- typedef struct _SOCKET_ADDRESS {
37
- LPSOCKADDR lpSockaddr;
38
- INT iSockaddrLength;
39
- } SOCKET_ADDRESS, *PSOCKET_ADDRESS;
40
-
41
- typedef struct _CSADDR_INFO {
42
- SOCKET_ADDRESS LocalAddr;
43
- SOCKET_ADDRESS RemoteAddr;
44
- INT iSocketType;
45
- INT iProtocol;
46
- } CSADDR_INFO, *PCSADDR_INFO;
47
-
48
- /* --------------------------------- */
49
- #endif /* ! _WS2DEF_ && \ */
50
- /* ! __CSADDR_DEFINED__ && \ */
51
- /* ! __CSADDR_T_DEFINED */
52
- /* --------------------------------- */
53
-
54
- /* ------------------------------- */
55
- #if !defined(IP_ADAPTER_DDNS_ENABLED)
56
- /* ------------------------------- */
57
-
58
- #define IP_ADAPTER_ADDRESS_DNS_ELIGIBLE 0x0001
59
- #define IP_ADAPTER_ADDRESS_TRANSIENT 0x0002
60
-
61
- #define IP_ADAPTER_DDNS_ENABLED 0x0001
62
- #define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x0002
63
- #define IP_ADAPTER_DHCP_ENABLED 0x0004
64
- #define IP_ADAPTER_RECEIVE_ONLY 0x0008
65
- #define IP_ADAPTER_NO_MULTICAST 0x0010
66
- #define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x0020
67
-
68
- #define GAA_FLAG_SKIP_UNICAST 0x0001
69
- #define GAA_FLAG_SKIP_ANYCAST 0x0002
70
- #define GAA_FLAG_SKIP_MULTICAST 0x0004
71
- #define GAA_FLAG_SKIP_DNS_SERVER 0x0008
72
- #define GAA_FLAG_INCLUDE_PREFIX 0x0010
73
- #define GAA_FLAG_SKIP_FRIENDLY_NAME 0x0020
74
-
75
- typedef enum {
76
- IpPrefixOriginOther = 0,
77
- IpPrefixOriginManual,
78
- IpPrefixOriginWellKnown,
79
- IpPrefixOriginDhcp,
80
- IpPrefixOriginRouterAdvertisement
81
- } IP_PREFIX_ORIGIN;
82
-
83
- typedef enum {
84
- IpSuffixOriginOther = 0,
85
- IpSuffixOriginManual,
86
- IpSuffixOriginWellKnown,
87
- IpSuffixOriginDhcp,
88
- IpSuffixOriginLinkLayerAddress,
89
- IpSuffixOriginRandom
90
- } IP_SUFFIX_ORIGIN;
91
-
92
- typedef enum {
93
- IpDadStateInvalid = 0,
94
- IpDadStateTentative,
95
- IpDadStateDuplicate,
96
- IpDadStateDeprecated,
97
- IpDadStatePreferred
98
- } IP_DAD_STATE;
99
-
100
- typedef enum {
101
- IfOperStatusUp = 1,
102
- IfOperStatusDown,
103
- IfOperStatusTesting,
104
- IfOperStatusUnknown,
105
- IfOperStatusDormant,
106
- IfOperStatusNotPresent,
107
- IfOperStatusLowerLayerDown
108
- } IF_OPER_STATUS;
109
-
110
- typedef enum {
111
- ScopeLevelInterface = 0x0001,
112
- ScopeLevelLink = 0x0002,
113
- ScopeLevelSubnet = 0x0003,
114
- ScopeLevelAdmin = 0x0004,
115
- ScopeLevelSite = 0x0005,
116
- ScopeLevelOrganization = 0x0008,
117
- ScopeLevelGlobal = 0x000E
118
- } SCOPE_LEVEL;
119
-
120
- typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
121
- union {
122
- ULONGLONG Alignment;
123
- struct {
124
- ULONG Length;
125
- DWORD Flags;
126
- } s;
127
- } u;
128
- struct _IP_ADAPTER_UNICAST_ADDRESS *Next;
129
- SOCKET_ADDRESS Address;
130
- IP_PREFIX_ORIGIN PrefixOrigin;
131
- IP_SUFFIX_ORIGIN SuffixOrigin;
132
- IP_DAD_STATE DadState;
133
- ULONG ValidLifetime;
134
- ULONG PreferredLifetime;
135
- ULONG LeaseLifetime;
136
- } IP_ADAPTER_UNICAST_ADDRESS, *PIP_ADAPTER_UNICAST_ADDRESS;
137
-
138
- typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
139
- union {
140
- ULONGLONG Alignment;
141
- struct {
142
- ULONG Length;
143
- DWORD Flags;
144
- } s;
145
- } u;
146
- struct _IP_ADAPTER_ANYCAST_ADDRESS *Next;
147
- SOCKET_ADDRESS Address;
148
- } IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS;
149
-
150
- typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
151
- union {
152
- ULONGLONG Alignment;
153
- struct {
154
- ULONG Length;
155
- DWORD Flags;
156
- } s;
157
- } u;
158
- struct _IP_ADAPTER_MULTICAST_ADDRESS *Next;
159
- SOCKET_ADDRESS Address;
160
- } IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS;
161
-
162
- typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
163
- union {
164
- ULONGLONG Alignment;
165
- struct {
166
- ULONG Length;
167
- DWORD Reserved;
168
- } s;
169
- } u;
170
- struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next;
171
- SOCKET_ADDRESS Address;
172
- } IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
173
-
174
- typedef struct _IP_ADAPTER_PREFIX {
175
- union {
176
- ULONGLONG Alignment;
177
- struct {
178
- ULONG Length;
179
- DWORD Flags;
180
- } s;
181
- } u;
182
- struct _IP_ADAPTER_PREFIX *Next;
183
- SOCKET_ADDRESS Address;
184
- ULONG PrefixLength;
185
- } IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX;
186
-
187
- typedef struct _IP_ADAPTER_ADDRESSES {
188
- union {
189
- ULONGLONG Alignment;
190
- struct {
191
- ULONG Length;
192
- DWORD IfIndex;
193
- } s;
194
- } u;
195
- struct _IP_ADAPTER_ADDRESSES *Next;
196
- PCHAR AdapterName;
197
- PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
198
- PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
199
- PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
200
- PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
201
- PWCHAR DnsSuffix;
202
- PWCHAR Description;
203
- PWCHAR FriendlyName;
204
- BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
205
- DWORD PhysicalAddressLength;
206
- DWORD Flags;
207
- DWORD Mtu;
208
- DWORD IfType;
209
- IF_OPER_STATUS OperStatus;
210
- DWORD Ipv6IfIndex;
211
- DWORD ZoneIndices[16];
212
- PIP_ADAPTER_PREFIX FirstPrefix;
213
- } IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;
214
-
215
- /* -------------------------------- */
216
- #endif /* ! IP_ADAPTER_DDNS_ENABLED */
217
- /* -------------------------------- */
218
-
219
- #endif /* USE_WINSOCK */
220
-
221
- #endif /* HEADER_CARES_IPHLPAPI_H */
@@ -1,63 +0,0 @@
1
-
2
- /* Copyright 1998 by the Massachusetts Institute of Technology.
3
- *
4
- * Permission to use, copy, modify, and distribute this
5
- * software and its documentation for any purpose and without
6
- * fee is hereby granted, provided that the above copyright
7
- * notice appear in all copies and that both that copyright
8
- * notice and this permission notice appear in supporting
9
- * documentation, and that the name of M.I.T. not be used in
10
- * advertising or publicity pertaining to distribution of the
11
- * software without specific, written prior permission.
12
- * M.I.T. makes no representations about the suitability of
13
- * this software for any purpose. It is provided "as is"
14
- * without express or implied warranty.
15
- */
16
-
17
- #include "ares_setup.h"
18
-
19
- #include "ares.h"
20
- #include "ares_private.h"
21
-
22
- /* Routines for managing doubly-linked circular linked lists with a
23
- * dummy head.
24
- */
25
-
26
- /* Initialize a new head node */
27
- void ares__init_list_head(struct list_node* head) {
28
- head->prev = head;
29
- head->next = head;
30
- head->data = NULL;
31
- }
32
-
33
- /* Initialize a list node */
34
- void ares__init_list_node(struct list_node* node, void* d) {
35
- node->prev = NULL;
36
- node->next = NULL;
37
- node->data = d;
38
- }
39
-
40
- /* Returns true iff the given list is empty */
41
- int ares__is_list_empty(struct list_node* head) {
42
- return ((head->next == head) && (head->prev == head));
43
- }
44
-
45
- /* Inserts new_node before old_node */
46
- void ares__insert_in_list(struct list_node* new_node,
47
- struct list_node* old_node) {
48
- new_node->next = old_node;
49
- new_node->prev = old_node->prev;
50
- old_node->prev->next = new_node;
51
- old_node->prev = new_node;
52
- }
53
-
54
- /* Removes the node from the list it's in, if any */
55
- void ares__remove_from_list(struct list_node* node) {
56
- if (node->next != NULL) {
57
- node->prev->next = node->next;
58
- node->next->prev = node->prev;
59
- node->prev = NULL;
60
- node->next = NULL;
61
- }
62
- }
63
-
@@ -1,39 +0,0 @@
1
- #ifndef __ARES_LLIST_H
2
- #define __ARES_LLIST_H
3
-
4
-
5
- /* Copyright 1998 by the Massachusetts Institute of Technology.
6
- *
7
- * Permission to use, copy, modify, and distribute this
8
- * software and its documentation for any purpose and without
9
- * fee is hereby granted, provided that the above copyright
10
- * notice appear in all copies and that both that copyright
11
- * notice and this permission notice appear in supporting
12
- * documentation, and that the name of M.I.T. not be used in
13
- * advertising or publicity pertaining to distribution of the
14
- * software without specific, written prior permission.
15
- * M.I.T. makes no representations about the suitability of
16
- * this software for any purpose. It is provided "as is"
17
- * without express or implied warranty.
18
- */
19
-
20
-
21
- /* Node definition for circular, doubly-linked list */
22
- struct list_node {
23
- struct list_node *prev;
24
- struct list_node *next;
25
- void* data;
26
- };
27
-
28
- void ares__init_list_head(struct list_node* head);
29
-
30
- void ares__init_list_node(struct list_node* node, void* d);
31
-
32
- int ares__is_list_empty(struct list_node* head);
33
-
34
- void ares__insert_in_list(struct list_node* new_node,
35
- struct list_node* old_node);
36
-
37
- void ares__remove_from_list(struct list_node* node);
38
-
39
- #endif /* __ARES_LLIST_H */
@@ -1,24 +0,0 @@
1
-
2
- /* Copyright 1998 by the Massachusetts Institute of Technology.
3
- *
4
- * Permission to use, copy, modify, and distribute this
5
- * software and its documentation for any purpose and without
6
- * fee is hereby granted, provided that the above copyright
7
- * notice appear in all copies and that both that copyright
8
- * notice and this permission notice appear in supporting
9
- * documentation, and that the name of M.I.T. not be used in
10
- * advertising or publicity pertaining to distribution of the
11
- * software without specific, written prior permission.
12
- * M.I.T. makes no representations about the suitability of
13
- * this software for any purpose. It is provided "as is"
14
- * without express or implied warranty.
15
- */
16
-
17
- #include "ares_setup.h"
18
- #include "ares.h"
19
-
20
- int ares_mkquery(const char *name, int dnsclass, int type, unsigned short id,
21
- int rd, unsigned char **buf, int *buflen)
22
- {
23
- return ares_create_query(name, dnsclass, type, id, rd, buf, buflen, 0);
24
- }
@@ -1,260 +0,0 @@
1
-
2
- /* Copyright (C) 2010-2013 by Daniel Stenberg
3
- *
4
- * Permission to use, copy, modify, and distribute this
5
- * software and its documentation for any purpose and without
6
- * fee is hereby granted, provided that the above copyright
7
- * notice appear in all copies and that both that copyright
8
- * notice and this permission notice appear in supporting
9
- * documentation, and that the name of M.I.T. not be used in
10
- * advertising or publicity pertaining to distribution of the
11
- * software without specific, written prior permission.
12
- * M.I.T. makes no representations about the suitability of
13
- * this software for any purpose. It is provided "as is"
14
- * without express or implied warranty.
15
- */
16
-
17
-
18
- #include "ares_setup.h"
19
-
20
- #ifdef HAVE_ASSERT_H
21
- # include <assert.h>
22
- #endif
23
-
24
- #ifdef HAVE_LIMITS_H
25
- #include <limits.h>
26
- #endif
27
-
28
- #if defined(__INTEL_COMPILER) && defined(__unix__)
29
-
30
- #ifdef HAVE_NETINET_IN_H
31
- # include <netinet/in.h>
32
- #endif
33
- #ifdef HAVE_ARPA_INET_H
34
- # include <arpa/inet.h>
35
- #endif
36
-
37
- #endif /* __INTEL_COMPILER && __unix__ */
38
-
39
- #define BUILDING_ARES_NOWARN_C 1
40
-
41
- #include "ares_nowarn.h"
42
-
43
- #ifndef HAVE_LIMITS_H
44
- /* systems without <limits.h> we guess have 16 bit shorts, 32bit ints and
45
- 32bit longs */
46
- # define CARES_MASK_SSHORT 0x7FFF
47
- # define CARES_MASK_USHORT 0xFFFF
48
- # define CARES_MASK_SINT 0x7FFFFFFF
49
- # define CARES_MASK_UINT 0xFFFFFFFF
50
- # define CARES_MASK_SLONG 0x7FFFFFFFL
51
- # define CARES_MASK_ULONG 0xFFFFFFFFUL
52
- #else
53
- # define CARES_MASK_SSHORT SHRT_MAX
54
- # define CARES_MASK_USHORT USHRT_MAX
55
- # define CARES_MASK_SINT INT_MAX
56
- # define CARES_MASK_UINT UINT_MAX
57
- # define CARES_MASK_SLONG LONG_MAX
58
- # define CARES_MASK_ULONG ULONG_MAX
59
- #endif
60
-
61
- /*
62
- ** unsigned size_t to signed long
63
- */
64
-
65
- long aresx_uztosl(size_t uznum)
66
- {
67
- #ifdef __INTEL_COMPILER
68
- # pragma warning(push)
69
- # pragma warning(disable:810) /* conversion may lose significant bits */
70
- #endif
71
-
72
- return (long)(uznum & (size_t) CARES_MASK_SLONG);
73
-
74
- #ifdef __INTEL_COMPILER
75
- # pragma warning(pop)
76
- #endif
77
- }
78
-
79
- /*
80
- ** unsigned size_t to signed int
81
- */
82
-
83
- int aresx_uztosi(size_t uznum)
84
- {
85
- #ifdef __INTEL_COMPILER
86
- # pragma warning(push)
87
- # pragma warning(disable:810) /* conversion may lose significant bits */
88
- #endif
89
-
90
- return (int)(uznum & (size_t) CARES_MASK_SINT);
91
-
92
- #ifdef __INTEL_COMPILER
93
- # pragma warning(pop)
94
- #endif
95
- }
96
-
97
- /*
98
- ** unsigned size_t to signed short
99
- */
100
-
101
- short aresx_uztoss(size_t uznum)
102
- {
103
- #ifdef __INTEL_COMPILER
104
- # pragma warning(push)
105
- # pragma warning(disable:810) /* conversion may lose significant bits */
106
- #endif
107
-
108
- return (short)(uznum & (size_t) CARES_MASK_SSHORT);
109
-
110
- #ifdef __INTEL_COMPILER
111
- # pragma warning(pop)
112
- #endif
113
- }
114
-
115
- /*
116
- ** signed int to signed short
117
- */
118
-
119
- short aresx_sitoss(int sinum)
120
- {
121
- #ifdef __INTEL_COMPILER
122
- # pragma warning(push)
123
- # pragma warning(disable:810) /* conversion may lose significant bits */
124
- #endif
125
-
126
- DEBUGASSERT(sinum >= 0);
127
- return (short)(sinum & (int) CARES_MASK_SSHORT);
128
-
129
- #ifdef __INTEL_COMPILER
130
- # pragma warning(pop)
131
- #endif
132
- }
133
-
134
- /*
135
- ** signed long to signed int
136
- */
137
-
138
- int aresx_sltosi(long slnum)
139
- {
140
- #ifdef __INTEL_COMPILER
141
- # pragma warning(push)
142
- # pragma warning(disable:810) /* conversion may lose significant bits */
143
- #endif
144
-
145
- DEBUGASSERT(slnum >= 0);
146
- return (int)(slnum & (long) CARES_MASK_SINT);
147
-
148
- #ifdef __INTEL_COMPILER
149
- # pragma warning(pop)
150
- #endif
151
- }
152
-
153
- /*
154
- ** signed ares_ssize_t to signed int
155
- */
156
-
157
- int aresx_sztosi(ares_ssize_t sznum)
158
- {
159
- #ifdef __INTEL_COMPILER
160
- # pragma warning(push)
161
- # pragma warning(disable:810) /* conversion may lose significant bits */
162
- #endif
163
-
164
- DEBUGASSERT(sznum >= 0);
165
- return (int)(sznum & (ares_ssize_t) CARES_MASK_SINT);
166
-
167
- #ifdef __INTEL_COMPILER
168
- # pragma warning(pop)
169
- #endif
170
- }
171
-
172
- /*
173
- ** signed ares_ssize_t to unsigned int
174
- */
175
-
176
- unsigned int aresx_sztoui(ares_ssize_t sznum)
177
- {
178
- #ifdef __INTEL_COMPILER
179
- # pragma warning(push)
180
- # pragma warning(disable:810) /* conversion may lose significant bits */
181
- #endif
182
-
183
- DEBUGASSERT(sznum >= 0);
184
- return (unsigned int)(sznum & (ares_ssize_t) CARES_MASK_UINT);
185
-
186
- #ifdef __INTEL_COMPILER
187
- # pragma warning(pop)
188
- #endif
189
- }
190
-
191
- /*
192
- ** signed int to unsigned short
193
- */
194
-
195
- unsigned short aresx_sitous(int sinum)
196
- {
197
- #ifdef __INTEL_COMPILER
198
- # pragma warning(push)
199
- # pragma warning(disable:810) /* conversion may lose significant bits */
200
- #endif
201
-
202
- DEBUGASSERT(sinum >= 0);
203
- return (unsigned short)(sinum & (int) CARES_MASK_USHORT);
204
-
205
- #ifdef __INTEL_COMPILER
206
- # pragma warning(pop)
207
- #endif
208
- }
209
-
210
- #if defined(__INTEL_COMPILER) && defined(__unix__)
211
-
212
- int aresx_FD_ISSET(int fd, fd_set *fdset)
213
- {
214
- #pragma warning(push)
215
- #pragma warning(disable:1469) /* clobber ignored */
216
- return FD_ISSET(fd, fdset);
217
- #pragma warning(pop)
218
- }
219
-
220
- void aresx_FD_SET(int fd, fd_set *fdset)
221
- {
222
- #pragma warning(push)
223
- #pragma warning(disable:1469) /* clobber ignored */
224
- FD_SET(fd, fdset);
225
- #pragma warning(pop)
226
- }
227
-
228
- void aresx_FD_ZERO(fd_set *fdset)
229
- {
230
- #pragma warning(push)
231
- #pragma warning(disable:593) /* variable was set but never used */
232
- FD_ZERO(fdset);
233
- #pragma warning(pop)
234
- }
235
-
236
- unsigned short aresx_htons(unsigned short usnum)
237
- {
238
- #if (__INTEL_COMPILER == 910) && defined(__i386__)
239
- return (unsigned short)(((usnum << 8) & 0xFF00) | ((usnum >> 8) & 0x00FF));
240
- #else
241
- #pragma warning(push)
242
- #pragma warning(disable:810) /* conversion may lose significant bits */
243
- return htons(usnum);
244
- #pragma warning(pop)
245
- #endif
246
- }
247
-
248
- unsigned short aresx_ntohs(unsigned short usnum)
249
- {
250
- #if (__INTEL_COMPILER == 910) && defined(__i386__)
251
- return (unsigned short)(((usnum << 8) & 0xFF00) | ((usnum >> 8) & 0x00FF));
252
- #else
253
- #pragma warning(push)
254
- #pragma warning(disable:810) /* conversion may lose significant bits */
255
- return ntohs(usnum);
256
- #pragma warning(pop)
257
- #endif
258
- }
259
-
260
- #endif /* __INTEL_COMPILER && __unix__ */
@@ -1,61 +0,0 @@
1
- #ifndef HEADER_CARES_NOWARN_H
2
- #define HEADER_CARES_NOWARN_H
3
-
4
-
5
- /* Copyright (C) 2010-2012 by Daniel Stenberg
6
- *
7
- * Permission to use, copy, modify, and distribute this
8
- * software and its documentation for any purpose and without
9
- * fee is hereby granted, provided that the above copyright
10
- * notice appear in all copies and that both that copyright
11
- * notice and this permission notice appear in supporting
12
- * documentation, and that the name of M.I.T. not be used in
13
- * advertising or publicity pertaining to distribution of the
14
- * software without specific, written prior permission.
15
- * M.I.T. makes no representations about the suitability of
16
- * this software for any purpose. It is provided "as is"
17
- * without express or implied warranty.
18
- */
19
-
20
- long aresx_uztosl(size_t uznum);
21
- int aresx_uztosi(size_t uznum);
22
- short aresx_uztoss(size_t uznum);
23
-
24
- short aresx_sitoss(int sinum);
25
-
26
- int aresx_sltosi(long slnum);
27
-
28
- int aresx_sztosi(ares_ssize_t sznum);
29
-
30
- unsigned int aresx_sztoui(ares_ssize_t sznum);
31
-
32
- unsigned short aresx_sitous(int sinum);
33
-
34
- #if defined(__INTEL_COMPILER) && defined(__unix__)
35
-
36
- int aresx_FD_ISSET(int fd, fd_set *fdset);
37
-
38
- void aresx_FD_SET(int fd, fd_set *fdset);
39
-
40
- void aresx_FD_ZERO(fd_set *fdset);
41
-
42
- unsigned short aresx_htons(unsigned short usnum);
43
-
44
- unsigned short aresx_ntohs(unsigned short usnum);
45
-
46
- #ifndef BUILDING_ARES_NOWARN_C
47
- # undef FD_ISSET
48
- # define FD_ISSET(a,b) aresx_FD_ISSET((a),(b))
49
- # undef FD_SET
50
- # define FD_SET(a,b) aresx_FD_SET((a),(b))
51
- # undef FD_ZERO
52
- # define FD_ZERO(a) aresx_FD_ZERO((a))
53
- # undef htons
54
- # define htons(a) aresx_htons((a))
55
- # undef ntohs
56
- # define ntohs(a) aresx_ntohs((a))
57
- #endif
58
-
59
- #endif /* __INTEL_COMPILER && __unix__ */
60
-
61
- #endif /* HEADER_CARES_NOWARN_H */