passenger 6.2.1 → 6.2.2

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 (270) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +37 -15
  3. data/build/cxx_tests.rb +2 -0
  4. data/build/support/cxx_dependency_map.rb +3 -63
  5. data/src/agent/Core/Config.h +1 -1
  6. data/src/agent/Core/Controller/Config.h +1 -1
  7. data/src/agent/Shared/ApiServerUtils.h +1 -1
  8. data/src/agent/Watchdog/Config.h +1 -1
  9. data/src/apache2_module/Hooks.cpp +13 -0
  10. data/src/apache2_module/Utils.h +14 -0
  11. data/src/cxx_supportlib/Constants.h +1 -1
  12. data/src/cxx_supportlib/FileTools/FileManip.cpp +27 -3
  13. data/src/cxx_supportlib/InstanceDirectory.h +30 -3
  14. data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
  15. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
  16. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
  17. data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
  18. data/src/cxx_supportlib/ServerKit/llerrors.h +3 -3
  19. data/src/cxx_supportlib/ServerKit/llversion.h +1 -1
  20. data/src/cxx_supportlib/{ServerKit/llhttp_api.c → vendor-copy/llhttp/api.c} +30 -23
  21. data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.c +1756 -1645
  22. data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.h +35 -13
  23. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +19 -0
  24. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
  25. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +0 -2
  26. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +20 -13
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +2 -2
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +4 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +1 -1
  30. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/debug.hpp +4 -0
  31. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  32. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +1 -1
  33. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  34. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +1 -1
  35. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  36. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +1 -1
  37. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +6 -1
  38. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +10 -1
  39. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +5 -3
  40. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +1 -1
  41. data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +5 -0
  42. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +57 -53
  43. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -10
  44. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -2
  45. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +14 -2
  46. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +176 -2287
  47. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +13 -9
  48. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +186 -70
  49. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +2 -2
  50. data/src/cxx_supportlib/vendor-modified/boost/container/detail/aligned_allocation.hpp +149 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +35 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +1 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/container/detail/bit_utilities.hpp +133 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +18 -3
  55. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +5 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +4 -0
  57. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +1 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +20 -10
  59. data/src/cxx_supportlib/vendor-modified/boost/container/detail/deque_impl.hpp +2744 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +202 -104
  61. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +5 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +161 -85
  63. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_constructible.hpp +180 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +3 -2
  65. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +12 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +16 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +1 -1
  68. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +9 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +18 -14
  70. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +256 -41
  71. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +75 -24
  72. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +1 -56
  73. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +16 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -7
  75. data/src/cxx_supportlib/vendor-modified/boost/container/detail/range_utils.hpp +196 -0
  76. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +33 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +124 -69
  78. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +109 -7
  79. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +168 -162
  80. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/nest.hpp +2978 -0
  81. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/pmr/nest.hpp +45 -0
  82. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_all_of.hpp +43 -0
  83. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_any_of.hpp +42 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy.hpp +229 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_if.hpp +270 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_n.hpp +308 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count.hpp +101 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count_if.hpp +100 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_equal.hpp +268 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill.hpp +101 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill_n.hpp +171 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find.hpp +110 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if.hpp +110 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if_not.hpp +43 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last.hpp +179 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if.hpp +179 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if_not.hpp +43 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_for_each.hpp +92 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate.hpp +90 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate_n.hpp +162 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_partitioned.hpp +46 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted.hpp +49 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted_until.hpp +169 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_iterator_traits.hpp +382 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_merge.hpp +428 -0
  106. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_mismatch.hpp +350 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_none_of.hpp +98 -0
  108. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition.hpp +296 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_copy.hpp +105 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_point.hpp +116 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove.hpp +57 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy.hpp +207 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy_if.hpp +223 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_if.hpp +57 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace.hpp +90 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace_if.hpp +90 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse.hpp +245 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse_copy.hpp +229 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search.hpp +211 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search_n.hpp +476 -0
  121. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_difference.hpp +300 -0
  122. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_intersection.hpp +287 -0
  123. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_symmetric_difference.hpp +306 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_union.hpp +294 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_stable_partition.hpp +153 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_swap_ranges.hpp +92 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_transform.hpp +93 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/wrapped_iterator.hpp +142 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +642 -417
  130. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +141 -30
  131. data/src/cxx_supportlib/vendor-modified/boost/container/hub.hpp +2426 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +65 -57
  133. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +247 -68
  134. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +7 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +39 -33
  136. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +156 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +3 -3
  138. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/hub.hpp +43 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +5 -3
  140. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +4 -0
  143. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/segtor.hpp +45 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +5 -4
  145. data/src/cxx_supportlib/vendor-modified/boost/container/segtor.hpp +905 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +148 -35
  147. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +59 -52
  148. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +632 -5
  149. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +66 -60
  150. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +46 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +612 -317
  152. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +54 -111
  153. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_construction.hpp +100 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +1 -3
  155. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +233 -116
  156. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +17 -10
  158. data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -3
  159. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +16 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/encoder.hpp +114 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +4 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +211 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +59 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +6 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +34 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +0 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -3
  169. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +29 -174
  171. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +18 -2
  172. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +0 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +4 -5
  174. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +20 -11
  175. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +42 -14
  176. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +58 -22
  177. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +3 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +5 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +8 -2
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +9 -0
  181. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +11 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +9 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/config.hpp +22 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +15 -7
  185. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +23 -11
  186. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +11 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +9 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +11 -2
  189. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +10 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +8 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/{detail → lexical_cast/detail}/lcast_precision.hpp +13 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +11 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +10 -2
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +15 -2
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +11 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +48 -46
  198. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +23 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  200. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +12 -4
  201. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +76 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +11 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +58 -37
  205. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +1 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +17 -9
  207. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +1 -2
  208. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +6 -0
  209. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +6 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_common_defs.hpp +188 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +0 -6
  213. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_nonmember_interface.hpp +117 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +108 -83
  216. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +39 -39
  217. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_select_implementation.hpp +37 -0
  218. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +8 -8
  220. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/union_optional.hpp +724 -0
  221. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +93 -220
  222. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +14 -4
  223. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +1 -1
  226. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +1 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -6
  228. data/src/cxx_supportlib/vendor-modified/boost/system/api_config.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
  230. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -13
  231. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -5
  232. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +3 -2
  233. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +3 -2
  234. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +2 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +30 -28
  237. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +6 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +5 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +1 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +16 -16
  241. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +26 -26
  242. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +196 -6
  243. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +191 -6
  244. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +196 -5
  245. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +192 -5
  246. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +3 -3
  247. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2 -2
  248. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +3 -3
  249. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +52 -16
  250. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/ranges_support.hpp +104 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +1 -14
  252. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unordered_printers.hpp +10 -4
  253. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +121 -3
  254. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +118 -3
  255. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +338 -1
  256. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +121 -3
  257. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +118 -3
  258. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +333 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  260. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +276 -143
  261. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1262 -771
  262. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1704 -1586
  263. data/src/nginx_module/ContentHandler.c +35 -0
  264. data/src/ruby_supportlib/phusion_passenger/common_library.rb +6 -6
  265. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +25 -2
  266. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +12 -1
  267. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  268. metadata +73 -8
  269. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +0 -41
  270. /data/src/cxx_supportlib/{ServerKit/llhttp_http.c → vendor-copy/llhttp/http.c} +0 -0
