passenger 6.0.25 → 6.0.27

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 (884) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +33 -1
  3. data/CONTRIBUTING.md +2 -2
  4. data/build/agent.rb +0 -2
  5. data/build/basics.rb +2 -0
  6. data/build/common_library.rb +0 -6
  7. data/build/misc.rb +0 -2
  8. data/build/schema_printer.rb +0 -2
  9. data/build/support/cxx_dependency_map.rb +57 -254
  10. data/dev/copy_boost_headers +3 -14
  11. data/dev/index_cxx_dependencies.rb +1 -1
  12. data/doc/AiInstructions.md +112 -0
  13. data/doc/CxxMockingStrategy.md +42 -0
  14. data/doc/CxxTestingGuide.md +110 -0
  15. data/doc/DesignAspects/LimitedGemDependencies.md +22 -14
  16. data/doc/TempFileHandling.md +15 -0
  17. data/passenger.gemspec +1 -1
  18. data/resources/templates/standalone/server.erb +1 -0
  19. data/src/agent/Core/ApiServer.h +0 -1
  20. data/src/agent/Core/ApplicationPool/AbstractSession.h +10 -1
  21. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  22. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +33 -18
  23. data/src/agent/Core/ApplicationPool/Group.h +0 -1
  24. data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -3
  25. data/src/agent/Core/ApplicationPool/Session.h +14 -19
  26. data/src/agent/Core/ApplicationPool/Socket.h +15 -5
  27. data/src/agent/Core/ApplicationPool/TestSession.h +74 -15
  28. data/src/agent/Core/Config.h +2 -34
  29. data/src/agent/Core/ConfigChange.cpp +1 -41
  30. data/src/agent/Core/Controller/CheckoutSession.cpp +100 -14
  31. data/src/agent/Core/Controller/Client.h +0 -1
  32. data/src/agent/Core/Controller/Config.h +1 -1
  33. data/src/agent/Core/Controller/Hooks.cpp +13 -0
  34. data/src/agent/Core/Controller/InitRequest.cpp +2 -0
  35. data/src/agent/Core/Controller/InternalUtils.cpp +12 -0
  36. data/src/agent/Core/Controller/Request.h +3 -2
  37. data/src/agent/Core/Controller.h +12 -13
  38. data/src/agent/Core/CoreMain.cpp +1 -56
  39. data/src/agent/Core/OptionParser.h +1 -7
  40. data/src/agent/Core/SecurityUpdateChecker.h +0 -1
  41. data/src/agent/Watchdog/Config.h +2 -21
  42. data/src/agent/Watchdog/WatchdogMain.cpp +0 -2
  43. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +0 -20
  44. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +0 -60
  45. data/src/apache2_module/Hooks.cpp +0 -4
  46. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +0 -44
  47. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +0 -52
  48. data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
  49. data/src/cxx_supportlib/Algorithms/Hasher.h +4 -7
  50. data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -160
  51. data/src/cxx_supportlib/Constants.h +2 -1
  52. data/src/cxx_supportlib/DataStructures/StringMap.h +2 -3
  53. data/src/cxx_supportlib/FileTools/FileManip.h +2 -0
  54. data/src/cxx_supportlib/Hooks.h +0 -1
  55. data/src/cxx_supportlib/IOTools/IOUtils.cpp +49 -60
  56. data/src/cxx_supportlib/IOTools/IOUtils.h +65 -73
  57. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -0
  58. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +24 -24
  59. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +2 -2
  60. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +0 -2
  61. data/src/cxx_supportlib/Utils/FastStringStream.h +7 -7
  62. data/src/cxx_supportlib/Utils/IniFile.h +24 -25
  63. data/src/cxx_supportlib/Utils.h +0 -30
  64. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +4 -0
  65. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -0
  66. data/src/cxx_supportlib/oxt/implementation.cpp +41 -2
  67. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -0
  68. data/src/cxx_supportlib/oxt/system_calls.hpp +3 -4
  69. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +2 -2
  70. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +5 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
  72. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +1 -2
  73. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +23 -13
  74. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +72 -49
  75. data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +15 -11
  77. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +4 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +36 -9
  79. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +9 -2
  80. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +4 -0
  81. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +21 -17
  82. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +5 -0
  83. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +10 -6
  84. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -3
  85. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +21 -3
  86. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +5 -15
  87. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +73 -14
  88. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -2
  89. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +18 -29
  90. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +7 -7
  91. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +6 -10
  92. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +8 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +4 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +8 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -4
  96. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +1 -1
  97. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
  98. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +10 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +5 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +4 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +8 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +8 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +4 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +5 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +8 -0
  106. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +4 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +4 -0
  108. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +8 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
  110. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
  112. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +2 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +4 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +1 -20
  115. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +15 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +2 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +7 -7
  119. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +3 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +10 -4
  124. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +4 -49
  125. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +2 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +13 -4
  127. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +47 -46
  128. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +11 -11
  129. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +3 -3
  130. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +12 -252
  131. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +41 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +101 -592
  133. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -5
  134. data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +12 -24
  135. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +5 -5
  136. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +15 -15
  137. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +37 -44
  138. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +1 -23
  139. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +52 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +14 -18
  142. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +7 -15
  143. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +39 -90
  144. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +0 -16
  145. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +13 -14
  147. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +16 -17
  148. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +16 -55
  149. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +5 -14
  150. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_type_traits.hpp +55 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +1 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +5 -6
  153. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +7 -10
  154. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +32 -110
  155. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -18
  156. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +2 -6
  157. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +10 -9
  158. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +28 -565
  159. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +11 -17
  160. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +17 -21
  161. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +20 -22
  162. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +34 -68
  163. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +78 -356
  164. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +31 -89
  165. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +195 -12
  166. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +206 -17
  167. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +1202 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map_fwd.hpp +67 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +1065 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set_fwd.hpp +67 -0
  171. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +30 -8
  172. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +248 -47
  173. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +24 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +10 -2
  175. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +8 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +120 -5
  177. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_handle.hpp +56 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +15 -4
  179. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_handle.hpp +48 -0
  180. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +13 -4
  181. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +11 -10
  182. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/types_constructibility.hpp +172 -0
  183. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +0 -17
  185. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +0 -17
  186. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +11 -0
  187. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +9 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +9 -0
  189. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2 -2
  190. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +32 -44
  191. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +31 -35
  192. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_printers.hpp +414 -0
  193. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +2 -2
  194. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  195. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -32
  196. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
  197. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -48
  198. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  199. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
  200. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  201. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  202. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  203. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +0 -24
  204. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +0 -48
  205. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +0 -16
  206. data/src/nginx_module/ngx_http_passenger_module.c +0 -4
  207. data/src/ruby_native_extension/passenger_native_support.c +19 -3
  208. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +8 -24
  209. data/src/ruby_supportlib/phusion_passenger/common_library.rb +0 -3
  210. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  211. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -28
  212. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +9 -8
  213. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +2 -27
  214. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +0 -30
  215. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +8 -20
  216. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  217. data/src/schema_printer/SchemaPrinterMain.cpp +0 -4
  218. metadata +19 -670
  219. data/dev/websocketpp.patch +0 -39
  220. data/src/agent/Core/AdminPanelConnector.h +0 -680
  221. data/src/cxx_supportlib/DataStructures/HashMap.h +0 -60
  222. data/src/cxx_supportlib/FileTools/LargeFiles.cpp +0 -41
  223. data/src/cxx_supportlib/FileTools/LargeFiles.h +0 -43
  224. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +0 -975
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +0 -338
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +0 -824
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +0 -353
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +0 -67
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +0 -154
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +0 -216
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +0 -223
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +0 -237
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +0 -283
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +0 -37
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +0 -950
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +0 -144
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +0 -1364
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +0 -712
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +0 -826
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +0 -288
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +0 -691
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +0 -1358
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +0 -628
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +0 -825
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +0 -989
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +0 -650
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +0 -1938
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +0 -2710
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +0 -333
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +0 -644
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +0 -746
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +0 -1165
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +0 -452
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +0 -38
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +0 -826
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +0 -624
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +0 -598
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +0 -615
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +0 -666
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +0 -618
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +0 -2755
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +0 -320
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +0 -275
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +0 -27
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +0 -294
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +0 -27
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +0 -267
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +0 -27
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +0 -523
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +0 -303
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +0 -296
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +0 -247
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +0 -237
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +0 -159
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp +0 -1323
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +0 -525
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +0 -269
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +0 -130
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +0 -415
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +0 -1348
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +0 -85
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +0 -77
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +0 -330
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +0 -40
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +0 -91
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +0 -220
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +0 -721
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +0 -107
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +0 -32
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +0 -32
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +0 -32
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +0 -61
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +0 -166
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +0 -71
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +0 -713
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +0 -109
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +0 -68
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +0 -839
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +0 -128
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +0 -127
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +0 -47
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +0 -192
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +0 -90
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp +0 -129
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp +0 -222
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp +0 -81
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +0 -254
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +0 -94
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +0 -122
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +0 -151
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +0 -1413
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +0 -445
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +0 -29
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +0 -42
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +0 -34
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +0 -341
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +0 -38
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +0 -181
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +0 -190
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +0 -189
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +0 -249
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +0 -297
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +0 -48
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +0 -85
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +0 -31
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +0 -154
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +0 -86
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +0 -41
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +0 -42
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +0 -35
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +0 -32
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +0 -52
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +0 -123
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +0 -45
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +0 -268
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +0 -555
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +0 -513
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +0 -333
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +0 -120
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +0 -996
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +0 -113
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +0 -471
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +0 -111
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +0 -828
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +0 -173
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +0 -400
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +0 -207
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +0 -142
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +0 -114
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +0 -916
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +0 -251
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +0 -115
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +0 -610
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +0 -76
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +0 -131
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +0 -65
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +0 -48
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +0 -170
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +0 -86
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +0 -48
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +0 -234
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +0 -314
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +0 -160
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +0 -677
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +0 -126
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +0 -402
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +0 -95
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +0 -199
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +0 -828
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +0 -4046
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +0 -187
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +0 -348
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +0 -160
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +0 -88
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +0 -204
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +0 -37
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +0 -51
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +0 -99
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +0 -103
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +0 -209
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +0 -195
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +0 -209
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +0 -64
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +0 -86
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +0 -179
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -197
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +0 -192
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +0 -689
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -191
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +0 -187
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +0 -263
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +0 -116
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +0 -86
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +0 -321
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +0 -282
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +0 -142
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +0 -207
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -208
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -194
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +0 -193
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +0 -196
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +0 -631
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +0 -665
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +0 -114
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +0 -298
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +0 -128
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +0 -72
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +0 -273
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +0 -21
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +0 -61
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -128
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +0 -48
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +0 -45
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +0 -45
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +0 -108
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +0 -49
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +0 -61
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +0 -62
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +0 -85
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +0 -71
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +0 -521
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +0 -62
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +0 -69
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +0 -70
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +0 -173
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +0 -164
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +0 -40
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +0 -91
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +0 -157
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +0 -177
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +0 -120
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +0 -82
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +0 -78
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +0 -251
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +0 -87
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +0 -66
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +0 -111
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +0 -81
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +0 -228
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +0 -572
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +0 -133
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +0 -325
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +0 -164
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +0 -199
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +0 -205
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +0 -186
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -202
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +0 -196
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +0 -635
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +0 -757
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +0 -133
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +0 -56
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +0 -73
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +0 -214
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +0 -116
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +0 -35
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +0 -142
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +0 -47
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +0 -152
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +0 -149
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +0 -160
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +0 -243
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +0 -80
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +0 -51
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +0 -42
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +0 -103
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +0 -89
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +0 -48
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +0 -293
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +0 -165
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +0 -46
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +0 -92
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +0 -49
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +0 -55
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +0 -294
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +0 -100
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +0 -377
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +0 -318
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +0 -93
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +0 -429
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +0 -47
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +0 -52
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +0 -185
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +0 -59
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +0 -67
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +0 -70
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +0 -78
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +0 -68
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +0 -175
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +0 -146
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +0 -49
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +0 -60
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +0 -53
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +0 -101
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +0 -262
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +0 -64
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +0 -57
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +0 -363
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +0 -391
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +0 -70
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +0 -105
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +0 -68
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +0 -37
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +0 -44
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +0 -71
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +0 -180
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +0 -85
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +0 -92
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +0 -51
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +0 -130
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +0 -145
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +0 -197
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +0 -199
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +0 -390
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +0 -280
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +0 -1935
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +0 -48
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +0 -1362
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +0 -1082
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +0 -193
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +0 -192
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +0 -118
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +0 -42
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +0 -45
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +0 -1004
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +0 -186
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +0 -755
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +0 -330
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +0 -753
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +0 -33
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +0 -390
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +0 -365
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +0 -364
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +0 -38
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +0 -134
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +0 -38
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +0 -538
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +0 -516
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +0 -516
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +0 -154
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +0 -72
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +0 -88
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +0 -303
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +0 -35
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -189
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +0 -72
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +0 -295
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +0 -230
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +0 -38
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +0 -363
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +0 -128
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +0 -202
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -149
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +0 -681
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +0 -171
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +0 -142
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +0 -56
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +0 -625
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +0 -199
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +0 -183
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +0 -63
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +0 -1224
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +0 -790
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +0 -257
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +0 -216
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +0 -68
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +0 -457
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +0 -38
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +0 -226
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +0 -191
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +0 -113
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +0 -168
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +0 -191
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +0 -125
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +0 -135
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +0 -112
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +0 -123
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +0 -124
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +0 -129
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +0 -56
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +0 -41
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +0 -144
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +0 -128
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +0 -136
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +0 -171
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +0 -278
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +0 -1198
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +0 -406
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +0 -386
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +0 -270
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +0 -270
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +0 -98
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +0 -459
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +0 -705
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +0 -75
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +0 -151
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +0 -146
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +0 -149
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +0 -79
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +0 -130
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +0 -79
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +0 -84
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +0 -319
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +0 -45
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +0 -435
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +0 -178
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +0 -47
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +0 -172
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +0 -904
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +0 -564
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +0 -2670
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +0 -289
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +0 -61
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +0 -556
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +0 -1402
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +0 -93
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +0 -36
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +0 -94
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +0 -181
  620. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +0 -279
  621. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +0 -144
  622. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +0 -303
  623. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -709
  624. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +0 -782
  625. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +0 -482
  626. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -1507
  627. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +0 -398
  628. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +0 -35
  629. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +0 -20
  630. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +0 -283
  631. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +0 -423
  632. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +0 -158
  633. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +0 -130
  634. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +0 -409
  635. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +0 -180
  636. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +0 -126
  637. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +0 -65
  638. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +0 -284
  639. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +0 -1114
  640. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +0 -115
  641. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +0 -190
  642. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +0 -262
  643. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +0 -309
  644. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +0 -143
  645. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +0 -197
  646. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +0 -568
  647. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +0 -44
  648. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +0 -117
  649. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +0 -69
  650. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +0 -237
  651. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +0 -69
  652. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +0 -208
  653. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +0 -69
  654. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +0 -344
  655. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +0 -45
  656. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +0 -56
  657. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +0 -56
  658. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +0 -220
  659. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +0 -55
  660. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +0 -189
  661. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +0 -193
  662. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +0 -259
  663. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +0 -233
  664. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +0 -131
  665. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +0 -45
  666. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +0 -157
  667. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +0 -113
  668. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +0 -72
  669. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +0 -71
  670. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +0 -63
  671. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +0 -47
  672. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +0 -48
  673. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +0 -61
  674. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +0 -61
  675. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +0 -245
  676. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +0 -103
  677. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +0 -82
  678. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +0 -141
  679. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +0 -133
  680. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +0 -86
  681. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +0 -92
  682. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +0 -54
  683. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +0 -68
  684. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +0 -83
  685. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +0 -775
  686. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +0 -561
  687. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +0 -39
  688. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +0 -92
  689. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +0 -39
  690. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +0 -215
  691. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +0 -581
  692. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +0 -68
  693. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +0 -315
  694. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +0 -37
  695. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +0 -1549
  696. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +0 -830
  697. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +0 -3204
  698. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +0 -37
  699. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +0 -140
  700. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +0 -106
  701. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +0 -346
  702. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +0 -437
  703. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +0 -347
  704. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +0 -38
  705. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +0 -169
  706. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +0 -30
  707. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +0 -173
  708. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +0 -561
  709. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -873
  710. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +0 -764
  711. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +0 -211
  712. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +0 -121
  713. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +0 -171
  714. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +0 -69
  715. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +0 -379
  716. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +0 -171
  717. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +0 -378
  718. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +0 -103
  719. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +0 -34
  720. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +0 -68
  721. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +0 -74
  722. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +0 -71
  723. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +0 -219
  724. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +0 -64
  725. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +0 -78
  726. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +0 -129
  727. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +0 -92
  728. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +0 -69
  729. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +0 -1324
  730. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +0 -126
  731. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +0 -75
  732. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +0 -166
  733. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +0 -29
  734. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +0 -100
  735. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +0 -1044
  736. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +0 -54
  737. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +0 -69
  738. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +0 -65
  739. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +0 -28
  740. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +0 -33
  741. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +0 -39
  742. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +0 -559
  743. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +0 -37
  744. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +0 -35
  745. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +0 -92
  746. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -673
  747. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +0 -39
  748. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +0 -269
  749. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +0 -965
  750. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +0 -88
  751. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +0 -102
  752. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +0 -106
  753. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +0 -106
  754. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +0 -106
  755. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +0 -106
  756. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +0 -106
  757. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +0 -103
  758. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +0 -106
  759. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +0 -106
  760. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +0 -106
  761. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +0 -106
  762. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +0 -104
  763. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +0 -117
  764. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +0 -118
  765. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +0 -24
  766. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +0 -35
  767. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +0 -40
  768. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +0 -20
  769. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +0 -26
  770. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +0 -238
  771. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +0 -27
  772. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +0 -26
  773. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +0 -21
  774. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +0 -163
  775. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +0 -161
  776. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +0 -69
  777. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +0 -23
  778. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +0 -58
  779. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +0 -37
  780. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +0 -1528
  781. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +0 -843
  782. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +0 -23
  783. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +0 -195
  784. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +0 -1059
  785. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +0 -64
  786. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
  787. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +0 -52
  788. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
  789. data/src/cxx_supportlib/vendor-modified/websocketpp/COPYING +0 -145
  790. data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +0 -444
  791. data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +0 -49
  792. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/base64/base64.hpp +0 -178
  793. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/client.hpp +0 -33
  794. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +0 -353
  795. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +0 -141
  796. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio_ssl.hpp +0 -39
  797. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/chrono.hpp +0 -68
  798. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/connection_hdl.hpp +0 -52
  799. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/cpp11.hpp +0 -162
  800. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +0 -100
  801. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +0 -448
  802. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +0 -88
  803. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/network.hpp +0 -106
  804. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/platforms.hpp +0 -46
  805. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/random.hpp +0 -82
  806. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/regex.hpp +0 -59
  807. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/stdint.hpp +0 -73
  808. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/system_error.hpp +0 -84
  809. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +0 -88
  810. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/time.hpp +0 -56
  811. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/type_traits.hpp +0 -65
  812. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/basic.hpp +0 -46
  813. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/none.hpp +0 -80
  814. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio.hpp +0 -77
  815. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_client.hpp +0 -77
  816. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -73
  817. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -73
  818. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/boost_config.hpp +0 -72
  819. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +0 -297
  820. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core_client.hpp +0 -294
  821. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug.hpp +0 -286
  822. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio.hpp +0 -77
  823. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -73
  824. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_client.hpp +0 -72
  825. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_server.hpp +0 -312
  826. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +0 -1642
  827. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection_base.hpp +0 -38
  828. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +0 -700
  829. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint_base.hpp +0 -38
  830. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/error.hpp +0 -277
  831. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/extension.hpp +0 -102
  832. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -129
  833. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -817
  834. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -853
  835. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/constants.hpp +0 -308
  836. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +0 -200
  837. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/request.hpp +0 -191
  838. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/response.hpp +0 -266
  839. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +0 -629
  840. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/request.hpp +0 -124
  841. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/response.hpp +0 -188
  842. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2375
  843. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
  844. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -87
  845. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/basic.hpp +0 -199
  846. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/levels.hpp +0 -203
  847. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/stub.hpp +0 -119
  848. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/syslog.hpp +0 -146
  849. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -105
  850. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/message.hpp +0 -340
  851. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/pool.hpp +0 -229
  852. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +0 -299
  853. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi00.hpp +0 -462
  854. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi07.hpp +0 -78
  855. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi08.hpp +0 -83
  856. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +0 -1072
  857. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/processor.hpp +0 -407
  858. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/none.hpp +0 -60
  859. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/random_device.hpp +0 -80
  860. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
  861. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -195
  862. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/server.hpp +0 -33
  863. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
  864. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/base.hpp +0 -232
  865. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1197
  866. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1182
  867. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -159
  868. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -372
  869. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -474
  870. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/connection.hpp +0 -238
  871. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
  872. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/base.hpp +0 -104
  873. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
  874. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
  875. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/base.hpp +0 -133
  876. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
  877. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
  878. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/base.hpp +0 -95
  879. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
  880. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -140
  881. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +0 -356
  882. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utf8_validator.hpp +0 -154
  883. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +0 -180
  884. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +0 -61