@@ -1,5 +1,6 @@
1
1
  // Copyright (C) 2022-2023 Christian Mazakas
2
- // Copyright (C) 2024-2025 Joaquin M Lopez Munoz
2
+ // Copyright (C) 2024-2026 Joaquin M Lopez Munoz
3
+ // Copyright (C) 2026 Braden Ganetsky
3
4
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
4
5
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6
 
@@ -14,6 +15,7 @@
14
15
  #include <boost/unordered/concurrent_flat_map_fwd.hpp>
15
16
  #include <boost/unordered/detail/foa/flat_map_types.hpp>
16
17
  #include <boost/unordered/detail/foa/table.hpp>
18
+ #include <boost/unordered/detail/ranges_support.hpp>
17
19
  #include <boost/unordered/detail/serialize_container.hpp>
18
20
  #include <boost/unordered/detail/throw_exception.hpp>
19
21
  #include <boost/unordered/detail/type_traits.hpp>
@@ -107,6 +109,19 @@ namespace boost {
107
109
  {
108
110
  }
109
111
 
112
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
113
+ template<
114
+ detail::convertible_to_from_range_t FromRangeT,
115
+ detail::container_compatible_range<value_type> R
116
+ >
117
+ unordered_flat_map(
118
+ FromRangeT&& fr, R&& rg, allocator_type const& a)
119
+ : unordered_flat_map(
120
+ fr, std::forward<R>(rg), size_type(0), hasher(), key_equal(), a)
121
+ {
122
+ }
123
+ #endif
124
+
110
125
  explicit unordered_flat_map(allocator_type const& a)
111
126
  : unordered_flat_map(0, a)
112
127
  {
@@ -135,6 +150,41 @@ namespace boost {
135
150
  {
136
151
  }
137
152
 
153
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
154
+ template<
155
+ detail::convertible_to_from_range_t FromRangeT,
156
+ detail::container_compatible_range<value_type> R
157
+ >
158
+ unordered_flat_map(FromRangeT&&, R&& rg, size_type n = 0,
159
+ hasher const& h = hasher(), key_equal const& pred = key_equal(),
160
+ allocator_type const& a = allocator_type())
161
+ : unordered_flat_map(n, h, pred, a)
162
+ {
163
+ this->insert_range(std::forward<R>(rg));
164
+ }
165
+
166
+ template<
167
+ detail::convertible_to_from_range_t FromRangeT,
168
+ detail::container_compatible_range<value_type> R
169
+ >
170
+ unordered_flat_map(
171
+ FromRangeT&& fr, R&& rg, size_type n, allocator_type const& a)
172
+ : unordered_flat_map(
173
+ fr, std::forward<R>(rg), n, hasher(), key_equal(), a)
174
+ {
175
+ }
176
+
177
+ template<
178
+ detail::convertible_to_from_range_t FromRangeT,
179
+ detail::container_compatible_range<value_type> R
180
+ >
181
+ unordered_flat_map(FromRangeT&& fr, R&& rg, size_type n,
182
+ hasher const& h, allocator_type const& a)
183
+ : unordered_flat_map(fr, std::forward<R>(rg), n, h, key_equal(), a)
184
+ {
185
+ }
186
+ #endif
187
+
138
188
  unordered_flat_map(unordered_flat_map const& other) : table_(other.table_)
139
189
  {
140
190
  }
@@ -182,9 +232,10 @@ namespace boost {
182
232
  {
183
233
  }
184
234
 
185
- template <bool avoid_explicit_instantiation = true>
235
+ template <typename Key2,
236
+ typename std::enable_if<std::is_same<Key, Key2>::value, int>::type = 0>
186
237
  unordered_flat_map(
187
- concurrent_flat_map<Key, T, Hash, KeyEqual, Allocator>&& other)
238
+ concurrent_flat_map<Key2, T, Hash, KeyEqual, Allocator>&& other)
188
239
  : table_(std::move(other.table_))
189
240
  {
190
241
  }
@@ -276,6 +327,16 @@ namespace boost {
276
327
  }
277
328
  }
278
329
 
330
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
331
+ template<detail::container_compatible_range<value_type> R>
332
+ BOOST_FORCEINLINE void insert_range(R&& rg)
333
+ {
334
+ auto first = std::ranges::begin(rg);
335
+ auto last = std::ranges::end(rg);
336
+ while (first != last) table_.emplace(*first++);
337
+ }
338
+ #endif
339
+
279
340
  void insert(std::initializer_list<value_type> ilist)
280
341
  {
281
342
  this->insert(ilist.begin(), ilist.end());
@@ -754,6 +815,27 @@ namespace boost {
754
815
  boost::unordered::detail::iter_val_t<InputIterator>, Hash, Pred,
755
816
  Allocator>;
756
817
 
818
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
819
+ template <
820
+ boost::unordered::detail::convertible_to_from_range_t FromRangeT,
821
+ std::ranges::input_range R,
822
+ class Hash =
823
+ boost::hash<boost::unordered::detail::range_key_t<R> >,
824
+ class Pred =
825
+ std::equal_to<boost::unordered::detail::range_key_t<R> >,
826
+ class Allocator = std::allocator<
827
+ boost::unordered::detail::range_to_alloc_t<R> >,
828
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
829
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
830
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
831
+ unordered_flat_map(FromRangeT&&, R&&,
832
+ std::size_t = boost::unordered::detail::foa::default_bucket_count,
833
+ Hash = Hash(), Pred = Pred(), Allocator = Allocator())
834
+ -> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
835
+ boost::unordered::detail::range_mapped_t<R>, Hash, Pred,
836
+ Allocator>;
837
+ #endif
838
+
757
839
  template <class Key, class T,
758
840
  class Hash = boost::hash<std::remove_const_t<Key> >,
759
841
  class Pred = std::equal_to<std::remove_const_t<Key> >,
@@ -798,6 +880,42 @@ namespace boost {
798
880
  std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
799
881
  Allocator>;
800
882
 
883
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
884
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
885
+ std::ranges::input_range R,
886
+ class Allocator,
887
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
888
+ unordered_flat_map(FromRangeT&&, R&&, std::size_t, Allocator)
889
+ -> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
890
+ boost::unordered::detail::range_mapped_t<R>,
891
+ boost::hash<boost::unordered::detail::range_key_t<R> >,
892
+ std::equal_to<boost::unordered::detail::range_key_t<R> >,
893
+ Allocator>;
894
+
895
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
896
+ std::ranges::input_range R,
897
+ class Allocator,
898
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
899
+ unordered_flat_map(FromRangeT&&, R&&, Allocator)
900
+ -> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
901
+ boost::unordered::detail::range_mapped_t<R>,
902
+ boost::hash<boost::unordered::detail::range_key_t<R> >,
903
+ std::equal_to<boost::unordered::detail::range_key_t<R> >,
904
+ Allocator>;
905
+
906
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
907
+ std::ranges::input_range R,
908
+ class Hash, class Allocator,
909
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
910
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
911
+ unordered_flat_map(
912
+ FromRangeT&&, R&&, std::size_t, Hash, Allocator)
913
+ -> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
914
+ boost::unordered::detail::range_mapped_t<R>, Hash,
915
+ std::equal_to<boost::unordered::detail::range_key_t<R> >,
916
+ Allocator>;
917
+ #endif
918
+
801
919
  template <class Key, class T, class Allocator,
802
920
  class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
803
921
  unordered_flat_map(std::initializer_list<std::pair<Key, T> >, std::size_t,
@@ -1,5 +1,6 @@
1
1
  // Copyright (C) 2022-2023 Christian Mazakas
2
- // Copyright (C) 2024-2025 Joaquin M Lopez Munoz
2
+ // Copyright (C) 2024-2026 Joaquin M Lopez Munoz
3
+ // Copyright (C) 2026 Braden Ganetsky
3
4
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
4
5
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6
 
@@ -14,6 +15,7 @@
14
15
  #include <boost/unordered/concurrent_flat_set_fwd.hpp>
15
16
  #include <boost/unordered/detail/foa/flat_set_types.hpp>
16
17
  #include <boost/unordered/detail/foa/table.hpp>
18
+ #include <boost/unordered/detail/ranges_support.hpp>
17
19
  #include <boost/unordered/detail/serialize_container.hpp>
18
20
  #include <boost/unordered/detail/type_traits.hpp>
19
21
  #include <boost/unordered/unordered_flat_set_fwd.hpp>
@@ -103,6 +105,19 @@ namespace boost {
103
105
  {
104
106
  }
105
107
 
108
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
109
+ template<
110
+ detail::convertible_to_from_range_t FromRangeT,
111
+ detail::container_compatible_range<value_type> R
112
+ >
113
+ unordered_flat_set(
114
+ FromRangeT&& fr, R&& rg, allocator_type const& a)
115
+ : unordered_flat_set(
116
+ fr, std::forward<R>(rg), size_type(0), hasher(), key_equal(), a)
117
+ {
118
+ }
119
+ #endif
120
+
106
121
  explicit unordered_flat_set(allocator_type const& a)
107
122
  : unordered_flat_set(0, a)
108
123
  {
@@ -131,6 +146,41 @@ namespace boost {
131
146
  {
132
147
  }
133
148
 
149
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
150
+ template<
151
+ detail::convertible_to_from_range_t FromRangeT,
152
+ detail::container_compatible_range<value_type> R
153
+ >
154
+ unordered_flat_set(FromRangeT&&, R&& rg, size_type n = 0,
155
+ hasher const& h = hasher(), key_equal const& pred = key_equal(),
156
+ allocator_type const& a = allocator_type())
157
+ : unordered_flat_set(n, h, pred, a)
158
+ {
159
+ this->insert_range(std::forward<R>(rg));
160
+ }
161
+
162
+ template<
163
+ detail::convertible_to_from_range_t FromRangeT,
164
+ detail::container_compatible_range<value_type> R
165
+ >
166
+ unordered_flat_set(
167
+ FromRangeT&& fr, R&& rg, size_type n, allocator_type const& a)
168
+ : unordered_flat_set(
169
+ fr, std::forward<R>(rg), n, hasher(), key_equal(), a)
170
+ {
171
+ }
172
+
173
+ template<
174
+ detail::convertible_to_from_range_t FromRangeT,
175
+ detail::container_compatible_range<value_type> R
176
+ >
177
+ unordered_flat_set(FromRangeT&& fr, R&& rg, size_type n,
178
+ hasher const& h, allocator_type const& a)
179
+ : unordered_flat_set(fr, std::forward<R>(rg), n, h, key_equal(), a)
180
+ {
181
+ }
182
+ #endif
183
+
134
184
  unordered_flat_set(unordered_flat_set const& other) : table_(other.table_)
135
185
  {
136
186
  }
@@ -178,9 +228,10 @@ namespace boost {
178
228
  {
179
229
  }
180
230
 
181
- template <bool avoid_explicit_instantiation = true>
231
+ template <typename Key2,
232
+ typename std::enable_if<std::is_same<Key, Key2>::value, int>::type = 0>
182
233
  unordered_flat_set(
183
- concurrent_flat_set<Key, Hash, KeyEqual, Allocator>&& other)
234
+ concurrent_flat_set<Key2, Hash, KeyEqual, Allocator>&& other)
184
235
  : table_(std::move(other.table_))
185
236
  {
186
237
  }
@@ -287,6 +338,16 @@ namespace boost {
287
338
  }
288
339
  }
289
340
 
341
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
342
+ template<detail::container_compatible_range<value_type> R>
343
+ void insert_range(R&& rg)
344
+ {
345
+ auto first = std::ranges::begin(rg);
346
+ auto last = std::ranges::end(rg);
347
+ while (first != last) table_.emplace(*first++);
348
+ }
349
+ #endif
350
+
290
351
  void insert(std::initializer_list<value_type> ilist)
291
352
  {
292
353
  this->insert(ilist.begin(), ilist.end());
@@ -572,6 +633,25 @@ namespace boost {
572
633
  typename std::iterator_traits<InputIterator>::value_type, Hash, Pred,
573
634
  Allocator>;
574
635
 
636
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
637
+ template <
638
+ boost::unordered::detail::convertible_to_from_range_t FromRangeT,
639
+ std::ranges::input_range R,
640
+ class Hash =
641
+ boost::hash<std::ranges::range_value_t<R> >,
642
+ class Pred =
643
+ std::equal_to<std::ranges::range_value_t<R> >,
644
+ class Allocator = std::allocator<std::ranges::range_value_t<R> >,
645
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
646
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
647
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
648
+ unordered_flat_set(FromRangeT&&, R&&,
649
+ std::size_t = boost::unordered::detail::foa::default_bucket_count,
650
+ Hash = Hash(), Pred = Pred(), Allocator = Allocator())
651
+ -> unordered_flat_set<std::ranges::range_value_t<R>,
652
+ Hash, Pred, Allocator>;
653
+ #endif
654
+
575
655
  template <class T, class Hash = boost::hash<T>,
576
656
  class Pred = std::equal_to<T>, class Allocator = std::allocator<T>,
577
657
  class = std::enable_if_t<detail::is_hash_v<Hash> >,
@@ -603,6 +683,29 @@ namespace boost {
603
683
  std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
604
684
  Allocator>;
605
685
 
686
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
687
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
688
+ std::ranges::input_range R,
689
+ class Allocator,
690
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
691
+ unordered_flat_set(FromRangeT&&, R&&, std::size_t, Allocator)
692
+ -> unordered_flat_set<std::ranges::range_value_t<R>,
693
+ boost::hash<std::ranges::range_value_t<R> >,
694
+ std::equal_to<std::ranges::range_value_t<R> >,
695
+ Allocator>;
696
+
697
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
698
+ std::ranges::input_range R,
699
+ class Hash, class Allocator,
700
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
701
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
702
+ unordered_flat_set(
703
+ FromRangeT&&, R&&, std::size_t, Hash, Allocator)
704
+ -> unordered_flat_set<std::ranges::range_value_t<R>,
705
+ Hash, std::equal_to<std::ranges::range_value_t<R> >,
706
+ Allocator>;
707
+ #endif
708
+
606
709
  template <class T, class Allocator,
607
710
  class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
608
711
  unordered_flat_set(std::initializer_list<T>, std::size_t, Allocator)
@@ -624,6 +727,18 @@ namespace boost {
624
727
  std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
625
728
  Allocator>;
626
729
 
730
+ #if !defined(BOOST_UNORDERED_NO_RANGES)
731
+ template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
732
+ std::ranges::input_range R,
733
+ class Allocator,
734
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
735
+ unordered_flat_set(FromRangeT&&, R&&, Allocator)
736
+ -> unordered_flat_set<std::ranges::range_value_t<R>,
737
+ boost::hash<std::ranges::range_value_t<R> >,
738
+ std::equal_to<std::ranges::range_value_t<R> >,
739
+ Allocator>;
740
+ #endif
741
+
627
742
  template <class T, class Allocator,
628
743
  class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
629
744
  unordered_flat_set(std::initializer_list<T>, Allocator)