@@ -1,1324 +0,0 @@
1
- //
2
- // ssl/impl/context.ipp
3
- // ~~~~~~~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
6
- // Copyright (c) 2005-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
7
- //
8
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
9
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
- //
11
-
12
- #ifndef BOOST_ASIO_SSL_IMPL_CONTEXT_IPP
13
- #define BOOST_ASIO_SSL_IMPL_CONTEXT_IPP
14
-
15
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
16
- # pragma once
17
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
18
-
19
- #include <boost/asio/detail/config.hpp>
20
-
21
- #include <cstring>
22
- #include <boost/asio/detail/throw_error.hpp>
23
- #include <boost/asio/error.hpp>
24
- #include <boost/asio/ssl/context.hpp>
25
- #include <boost/asio/ssl/error.hpp>
26
-
27
- #include <boost/asio/detail/push_options.hpp>
28
-
29
- namespace boost {
30
- namespace asio {
31
- namespace ssl {
32
-
33
- struct context::bio_cleanup
34
- {
35
- BIO* p;
36
- ~bio_cleanup() { if (p) ::BIO_free(p); }
37
- };
38
-
39
- struct context::x509_cleanup
40
- {
41
- X509* p;
42
- ~x509_cleanup() { if (p) ::X509_free(p); }
43
- };
44
-
45
- struct context::evp_pkey_cleanup
46
- {
47
- EVP_PKEY* p;
48
- ~evp_pkey_cleanup() { if (p) ::EVP_PKEY_free(p); }
49
- };
50
-
51
- #if (OPENSSL_VERSION_NUMBER < 0x30000000L)
52
- struct context::rsa_cleanup
53
- {
54
- RSA* p;
55
- ~rsa_cleanup() { if (p) ::RSA_free(p); }
56
- };
57
-
58
- struct context::dh_cleanup
59
- {
60
- DH* p;
61
- ~dh_cleanup() { if (p) ::DH_free(p); }
62
- };
63
- #endif // (OPENSSL_VERSION_NUMBER < 0x30000000L)
64
-
65
- context::context(context::method m)
66
- : handle_(0)
67
- {
68
- ::ERR_clear_error();
69
-
70
- switch (m)
71
- {
72
- // SSL v2.
73
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2)
74
- case context::sslv2:
75
- case context::sslv2_client:
76
- case context::sslv2_server:
77
- boost::asio::detail::throw_error(
78
- boost::asio::error::invalid_argument, "context");
79
- break;
80
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2)
81
- case context::sslv2:
82
- handle_ = ::SSL_CTX_new(::SSLv2_method());
83
- break;
84
- case context::sslv2_client:
85
- handle_ = ::SSL_CTX_new(::SSLv2_client_method());
86
- break;
87
- case context::sslv2_server:
88
- handle_ = ::SSL_CTX_new(::SSLv2_server_method());
89
- break;
90
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2)
91
-
92
- // SSL v3.
93
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
94
- case context::sslv3:
95
- handle_ = ::SSL_CTX_new(::TLS_method());
96
- if (handle_)
97
- {
98
- SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION);
99
- SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION);
100
- }
101
- break;
102
- case context::sslv3_client:
103
- handle_ = ::SSL_CTX_new(::TLS_client_method());
104
- if (handle_)
105
- {
106
- SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION);
107
- SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION);
108
- }
109
- break;
110
- case context::sslv3_server:
111
- handle_ = ::SSL_CTX_new(::TLS_server_method());
112
- if (handle_)
113
- {
114
- SSL_CTX_set_min_proto_version(handle_, SSL3_VERSION);
115
- SSL_CTX_set_max_proto_version(handle_, SSL3_VERSION);
116
- }
117
- break;
118
- #elif defined(OPENSSL_NO_SSL3)
119
- case context::sslv3:
120
- case context::sslv3_client:
121
- case context::sslv3_server:
122
- boost::asio::detail::throw_error(
123
- boost::asio::error::invalid_argument, "context");
124
- break;
125
- #else // defined(OPENSSL_NO_SSL3)
126
- case context::sslv3:
127
- handle_ = ::SSL_CTX_new(::SSLv3_method());
128
- break;
129
- case context::sslv3_client:
130
- handle_ = ::SSL_CTX_new(::SSLv3_client_method());
131
- break;
132
- case context::sslv3_server:
133
- handle_ = ::SSL_CTX_new(::SSLv3_server_method());
134
- break;
135
- #endif // defined(OPENSSL_NO_SSL3)
136
-
137
- // TLS v1.0.
138
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
139
- case context::tlsv1:
140
- handle_ = ::SSL_CTX_new(::TLS_method());
141
- if (handle_)
142
- {
143
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
144
- SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION);
145
- }
146
- break;
147
- case context::tlsv1_client:
148
- handle_ = ::SSL_CTX_new(::TLS_client_method());
149
- if (handle_)
150
- {
151
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
152
- SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION);
153
- }
154
- break;
155
- case context::tlsv1_server:
156
- handle_ = ::SSL_CTX_new(::TLS_server_method());
157
- if (handle_)
158
- {
159
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
160
- SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION);
161
- }
162
- break;
163
- #elif defined(SSL_TXT_TLSV1)
164
- case context::tlsv1:
165
- handle_ = ::SSL_CTX_new(::TLSv1_method());
166
- break;
167
- case context::tlsv1_client:
168
- handle_ = ::SSL_CTX_new(::TLSv1_client_method());
169
- break;
170
- case context::tlsv1_server:
171
- handle_ = ::SSL_CTX_new(::TLSv1_server_method());
172
- break;
173
- #else // defined(SSL_TXT_TLSV1)
174
- case context::tlsv1:
175
- case context::tlsv1_client:
176
- case context::tlsv1_server:
177
- boost::asio::detail::throw_error(
178
- boost::asio::error::invalid_argument, "context");
179
- break;
180
- #endif // defined(SSL_TXT_TLSV1)
181
-
182
- // TLS v1.1.
183
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
184
- case context::tlsv11:
185
- handle_ = ::SSL_CTX_new(::TLS_method());
186
- if (handle_)
187
- {
188
- SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION);
189
- SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION);
190
- }
191
- break;
192
- case context::tlsv11_client:
193
- handle_ = ::SSL_CTX_new(::TLS_client_method());
194
- if (handle_)
195
- {
196
- SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION);
197
- SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION);
198
- }
199
- break;
200
- case context::tlsv11_server:
201
- handle_ = ::SSL_CTX_new(::TLS_server_method());
202
- if (handle_)
203
- {
204
- SSL_CTX_set_min_proto_version(handle_, TLS1_1_VERSION);
205
- SSL_CTX_set_max_proto_version(handle_, TLS1_1_VERSION);
206
- }
207
- break;
208
- #elif defined(SSL_TXT_TLSV1_1)
209
- case context::tlsv11:
210
- handle_ = ::SSL_CTX_new(::TLSv1_1_method());
211
- break;
212
- case context::tlsv11_client:
213
- handle_ = ::SSL_CTX_new(::TLSv1_1_client_method());
214
- break;
215
- case context::tlsv11_server:
216
- handle_ = ::SSL_CTX_new(::TLSv1_1_server_method());
217
- break;
218
- #else // defined(SSL_TXT_TLSV1_1)
219
- case context::tlsv11:
220
- case context::tlsv11_client:
221
- case context::tlsv11_server:
222
- boost::asio::detail::throw_error(
223
- boost::asio::error::invalid_argument, "context");
224
- break;
225
- #endif // defined(SSL_TXT_TLSV1_1)
226
-
227
- // TLS v1.2.
228
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
229
- case context::tlsv12:
230
- handle_ = ::SSL_CTX_new(::TLS_method());
231
- if (handle_)
232
- {
233
- SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION);
234
- SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION);
235
- }
236
- break;
237
- case context::tlsv12_client:
238
- handle_ = ::SSL_CTX_new(::TLS_client_method());
239
- if (handle_)
240
- {
241
- SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION);
242
- SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION);
243
- }
244
- break;
245
- case context::tlsv12_server:
246
- handle_ = ::SSL_CTX_new(::TLS_server_method());
247
- if (handle_)
248
- {
249
- SSL_CTX_set_min_proto_version(handle_, TLS1_2_VERSION);
250
- SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION);
251
- }
252
- break;
253
- #elif defined(SSL_TXT_TLSV1_2)
254
- case context::tlsv12:
255
- handle_ = ::SSL_CTX_new(::TLSv1_2_method());
256
- break;
257
- case context::tlsv12_client:
258
- handle_ = ::SSL_CTX_new(::TLSv1_2_client_method());
259
- break;
260
- case context::tlsv12_server:
261
- handle_ = ::SSL_CTX_new(::TLSv1_2_server_method());
262
- break;
263
- #else // defined(SSL_TXT_TLSV1_2)
264
- case context::tlsv12:
265
- case context::tlsv12_client:
266
- case context::tlsv12_server:
267
- boost::asio::detail::throw_error(
268
- boost::asio::error::invalid_argument, "context");
269
- break;
270
- #endif // defined(SSL_TXT_TLSV1_2)
271
-
272
- // TLS v1.3.
273
- #if ((OPENSSL_VERSION_NUMBER >= 0x10101000L) \
274
- && !defined(LIBRESSL_VERSION_NUMBER)) \
275
- || defined(BOOST_ASIO_USE_WOLFSSL)
276
- case context::tlsv13:
277
- handle_ = ::SSL_CTX_new(::TLS_method());
278
- if (handle_)
279
- {
280
- SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
281
- SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
282
- }
283
- break;
284
- case context::tlsv13_client:
285
- handle_ = ::SSL_CTX_new(::TLS_client_method());
286
- if (handle_)
287
- {
288
- SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
289
- SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
290
- }
291
- break;
292
- case context::tlsv13_server:
293
- handle_ = ::SSL_CTX_new(::TLS_server_method());
294
- if (handle_)
295
- {
296
- SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
297
- SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
298
- }
299
- break;
300
- #else // ((OPENSSL_VERSION_NUMBER >= 0x10101000L)
301
- // && !defined(LIBRESSL_VERSION_NUMBER))
302
- // || defined(BOOST_ASIO_USE_WOLFSSL)
303
- case context::tlsv13:
304
- case context::tlsv13_client:
305
- case context::tlsv13_server:
306
- boost::asio::detail::throw_error(
307
- boost::asio::error::invalid_argument, "context");
308
- break;
309
- #endif // ((OPENSSL_VERSION_NUMBER >= 0x10101000L)
310
- // && !defined(LIBRESSL_VERSION_NUMBER))
311
- // || defined(BOOST_ASIO_USE_WOLFSSL)
312
-
313
- // Any supported SSL/TLS version.
314
- case context::sslv23:
315
- handle_ = ::SSL_CTX_new(::SSLv23_method());
316
- break;
317
- case context::sslv23_client:
318
- handle_ = ::SSL_CTX_new(::SSLv23_client_method());
319
- break;
320
- case context::sslv23_server:
321
- handle_ = ::SSL_CTX_new(::SSLv23_server_method());
322
- break;
323
-
324
- // Any supported TLS version.
325
- #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
326
- case context::tls:
327
- handle_ = ::SSL_CTX_new(::TLS_method());
328
- if (handle_)
329
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
330
- break;
331
- case context::tls_client:
332
- handle_ = ::SSL_CTX_new(::TLS_client_method());
333
- if (handle_)
334
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
335
- break;
336
- case context::tls_server:
337
- handle_ = ::SSL_CTX_new(::TLS_server_method());
338
- if (handle_)
339
- SSL_CTX_set_min_proto_version(handle_, TLS1_VERSION);
340
- break;
341
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
342
- case context::tls:
343
- handle_ = ::SSL_CTX_new(::SSLv23_method());
344
- if (handle_)
345
- SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
346
- break;
347
- case context::tls_client:
348
- handle_ = ::SSL_CTX_new(::SSLv23_client_method());
349
- if (handle_)
350
- SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
351
- break;
352
- case context::tls_server:
353
- handle_ = ::SSL_CTX_new(::SSLv23_server_method());
354
- if (handle_)
355
- SSL_CTX_set_options(handle_, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
356
- break;
357
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
358
-
359
- default:
360
- handle_ = ::SSL_CTX_new(0);
361
- break;
362
- }
363
-
364
- if (handle_ == 0)
365
- {
366
- boost::system::error_code ec = translate_error(::ERR_get_error());
367
- boost::asio::detail::throw_error(ec, "context");
368
- }
369
-
370
- set_options(no_compression);
371
- }
372
-
373
- context::context(context::native_handle_type native_handle)
374
- : handle_(native_handle)
375
- {
376
- if (!handle_)
377
- {
378
- boost::asio::detail::throw_error(
379
- boost::asio::error::invalid_argument, "context");
380
- }
381
- }
382
-
383
- context::context(context&& other)
384
- {
385
- handle_ = other.handle_;
386
- other.handle_ = 0;
387
- }
388
-
389
- context& context::operator=(context&& other)
390
- {
391
- context tmp(static_cast<context&&>(*this));
392
- handle_ = other.handle_;
393
- other.handle_ = 0;
394
- return *this;
395
- }
396
-
397
- context::~context()
398
- {
399
- if (handle_)
400
- {
401
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
402
- && (!defined(LIBRESSL_VERSION_NUMBER) \
403
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
404
- || defined(BOOST_ASIO_USE_WOLFSSL)
405
- void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
406
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
407
- void* cb_userdata = handle_->default_passwd_callback_userdata;
408
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
409
- if (cb_userdata)
410
- {
411
- detail::password_callback_base* callback =
412
- static_cast<detail::password_callback_base*>(
413
- cb_userdata);
414
- delete callback;
415
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
416
- && (!defined(LIBRESSL_VERSION_NUMBER) \
417
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
418
- || defined(BOOST_ASIO_USE_WOLFSSL)
419
- ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
420
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
421
- handle_->default_passwd_callback_userdata = 0;
422
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
423
- }
424
-
425
- if (SSL_CTX_get_app_data(handle_))
426
- {
427
- detail::verify_callback_base* callback =
428
- static_cast<detail::verify_callback_base*>(
429
- SSL_CTX_get_app_data(handle_));
430
- delete callback;
431
- SSL_CTX_set_app_data(handle_, 0);
432
- }
433
-
434
- ::SSL_CTX_free(handle_);
435
- }
436
- }
437
-
438
- context::native_handle_type context::native_handle()
439
- {
440
- return handle_;
441
- }
442
-
443
- void context::clear_options(context::options o)
444
- {
445
- boost::system::error_code ec;
446
- clear_options(o, ec);
447
- boost::asio::detail::throw_error(ec, "clear_options");
448
- }
449
-
450
- BOOST_ASIO_SYNC_OP_VOID context::clear_options(
451
- context::options o, boost::system::error_code& ec)
452
- {
453
- #if (OPENSSL_VERSION_NUMBER >= 0x009080DFL) \
454
- && (OPENSSL_VERSION_NUMBER != 0x00909000L)
455
- # if !defined(SSL_OP_NO_COMPRESSION)
456
- if ((o & context::no_compression) != 0)
457
- {
458
- # if (OPENSSL_VERSION_NUMBER >= 0x00908000L)
459
- handle_->comp_methods = SSL_COMP_get_compression_methods();
460
- # endif // (OPENSSL_VERSION_NUMBER >= 0x00908000L)
461
- o ^= context::no_compression;
462
- }
463
- # endif // !defined(SSL_OP_NO_COMPRESSION)
464
-
465
- ::SSL_CTX_clear_options(handle_, o);
466
-
467
- ec = boost::system::error_code();
468
- #else // (OPENSSL_VERSION_NUMBER >= 0x009080DFL)
469
- // && (OPENSSL_VERSION_NUMBER != 0x00909000L)
470
- (void)o;
471
- ec = boost::asio::error::operation_not_supported;
472
- #endif // (OPENSSL_VERSION_NUMBER >= 0x009080DFL)
473
- // && (OPENSSL_VERSION_NUMBER != 0x00909000L)
474
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
475
- }
476
-
477
- void context::set_options(context::options o)
478
- {
479
- boost::system::error_code ec;
480
- set_options(o, ec);
481
- boost::asio::detail::throw_error(ec, "set_options");
482
- }
483
-
484
- BOOST_ASIO_SYNC_OP_VOID context::set_options(
485
- context::options o, boost::system::error_code& ec)
486
- {
487
- #if !defined(SSL_OP_NO_COMPRESSION)
488
- if ((o & context::no_compression) != 0)
489
- {
490
- #if (OPENSSL_VERSION_NUMBER >= 0x00908000L)
491
- handle_->comp_methods =
492
- boost::asio::ssl::detail::openssl_init<>::get_null_compression_methods();
493
- #endif // (OPENSSL_VERSION_NUMBER >= 0x00908000L)
494
- o ^= context::no_compression;
495
- }
496
- #endif // !defined(SSL_OP_NO_COMPRESSION)
497
-
498
- ::SSL_CTX_set_options(handle_, o);
499
-
500
- ec = boost::system::error_code();
501
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
502
- }
503
-
504
- void context::set_verify_mode(verify_mode v)
505
- {
506
- boost::system::error_code ec;
507
- set_verify_mode(v, ec);
508
- boost::asio::detail::throw_error(ec, "set_verify_mode");
509
- }
510
-
511
- BOOST_ASIO_SYNC_OP_VOID context::set_verify_mode(
512
- verify_mode v, boost::system::error_code& ec)
513
- {
514
- ::SSL_CTX_set_verify(handle_, v, ::SSL_CTX_get_verify_callback(handle_));
515
-
516
- ec = boost::system::error_code();
517
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
518
- }
519
-
520
- void context::set_verify_depth(int depth)
521
- {
522
- boost::system::error_code ec;
523
- set_verify_depth(depth, ec);
524
- boost::asio::detail::throw_error(ec, "set_verify_depth");
525
- }
526
-
527
- BOOST_ASIO_SYNC_OP_VOID context::set_verify_depth(
528
- int depth, boost::system::error_code& ec)
529
- {
530
- ::SSL_CTX_set_verify_depth(handle_, depth);
531
-
532
- ec = boost::system::error_code();
533
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
534
- }
535
-
536
- void context::load_verify_file(const std::string& filename)
537
- {
538
- boost::system::error_code ec;
539
- load_verify_file(filename, ec);
540
- boost::asio::detail::throw_error(ec, "load_verify_file");
541
- }
542
-
543
- BOOST_ASIO_SYNC_OP_VOID context::load_verify_file(
544
- const std::string& filename, boost::system::error_code& ec)
545
- {
546
- ::ERR_clear_error();
547
-
548
- if (::SSL_CTX_load_verify_locations(handle_, filename.c_str(), 0) != 1)
549
- {
550
- ec = translate_error(::ERR_get_error());
551
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
552
- }
553
-
554
- ec = boost::system::error_code();
555
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
556
- }
557
-
558
- void context::add_certificate_authority(const const_buffer& ca)
559
- {
560
- boost::system::error_code ec;
561
- add_certificate_authority(ca, ec);
562
- boost::asio::detail::throw_error(ec, "add_certificate_authority");
563
- }
564
-
565
- BOOST_ASIO_SYNC_OP_VOID context::add_certificate_authority(
566
- const const_buffer& ca, boost::system::error_code& ec)
567
- {
568
- ::ERR_clear_error();
569
-
570
- bio_cleanup bio = { make_buffer_bio(ca) };
571
- if (bio.p)
572
- {
573
- if (X509_STORE* store = ::SSL_CTX_get_cert_store(handle_))
574
- {
575
- for (bool added = false;; added = true)
576
- {
577
- x509_cleanup cert = { ::PEM_read_bio_X509(bio.p, 0, 0, 0) };
578
- if (!cert.p)
579
- {
580
- unsigned long err = ::ERR_get_error();
581
- if (added && ERR_GET_LIB(err) == ERR_LIB_PEM
582
- && ERR_GET_REASON(err) == PEM_R_NO_START_LINE)
583
- break;
584
-
585
- ec = translate_error(err);
586
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
587
- }
588
-
589
- if (::X509_STORE_add_cert(store, cert.p) != 1)
590
- {
591
- ec = translate_error(::ERR_get_error());
592
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
593
- }
594
- }
595
- }
596
- }
597
-
598
- ec = boost::system::error_code();
599
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
600
- }
601
-
602
- void context::set_default_verify_paths()
603
- {
604
- boost::system::error_code ec;
605
- set_default_verify_paths(ec);
606
- boost::asio::detail::throw_error(ec, "set_default_verify_paths");
607
- }
608
-
609
- BOOST_ASIO_SYNC_OP_VOID context::set_default_verify_paths(
610
- boost::system::error_code& ec)
611
- {
612
- ::ERR_clear_error();
613
-
614
- if (::SSL_CTX_set_default_verify_paths(handle_) != 1)
615
- {
616
- ec = translate_error(::ERR_get_error());
617
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
618
- }
619
-
620
- ec = boost::system::error_code();
621
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
622
- }
623
-
624
- void context::add_verify_path(const std::string& path)
625
- {
626
- boost::system::error_code ec;
627
- add_verify_path(path, ec);
628
- boost::asio::detail::throw_error(ec, "add_verify_path");
629
- }
630
-
631
- BOOST_ASIO_SYNC_OP_VOID context::add_verify_path(
632
- const std::string& path, boost::system::error_code& ec)
633
- {
634
- ::ERR_clear_error();
635
-
636
- if (::SSL_CTX_load_verify_locations(handle_, 0, path.c_str()) != 1)
637
- {
638
- ec = translate_error(::ERR_get_error());
639
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
640
- }
641
-
642
- ec = boost::system::error_code();
643
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
644
- }
645
-
646
- void context::use_certificate(
647
- const const_buffer& certificate, file_format format)
648
- {
649
- boost::system::error_code ec;
650
- use_certificate(certificate, format, ec);
651
- boost::asio::detail::throw_error(ec, "use_certificate");
652
- }
653
-
654
- BOOST_ASIO_SYNC_OP_VOID context::use_certificate(
655
- const const_buffer& certificate, file_format format,
656
- boost::system::error_code& ec)
657
- {
658
- ::ERR_clear_error();
659
-
660
- if (format == context_base::asn1)
661
- {
662
- if (::SSL_CTX_use_certificate_ASN1(handle_,
663
- static_cast<int>(certificate.size()),
664
- static_cast<const unsigned char*>(certificate.data())) == 1)
665
- {
666
- ec = boost::system::error_code();
667
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
668
- }
669
- }
670
- else if (format == context_base::pem)
671
- {
672
- bio_cleanup bio = { make_buffer_bio(certificate) };
673
- if (bio.p)
674
- {
675
- x509_cleanup cert = { ::PEM_read_bio_X509(bio.p, 0, 0, 0) };
676
- if (cert.p)
677
- {
678
- if (::SSL_CTX_use_certificate(handle_, cert.p) == 1)
679
- {
680
- ec = boost::system::error_code();
681
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
682
- }
683
- }
684
- }
685
- }
686
- else
687
- {
688
- ec = boost::asio::error::invalid_argument;
689
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
690
- }
691
-
692
- ec = translate_error(::ERR_get_error());
693
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
694
- }
695
-
696
- void context::use_certificate_file(
697
- const std::string& filename, file_format format)
698
- {
699
- boost::system::error_code ec;
700
- use_certificate_file(filename, format, ec);
701
- boost::asio::detail::throw_error(ec, "use_certificate_file");
702
- }
703
-
704
- BOOST_ASIO_SYNC_OP_VOID context::use_certificate_file(
705
- const std::string& filename, file_format format,
706
- boost::system::error_code& ec)
707
- {
708
- int file_type;
709
- switch (format)
710
- {
711
- case context_base::asn1:
712
- file_type = SSL_FILETYPE_ASN1;
713
- break;
714
- case context_base::pem:
715
- file_type = SSL_FILETYPE_PEM;
716
- break;
717
- default:
718
- {
719
- ec = boost::asio::error::invalid_argument;
720
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
721
- }
722
- }
723
-
724
- ::ERR_clear_error();
725
-
726
- if (::SSL_CTX_use_certificate_file(handle_, filename.c_str(), file_type) != 1)
727
- {
728
- ec = translate_error(::ERR_get_error());
729
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
730
- }
731
-
732
- ec = boost::system::error_code();
733
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
734
- }
735
-
736
- void context::use_certificate_chain(const const_buffer& chain)
737
- {
738
- boost::system::error_code ec;
739
- use_certificate_chain(chain, ec);
740
- boost::asio::detail::throw_error(ec, "use_certificate_chain");
741
- }
742
-
743
- BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain(
744
- const const_buffer& chain, boost::system::error_code& ec)
745
- {
746
- ::ERR_clear_error();
747
-
748
- bio_cleanup bio = { make_buffer_bio(chain) };
749
- if (bio.p)
750
- {
751
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
752
- && (!defined(LIBRESSL_VERSION_NUMBER) \
753
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
754
- || defined(BOOST_ASIO_USE_WOLFSSL)
755
- pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
756
- void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
757
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
758
- pem_password_cb* callback = handle_->default_passwd_callback;
759
- void* cb_userdata = handle_->default_passwd_callback_userdata;
760
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
761
- x509_cleanup cert = {
762
- ::PEM_read_bio_X509_AUX(bio.p, 0,
763
- callback,
764
- cb_userdata) };
765
- if (!cert.p)
766
- {
767
- ec = translate_error(ERR_R_PEM_LIB);
768
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
769
- }
770
-
771
- int result = ::SSL_CTX_use_certificate(handle_, cert.p);
772
- if (result == 0 || ::ERR_peek_error() != 0)
773
- {
774
- ec = translate_error(::ERR_get_error());
775
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
776
- }
777
-
778
- #if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \
779
- && (!defined(LIBRESSL_VERSION_NUMBER) \
780
- || LIBRESSL_VERSION_NUMBER >= 0x2090100fL)) \
781
- || defined(BOOST_ASIO_USE_WOLFSSL)
782
- ::SSL_CTX_clear_chain_certs(handle_);
783
- #else
784
- if (handle_->extra_certs)
785
- {
786
- ::sk_X509_pop_free(handle_->extra_certs, X509_free);
787
- handle_->extra_certs = 0;
788
- }
789
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10002000L)
790
-
791
- while (X509* cacert = ::PEM_read_bio_X509(bio.p, 0,
792
- callback,
793
- cb_userdata))
794
- {
795
- if (!::SSL_CTX_add_extra_chain_cert(handle_, cacert))
796
- {
797
- ec = translate_error(::ERR_get_error());
798
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
799
- }
800
- }
801
-
802
- result = ::ERR_peek_last_error();
803
- if ((ERR_GET_LIB(result) == ERR_LIB_PEM)
804
- && (ERR_GET_REASON(result) == PEM_R_NO_START_LINE))
805
- {
806
- ::ERR_clear_error();
807
- ec = boost::system::error_code();
808
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
809
- }
810
- }
811
-
812
- ec = translate_error(::ERR_get_error());
813
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
814
- }
815
-
816
- void context::use_certificate_chain_file(const std::string& filename)
817
- {
818
- boost::system::error_code ec;
819
- use_certificate_chain_file(filename, ec);
820
- boost::asio::detail::throw_error(ec, "use_certificate_chain_file");
821
- }
822
-
823
- BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain_file(
824
- const std::string& filename, boost::system::error_code& ec)
825
- {
826
- ::ERR_clear_error();
827
-
828
- if (::SSL_CTX_use_certificate_chain_file(handle_, filename.c_str()) != 1)
829
- {
830
- ec = translate_error(::ERR_get_error());
831
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
832
- }
833
-
834
- ec = boost::system::error_code();
835
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
836
- }
837
-
838
- void context::use_private_key(
839
- const const_buffer& private_key, context::file_format format)
840
- {
841
- boost::system::error_code ec;
842
- use_private_key(private_key, format, ec);
843
- boost::asio::detail::throw_error(ec, "use_private_key");
844
- }
845
-
846
- BOOST_ASIO_SYNC_OP_VOID context::use_private_key(
847
- const const_buffer& private_key, context::file_format format,
848
- boost::system::error_code& ec)
849
- {
850
- ::ERR_clear_error();
851
-
852
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
853
- && (!defined(LIBRESSL_VERSION_NUMBER) \
854
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
855
- || defined(BOOST_ASIO_USE_WOLFSSL)
856
- pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
857
- void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
858
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
859
- pem_password_cb* callback = handle_->default_passwd_callback;
860
- void* cb_userdata = handle_->default_passwd_callback_userdata;
861
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
862
-
863
- bio_cleanup bio = { make_buffer_bio(private_key) };
864
- if (bio.p)
865
- {
866
- evp_pkey_cleanup evp_private_key = { 0 };
867
- switch (format)
868
- {
869
- case context_base::asn1:
870
- evp_private_key.p = ::d2i_PrivateKey_bio(bio.p, 0);
871
- break;
872
- case context_base::pem:
873
- evp_private_key.p = ::PEM_read_bio_PrivateKey(
874
- bio.p, 0, callback,
875
- cb_userdata);
876
- break;
877
- default:
878
- {
879
- ec = boost::asio::error::invalid_argument;
880
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
881
- }
882
- }
883
-
884
- if (evp_private_key.p)
885
- {
886
- if (::SSL_CTX_use_PrivateKey(handle_, evp_private_key.p) == 1)
887
- {
888
- ec = boost::system::error_code();
889
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
890
- }
891
- }
892
- }
893
-
894
- ec = translate_error(::ERR_get_error());
895
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
896
- }
897
-
898
- void context::use_private_key_file(
899
- const std::string& filename, context::file_format format)
900
- {
901
- boost::system::error_code ec;
902
- use_private_key_file(filename, format, ec);
903
- boost::asio::detail::throw_error(ec, "use_private_key_file");
904
- }
905
-
906
- void context::use_rsa_private_key(
907
- const const_buffer& private_key, context::file_format format)
908
- {
909
- boost::system::error_code ec;
910
- use_rsa_private_key(private_key, format, ec);
911
- boost::asio::detail::throw_error(ec, "use_rsa_private_key");
912
- }
913
-
914
- BOOST_ASIO_SYNC_OP_VOID context::use_rsa_private_key(
915
- const const_buffer& private_key, context::file_format format,
916
- boost::system::error_code& ec)
917
- {
918
- ::ERR_clear_error();
919
-
920
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
921
- && (!defined(LIBRESSL_VERSION_NUMBER) \
922
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
923
- || defined(BOOST_ASIO_USE_WOLFSSL)
924
- pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
925
- void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
926
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
927
- pem_password_cb* callback = handle_->default_passwd_callback;
928
- void* cb_userdata = handle_->default_passwd_callback_userdata;
929
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
930
-
931
- bio_cleanup bio = { make_buffer_bio(private_key) };
932
- if (bio.p)
933
- {
934
- #if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
935
- evp_pkey_cleanup evp_private_key = { 0 };
936
- switch (format)
937
- {
938
- case context_base::asn1:
939
- evp_private_key.p = ::d2i_PrivateKey_bio(bio.p, 0);
940
- break;
941
- case context_base::pem:
942
- evp_private_key.p = ::PEM_read_bio_PrivateKey(
943
- bio.p, 0, callback,
944
- cb_userdata);
945
- break;
946
- default:
947
- {
948
- ec = boost::asio::error::invalid_argument;
949
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
950
- }
951
- }
952
-
953
- if (evp_private_key.p)
954
- {
955
- if (::EVP_PKEY_is_a(evp_private_key.p, "RSA") == 0)
956
- {
957
- ec = translate_error(
958
- ERR_PACK(ERR_LIB_EVP, 0, EVP_R_EXPECTING_AN_RSA_KEY));
959
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
960
- }
961
-
962
- if (::SSL_CTX_use_PrivateKey(handle_, evp_private_key.p) == 1)
963
- {
964
- ec = boost::system::error_code();
965
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
966
- }
967
- }
968
- #else // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
969
- rsa_cleanup rsa_private_key = { 0 };
970
- switch (format)
971
- {
972
- case context_base::asn1:
973
- rsa_private_key.p = ::d2i_RSAPrivateKey_bio(bio.p, 0);
974
- break;
975
- case context_base::pem:
976
- rsa_private_key.p = ::PEM_read_bio_RSAPrivateKey(
977
- bio.p, 0, callback,
978
- cb_userdata);
979
- break;
980
- default:
981
- {
982
- ec = boost::asio::error::invalid_argument;
983
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
984
- }
985
- }
986
-
987
- if (rsa_private_key.p)
988
- {
989
- if (::SSL_CTX_use_RSAPrivateKey(handle_, rsa_private_key.p) == 1)
990
- {
991
- ec = boost::system::error_code();
992
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
993
- }
994
- }
995
- #endif // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
996
- }
997
-
998
- ec = translate_error(::ERR_get_error());
999
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1000
- }
1001
-
1002
- BOOST_ASIO_SYNC_OP_VOID context::use_private_key_file(
1003
- const std::string& filename, context::file_format format,
1004
- boost::system::error_code& ec)
1005
- {
1006
- int file_type;
1007
- switch (format)
1008
- {
1009
- case context_base::asn1:
1010
- file_type = SSL_FILETYPE_ASN1;
1011
- break;
1012
- case context_base::pem:
1013
- file_type = SSL_FILETYPE_PEM;
1014
- break;
1015
- default:
1016
- {
1017
- ec = boost::asio::error::invalid_argument;
1018
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1019
- }
1020
- }
1021
-
1022
- ::ERR_clear_error();
1023
-
1024
- if (::SSL_CTX_use_PrivateKey_file(handle_, filename.c_str(), file_type) != 1)
1025
- {
1026
- ec = translate_error(::ERR_get_error());
1027
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1028
- }
1029
-
1030
- ec = boost::system::error_code();
1031
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1032
- }
1033
-
1034
- void context::use_rsa_private_key_file(
1035
- const std::string& filename, context::file_format format)
1036
- {
1037
- boost::system::error_code ec;
1038
- use_rsa_private_key_file(filename, format, ec);
1039
- boost::asio::detail::throw_error(ec, "use_rsa_private_key_file");
1040
- }
1041
-
1042
- BOOST_ASIO_SYNC_OP_VOID context::use_rsa_private_key_file(
1043
- const std::string& filename, context::file_format format,
1044
- boost::system::error_code& ec)
1045
- {
1046
- #if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1047
- ::ERR_clear_error();
1048
-
1049
- pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
1050
- void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
1051
-
1052
- bio_cleanup bio = { ::BIO_new_file(filename.c_str(), "r") };
1053
- if (bio.p)
1054
- {
1055
- evp_pkey_cleanup evp_private_key = { 0 };
1056
- switch (format)
1057
- {
1058
- case context_base::asn1:
1059
- evp_private_key.p = ::d2i_PrivateKey_bio(bio.p, 0);
1060
- break;
1061
- case context_base::pem:
1062
- evp_private_key.p = ::PEM_read_bio_PrivateKey(
1063
- bio.p, 0, callback,
1064
- cb_userdata);
1065
- break;
1066
- default:
1067
- {
1068
- ec = boost::asio::error::invalid_argument;
1069
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1070
- }
1071
- }
1072
-
1073
- if (evp_private_key.p)
1074
- {
1075
- if (::EVP_PKEY_is_a(evp_private_key.p, "RSA") == 0)
1076
- {
1077
- ec = translate_error(
1078
- ERR_PACK(ERR_LIB_EVP, 0, EVP_R_EXPECTING_AN_RSA_KEY));
1079
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1080
- }
1081
-
1082
- if (::SSL_CTX_use_PrivateKey(handle_, evp_private_key.p) == 1)
1083
- {
1084
- ec = boost::system::error_code();
1085
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1086
- }
1087
- }
1088
- }
1089
-
1090
- ec = translate_error(::ERR_get_error());
1091
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1092
- #else // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1093
- int file_type;
1094
- switch (format)
1095
- {
1096
- case context_base::asn1:
1097
- file_type = SSL_FILETYPE_ASN1;
1098
- break;
1099
- case context_base::pem:
1100
- file_type = SSL_FILETYPE_PEM;
1101
- break;
1102
- default:
1103
- {
1104
- ec = boost::asio::error::invalid_argument;
1105
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1106
- }
1107
- }
1108
-
1109
- ::ERR_clear_error();
1110
-
1111
- if (::SSL_CTX_use_RSAPrivateKey_file(
1112
- handle_, filename.c_str(), file_type) != 1)
1113
- {
1114
- ec = translate_error(::ERR_get_error());
1115
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1116
- }
1117
-
1118
- ec = boost::system::error_code();
1119
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1120
- #endif // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1121
- }
1122
-
1123
- void context::use_tmp_dh(const const_buffer& dh)
1124
- {
1125
- boost::system::error_code ec;
1126
- use_tmp_dh(dh, ec);
1127
- boost::asio::detail::throw_error(ec, "use_tmp_dh");
1128
- }
1129
-
1130
- BOOST_ASIO_SYNC_OP_VOID context::use_tmp_dh(
1131
- const const_buffer& dh, boost::system::error_code& ec)
1132
- {
1133
- ::ERR_clear_error();
1134
-
1135
- bio_cleanup bio = { make_buffer_bio(dh) };
1136
- if (bio.p)
1137
- {
1138
- return do_use_tmp_dh(bio.p, ec);
1139
- }
1140
-
1141
- ec = translate_error(::ERR_get_error());
1142
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1143
- }
1144
-
1145
- void context::use_tmp_dh_file(const std::string& filename)
1146
- {
1147
- boost::system::error_code ec;
1148
- use_tmp_dh_file(filename, ec);
1149
- boost::asio::detail::throw_error(ec, "use_tmp_dh_file");
1150
- }
1151
-
1152
- BOOST_ASIO_SYNC_OP_VOID context::use_tmp_dh_file(
1153
- const std::string& filename, boost::system::error_code& ec)
1154
- {
1155
- ::ERR_clear_error();
1156
-
1157
- bio_cleanup bio = { ::BIO_new_file(filename.c_str(), "r") };
1158
- if (bio.p)
1159
- {
1160
- return do_use_tmp_dh(bio.p, ec);
1161
- }
1162
-
1163
- ec = translate_error(::ERR_get_error());
1164
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1165
- }
1166
-
1167
- BOOST_ASIO_SYNC_OP_VOID context::do_use_tmp_dh(
1168
- BIO* bio, boost::system::error_code& ec)
1169
- {
1170
- ::ERR_clear_error();
1171
-
1172
- #if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1173
- EVP_PKEY* p = ::PEM_read_bio_Parameters(bio, 0);
1174
- if (p)
1175
- {
1176
- if (::SSL_CTX_set0_tmp_dh_pkey(handle_, p) == 1)
1177
- {
1178
- ec = boost::system::error_code();
1179
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1180
- }
1181
- else
1182
- ::EVP_PKEY_free(p);
1183
- }
1184
- #else // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1185
- dh_cleanup dh = { ::PEM_read_bio_DHparams(bio, 0, 0, 0) };
1186
- if (dh.p)
1187
- {
1188
- if (::SSL_CTX_set_tmp_dh(handle_, dh.p) == 1)
1189
- {
1190
- ec = boost::system::error_code();
1191
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1192
- }
1193
- }
1194
- #endif // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1195
-
1196
- ec = translate_error(::ERR_get_error());
1197
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1198
- }
1199
-
1200
- BOOST_ASIO_SYNC_OP_VOID context::do_set_verify_callback(
1201
- detail::verify_callback_base* callback, boost::system::error_code& ec)
1202
- {
1203
- if (SSL_CTX_get_app_data(handle_))
1204
- {
1205
- delete static_cast<detail::verify_callback_base*>(
1206
- SSL_CTX_get_app_data(handle_));
1207
- }
1208
-
1209
- SSL_CTX_set_app_data(handle_, callback);
1210
-
1211
- ::SSL_CTX_set_verify(handle_,
1212
- ::SSL_CTX_get_verify_mode(handle_),
1213
- &context::verify_callback_function);
1214
-
1215
- ec = boost::system::error_code();
1216
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1217
- }
1218
-
1219
- int context::verify_callback_function(int preverified, X509_STORE_CTX* ctx)
1220
- {
1221
- if (ctx)
1222
- {
1223
- if (SSL* ssl = static_cast<SSL*>(
1224
- ::X509_STORE_CTX_get_ex_data(
1225
- ctx, ::SSL_get_ex_data_X509_STORE_CTX_idx())))
1226
- {
1227
- if (SSL_CTX* handle = ::SSL_get_SSL_CTX(ssl))
1228
- {
1229
- if (SSL_CTX_get_app_data(handle))
1230
- {
1231
- detail::verify_callback_base* callback =
1232
- static_cast<detail::verify_callback_base*>(
1233
- SSL_CTX_get_app_data(handle));
1234
-
1235
- verify_context verify_ctx(ctx);
1236
- return callback->call(preverified != 0, verify_ctx) ? 1 : 0;
1237
- }
1238
- }
1239
- }
1240
- }
1241
-
1242
- return 0;
1243
- }
1244
-
1245
- BOOST_ASIO_SYNC_OP_VOID context::do_set_password_callback(
1246
- detail::password_callback_base* callback, boost::system::error_code& ec)
1247
- {
1248
- #if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
1249
- && (!defined(LIBRESSL_VERSION_NUMBER) \
1250
- || LIBRESSL_VERSION_NUMBER >= 0x2070000fL)) \
1251
- || defined(BOOST_ASIO_USE_WOLFSSL)
1252
- void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
1253
- ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
1254
- #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
1255
- void* old_callback = handle_->default_passwd_callback_userdata;
1256
- handle_->default_passwd_callback_userdata = callback;
1257
- #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
1258
-
1259
- if (old_callback)
1260
- delete static_cast<detail::password_callback_base*>(
1261
- old_callback);
1262
-
1263
- SSL_CTX_set_default_passwd_cb(handle_, &context::password_callback_function);
1264
-
1265
- ec = boost::system::error_code();
1266
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1267
- }
1268
-
1269
- int context::password_callback_function(
1270
- char* buf, int size, int purpose, void* data)
1271
- {
1272
- using namespace std; // For strncat and strlen.
1273
-
1274
- if (data)
1275
- {
1276
- detail::password_callback_base* callback =
1277
- static_cast<detail::password_callback_base*>(data);
1278
-
1279
- std::string passwd = callback->call(static_cast<std::size_t>(size),
1280
- purpose ? context_base::for_writing : context_base::for_reading);
1281
-
1282
- #if defined(BOOST_ASIO_HAS_SECURE_RTL)
1283
- strcpy_s(buf, size, passwd.c_str());
1284
- #else // defined(BOOST_ASIO_HAS_SECURE_RTL)
1285
- *buf = '\0';
1286
- if (size > 0)
1287
- strncat(buf, passwd.c_str(), size - 1);
1288
- #endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
1289
-
1290
- return static_cast<int>(strlen(buf));
1291
- }
1292
-
1293
- return 0;
1294
- }
1295
-
1296
- BIO* context::make_buffer_bio(const const_buffer& b)
1297
- {
1298
- return ::BIO_new_mem_buf(
1299
- const_cast<void*>(b.data()),
1300
- static_cast<int>(b.size()));
1301
- }
1302
-
1303
- boost::system::error_code context::translate_error(long error)
1304
- {
1305
- #if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1306
- if (ERR_SYSTEM_ERROR(error))
1307
- {
1308
- return boost::system::error_code(
1309
- static_cast<int>(ERR_GET_REASON(error)),
1310
- boost::asio::error::get_system_category());
1311
- }
1312
- #endif // (OPENSSL_VERSION_NUMBER >= 0x30000000L)
1313
-
1314
- return boost::system::error_code(static_cast<int>(error),
1315
- boost::asio::error::get_ssl_category());
1316
- }
1317
-
1318
- } // namespace ssl
1319
- } // namespace asio
1320
- } // namespace boost
1321
-
1322
- #include <boost/asio/detail/pop_options.hpp>
1323
-
1324
- #endif // BOOST_ASIO_SSL_IMPL_CONTEXT_IPP